commit 7f2fd5452bed285bbe330fb0334414ff6b13d366 Author: zhanglq Date: Wed Aug 5 14:26:36 2026 +0800 feat: initial VcXsrv trimmed distribution for uniTerm X11 forwarding diff --git a/.Xdefaults b/.Xdefaults new file mode 100644 index 0000000..af71a5d --- /dev/null +++ b/.Xdefaults @@ -0,0 +1 @@ +*customization:-color diff --git a/X0.hosts b/X0.hosts new file mode 100644 index 0000000..94c0781 --- /dev/null +++ b/X0.hosts @@ -0,0 +1,2 @@ +localhost +inet6:localhost diff --git a/XtErrorDB b/XtErrorDB new file mode 100644 index 0000000..3128624 --- /dev/null +++ b/XtErrorDB @@ -0,0 +1,236 @@ +#**************************************************************************** +#* * +#* COPYRIGHT (c) 1988 BY * +#* DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. * +#* ALL RIGHTS RESERVED * +#* * +#* THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED * +#* ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE * +#* INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER * +#* COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY * +#* OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY * +#* TRANSFERRED. * +#* * +#* THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE * +#* AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT * +#* CORPORATION. * +#* * +#* DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS * +#* SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL. * +#* * +#**************************************************************************** +#*++ +#* FACILITY: +#* +#* < to be supplied > +#* +#* ABSTRACT: +#* +#* < to be supplied > +#* +#* ENVIRONMENT: +#* +#* < to be supplied > +#* +#* MODIFICATION HISTORY: +#* +#* < to be supplied > +#* +#*-- +# +# toolkit error and warning messages - used in XtGetErrorDatabaseText +# +# toolkit error messages: +# +# CALLING SEQUENCE: +# +# DWTERROR(key, message) +# XtError (key, "dwtlibError", "DwtlibError", message, NULL, NULL) +# +# XtError(name,type,class,defaultp,params,num_params) +# (*errorHandler)(name,type,class,defaultp,params,num_params); +# +# _XtDefaultError (name,type,class,defaultp,params,num_params) +# XtGetErrorDatabaseText(name,type,class,defaultp, buffer, 1000); +# +# XtGetErrorDatabaseText(name,type,class,defaultp, buffer, nbytes) +# (void) sprintf(temp, "%s.%s", name, type); +# (void) XrmGetResource(errorDB, temp, class, &type_str, &result); +# +attacheddbCircularDependency.dwtlibError: Circular dependency in Attached Dialog Box children +ClipBoardBadDataType.dwtlibError: bad data type +ClipBoardCorrupt.dwtlibError: internal error - corrupt data structure +CvtStringToFontList.dwtlibError: String to FontList conversion needs character_set and screen +fao_main.dwtlibError: DDIS CS functions have returned an undefined status +HelpShellOneChild.dwtlibError: Helpshell widget only supports one child +HiddenShellOneChild.dwtlibError: Hiddenshell widget only supports one child +# +# INTRINSIC ROUTINE ERROR MESSAGES +# +# CALLING SEQUENCE: +# +# XtError(name,type,class,defaultp,params,num_params) +# (*errorHandler)(name,type,class,defaultp,params,num_params); +# +# _XtDefaultError (name,type,class,defaultp,params,num_params) +# XtGetErrorDatabaseText(name,type,class,defaultp, buffer, 1000); +# +# XtGetErrorDatabaseText(name,type,class,defaultp, buffer, nbytes) +# (void) sprintf(temp, "%s.%s", name, type); +# (void) XrmGetResource(errorDB, temp, class, &type_str, &result); +# +allocError.malloc: Cannot perform malloc +allocError.realloc: Cannot perform realloc +allocError.calloc: Cannot perform calloc +wrongParameters.cvtIntOrPixelToXColor: Pixel to color conversion needs screen and colormap arguments +wrongParameters.cvtStringToPixel: String to pixel conversion needs screen and colormap arguments +wrongParameters.cvtStringToCursor: String to cursor conversion needs screen argument +wrongParamters.cvtStringToFont: String to font conversion needs screen argument +wrongParameters.cvtStringToFontStruct: String to cursor conversion needs screen argument +invalidParent.xtCreateWidget: XtCreateWidget requires non-NULL parent +invalidClass.xtCreateWidget: XtCreateWidget requires non-NULL widget class +nullProc.insertChild: NULL insert_child procedure +invalidParameter.removePopupFromParent: RemovePopupFromParent requires non-NULL popuplist +invalidParent.xtCreatePopupShell: XtCreatePopupShell requires non-NULL parent +invalidClass.xtCreatePopupShell: XtCreatePopupShell requires non-NULL widget class +invalidClass.xtCreateApplicationShell: XtCreateApplicationShell requires non-NULL widget class +invalidParent.xtMakeGeometryRequest: XtMakeGeometryRequest - NULL parent. Use SetValues instead +invalidParent.xtMakeGeometryRequest: XtMakeGeometryRequest - parent not composite +invalidGeometryManager.xtMakeGeometryRequest: XtMakeGeometryRequest - parent has no geometry manger +invalidDisplay.xtInitialize: Can't Open display +invalidProcedure.realizeProc: No realize class procedure defined +invalidProcedure.inheritanceProc: Unresolved inheritance operation +communicationError.select: Select failed +invalidParameter.xtAddInput: invalid condition passed to XtAddInput +communicationError.notSelect: Error in notSelect +communicationError.notSelect: Error in notSelect +invalidClass.xtPopup: XtPopup requires a subclass of shellWidgetClass +invalidClass.xtPopdown: XtPopdown requires a subclass of shellWidgetClass +invalidArgCount.xtGetValues: Argument count > 0 on NULL argument list in XtGetValues +invalidClass.constraintSetValue: Subclass of Constraint required in CallConstraintSetValues +invalidArgCount.xtSetValues: Argument count > 0 on NULL argument list in XtSetValues +noSelectionProperties.freeSelectionProperty: internal error: no selection property context for display +invalidWindow.eventHandler: Event with wrong window +invalidParameter.numberChildren: The root and popup shells widget only support one child +invalidParameter.numberChildren: The root and popup shells widget only support one child +missingEvent.shell: Events are disappearing from under Shell +internalError.shell: Shell's window manager interaction is broken +translationError.mergingTablesWithCycles: Trying to merge translation tables with cycles, and can't resolve this cycle +invalidParameters.xtmenuPopup: XtMenuPopup called with num_params != 2 +invalidParameters.xtMenuPopup: Bad first parameter to _XtMenuPopup +invalidPopup.xtMenuPopup: Can't find popup in _XtMenuPopup +invalidParameters.xtMenuPopupAction: MenuPopup wants exactly one argument +allocError.malloc: Cannot perform malloc +allocError.realloc: Cannot perform realloc +allocError.calloc: Cannot perform calloc +# +# +# toolkit warning messages: +# +# CALLING SEQUENCE: +# +# DWTWARNING(key, message) +# XtWarning (key, "dwtlibWarning", "DwtlibWarning", message, NULL, NULL) +# +# XtWarning(name,type,class,defaultp,params,num_params) +# (*warningHandler)(name,type,class,defaultp,params,num_params); +# +# _XtDefaultWarning (name,type,class,defaultp,params,num_params) +# XtGetErrorDatabaseText(name,type,class,defaultp, buffer, 1000); +# +# XtGetErrorDatabaseText(name,type,class,defaultp, buffer, nbytes) +# (void) sprintf(temp, "%s.%s", name, type); +# (void) XrmGetResource(errorDB, temp, class, &type_str, &result); +# +CSCharSetIdOutOfRange.dwtlibWarning: get_charset: Character set ID is out of range +DialogPopupParent.dwtlibWarning: Parent of DwtModal/Modeless Dialog widget must be Shell +STextCantFindPosition.dwtlibWarning: Can't find position in MovePreviousLine??? +MenuUnrealizedParent.dwtlibWarning: Can not create a popup menu with unrealized parent +PulldownNoSubMenu.dwtlibWarning: Can not create a pulldown without a submenu. +PulldownBadParent.dwtlibWarning: Pulldown widgets must have menuclass parents! +PulldownBadParent.dwtlibWarning: Pulldown widgets must have menuclass parents! +PushButton.dwtlibWarning: Accelerator translation table overflow +ToggleButton.dwtlibWarning: Accelerator translation table overflow +# +# DRMSignalError.string: ", "DRMGeneralError", +# msg, NULL, 0) ; +# +# intrinsic routines warning messages +# +# CALLING SEQUENCE: +# +# XtWarning(name,type,class,defaultp,params,num_params) +# (*warningHandler)(name,type,class,defaultp,params,num_params); +# +# _XtDefaultWarning (name,type,class,defaultp,params,num_params) +# XtGetErrorDatabaseText(name,type,class,defaultp, buffer, 1000); +# +# XtGetErrorDatabaseText(name,type,class,defaultp, buffer, nbytes) +# (void) sprintf(temp, "%s.%s", name, type); +# (void) XrmGetResource(errorDB, temp, class, &type_str, &result); +# +invalidCallbackList.xtAddCallback: Cannot find callback list in XtAddCallbacks +invalidCallbackList.xtAddCallback: Cannot find callback list in XtAddCallbacks +invalidCallbackList.xtRemoveCallback: Cannot find callback list in XtRemoveCallbacks +invalidCallbackList.xtRemoveCallback: Cannot find callback list in XtRemoveCallbacks +invalidCallbackList.xtRemoveAllCallback: Cannot find callback list in XtRemoveAllCallbacks +invalidCallbackList.xtCallCallback: Cannot find callback list in XtCallCallbacks +invalidCallbackList.xtOverrideCallback: Cannot find callback list in XtOverrideCallbacks +invalidResourceName.computeArgs: Cannot find resource name %s as argument to conversion +typeConversionError.noConverter: No type converter registered for '%s' to '%s' conversion +conversionError.string: Cannot convert string \"%s\" to type %s +wrongParameters.cvtIntToBoolean: Integer to Boolean conversion needs no extra arguments +wrongParamters.cvtStringToBoolean: String to Boolean conversion needs no extra arguments +wrongParamters.cvtIntToLongBoolean: Integer to LongBoolean conversion needs no extra arguments +wrongParameters.cvtStringToLongBoolean: String to LongBoolean conversion needs no extra arguments +noColormap.cvtStringToPixel: Cannot allocate colormap entry for \"%s\" +wrongParameters.cvtStringToDisplay: String to Display conversion needs no extra arguments +wrongParameters.cvtStringToFile: String to File conversion needs no extra arguments +wrongParameters.cvtIntToFont: Integer to Font conversion needs no extra arguments +wrongParameters.cvtStringToInt: String to Integer conversion needs no extra arguments +wrongParameters.cvtStringToShort: String to Integer conversion needs no extra arguments +wrongParameters.cvtStringToUnsignedChar: String to Integer conversion needs no extra arguments +wrongParameters.cvtXColorToPixel: Color to Pixel conversion needs no extra arguments +wrongParameters.cvtIntToPixel: Integer to Pixel conversion needs no extra arguments +wrongParameters.cvtIntToPixmap: Integer to Pixmap conversion needs no extra arguments +invalidDepth.setValues: Can't change widget depth +versionMismatch.widget: Widget class %s version mismatch:\n widget %d vs. intrinsics %d +invalidWidget.removePopupFromParent: RemovePopupFromParent,widget not on parent list +invalidProcedure.deleteChild: null delete_child procedure in XtDestroy +registerWindowError.xtRegisterWindow: Attempt to change already registered window +registerWindowError.xtUnregisterWindow: Attempt to unregister invalid window +grabError.grabDestroyCallback: XtAddGrab requires exclusive grab if spring_loaded is TRUE +grabError.xtRemoveGrab: XtRemoveGrab asked to remove a widget not on the grab list +invalidShell.xtTranslateCoords: Widget has no shell ancestor +invalidChild.xtUnmanageChildren: Null child passed to XtUnmanageChildren +invalidChild.xtUnmanageChildren: Null child passed to XtUnmanageChildren +ambigiousParent.xtUnmanageChildren: Not all children have same parent in XtUnmanageChildren +invalidChild.xtManageChildren: null child passed to XtManageChildren +invalidChild.xtManageChildren: null child passed to XtManageChildren +ambigiousParent.xtManageChildren: Not all children have same parent in XtManageChildren +unimplementedFunction.xtAddInput: XtAddInput is not implemented +invalidProcedure.inputHandler: XtRemoveInput: Input handler not found +unimplementedFunction.xtRemoveInput: XtRemoveInput is not implemented +invalidParent.xtCopyFromParent: CopyFromParent must have non-NULL parent +invalidArgCount.getResources: argument count > 0 on NULL argument list +invalidResourceCount.getResources: resource count > 0 on NULL resource list +invalidGeometry.xtMakeGeometryRequest: Shell subclass did not take care of geometry in XtSetValues +invalidProcedure.set_values_almost: set_values_almost procedure shouldn't be NULL +initializationError.xtInitialize: Initializing Resource Lists twice +communicationError.windowManager: Window Manager is confused +translationParseError.parseError: translation table syntax error: %s +translationParseError.parseEvent: Events follow '+' repeat count +translationParseError.parseEvent: Events follow '+' repeat count +translationParseError.parseString: Missing \ +invalidParameters.compileAccelerators: String to TranslationTable needs no extra arguments +invalidParameters.compileTranslations: String to TranslationTable needs no extra arguments +translationError.xtTranslateInitialize: Intializing Translation manager twice +# +# ReportUnboundActions - warnings include state table - should split? +# +translationError.unboundActions: Actions not found +translationError.ambigiousActions: Overriding earlier translation manager actions +translationError.mergingNullTable: Old translation table was null, cannot modify +invalidParameters.mergeTranslations: MergeTM to TranslationTable needs no extra arguments +invalidPopup.unsupportedOperation: Pop-up menu creation is only supported on ButtonPress or EnterNotify events +invalidPopup.unsupportedOperation: Pop-up menu creation is only supported on ButtonPress or EnterNotify events diff --git a/bitmaps/1x1 b/bitmaps/1x1 new file mode 100644 index 0000000..6d013d4 --- /dev/null +++ b/bitmaps/1x1 @@ -0,0 +1,6 @@ +#define 1x1_width 16 +#define 1x1_height 16 +static char 1x1_bits[] = { + 0xff, 0xff, 0x55, 0x55, 0xff, 0xff, 0x55, 0x55, 0xff, 0xff, 0x55, 0x55, + 0xff, 0xff, 0x55, 0x55, 0xff, 0xff, 0x55, 0x55, 0xff, 0xff, 0x55, 0x55, + 0xff, 0xff, 0x55, 0x55, 0xff, 0xff, 0x55, 0x55}; diff --git a/bitmaps/2x2 b/bitmaps/2x2 new file mode 100644 index 0000000..8490457 --- /dev/null +++ b/bitmaps/2x2 @@ -0,0 +1,6 @@ +#define 2x2_width 16 +#define 2x2_height 16 +static char 2x2_bits[] = { + 0xff, 0xff, 0xff, 0xff, 0x33, 0x33, 0x33, 0x33, 0xff, 0xff, 0xff, 0xff, + 0x33, 0x33, 0x33, 0x33, 0xff, 0xff, 0xff, 0xff, 0x33, 0x33, 0x33, 0x33, + 0xff, 0xff, 0xff, 0xff, 0x33, 0x33, 0x33, 0x33}; diff --git a/bitmaps/COPYING b/bitmaps/COPYING new file mode 100644 index 0000000..c80ef7d --- /dev/null +++ b/bitmaps/COPYING @@ -0,0 +1,54 @@ +Copyright (c) 1998 The Open Group + +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, and/or sell copies of the Software, and to permit persons +to whom the Software is furnished to do so, provided that the above +copyright notice(s) and this permission notice appear in all copies of +the Software and that both the above copyright notice(s) and this +permission notice appear in supporting documentation. + +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 +OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR 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. + +Except as contained in this notice, the name of a copyright holder +shall not be used in advertising or otherwise to promote the sale, use +or other dealings in this Software without prior written authorization +of the copyright holder. + +X Window System is a trademark of The Open Group. + +Copyright 1988 by Evans & Sutherland Computer Corporation, +Salt Lake City, Utah + + 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 permis- +sion notice appear in supporting documentation, and that the +name of Evans & Sutherland not be used in advertising or publi- +city pertaining to distribution of the software without specif- +ic, written prior permission. + +EVANS & SUTHERLAND DISCLAIMS ALL WARRANTIES WITH REGARD TO +THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILI- +TY AND FITNESS, IN NO EVENT SHALL EVANS & SUTHERLAND BE LIABLE +FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAM- +AGES 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 PER- +FORMANCE OF THIS SOFTWARE. + diff --git a/bitmaps/Makefile.am b/bitmaps/Makefile.am new file mode 100644 index 0000000..060112d --- /dev/null +++ b/bitmaps/Makefile.am @@ -0,0 +1,90 @@ +pkgconfigdir = $(datadir)/pkgconfig +pkgconfig_DATA = xbitmaps.pc + +MAINTAINERCLEANFILES = ChangeLog INSTALL + +bitmapdir = $(includedir)/X11/bitmaps + +dist_bitmap_DATA = \ + 1x1 \ + 2x2 \ + black \ + black6 \ + boxes \ + box6 \ + calculator \ + cntr_ptr \ + cntr_ptrmsk \ + cross_weave \ + dimple1 \ + dimple3 \ + dot \ + dropbar7 \ + dropbar8 \ + escherknot \ + flagdown \ + flagup \ + flipped_gray \ + gray \ + gray1 \ + gray3 \ + grid16 \ + grid2 \ + grid4 \ + grid8 \ + hlines2 \ + hlines3 \ + icon \ + keyboard16 \ + left_ptr \ + left_ptrmsk \ + letters \ + light_gray \ + mailempty \ + mailemptymsk \ + mailfull \ + mailfullmsk \ + mensetmanus \ + menu10 \ + menu12 \ + menu16 \ + menu6 \ + menu8 \ + noletters \ + opendot \ + opendotMask \ + plaid \ + right_ptr \ + right_ptrmsk \ + root_weave \ + scales \ + sipb \ + star \ + starMask \ + stipple \ + target \ + terminal \ + tie_fighter \ + vlines2 \ + vlines3 \ + weird_size \ + wide_weave \ + wingdogs \ + woman \ + xfd_icon \ + xlogo11 \ + xlogo16 \ + xlogo32 \ + xlogo64 \ + xsnow + + +.PHONY: ChangeLog INSTALL + +INSTALL: + $(INSTALL_CMD) + +ChangeLog: + $(CHANGELOG_CMD) + +dist-hook: ChangeLog INSTALL diff --git a/bitmaps/autogen.sh b/bitmaps/autogen.sh new file mode 100644 index 0000000..e81f989 --- /dev/null +++ b/bitmaps/autogen.sh @@ -0,0 +1,13 @@ +#! /bin/sh + +srcdir=`dirname $0` +test -z "$srcdir" && srcdir=. + +ORIGDIR=`pwd` +cd $srcdir + +autoreconf -v --install || exit 1 +cd $ORIGDIR || exit $? + +$srcdir/configure --enable-maintainer-mode "$@" + diff --git a/bitmaps/black b/bitmaps/black new file mode 100644 index 0000000..3a1ec90 --- /dev/null +++ b/bitmaps/black @@ -0,0 +1,6 @@ +#define black_width 16 +#define black_height 16 +static char black_bits[] = { + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; diff --git a/bitmaps/black6 b/bitmaps/black6 new file mode 100644 index 0000000..4e5384e --- /dev/null +++ b/bitmaps/black6 @@ -0,0 +1,4 @@ +#define black6_width 6 +#define black6_height 6 +static char black6_bits[] = { + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; diff --git a/bitmaps/box6 b/bitmaps/box6 new file mode 100644 index 0000000..83ac4a7 --- /dev/null +++ b/bitmaps/box6 @@ -0,0 +1,4 @@ +#define box6_width 6 +#define box6_height 6 +static char box6_bits[] = { + 0x3f, 0x21, 0x21, 0x21, 0x21, 0x3f}; diff --git a/bitmaps/boxes b/bitmaps/boxes new file mode 100644 index 0000000..0deb801 --- /dev/null +++ b/bitmaps/boxes @@ -0,0 +1,6 @@ +#define boxes_width 16 +#define boxes_height 16 +static char boxes_bits[] = { + 0x0f, 0x0f, 0x09, 0x09, 0x09, 0x09, 0x0f, 0x0f, 0xf0, 0xf0, 0x90, 0x90, + 0x90, 0x90, 0xf0, 0xf0, 0x0f, 0x0f, 0x09, 0x09, 0x09, 0x09, 0x0f, 0x0f, + 0xf0, 0xf0, 0x90, 0x90, 0x90, 0x90, 0xf0, 0xf0}; diff --git a/bitmaps/calculator b/bitmaps/calculator new file mode 100644 index 0000000..2be3b9d --- /dev/null +++ b/bitmaps/calculator @@ -0,0 +1,19 @@ +#define icon_width 28 +#define icon_height 48 +static char icon_bits[] = { + 0xff, 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0x0f, 0x03, 0x00, 0x00, 0x0c, + 0xd3, 0x5d, 0x5d, 0x0c, 0x13, 0x51, 0x45, 0x0c, 0xd3, 0xdd, 0xdd, 0x0d, + 0x53, 0x10, 0x51, 0x0d, 0xd3, 0x1d, 0xdd, 0x0d, 0x03, 0x00, 0x00, 0x0c, + 0xff, 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0x0f, 0x01, 0x00, 0x00, 0x08, + 0xbd, 0xf7, 0xde, 0x0b, 0xbd, 0xf7, 0xde, 0x0b, 0x01, 0x00, 0x00, 0x08, + 0xbd, 0xf7, 0xde, 0x0b, 0xa5, 0x94, 0x52, 0x0a, 0xbd, 0xf7, 0xde, 0x0b, + 0x01, 0x00, 0x00, 0x08, 0xbd, 0xf7, 0xde, 0x0b, 0xbd, 0xf7, 0xde, 0x0b, + 0xbd, 0xf7, 0xde, 0x0b, 0x01, 0x00, 0x00, 0x08, 0xbd, 0xf7, 0xde, 0x0b, + 0xbd, 0xf7, 0xde, 0x0b, 0xbd, 0xf7, 0xde, 0x0b, 0x01, 0x00, 0x00, 0x08, + 0xbd, 0xf7, 0xde, 0x0b, 0xbd, 0x94, 0xd2, 0x0b, 0xbd, 0x94, 0xd2, 0x0b, + 0xbd, 0xf7, 0xde, 0x0b, 0x01, 0x00, 0x00, 0x08, 0xbd, 0xf7, 0xde, 0x0b, + 0xbd, 0x94, 0xd2, 0x0b, 0xbd, 0x94, 0xd2, 0x0b, 0xbd, 0xf7, 0xde, 0x0b, + 0x01, 0x00, 0x00, 0x08, 0xbd, 0xf7, 0xde, 0x0b, 0xbd, 0x94, 0xd2, 0x0b, + 0xbd, 0x94, 0xd2, 0x0b, 0xbd, 0xf7, 0xde, 0x0b, 0x01, 0x00, 0x00, 0x08, + 0xbd, 0xff, 0xde, 0x0b, 0xbd, 0x80, 0xd2, 0x0b, 0xbd, 0x80, 0xd2, 0x0b, + 0xbd, 0xff, 0xde, 0x0b, 0x01, 0x00, 0x00, 0x08, 0xff, 0xff, 0xff, 0x0f}; diff --git a/bitmaps/cntr_ptr b/bitmaps/cntr_ptr new file mode 100644 index 0000000..eddb25f --- /dev/null +++ b/bitmaps/cntr_ptr @@ -0,0 +1,8 @@ +#define cntr_ptr_width 16 +#define cntr_ptr_height 16 +#define cntr_ptr_x_hot 7 +#define cntr_ptr_y_hot 1 +static char cntr_ptr_bits[] = { + 0x00, 0x00, 0x80, 0x01, 0x80, 0x01, 0xc0, 0x03, 0xc0, 0x03, 0xe0, 0x07, + 0xe0, 0x07, 0xf0, 0x0f, 0xf0, 0x0f, 0x98, 0x19, 0x88, 0x11, 0x80, 0x01, + 0x80, 0x01, 0x80, 0x01, 0x80, 0x01, 0x00, 0x00}; diff --git a/bitmaps/cntr_ptrmsk b/bitmaps/cntr_ptrmsk new file mode 100644 index 0000000..d3607a4 --- /dev/null +++ b/bitmaps/cntr_ptrmsk @@ -0,0 +1,6 @@ +#define cntr_ptrmsk_width 16 +#define cntr_ptrmsk_height 16 +static char cntr_ptrmsk_bits[] = { + 0xc0, 0x03, 0xc0, 0x03, 0xe0, 0x07, 0xe0, 0x07, 0xf0, 0x0f, 0xf0, 0x0f, + 0xf8, 0x1f, 0xf8, 0x1f, 0xfc, 0x3f, 0xfc, 0x3f, 0xfc, 0x3f, 0xdc, 0x3b, + 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03, 0xc0, 0x03}; diff --git a/bitmaps/configure.ac b/bitmaps/configure.ac new file mode 100644 index 0000000..a5db801 --- /dev/null +++ b/bitmaps/configure.ac @@ -0,0 +1,23 @@ +dnl Process this file with autoconf to create configure. + +# Initialize Autoconf +AC_PREREQ([2.60]) +AC_INIT([xbitmaps], [1.1.1], + [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [xbitmaps]) +AC_CONFIG_SRCDIR([Makefile.am]) +AC_CONFIG_HEADERS([config.h]) + +# Initialize Automake +AM_INIT_AUTOMAKE([foreign dist-bzip2]) +AM_MAINTAINER_MODE + +# Require xorg-macros 1.3 or later: XORG_DEFAULT_OPTIONS +m4_ifndef([XORG_MACROS_VERSION], + [m4_fatal([must install xorg-macros 1.3 or later before running autoconf/autogen])]) +XORG_MACROS_VERSION(1.3) +XORG_DEFAULT_OPTIONS + +AC_OUTPUT([ + Makefile + xbitmaps.pc +]) diff --git a/bitmaps/cross_weave b/bitmaps/cross_weave new file mode 100644 index 0000000..40de9e4 --- /dev/null +++ b/bitmaps/cross_weave @@ -0,0 +1,6 @@ +#define cross_weave_width 16 +#define cross_weave_height 16 +static char cross_weave_bits[] = { + 0x55, 0x55, 0x88, 0x88, 0x55, 0x55, 0x22, 0x22, 0x55, 0x55, 0x88, 0x88, + 0x55, 0x55, 0x22, 0x22, 0x55, 0x55, 0x88, 0x88, 0x55, 0x55, 0x22, 0x22, + 0x55, 0x55, 0x88, 0x88, 0x55, 0x55, 0x22, 0x22}; diff --git a/bitmaps/dimple1 b/bitmaps/dimple1 new file mode 100644 index 0000000..9144605 --- /dev/null +++ b/bitmaps/dimple1 @@ -0,0 +1,6 @@ +#define dimple1_width 16 +#define dimple1_height 16 +static char dimple1_bits[] = { + 0x55, 0x55, 0x00, 0x00, 0x55, 0x55, 0x00, 0x00, 0x55, 0x55, 0x00, 0x00, + 0x55, 0x55, 0x00, 0x00, 0x55, 0x55, 0x00, 0x00, 0x55, 0x55, 0x00, 0x00, + 0x55, 0x55, 0x00, 0x00, 0x55, 0x55, 0x00, 0x00}; diff --git a/bitmaps/dimple3 b/bitmaps/dimple3 new file mode 100644 index 0000000..209b4e8 --- /dev/null +++ b/bitmaps/dimple3 @@ -0,0 +1,6 @@ +#define dimple3_width 16 +#define dimple3_height 16 +static char dimple3_bits[] = { + 0x11, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x11, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/bitmaps/dot b/bitmaps/dot new file mode 100644 index 0000000..e403eeb --- /dev/null +++ b/bitmaps/dot @@ -0,0 +1,6 @@ +#define dot_width 16 +#define dot_height 16 +static char dot_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0xf0, 0x0f, 0xf0, 0x0f, + 0xf8, 0x1f, 0xf8, 0x1f, 0xf8, 0x1f, 0xf8, 0x1f, 0xf0, 0x0f, 0xf0, 0x0f, + 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/bitmaps/dropbar7 b/bitmaps/dropbar7 new file mode 100644 index 0000000..2689300 --- /dev/null +++ b/bitmaps/dropbar7 @@ -0,0 +1,4 @@ +#define bar7_width 7 +#define bar7_height 7 +static char bar7_bits[] = { + 0x00, 0x3f, 0x61, 0x61, 0x7f, 0x7e, 0x00}; diff --git a/bitmaps/dropbar8 b/bitmaps/dropbar8 new file mode 100644 index 0000000..d7cfdeb --- /dev/null +++ b/bitmaps/dropbar8 @@ -0,0 +1,4 @@ +#define dropbar8_width 8 +#define dropbar8_height 8 +static char dropbar8_bits[] = { + 0x00, 0x7f, 0xc1, 0xc1, 0xc1, 0xff, 0xfe, 0x00}; diff --git a/bitmaps/escherknot b/bitmaps/escherknot new file mode 100644 index 0000000..80bc471 --- /dev/null +++ b/bitmaps/escherknot @@ -0,0 +1,473 @@ +#define escherknot_width 216 +#define escherknot_height 208 + +static char escherknot_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfa, 0x5f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xf0, 0x6f, 0xf6, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc0, 0xff, 0x3a, 0x13, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x0d, 0x02, 0x51, 0x71, 0x0e, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x2f, 0x20, 0xd9, 0x88, + 0x9b, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x82, + 0xac, 0x44, 0x4e, 0x1c, 0xf3, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x1e, 0x40, 0x02, 0x44, 0x60, 0xe2, 0xfc, 0x06, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0x25, 0x09, 0x90, 0x22, 0x13, 0xb7, 0x9a, 0x1e, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x40, 0x10, 0x89, + 0x18, 0xe3, 0x3b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x04, 0x08, + 0x01, 0x10, 0xc8, 0xa8, 0xd5, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x83, 0x80, 0x20, 0x40, 0x82, 0x00, 0x66, 0x9c, 0xec, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x08, 0x08, 0x24, 0x12, 0x93, 0x5b, + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x12, 0x80, 0x04, 0x01, 0x00, 0x80, + 0x19, 0x33, 0xfa, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x80, 0x80, 0x00, + 0x20, 0x08, 0x12, 0xc4, 0x68, 0x26, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, + 0x02, 0x04, 0x24, 0x00, 0x01, 0x40, 0x24, 0x8c, 0xcd, 0x3f, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, + 0x00, 0x80, 0x49, 0x10, 0x90, 0x00, 0x21, 0x20, 0x08, 0x11, 0x43, 0xd9, + 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, + 0xff, 0xff, 0x0b, 0x00, 0x60, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x30, 0xb9, 0xf2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xc0, 0x97, 0x04, 0x08, 0xfe, 0x05, 0x30, 0x10, 0x12, 0x20, 0x20, + 0x04, 0x00, 0x80, 0x48, 0x0c, 0xa3, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3e, 0x92, 0x20, 0x49, 0x40, 0x3e, 0x0e, 0x82, + 0x00, 0x84, 0x25, 0x01, 0x80, 0x00, 0x80, 0xc8, 0x34, 0xed, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x25, 0x01, 0x04, 0x01, 0x08, + 0xd0, 0x17, 0x00, 0x80, 0x25, 0x01, 0xad, 0x04, 0x12, 0x20, 0x23, 0x4c, + 0x6a, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x5c, 0x02, 0x48, + 0x92, 0x20, 0x41, 0x92, 0x9e, 0x80, 0x24, 0x24, 0x29, 0x00, 0x04, 0x00, + 0x10, 0x98, 0xcc, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, + 0x4f, 0x10, 0x01, 0x90, 0x24, 0x40, 0x12, 0xf0, 0x00, 0x24, 0x41, 0x0b, + 0xa9, 0x10, 0x00, 0x00, 0x04, 0xd9, 0x96, 0x0e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xe0, 0x00, 0x92, 0x48, 0x02, 0x04, 0x09, 0xc0, 0x84, 0x8f, + 0x29, 0x2d, 0xf8, 0xa9, 0x02, 0x00, 0x00, 0x20, 0x90, 0xf4, 0x1e, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 0x24, 0x91, 0x04, 0x50, 0x22, 0x24, + 0x1b, 0x12, 0x7a, 0x48, 0xca, 0x03, 0x21, 0x10, 0x00, 0x00, 0x48, 0x93, + 0xff, 0x3b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9e, 0x24, 0x92, 0x20, + 0x81, 0xda, 0x24, 0xc8, 0x16, 0xd0, 0xe7, 0x50, 0xd2, 0xbf, 0x03, 0x00, + 0x80, 0x00, 0x30, 0x29, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, + 0x20, 0x80, 0x24, 0x41, 0x12, 0x2a, 0x41, 0xb2, 0x80, 0x33, 0x0e, 0x7e, + 0x88, 0x1c, 0x01, 0x00, 0xa0, 0x24, 0x69, 0x75, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x82, 0x44, 0x11, 0x24, 0x09, 0x90, 0xa4, 0x4d, 0xd2, 0x92, + 0x9e, 0xd3, 0x83, 0x6b, 0x62, 0x00, 0x00, 0x10, 0x22, 0xff, 0x7f, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x30, 0x42, 0x04, 0x92, 0x24, 0x6b, 0x53, 0x32, + 0x59, 0x90, 0x16, 0xfa, 0xb4, 0xf4, 0xff, 0x0f, 0x01, 0x00, 0x90, 0x68, + 0x4a, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x90, 0x24, 0x11, 0x24, + 0x49, 0xda, 0x82, 0xc5, 0x92, 0xd2, 0xd0, 0x9e, 0x1e, 0x00, 0x78, 0x0a, + 0x00, 0x00, 0x05, 0xd2, 0xfa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4c, 0x02, + 0x44, 0xb2, 0x65, 0xea, 0x49, 0x9e, 0x2c, 0x4b, 0x1a, 0xd2, 0xeb, 0xe3, + 0xff, 0xc7, 0x09, 0x00, 0x20, 0x68, 0xff, 0xd6, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x0b, 0x90, 0x40, 0x92, 0x24, 0x09, 0x5f, 0xd2, 0x64, 0x59, 0x72, + 0x56, 0x7f, 0xfd, 0xdf, 0x1f, 0x12, 0x00, 0x20, 0x49, 0x92, 0xde, 0x01, + 0x00, 0x00, 0x00, 0x80, 0x41, 0x92, 0x4c, 0x92, 0x24, 0x25, 0xc9, 0x8b, + 0x2e, 0xcb, 0x92, 0x4b, 0x5a, 0x2f, 0x75, 0xf4, 0x04, 0x00, 0x00, 0x41, + 0xf6, 0x74, 0x01, 0x00, 0x00, 0x00, 0x40, 0x49, 0x02, 0x00, 0xba, 0xb6, + 0xfd, 0x49, 0xf8, 0x74, 0x6d, 0x4b, 0x72, 0xed, 0xdb, 0xff, 0xcf, 0x53, + 0x00, 0x00, 0x48, 0xb6, 0xd7, 0x03, 0x00, 0x00, 0x00, 0x60, 0x48, 0x10, + 0xc9, 0x93, 0x24, 0x00, 0x7b, 0xc3, 0xa6, 0x69, 0x58, 0x5a, 0xfb, 0xfa, + 0xa5, 0xbe, 0x16, 0x00, 0x00, 0x92, 0xa4, 0xfd, 0x03, 0x00, 0x00, 0x00, + 0x30, 0x01, 0x20, 0x5d, 0xa2, 0xfe, 0x7f, 0x01, 0x4f, 0x1a, 0xcd, 0x6b, + 0x6a, 0xa9, 0x5f, 0xff, 0xf3, 0x24, 0x01, 0x40, 0xc0, 0xb4, 0xf4, 0x03, + 0x00, 0x00, 0x00, 0x2c, 0x88, 0x84, 0x89, 0xb6, 0x00, 0x24, 0x7d, 0x69, + 0xf2, 0x34, 0xad, 0x99, 0x2d, 0xf7, 0xff, 0x9f, 0x4b, 0x00, 0x00, 0x92, + 0xa6, 0xad, 0x07, 0x00, 0x00, 0x00, 0x06, 0x91, 0x24, 0xe9, 0xa4, 0xfd, + 0xa5, 0xa9, 0x4b, 0x93, 0xe7, 0x34, 0x63, 0xf9, 0xfc, 0xd5, 0xef, 0x16, + 0x00, 0x40, 0x90, 0xb4, 0xbd, 0x07, 0x00, 0x00, 0x00, 0x6a, 0x80, 0x4c, + 0x96, 0xbe, 0x2d, 0xfd, 0x2f, 0x7c, 0x5e, 0x9c, 0x67, 0xad, 0xa5, 0xfd, + 0xff, 0xbf, 0x29, 0x00, 0x00, 0x92, 0x76, 0xed, 0x06, 0x00, 0x00, 0x00, + 0x05, 0x12, 0x48, 0x53, 0x25, 0x65, 0x25, 0xf4, 0xe5, 0xd3, 0x72, 0x9c, + 0x35, 0xdf, 0xf6, 0x7f, 0xf5, 0x56, 0x00, 0x00, 0x92, 0xa4, 0xed, 0x0f, + 0x00, 0x00, 0x80, 0x49, 0x20, 0x59, 0x38, 0xec, 0xff, 0xff, 0xad, 0x2f, + 0x5d, 0xd3, 0x33, 0xe6, 0x24, 0xed, 0xff, 0xdf, 0x2d, 0x01, 0x40, 0x80, + 0x24, 0xbd, 0x07, 0x00, 0x00, 0xc0, 0x48, 0x24, 0x49, 0x87, 0x37, 0x21, + 0xa0, 0xbd, 0xf4, 0x79, 0x4f, 0xc7, 0x9c, 0xde, 0xf6, 0xff, 0xff, 0x5b, + 0x08, 0x00, 0x92, 0xfc, 0xe9, 0x0e, 0x00, 0x00, 0x20, 0x89, 0x40, 0xd3, + 0xf4, 0x49, 0xff, 0xff, 0xe7, 0x2f, 0xcf, 0x79, 0x9c, 0x53, 0xb2, 0x35, + 0xff, 0xff, 0x37, 0x00, 0x40, 0x90, 0x24, 0xef, 0x0e, 0x00, 0x00, 0x30, + 0x91, 0x49, 0x32, 0x2d, 0xff, 0x6b, 0xb7, 0xbd, 0xbc, 0x3c, 0xef, 0x79, + 0xce, 0xde, 0xd6, 0xfd, 0xff, 0x9f, 0x00, 0x00, 0x92, 0xa6, 0xad, 0x0b, + 0x00, 0x00, 0x30, 0x11, 0x89, 0x8c, 0xcb, 0x5b, 0xba, 0xaf, 0xf6, 0xd7, + 0xe7, 0x35, 0xe7, 0x59, 0xb3, 0xfb, 0xff, 0xff, 0x7f, 0x04, 0x40, 0x80, + 0xe4, 0xb9, 0x1f, 0x00, 0x00, 0x48, 0x22, 0x91, 0x66, 0x79, 0xeb, 0xff, + 0xff, 0xdf, 0xbe, 0xbe, 0xe7, 0x8c, 0x75, 0x6b, 0x4a, 0xfa, 0xbf, 0x7f, + 0x00, 0x00, 0x82, 0x24, 0xef, 0x0e, 0x00, 0x00, 0x4c, 0x22, 0xb2, 0x79, + 0x5e, 0xfa, 0x5b, 0xa9, 0xfd, 0xeb, 0xf5, 0x9c, 0x3d, 0xc6, 0xcc, 0xee, + 0xed, 0x01, 0xf8, 0x00, 0x40, 0x82, 0xb6, 0xa9, 0x1b, 0x00, 0x00, 0x94, + 0x64, 0x66, 0x8e, 0xd3, 0x97, 0xfe, 0xff, 0xd7, 0xdf, 0x9f, 0x7b, 0xf3, + 0x3c, 0x35, 0x59, 0x6b, 0x00, 0x70, 0x00, 0x00, 0x40, 0xe4, 0xed, 0x1e, + 0x00, 0x00, 0x92, 0xc4, 0x34, 0xf3, 0xfc, 0xfd, 0x5f, 0xad, 0x7d, 0xfa, + 0x7a, 0xce, 0x8e, 0xb3, 0x76, 0x2f, 0xfd, 0x00, 0xe0, 0x04, 0x00, 0x9a, + 0x26, 0xaf, 0x1e, 0x00, 0x00, 0x13, 0x88, 0xcc, 0xb5, 0x3f, 0xbf, 0xff, + 0xff, 0xd7, 0xef, 0xef, 0xbd, 0x79, 0x6a, 0xde, 0xec, 0xab, 0x01, 0xc0, + 0x00, 0x00, 0x40, 0xb6, 0xbd, 0x1b, 0x00, 0x00, 0x05, 0x91, 0xeb, 0x5c, + 0xeb, 0xeb, 0xff, 0xff, 0xff, 0x7e, 0xef, 0x6b, 0xef, 0xcd, 0x99, 0xb3, + 0xe4, 0x07, 0x80, 0x00, 0x40, 0x49, 0xb2, 0xe5, 0x1a, 0x00, 0x80, 0x20, + 0x32, 0xb1, 0xe7, 0x79, 0x7f, 0xf7, 0xff, 0xfd, 0xeb, 0xbd, 0xfe, 0x2c, + 0x3d, 0x6b, 0xb6, 0xaf, 0x06, 0x80, 0x00, 0x00, 0x41, 0x96, 0xfe, 0x1e, + 0x00, 0x80, 0x44, 0xb2, 0x9b, 0xf9, 0xde, 0xff, 0xff, 0xff, 0x7f, 0xbf, + 0xf7, 0xbb, 0xb3, 0x77, 0xce, 0xce, 0xb6, 0x0d, 0x80, 0x01, 0x00, 0x49, + 0xf2, 0x94, 0x1f, 0x00, 0x40, 0x49, 0x44, 0xe6, 0x9e, 0x77, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xbf, 0xf7, 0x7e, 0xd6, 0xbc, 0xd9, 0xba, 0x3b, 0x80, + 0x00, 0x00, 0x64, 0x93, 0xf7, 0x1b, 0x00, 0x40, 0x89, 0xec, 0x7e, 0x67, + 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xce, 0xdb, 0x99, 0x33, 0x37, + 0xd3, 0x36, 0x80, 0x01, 0x80, 0x24, 0xda, 0xd6, 0x1e, 0x00, 0x20, 0x90, + 0x99, 0x99, 0x7b, 0xef, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xef, 0xbd, 0x37, + 0x63, 0xf3, 0x66, 0xdb, 0x7a, 0x80, 0x00, 0x00, 0x24, 0x59, 0xde, 0x1f, + 0x00, 0x60, 0x12, 0xb3, 0xf7, 0xdd, 0xfb, 0xfe, 0xff, 0xff, 0xff, 0xff, + 0xbf, 0xf7, 0xfe, 0x6e, 0xce, 0xdd, 0x6d, 0xd7, 0x80, 0x00, 0x80, 0x20, + 0xcb, 0xfb, 0x1f, 0x00, 0x10, 0x20, 0x6e, 0x66, 0x76, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xef, 0xde, 0xdb, 0x9b, 0x99, 0xb3, 0x5d, 0x6b, 0x81, + 0x00, 0x40, 0x96, 0x59, 0x6a, 0x1f, 0x00, 0x98, 0xc4, 0xe4, 0xdf, 0xff, + 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7b, 0x6f, 0x7b, 0x37, 0x7f, + 0xb3, 0xdd, 0x83, 0x00, 0x00, 0xb0, 0xed, 0xef, 0x1d, 0x00, 0x10, 0x88, + 0x9e, 0xdd, 0xcd, 0xbd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xed, + 0x6c, 0xe6, 0xcc, 0x76, 0x6d, 0xc1, 0x00, 0x40, 0x91, 0x24, 0x7b, 0x1f, + 0x00, 0x08, 0xd1, 0xf1, 0x66, 0x76, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xdf, 0xbd, 0xbf, 0xd9, 0xdd, 0xdd, 0xb6, 0x47, 0x00, 0x00, 0xd8, + 0xb4, 0xad, 0x1f, 0x00, 0x24, 0x24, 0x6f, 0xf6, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x7f, 0x7f, 0xb7, 0x9d, 0x33, 0xd9, 0x96, 0x4e, + 0x00, 0x20, 0x49, 0xf7, 0xfd, 0x1e, 0x00, 0x48, 0xe4, 0xac, 0xb9, 0xdd, + 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xdd, 0x76, 0xb6, + 0xb7, 0xfd, 0x7a, 0x00, 0x00, 0x44, 0x96, 0xb7, 0x1f, 0x00, 0x02, 0x9a, + 0xbe, 0x6f, 0x77, 0xff, 0xff, 0x7f, 0x61, 0xd9, 0xff, 0xff, 0xff, 0xfd, + 0xdd, 0x66, 0xed, 0x66, 0x5b, 0x37, 0x00, 0x90, 0x64, 0xb9, 0xf6, 0x1f, + 0x00, 0x02, 0xc9, 0xf3, 0xee, 0xfd, 0xff, 0xff, 0x2f, 0x24, 0x4f, 0xfe, + 0xff, 0xff, 0x7f, 0x37, 0xdb, 0xcd, 0x7c, 0xff, 0x3a, 0x00, 0x88, 0x24, + 0xdb, 0xde, 0x1a, 0x00, 0x13, 0x31, 0x6f, 0xbb, 0xdf, 0xff, 0xff, 0x21, + 0xa0, 0x64, 0xf3, 0xff, 0xff, 0xe7, 0xff, 0x96, 0xbb, 0x9b, 0xa5, 0x1d, + 0x00, 0x60, 0x32, 0xe9, 0xdb, 0x0f, 0x00, 0x65, 0xe6, 0x3c, 0xfb, 0xf6, + 0xff, 0x7f, 0x10, 0xa4, 0xb5, 0x9d, 0xfe, 0xdf, 0xdf, 0xdd, 0x6d, 0x32, + 0xb3, 0x7d, 0x0d, 0x00, 0x0b, 0x93, 0x7c, 0x7b, 0x0f, 0x00, 0x89, 0xdc, + 0xb3, 0xed, 0xfb, 0xff, 0x1f, 0x10, 0x90, 0x92, 0xd9, 0xfe, 0x7f, 0xff, + 0x77, 0xdb, 0xee, 0x6e, 0xdb, 0x0e, 0x00, 0x20, 0xdd, 0x66, 0x6f, 0x0f, + 0x80, 0x91, 0x5a, 0xfb, 0xbe, 0xef, 0xff, 0x0f, 0x10, 0xda, 0x92, 0xee, + 0xff, 0xff, 0xff, 0xf7, 0xb7, 0xcd, 0xee, 0xde, 0x07, 0x00, 0x24, 0x49, + 0xb6, 0xed, 0x0f, 0x00, 0x12, 0x6b, 0xcd, 0xf3, 0xbe, 0xff, 0x07, 0x08, + 0x48, 0xda, 0x76, 0xb7, 0xff, 0xff, 0xdd, 0x6e, 0xba, 0x99, 0x65, 0x03, + 0x40, 0x92, 0xe4, 0xba, 0xbd, 0x0e, 0x80, 0x62, 0xed, 0x7d, 0x5f, 0xf7, + 0xff, 0x01, 0x08, 0x28, 0xc9, 0x26, 0xbb, 0xff, 0xff, 0xff, 0x99, 0xb7, + 0xbb, 0x7d, 0x03, 0x00, 0x89, 0x64, 0xdb, 0xf6, 0x07, 0x40, 0x0c, 0x35, + 0xe7, 0x79, 0xdd, 0xff, 0x01, 0x84, 0xa5, 0x7d, 0xba, 0xdd, 0xfe, 0x7f, + 0xbf, 0xbf, 0x6d, 0x76, 0xdb, 0x01, 0x00, 0x48, 0x36, 0xdb, 0xd6, 0x07, + 0xc0, 0x88, 0xb4, 0xb6, 0xbf, 0xff, 0x7f, 0x00, 0x0c, 0x24, 0x44, 0xdb, + 0xed, 0xff, 0xdf, 0xef, 0x6e, 0xdb, 0x6e, 0xb7, 0x00, 0x80, 0x44, 0x93, + 0xed, 0x5b, 0x07, 0x40, 0x91, 0xd2, 0xfa, 0xfc, 0xf6, 0x7f, 0x00, 0x02, + 0xb4, 0x35, 0xd9, 0xef, 0xff, 0xff, 0xfb, 0xef, 0xb6, 0xc9, 0xe4, 0x00, + 0x10, 0x24, 0xd9, 0x6d, 0xfb, 0x03, 0x00, 0x27, 0xfe, 0xd3, 0xd6, 0xdb, + 0x3f, 0x00, 0xa2, 0x94, 0xb4, 0xdb, 0x7c, 0xff, 0xff, 0xbf, 0xd9, 0xad, + 0xdb, 0x7d, 0x00, 0x40, 0x32, 0xd9, 0xb6, 0xef, 0x03, 0x60, 0xe4, 0x5a, + 0x5f, 0x5f, 0xff, 0x1f, 0x00, 0x02, 0x52, 0x92, 0xec, 0xb6, 0xff, 0xff, + 0xef, 0xff, 0x6d, 0xb6, 0x3b, 0x00, 0x28, 0x90, 0xcc, 0xbe, 0xfd, 0x03, + 0xa0, 0x88, 0xeb, 0xf9, 0xfd, 0xf5, 0x1f, 0x00, 0x82, 0x53, 0xbb, 0x6d, + 0xf7, 0xff, 0xf9, 0xff, 0x6f, 0xdb, 0x6d, 0x1b, 0x00, 0x04, 0xc9, 0x66, + 0xdb, 0x57, 0x03, 0xa0, 0x52, 0xaf, 0xa7, 0x97, 0xff, 0x0f, 0x00, 0x51, + 0x48, 0xda, 0x66, 0xdb, 0xff, 0xf8, 0xdf, 0xed, 0xbe, 0xed, 0x0e, 0x00, + 0x92, 0x64, 0x32, 0xeb, 0xf6, 0x01, 0x20, 0x63, 0xbd, 0xbc, 0xfc, 0xfa, + 0x0f, 0x00, 0x09, 0x20, 0x89, 0x3e, 0xff, 0xff, 0xe0, 0x7f, 0xdf, 0x6f, + 0xdb, 0x07, 0x00, 0x01, 0x24, 0xbb, 0xed, 0xfe, 0x01, 0xa0, 0xce, 0xf5, + 0xf6, 0xdb, 0xdf, 0x07, 0x00, 0x41, 0xad, 0x5f, 0xf2, 0xed, 0xff, 0xc0, + 0xff, 0xbf, 0xdd, 0x92, 0x03, 0x00, 0x44, 0xb2, 0xd9, 0x7d, 0xfb, 0x01, + 0xe0, 0xaa, 0xdf, 0x9b, 0x7f, 0xfb, 0x07, 0x80, 0x28, 0x21, 0x64, 0xbb, + 0x7f, 0x7f, 0x80, 0xff, 0xf6, 0xbb, 0xee, 0x03, 0x80, 0x22, 0x99, 0xed, + 0xb6, 0xff, 0x00, 0x90, 0xb8, 0x5e, 0x5b, 0x6b, 0xed, 0x03, 0x00, 0x01, + 0xa6, 0x6d, 0xdb, 0xf6, 0x7f, 0x00, 0xff, 0xff, 0xf6, 0xcd, 0x00, 0x40, + 0x10, 0xc9, 0x6c, 0xff, 0xf7, 0x00, 0xa0, 0xe3, 0x72, 0xeb, 0xef, 0xff, + 0x03, 0x80, 0xe0, 0x90, 0x24, 0xdb, 0xbd, 0x3f, 0x00, 0xfe, 0xdb, 0x6f, + 0xfb, 0x00, 0x00, 0x89, 0x4c, 0xb6, 0xd9, 0x7e, 0x00, 0x70, 0xaf, 0xaf, + 0x6f, 0xb5, 0xde, 0x03, 0x80, 0x94, 0x92, 0xb6, 0xf9, 0xf6, 0x3f, 0x00, + 0xfc, 0xbf, 0xdd, 0x7b, 0x00, 0x10, 0x48, 0x26, 0xb3, 0xdf, 0x7f, 0x00, + 0x70, 0xd8, 0xae, 0xfd, 0xff, 0xf7, 0x03, 0x80, 0x00, 0xd2, 0x36, 0xcf, + 0xdf, 0x3f, 0x00, 0xb8, 0x6d, 0xdf, 0x16, 0x00, 0x48, 0x44, 0xb2, 0xfb, + 0x6c, 0x3f, 0x00, 0x50, 0x75, 0xfd, 0xa5, 0xd5, 0xfe, 0x01, 0x40, 0xd1, + 0x12, 0xa2, 0x7d, 0xfb, 0x1f, 0x00, 0xf0, 0xff, 0xbf, 0x0d, 0x00, 0x20, + 0x12, 0x9b, 0xcd, 0xf6, 0x3f, 0x00, 0x90, 0xd5, 0xa7, 0xfd, 0x77, 0xab, + 0x03, 0x40, 0x1c, 0xc8, 0xbe, 0x6d, 0xfb, 0x1f, 0x00, 0xe0, 0xff, 0xee, + 0x07, 0x00, 0x04, 0x91, 0xc9, 0x7e, 0xbf, 0x1f, 0x00, 0x30, 0x57, 0xbf, + 0xa6, 0xde, 0xfd, 0x01, 0x40, 0x40, 0x6b, 0xd3, 0x6e, 0xef, 0x0f, 0x00, + 0xc0, 0xeb, 0x7d, 0x03, 0x00, 0x90, 0xc8, 0x6c, 0x76, 0xfb, 0x0f, 0x00, + 0x70, 0x5c, 0xe5, 0xf7, 0xfa, 0xeb, 0x01, 0x40, 0x50, 0x49, 0x92, 0xf4, + 0xfd, 0x0f, 0x00, 0xc0, 0xff, 0xdb, 0x01, 0x80, 0x44, 0x44, 0x66, 0xbb, + 0x6f, 0x0f, 0x00, 0xd0, 0xf1, 0x95, 0xf6, 0x6f, 0xad, 0x01, 0x40, 0x08, + 0x78, 0xdb, 0xb6, 0xef, 0x0f, 0x00, 0x00, 0xdf, 0xd6, 0x00, 0x00, 0x20, + 0x32, 0xb3, 0xdb, 0xfd, 0x0f, 0x00, 0x10, 0xd7, 0xf7, 0xb6, 0xd8, 0xeb, + 0x03, 0x20, 0x43, 0x27, 0xd9, 0xb6, 0xfd, 0x0f, 0x00, 0x00, 0xff, 0x7e, + 0x00, 0x40, 0x12, 0x93, 0xd9, 0xec, 0xb6, 0x07, 0x00, 0x70, 0x55, 0xdd, + 0xf6, 0x6f, 0xbb, 0x01, 0x40, 0x28, 0xa1, 0x6f, 0xb6, 0xb7, 0x0f, 0x00, + 0x00, 0xde, 0x1f, 0x00, 0x80, 0x88, 0xd8, 0xcc, 0x66, 0xff, 0x03, 0x00, + 0x70, 0xf4, 0xf5, 0xdb, 0xaa, 0xee, 0x01, 0x60, 0x28, 0x2d, 0x49, 0xf7, + 0xf6, 0x07, 0x00, 0x00, 0x7c, 0x0f, 0x00, 0x08, 0x48, 0x66, 0x6e, 0xfb, + 0xef, 0x03, 0x00, 0xd0, 0xd5, 0xdf, 0x52, 0xff, 0xda, 0x03, 0x20, 0xa3, + 0xa5, 0xd9, 0xb2, 0xff, 0x07, 0x00, 0x00, 0xf8, 0x07, 0x00, 0x20, 0x22, + 0x33, 0x37, 0xbf, 0xfd, 0x01, 0x00, 0x70, 0x5f, 0xf7, 0xfe, 0xab, 0x6b, + 0x02, 0xa0, 0xa8, 0xb4, 0x6d, 0xdf, 0xf6, 0x07, 0x00, 0x00, 0xf8, 0x01, + 0x00, 0x12, 0x33, 0x11, 0xd9, 0xdd, 0xff, 0x01, 0x00, 0x70, 0x75, 0xd5, + 0x52, 0xea, 0x8a, 0x03, 0x20, 0x84, 0x36, 0x69, 0xba, 0xdb, 0x07, 0x00, + 0x00, 0xf0, 0x01, 0x00, 0x81, 0xc8, 0xcc, 0xdd, 0xed, 0xff, 0x00, 0x00, + 0x60, 0xd5, 0xdf, 0xf6, 0xae, 0x6b, 0x03, 0x00, 0xa1, 0xa4, 0x6d, 0xdf, + 0xfe, 0x07, 0x00, 0x00, 0x60, 0x00, 0x40, 0x44, 0xc6, 0xcc, 0x64, 0xb7, + 0xfd, 0x00, 0x00, 0xe0, 0x55, 0xf7, 0xd6, 0xea, 0xba, 0x07, 0x20, 0x94, + 0x94, 0x6d, 0xfb, 0xdb, 0x07, 0x00, 0x00, 0x20, 0x00, 0x20, 0x20, 0x32, + 0x76, 0x77, 0xff, 0x7f, 0x00, 0x00, 0x60, 0x7d, 0xd5, 0xb6, 0x3f, 0xaf, + 0x06, 0xa0, 0xa4, 0x95, 0x6c, 0x9b, 0xee, 0x07, 0x00, 0x00, 0x18, 0x00, + 0x10, 0x92, 0x15, 0x73, 0xbb, 0xd9, 0x3f, 0x00, 0x00, 0xe0, 0xf5, 0xff, + 0xf7, 0x6a, 0xa9, 0x06, 0x80, 0xa2, 0xb4, 0x6d, 0xfb, 0xfb, 0x07, 0x00, + 0x00, 0x04, 0x00, 0x84, 0x88, 0xc8, 0x99, 0xdd, 0xff, 0x3f, 0x00, 0x00, + 0xe0, 0x8b, 0xff, 0x96, 0x6a, 0xb6, 0x0a, 0xa0, 0x94, 0x96, 0x64, 0xdb, + 0xee, 0x07, 0x00, 0x00, 0x03, 0x08, 0x20, 0x60, 0x66, 0xec, 0xee, 0xb6, + 0x1d, 0x00, 0x00, 0xc0, 0x7e, 0xa5, 0xf4, 0xab, 0x55, 0x0d, 0x20, 0xe7, + 0xd4, 0x6d, 0xdb, 0xfb, 0x07, 0x00, 0x80, 0x00, 0x00, 0x09, 0x12, 0x33, + 0x67, 0x77, 0xff, 0x0f, 0x00, 0x00, 0xc0, 0xfa, 0xff, 0xb7, 0x7a, 0x55, + 0x19, 0x90, 0x91, 0xd4, 0x64, 0xdb, 0xee, 0x07, 0x00, 0x40, 0x00, 0x81, + 0x04, 0x88, 0x91, 0x3b, 0xbb, 0xfd, 0x0f, 0x00, 0x00, 0xc0, 0xab, 0xbf, + 0xed, 0x4e, 0xbb, 0x32, 0x20, 0x94, 0x96, 0x6c, 0xff, 0xfa, 0x03, 0x00, + 0x30, 0x40, 0x20, 0x20, 0x64, 0xcc, 0xdc, 0xdd, 0xff, 0x07, 0x00, 0x00, + 0xc0, 0xeb, 0xea, 0xfd, 0xd5, 0xaa, 0x2a, 0x20, 0xd7, 0xb0, 0x6d, 0x93, + 0xef, 0x07, 0x00, 0x08, 0x00, 0x08, 0x01, 0x23, 0xee, 0xee, 0xee, 0xfb, + 0x03, 0x00, 0x00, 0xc0, 0xfe, 0xff, 0x2d, 0xdd, 0x6a, 0x49, 0xd0, 0x90, + 0x9a, 0x64, 0xdf, 0xea, 0x07, 0x00, 0x03, 0x80, 0x40, 0x8c, 0x98, 0x33, + 0xb3, 0xbb, 0xff, 0x01, 0x00, 0x00, 0xc0, 0xa5, 0x7b, 0x6d, 0xa7, 0x56, + 0xc5, 0xa0, 0x94, 0x94, 0x6f, 0xd3, 0xbb, 0x07, 0x80, 0x10, 0x0c, 0x12, + 0x40, 0xc6, 0xb9, 0xdb, 0xfb, 0xfd, 0x01, 0x00, 0x00, 0x80, 0x97, 0xee, + 0xdf, 0xba, 0x54, 0x1a, 0xa1, 0xe5, 0xd2, 0x64, 0x7e, 0xee, 0x07, 0x60, + 0x02, 0x80, 0x00, 0x31, 0x62, 0xcc, 0xdc, 0xee, 0x7f, 0x00, 0x00, 0x00, + 0x80, 0xff, 0xff, 0xdb, 0xaa, 0xb5, 0x8a, 0x86, 0x98, 0x96, 0x6d, 0x9b, + 0xea, 0x07, 0x98, 0x00, 0x22, 0x44, 0x88, 0x39, 0x77, 0x77, 0xff, 0x7f, + 0x00, 0x00, 0x00, 0x80, 0x7d, 0x77, 0xba, 0x7b, 0x2d, 0x55, 0x3c, 0xa6, + 0xb4, 0x6c, 0xf6, 0xaf, 0x07, 0x07, 0x90, 0x88, 0x20, 0x42, 0x9c, 0xbb, + 0xbb, 0xbb, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x4b, 0xbd, 0xbf, 0x55, 0x53, + 0xa5, 0xb2, 0xa1, 0xb4, 0xc9, 0x9f, 0xda, 0xcf, 0x28, 0x24, 0x42, 0x08, + 0x31, 0xe6, 0xcc, 0xdd, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0xff, 0xef, + 0xb7, 0xbd, 0xde, 0x12, 0xd1, 0xac, 0x95, 0x4d, 0xf2, 0x56, 0x9f, 0x88, + 0x80, 0x10, 0xc2, 0x9c, 0x73, 0x77, 0xef, 0xfe, 0x7f, 0x00, 0x00, 0x00, + 0x00, 0xbf, 0xfb, 0xed, 0xeb, 0x35, 0x95, 0x72, 0xa2, 0x35, 0xcd, 0xb6, + 0xd6, 0x2f, 0x21, 0x24, 0x04, 0x31, 0xc6, 0x98, 0x33, 0xf7, 0xff, 0xff, + 0x00, 0x00, 0x00, 0x00, 0xd6, 0x6a, 0x7f, 0x5b, 0xab, 0x2d, 0x28, 0x23, + 0x65, 0xd9, 0xb6, 0x55, 0x5f, 0x88, 0x08, 0x43, 0x0c, 0x61, 0xde, 0xdd, + 0xfb, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x76, 0xff, 0x4d, 0xd7, 0x4d, + 0x4a, 0xa5, 0x29, 0x2d, 0xdb, 0xbe, 0x55, 0x1f, 0x22, 0x42, 0x28, 0xc2, + 0x39, 0xe7, 0xee, 0xee, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x7f, + 0xfb, 0xb6, 0xb6, 0x95, 0x70, 0x2e, 0xa5, 0xd9, 0x24, 0x5d, 0x5f, 0x8a, + 0x28, 0x88, 0x31, 0x9e, 0x39, 0x73, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0xec, 0xb7, 0xdf, 0x6c, 0xb5, 0x65, 0x26, 0xa3, 0x39, 0x9b, 0xfc, + 0x85, 0x5d, 0x21, 0x04, 0x63, 0x1c, 0xe6, 0xdd, 0xbd, 0xfb, 0xff, 0xff, + 0x01, 0x00, 0x00, 0x00, 0xb8, 0xfa, 0xb6, 0x6f, 0x4d, 0x9a, 0x28, 0x59, + 0x4d, 0xd3, 0x2f, 0xf5, 0x3f, 0x8c, 0xd1, 0x18, 0xc6, 0x31, 0xf6, 0xdd, + 0xfe, 0xff, 0xfe, 0x01, 0x00, 0x00, 0x00, 0xf8, 0xff, 0xef, 0xb9, 0xb6, + 0x25, 0xe1, 0x4d, 0x69, 0xba, 0x6c, 0xad, 0x3c, 0x41, 0x14, 0x84, 0xe9, + 0x9e, 0x37, 0xf7, 0xff, 0xff, 0xfb, 0x03, 0x00, 0x00, 0x00, 0x70, 0x5d, + 0x3d, 0x9f, 0x3d, 0x6d, 0x26, 0x52, 0x59, 0xb6, 0x6d, 0xab, 0x7f, 0x14, + 0x82, 0xe1, 0x39, 0xe6, 0xdd, 0xfb, 0xff, 0xbf, 0xff, 0x01, 0x00, 0x00, + 0x00, 0xf0, 0xf6, 0x6f, 0x77, 0xcd, 0x92, 0xd0, 0x52, 0x4b, 0xb3, 0x49, + 0x0b, 0x3a, 0x41, 0x61, 0x38, 0x9e, 0x73, 0xee, 0xdc, 0xff, 0xff, 0xfd, + 0x03, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xd7, 0x65, 0xda, 0x66, 0x63, 0x9d, + 0xf2, 0x36, 0x7b, 0x6a, 0x7f, 0x14, 0x18, 0x8e, 0xe7, 0xd9, 0x7b, 0xff, + 0xff, 0xef, 0xff, 0x03, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xdd, 0xb6, + 0xc9, 0x4c, 0x46, 0x9a, 0x64, 0xcb, 0x5b, 0xed, 0x06, 0xc6, 0xe3, 0x71, + 0xde, 0xbd, 0xff, 0xff, 0x7f, 0xff, 0x07, 0x00, 0x00, 0x00, 0xc0, 0x7f, + 0x7f, 0xff, 0x59, 0x37, 0x75, 0xbb, 0x96, 0x66, 0xdb, 0x56, 0xf7, 0xe0, + 0xf2, 0x74, 0x9e, 0x77, 0xef, 0xfd, 0xff, 0xeb, 0xed, 0x03, 0x00, 0x00, + 0x00, 0xc0, 0xea, 0xdf, 0xb3, 0xdb, 0xde, 0xc6, 0x81, 0xb0, 0x6c, 0xba, + 0xb4, 0xf6, 0x38, 0x18, 0x3c, 0xe7, 0x9c, 0xfb, 0xff, 0x7f, 0xff, 0xff, + 0x07, 0x00, 0x00, 0x00, 0x80, 0xff, 0xf7, 0x6e, 0x66, 0xd9, 0x99, 0xac, + 0xa4, 0xcd, 0x96, 0xa5, 0xea, 0x03, 0xa7, 0xcf, 0x79, 0xef, 0xfd, 0xff, + 0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfd, 0xef, 0xdf, + 0x6f, 0xef, 0x72, 0x65, 0xd9, 0xb6, 0xad, 0xe8, 0xc1, 0xe1, 0xf1, 0xbe, + 0x7b, 0xef, 0xff, 0xdf, 0x7a, 0xfb, 0x07, 0x00, 0x00, 0x00, 0x00, 0xfe, + 0x5f, 0xdd, 0x9d, 0xac, 0x99, 0x84, 0x29, 0xcd, 0x3c, 0x4f, 0x9d, 0x7d, + 0x3c, 0x9e, 0xe7, 0xbe, 0xff, 0xff, 0xff, 0xff, 0xef, 0x0f, 0x00, 0x00, + 0x00, 0x00, 0xfe, 0xff, 0x77, 0x7b, 0x33, 0xe7, 0x5a, 0x49, 0x9b, 0x65, + 0x59, 0x75, 0x07, 0x97, 0xf7, 0xbb, 0xef, 0xff, 0xff, 0xdb, 0xfe, 0xff, + 0x07, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xf7, 0x3f, 0xe7, 0xcf, 0x9c, 0x51, + 0x4d, 0xb0, 0x6d, 0x4b, 0xc9, 0xd3, 0xf5, 0x79, 0xfe, 0xfb, 0xff, 0xff, + 0xdb, 0xda, 0xfe, 0x0f, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0xef, 0xde, + 0xdd, 0xf3, 0x4d, 0x52, 0x36, 0xcb, 0xd2, 0x3a, 0x7e, 0x3c, 0xde, 0xe7, + 0xbe, 0xff, 0x7f, 0xda, 0xff, 0xdf, 0x0f, 0x00, 0x00, 0x00, 0x00, 0xf8, + 0xff, 0xfb, 0xdd, 0x73, 0x8f, 0xa5, 0x9a, 0xe6, 0xd9, 0xb6, 0xe2, 0x4e, + 0xc7, 0xf7, 0xfd, 0xff, 0xff, 0xff, 0xf7, 0xf6, 0xff, 0x0f, 0x00, 0x00, + 0x00, 0x00, 0xe0, 0xff, 0xff, 0x7f, 0xee, 0x79, 0xb2, 0xb2, 0x2c, 0x9f, + 0xb6, 0x54, 0xfe, 0xfb, 0x79, 0xbf, 0xff, 0xff, 0x5f, 0xda, 0xff, 0xfa, + 0x0f, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xf7, 0xbf, 0xe7, 0x4b, + 0xb4, 0x69, 0xd3, 0x2c, 0x25, 0xbd, 0xbc, 0xcf, 0xf7, 0xfd, 0xff, 0xd7, + 0xf6, 0xfe, 0xdf, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0xbf, 0x9d, + 0xf1, 0x3e, 0x57, 0x25, 0xcb, 0xb6, 0x6d, 0xa9, 0xb5, 0xef, 0xfb, 0xff, + 0xff, 0xff, 0xd5, 0xda, 0xd6, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x80, + 0xff, 0xff, 0xfb, 0xcf, 0xf5, 0x25, 0x65, 0xd9, 0x66, 0x5b, 0x4a, 0xfa, + 0xf9, 0x7e, 0xff, 0xff, 0xff, 0xf6, 0xd6, 0xdf, 0xfa, 0x0f, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xfe, 0xff, 0xef, 0x3e, 0xf7, 0x9f, 0x5b, 0x92, 0x6c, + 0xdb, 0x52, 0xe5, 0xbe, 0xdf, 0xff, 0xff, 0xbf, 0x51, 0xda, 0xfa, 0x7f, + 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x7b, 0x9f, 0xe7, + 0x4c, 0xb3, 0x4d, 0xd3, 0x54, 0xd9, 0xe7, 0xfb, 0xff, 0xff, 0x5f, 0xdc, + 0xfa, 0xdf, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0x7f, + 0xe7, 0xf9, 0x3a, 0xd3, 0xa6, 0xe9, 0xb6, 0xa5, 0xca, 0xf9, 0xfd, 0xff, + 0xff, 0x83, 0x42, 0xd2, 0xff, 0xfb, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xf0, 0xff, 0xfd, 0xbf, 0xef, 0x4f, 0xd5, 0x64, 0xdb, 0x26, 0x4d, 0x30, + 0x7f, 0xff, 0xff, 0xff, 0x91, 0xda, 0xdb, 0xda, 0xdf, 0x1f, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xe0, 0xff, 0xbf, 0xff, 0x7d, 0xbe, 0xb5, 0x6d, 0x97, + 0x6d, 0x93, 0x56, 0xdf, 0xff, 0xff, 0x7f, 0x81, 0x4a, 0xda, 0x7f, 0xff, + 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xef, 0xeb, 0xbb, + 0xa6, 0x4d, 0x73, 0xcd, 0x92, 0xaa, 0xfe, 0xff, 0xff, 0x1f, 0x01, 0x6a, + 0x5b, 0xfb, 0xfb, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, + 0xfd, 0xbf, 0x5f, 0x3b, 0xdb, 0x36, 0xbb, 0x26, 0x4c, 0xf9, 0xff, 0xff, + 0x0f, 0xa3, 0x2a, 0xe9, 0x7f, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xee, 0xff, 0xff, 0xfe, 0xfe, 0xcc, 0x91, 0xec, 0x93, 0x6d, 0x93, + 0xf2, 0xff, 0xff, 0x03, 0x00, 0x6a, 0x6d, 0x6f, 0xff, 0x1f, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0xff, 0xf7, 0x6f, 0x76, 0xb6, 0xcd, + 0x76, 0xc9, 0x2a, 0xe9, 0xff, 0xff, 0x00, 0x02, 0x24, 0xed, 0xf9, 0xed, + 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, 0xdf, 0xff, + 0xd9, 0x66, 0x9b, 0x6c, 0x93, 0x54, 0xc5, 0xff, 0x3f, 0x00, 0x01, 0x95, + 0xb5, 0xaf, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, + 0xff, 0xff, 0xfd, 0xae, 0x7d, 0xde, 0x6d, 0xf6, 0xa1, 0x8a, 0xff, 0x0f, + 0x00, 0x81, 0x90, 0xb4, 0xfd, 0xfd, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x80, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xcd, 0xb2, 0xdb, 0x2c, 0xcb, + 0x54, 0xfe, 0x01, 0x00, 0x01, 0xd2, 0xb6, 0xb7, 0xff, 0x0f, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0xff, 0x39, 0xdb, 0x76, + 0xb3, 0x4b, 0xb6, 0x0a, 0xfe, 0x00, 0x00, 0x01, 0x48, 0xda, 0xfe, 0xff, + 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0xff, 0xff, + 0xcf, 0xb9, 0x6d, 0xb6, 0xd9, 0xa5, 0x75, 0x1c, 0x00, 0x80, 0x80, 0x20, + 0xdb, 0xda, 0xbe, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, + 0xff, 0xff, 0xff, 0x77, 0x96, 0xd9, 0x26, 0xb3, 0x4d, 0x82, 0x11, 0x00, + 0x80, 0x80, 0x24, 0x6d, 0xff, 0xf7, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x80, 0xff, 0xff, 0xff, 0xbb, 0x67, 0xdb, 0xdd, 0x36, 0xd9, + 0x54, 0x60, 0x00, 0xc0, 0x00, 0x92, 0x65, 0x6b, 0xff, 0x0f, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x4f, 0x7d, 0x96, + 0xd9, 0x6c, 0x36, 0xad, 0xc2, 0x00, 0x60, 0x00, 0xc8, 0xb6, 0x6d, 0xff, + 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, + 0xff, 0xc8, 0x76, 0xbb, 0xcb, 0x64, 0x52, 0x02, 0x03, 0x10, 0x00, 0x64, + 0xda, 0xff, 0xfb, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0xff, 0xff, 0x5f, 0xd7, 0x4d, 0x33, 0x99, 0xdd, 0x96, 0x04, 0x2c, + 0x1c, 0x40, 0x22, 0xdb, 0xb6, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0xdf, 0xb5, 0xed, 0xe6, 0x36, 0x9b, + 0x6c, 0x29, 0xf0, 0x03, 0x00, 0x99, 0x6c, 0xfb, 0xfd, 0x07, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x7f, 0x35, 0xbb, + 0xec, 0x76, 0x33, 0x91, 0x02, 0x00, 0x00, 0x00, 0x64, 0x67, 0xdf, 0xff, + 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, + 0xbf, 0x6f, 0x9b, 0x9d, 0xc9, 0xce, 0x36, 0x49, 0x00, 0x00, 0x00, 0x93, + 0xb1, 0xdd, 0xfe, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x40, 0xff, 0x6a, 0x76, 0xbb, 0xdd, 0xd9, 0x64, 0x12, 0x01, + 0x00, 0x40, 0x98, 0xdd, 0x6d, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xdf, 0x66, 0x73, 0x33, 0xbb, + 0x9d, 0x4d, 0x00, 0x00, 0x00, 0x63, 0xe6, 0xf6, 0xff, 0x07, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xed, 0xfd, + 0xee, 0xee, 0x36, 0x73, 0x2b, 0x04, 0x00, 0xa0, 0x38, 0x75, 0xbf, 0xff, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x7f, 0xd9, 0xec, 0xce, 0x66, 0x66, 0x66, 0x22, 0x04, 0x00, 0xc6, + 0x99, 0xbb, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x5e, 0xb3, 0xdb, 0xb9, 0xcd, 0xc9, 0x88, 0x89, + 0x00, 0x68, 0x31, 0xee, 0xdd, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf6, 0xbe, 0xbb, 0x9b, 0x3f, + 0xbb, 0x33, 0x23, 0x04, 0x00, 0x8c, 0xf3, 0xee, 0xff, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xbc, 0x67, + 0x76, 0x77, 0xb2, 0x66, 0xce, 0x0c, 0xd1, 0xd6, 0xe3, 0x79, 0xf7, 0xff, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xf8, 0xfd, 0xef, 0xe6, 0xee, 0xce, 0x9c, 0x31, 0x16, 0x00, 0x3c, + 0x9e, 0xfb, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x78, 0x9f, 0xdb, 0xdc, 0x9d, 0x99, 0x33, 0xc6, + 0xc1, 0xff, 0x8f, 0xe7, 0xbb, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf7, 0xbd, 0xbb, 0x33, + 0x7b, 0xee, 0x18, 0x1e, 0x50, 0xf0, 0xf9, 0xfe, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x7b, + 0xf7, 0x77, 0xf7, 0xe6, 0x9c, 0xe3, 0xf0, 0x4d, 0xff, 0x7c, 0xef, 0xff, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xc0, 0xdf, 0x76, 0x7f, 0xcf, 0x9e, 0x73, 0x8f, 0x07, 0xff, 0x0b, + 0xdf, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x80, 0xee, 0xcd, 0xdd, 0x9d, 0x7b, 0xf7, 0x7c, + 0x7a, 0x00, 0xf0, 0xe7, 0xfd, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7f, 0xbf, 0xdd, 0x7b, + 0x6b, 0x9e, 0xf3, 0xe1, 0xff, 0xff, 0x7d, 0xff, 0x7f, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xee, + 0xb7, 0xbb, 0x7b, 0xee, 0x79, 0x8f, 0x0f, 0xfa, 0x2f, 0xff, 0xf7, 0x3f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x7e, 0xff, 0x77, 0xef, 0xdd, 0x77, 0x7c, 0xfe, 0x02, 0xe8, + 0xcf, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xef, 0xee, 0xdd, 0xb3, 0xcf, 0xf3, + 0xf1, 0xff, 0xff, 0xf9, 0xfe, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xfb, 0xff, 0xbf, + 0xef, 0xbe, 0xcf, 0x8f, 0xfe, 0x5f, 0xfe, 0xff, 0x0f, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, + 0xbf, 0xbb, 0xf7, 0xde, 0x79, 0x3e, 0xff, 0x52, 0xd2, 0xdf, 0xff, 0x0f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xe0, 0xef, 0xef, 0xef, 0x3c, 0xef, 0xf9, 0xf8, 0xff, 0xff, + 0xf7, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0xee, 0xdc, 0xf7, 0xfe, 0xe7, + 0x97, 0xfe, 0xff, 0xfe, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xbf, + 0xef, 0xbf, 0x3e, 0xff, 0xda, 0xf6, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xfe, 0xbf, 0xf7, 0xfe, 0xf7, 0xff, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xfe, 0xff, 0xde, 0xbd, 0xef, 0xfb, 0xd7, 0xff, 0xbf, + 0xfd, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, 0xff, 0xf7, 0x7d, 0xbf, + 0xff, 0xd2, 0xf6, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xbf, + 0xef, 0xfb, 0xfd, 0xfd, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xc0, 0xff, 0xef, 0xbe, 0xf7, 0xef, 0xef, 0xff, 0xff, 0xff, 0x3f, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xfb, 0xdf, 0xbf, 0xff, 0xff, 0xff, + 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x7f, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, + 0xfe, 0xff, 0xfb, 0xf7, 0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xf0, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xfd, 0xff, 0xff, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xfc, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x07, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; diff --git a/bitmaps/flagdown b/bitmaps/flagdown new file mode 100644 index 0000000..55abc51 --- /dev/null +++ b/bitmaps/flagdown @@ -0,0 +1,27 @@ +#define flagdown_width 48 +#define flagdown_height 48 +static char flagdown_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, + 0x00, 0x00, 0x80, 0x7f, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xe1, 0x00, 0x00, + 0x00, 0x00, 0x70, 0x80, 0x01, 0x00, 0x00, 0x00, 0x18, 0x00, 0x03, 0x00, + 0x00, 0x00, 0x0c, 0x00, 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x04, + 0x00, 0x00, 0x03, 0x00, 0x06, 0x06, 0x00, 0x80, 0x01, 0x00, 0x06, 0x07, + 0x00, 0xc0, 0x1f, 0x00, 0x87, 0x07, 0x00, 0xe0, 0x7f, 0x80, 0xc7, 0x07, + 0x00, 0x70, 0xe0, 0xc0, 0xe5, 0x07, 0x00, 0x38, 0x80, 0xe1, 0x74, 0x07, + 0x00, 0x18, 0x80, 0x71, 0x3c, 0x07, 0x00, 0x0c, 0x00, 0x3b, 0x1e, 0x03, + 0x00, 0x0c, 0x00, 0x1f, 0x0f, 0x00, 0x00, 0x86, 0x1f, 0x8e, 0x07, 0x00, + 0x00, 0x06, 0x06, 0xc6, 0x05, 0x00, 0x00, 0x06, 0x00, 0xc6, 0x05, 0x00, + 0x00, 0x06, 0x00, 0xc6, 0x04, 0x00, 0x00, 0x06, 0x00, 0x06, 0x04, 0x00, + 0x7f, 0x06, 0x00, 0x06, 0xe4, 0xff, 0x00, 0x06, 0x00, 0x06, 0x04, 0x00, + 0x00, 0x06, 0x00, 0x06, 0x04, 0x00, 0x00, 0x06, 0x00, 0x06, 0x06, 0x00, + 0x00, 0x06, 0x00, 0x06, 0x03, 0x00, 0x00, 0x06, 0x00, 0x86, 0x01, 0x00, + 0x00, 0x06, 0x00, 0xc6, 0x00, 0x00, 0x00, 0x06, 0x00, 0x66, 0x00, 0x00, + 0x00, 0x06, 0x00, 0x36, 0x00, 0x00, 0x00, 0x06, 0x00, 0x3e, 0x00, 0x00, + 0x00, 0xfe, 0xff, 0x2f, 0x00, 0x00, 0x00, 0xfc, 0xff, 0x27, 0x00, 0x00, + 0x00, 0x00, 0x88, 0x20, 0x00, 0x00, 0x00, 0x00, 0x88, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x88, 0x20, 0x00, 0x00, 0x00, 0x00, 0x88, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x88, 0x20, 0x00, 0x00, 0x00, 0x00, 0x88, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x88, 0x20, 0x00, 0x00, 0x00, 0x00, 0x88, 0x20, 0x00, 0x00, + 0xf7, 0xbf, 0x8e, 0xfc, 0xdf, 0xf8, 0x9d, 0xeb, 0x9b, 0x76, 0xd2, 0x7a, + 0x46, 0x30, 0xe2, 0x0f, 0xe1, 0x47, 0x55, 0x84, 0x48, 0x11, 0x84, 0x19}; diff --git a/bitmaps/flagup b/bitmaps/flagup new file mode 100644 index 0000000..6eb0d84 --- /dev/null +++ b/bitmaps/flagup @@ -0,0 +1,27 @@ +#define flagup_width 48 +#define flagup_height 48 +static char flagup_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x7f, 0x00, + 0x00, 0x00, 0x00, 0xe0, 0x7f, 0x00, 0x00, 0x00, 0x00, 0xef, 0x6a, 0x00, + 0x00, 0x00, 0xc0, 0x7b, 0x75, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0x6a, 0x00, + 0x00, 0x00, 0x30, 0x60, 0x75, 0x00, 0x00, 0x00, 0x18, 0xe0, 0x7f, 0x00, + 0x00, 0x00, 0x0c, 0xe0, 0x7f, 0x00, 0x00, 0x00, 0x06, 0xe0, 0x04, 0x00, + 0x00, 0x00, 0x03, 0xe0, 0x04, 0x00, 0x00, 0x80, 0x01, 0xe0, 0x06, 0x00, + 0x00, 0xc0, 0x1f, 0xe0, 0x07, 0x00, 0x00, 0xe0, 0x7f, 0xe0, 0x07, 0x00, + 0x00, 0x70, 0xe0, 0xe0, 0x05, 0x00, 0x00, 0x38, 0x80, 0xe1, 0x04, 0x00, + 0x00, 0x18, 0x80, 0xf1, 0x04, 0x00, 0x00, 0x0c, 0x00, 0xfb, 0x04, 0x00, + 0x00, 0x0c, 0x00, 0xff, 0x04, 0x00, 0x00, 0x86, 0x1f, 0xee, 0x04, 0x00, + 0x00, 0x06, 0x06, 0xe6, 0x04, 0x00, 0x00, 0x06, 0x00, 0xe6, 0x04, 0x00, + 0x00, 0x06, 0x00, 0xe6, 0x04, 0x00, 0x00, 0x06, 0x00, 0x66, 0x04, 0x00, + 0x7f, 0x56, 0x52, 0x06, 0xe4, 0xff, 0x00, 0x76, 0x55, 0x06, 0x04, 0x00, + 0x00, 0x56, 0x57, 0x06, 0x04, 0x00, 0x00, 0x56, 0x55, 0x06, 0x06, 0x00, + 0x00, 0x56, 0xd5, 0x06, 0x03, 0x00, 0x00, 0x06, 0x00, 0x86, 0x01, 0x00, + 0x54, 0x06, 0x00, 0xc6, 0x54, 0x55, 0xaa, 0x06, 0x00, 0x66, 0xaa, 0x2a, + 0x54, 0x06, 0x00, 0x36, 0x55, 0x55, 0xaa, 0x06, 0x00, 0xbe, 0xaa, 0x2a, + 0x54, 0xfe, 0xff, 0x6f, 0x55, 0x55, 0xaa, 0xfc, 0xff, 0xa7, 0xaa, 0x2a, + 0x54, 0x01, 0x88, 0x60, 0x55, 0x55, 0xaa, 0xaa, 0x8a, 0xa0, 0xaa, 0x2a, + 0x54, 0x55, 0x8d, 0x60, 0x55, 0x55, 0xaa, 0xaa, 0x8a, 0xa0, 0xaa, 0x2a, + 0x54, 0x55, 0x8d, 0x60, 0x55, 0x55, 0xaa, 0xaa, 0x8a, 0xa0, 0xaa, 0x2a, + 0x54, 0x55, 0x8d, 0x50, 0x55, 0x55, 0xaa, 0xaa, 0x8a, 0xa8, 0xaa, 0x2a, + 0x54, 0x55, 0x95, 0x54, 0x55, 0x55, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0x2a, + 0x54, 0x55, 0x55, 0x55, 0x55, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/bitmaps/flipped_gray b/bitmaps/flipped_gray new file mode 100644 index 0000000..b75cacd --- /dev/null +++ b/bitmaps/flipped_gray @@ -0,0 +1,4 @@ +#define flipped_gray_width 4 +#define flipped_gray_height 2 +static char flipped_gray_bits[] = { + 0x07, 0x0d}; diff --git a/bitmaps/gray b/bitmaps/gray new file mode 100644 index 0000000..dc7327e --- /dev/null +++ b/bitmaps/gray @@ -0,0 +1,4 @@ +#define gray_width 2 +#define gray_height 2 +static char gray_bits[] = { + 0x01, 0x02}; diff --git a/bitmaps/gray1 b/bitmaps/gray1 new file mode 100644 index 0000000..476d930 --- /dev/null +++ b/bitmaps/gray1 @@ -0,0 +1,4 @@ +#define gray1_width 2 +#define gray1_height 2 +static char gray1_bits[] = { + 0x01, 0x02}; diff --git a/bitmaps/gray3 b/bitmaps/gray3 new file mode 100644 index 0000000..2302884 --- /dev/null +++ b/bitmaps/gray3 @@ -0,0 +1,4 @@ +#define gray3_width 4 +#define gray3_height 4 +static char gray3_bits[] = { + 0x01, 0x00, 0x04, 0x00}; diff --git a/bitmaps/grid16 b/bitmaps/grid16 new file mode 100644 index 0000000..edc7c73 --- /dev/null +++ b/bitmaps/grid16 @@ -0,0 +1,6 @@ +#define grid16_width 16 +#define grid16_height 16 +static char grid16_bits[] = { + 0x55, 0x55, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00}; diff --git a/bitmaps/grid2 b/bitmaps/grid2 new file mode 100644 index 0000000..7a02167 --- /dev/null +++ b/bitmaps/grid2 @@ -0,0 +1,4 @@ +#define grid2_width 2 +#define grid2_height 2 +static char grid2_bits[] = { + 0x01, 0x00}; diff --git a/bitmaps/grid4 b/bitmaps/grid4 new file mode 100644 index 0000000..8062f40 --- /dev/null +++ b/bitmaps/grid4 @@ -0,0 +1,4 @@ +#define grid4_width 4 +#define grid4_height 4 +static char grid4_bits[] = { + 0x05, 0x00, 0x01, 0x00}; diff --git a/bitmaps/grid8 b/bitmaps/grid8 new file mode 100644 index 0000000..02ce50e --- /dev/null +++ b/bitmaps/grid8 @@ -0,0 +1,4 @@ +#define grid8_width 8 +#define grid8_height 8 +static char grid8_bits[] = { + 0x55, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00}; diff --git a/bitmaps/hlines2 b/bitmaps/hlines2 new file mode 100644 index 0000000..5c1a396 --- /dev/null +++ b/bitmaps/hlines2 @@ -0,0 +1,4 @@ +#define hlines2_width 1 +#define hlines2_height 2 +static char hlines2_bits[] = { + 0x01, 0x00}; diff --git a/bitmaps/hlines3 b/bitmaps/hlines3 new file mode 100644 index 0000000..ed49433 --- /dev/null +++ b/bitmaps/hlines3 @@ -0,0 +1,4 @@ +#define hlines3_width 1 +#define hlines3_height 3 +static char hlines3_bits[] = { + 0x00, 0x01, 0x00}; diff --git a/bitmaps/icon b/bitmaps/icon new file mode 100644 index 0000000..9a75a57 --- /dev/null +++ b/bitmaps/icon @@ -0,0 +1,6 @@ +#define icon_width 16 +#define icon_height 16 +static char icon_bits[] = { + 0xff, 0xff, 0xab, 0xaa, 0x55, 0xd5, 0xab, 0xaa, 0x05, 0xd0, 0x0b, 0xa0, + 0x05, 0xd0, 0x0b, 0xa0, 0x05, 0xd0, 0x0b, 0xa0, 0x05, 0xd0, 0x0b, 0xa0, + 0x55, 0xd5, 0xab, 0xaa, 0x55, 0xd5, 0xff, 0xff}; diff --git a/bitmaps/keyboard16 b/bitmaps/keyboard16 new file mode 100644 index 0000000..c4ead32 --- /dev/null +++ b/bitmaps/keyboard16 @@ -0,0 +1,6 @@ +#define keyboard16_width 16 +#define keyboard16_height 16 +static char keyboard16_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0xf0, 0x0f, 0x08, 0x10, 0x08, 0x10, 0x08, 0x10, + 0x08, 0x10, 0xf0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x0f, 0xa8, 0x1a, + 0x54, 0x35, 0xfc, 0x3f, 0x00, 0x00, 0x00, 0x00}; diff --git a/bitmaps/left_ptr b/bitmaps/left_ptr new file mode 100644 index 0000000..8a6abb1 --- /dev/null +++ b/bitmaps/left_ptr @@ -0,0 +1,8 @@ +#define left_ptr_width 16 +#define left_ptr_height 16 +#define left_ptr_x_hot 3 +#define left_ptr_y_hot 1 +static char left_ptr_bits[] = { + 0x00, 0x00, 0x08, 0x00, 0x18, 0x00, 0x38, 0x00, 0x78, 0x00, 0xf8, 0x00, + 0xf8, 0x01, 0xf8, 0x03, 0xf8, 0x07, 0xf8, 0x00, 0xd8, 0x00, 0x88, 0x01, + 0x80, 0x01, 0x00, 0x03, 0x00, 0x03, 0x00, 0x00}; diff --git a/bitmaps/left_ptrmsk b/bitmaps/left_ptrmsk new file mode 100644 index 0000000..851911d --- /dev/null +++ b/bitmaps/left_ptrmsk @@ -0,0 +1,6 @@ +#define left_ptrmsk_width 16 +#define left_ptrmsk_height 16 +static char left_ptrmsk_bits[] = { + 0x0c, 0x00, 0x1c, 0x00, 0x3c, 0x00, 0x7c, 0x00, 0xfc, 0x00, 0xfc, 0x01, + 0xfc, 0x03, 0xfc, 0x07, 0xfc, 0x0f, 0xfc, 0x0f, 0xfc, 0x01, 0xdc, 0x03, + 0xcc, 0x03, 0x80, 0x07, 0x80, 0x07, 0x00, 0x03}; diff --git a/bitmaps/letters b/bitmaps/letters new file mode 100644 index 0000000..0f12568 --- /dev/null +++ b/bitmaps/letters @@ -0,0 +1,27 @@ +#define letters_width 48 +#define letters_height 48 +static char letters_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xfe, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x02, 0x00, 0x00, 0x00, 0x20, + 0x00, 0xfa, 0x00, 0x00, 0x00, 0x2e, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2a, + 0x00, 0x3a, 0x00, 0x00, 0x00, 0x2a, 0x00, 0x02, 0x00, 0x00, 0x00, 0x2e, + 0xe0, 0xff, 0xff, 0xff, 0xff, 0x21, 0x20, 0x00, 0x00, 0x00, 0x00, 0x21, + 0xa0, 0x03, 0x00, 0x00, 0x70, 0x21, 0x20, 0x00, 0x00, 0x00, 0x50, 0x21, + 0xa0, 0x1f, 0x00, 0x00, 0x50, 0x21, 0x20, 0x00, 0x00, 0x00, 0x70, 0x21, + 0xfe, 0xff, 0xff, 0xff, 0x0f, 0x21, 0x02, 0x00, 0x00, 0x00, 0x08, 0x21, + 0xfa, 0x01, 0x00, 0x80, 0x0b, 0x21, 0x02, 0x00, 0x00, 0x80, 0x0a, 0x21, + 0xba, 0x01, 0x00, 0x80, 0x0a, 0x21, 0x02, 0x00, 0x00, 0x80, 0x0b, 0x21, + 0x3a, 0x00, 0x00, 0x00, 0x08, 0x21, 0x02, 0x00, 0x00, 0x00, 0x08, 0x21, + 0x02, 0xc0, 0xfb, 0x03, 0x08, 0x21, 0x02, 0x00, 0x00, 0x00, 0x08, 0x3f, + 0x02, 0xc0, 0xbd, 0x0f, 0x08, 0x01, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, + 0x02, 0xc0, 0x7f, 0x7b, 0x08, 0x01, 0x02, 0x00, 0x00, 0x00, 0x08, 0x01, + 0x02, 0x00, 0x00, 0x00, 0xf8, 0x01, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00, 0x00, 0x08, 0x00, + 0xfe, 0xff, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/bitmaps/light_gray b/bitmaps/light_gray new file mode 100644 index 0000000..ea62e17 --- /dev/null +++ b/bitmaps/light_gray @@ -0,0 +1,4 @@ +#define light_gray_width 4 +#define light_gray_height 2 +static char light_gray_bits[] = { + 0x08, 0x02}; diff --git a/bitmaps/mailempty b/bitmaps/mailempty new file mode 100644 index 0000000..0642525 --- /dev/null +++ b/bitmaps/mailempty @@ -0,0 +1,27 @@ +#define mailempty_width 48 +#define mailempty_height 48 +static unsigned char mailempty_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x80, 0xff, 0xff, 0xff, 0xff, 0x7f, + 0xc0, 0xaf, 0xaa, 0xaa, 0xaa, 0x7a, 0xe0, 0x57, 0x55, 0x55, 0x55, 0x7d, + 0xf0, 0xaf, 0xaa, 0xaa, 0xaa, 0x7e, 0xf8, 0x57, 0x55, 0x55, 0x55, 0x7f, + 0xfc, 0xaf, 0xaa, 0xaa, 0xaa, 0x7f, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x7f, + 0xfe, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xfe, 0xab, 0xaa, 0xaa, 0xea, 0x7f, + 0xfe, 0x55, 0x55, 0x55, 0xf5, 0x6f, 0xfe, 0xaa, 0xaa, 0xaa, 0xea, 0x67, + 0x7e, 0x55, 0x55, 0x55, 0xf5, 0x63, 0xbe, 0xaa, 0xaa, 0xaa, 0xea, 0x61, + 0xfe, 0xff, 0xff, 0xff, 0xff, 0x60, 0xfe, 0xff, 0xff, 0xff, 0x7f, 0x60, + 0x06, 0x06, 0x00, 0x00, 0x60, 0x60, 0x06, 0x06, 0x00, 0x00, 0x60, 0x60, + 0x06, 0x06, 0x00, 0x00, 0x60, 0x60, 0x06, 0x06, 0x00, 0x00, 0x60, 0x60, + 0x06, 0x06, 0x00, 0x00, 0x60, 0x60, 0x06, 0xfe, 0xff, 0xff, 0xff, 0x7f, + 0x06, 0xff, 0xff, 0xff, 0xff, 0x7f, 0x86, 0xaf, 0xaa, 0xaa, 0xea, 0x7a, + 0xc6, 0x57, 0x55, 0x55, 0x75, 0x7d, 0xe6, 0xaf, 0xaa, 0xaa, 0xea, 0x7e, + 0xf6, 0x57, 0x55, 0x55, 0x75, 0x7f, 0xfe, 0xaf, 0xaa, 0xaa, 0xea, 0x7f, + 0xfe, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x7f, + 0xfe, 0xab, 0xaa, 0xaa, 0xea, 0x7f, 0xfe, 0x55, 0x55, 0x55, 0xf5, 0x6f, + 0xfe, 0xaa, 0xaa, 0xaa, 0xea, 0x67, 0x7e, 0x55, 0x55, 0x55, 0xf5, 0x63, + 0xbe, 0xaa, 0xaa, 0xaa, 0xea, 0x61, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x60, + 0xfe, 0xff, 0xff, 0xff, 0x7f, 0x60, 0x06, 0x06, 0x00, 0x00, 0x60, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x60, 0x00, 0x06, 0x00, 0x00, 0x00, 0x60, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x60, 0x00, 0x06, 0x00, 0x00, 0x00, 0x60, 0x00, + 0x06, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/bitmaps/mailemptymsk b/bitmaps/mailemptymsk new file mode 100644 index 0000000..f1204b2 --- /dev/null +++ b/bitmaps/mailemptymsk @@ -0,0 +1,27 @@ +#define mailemask_width 48 +#define mailemask_height 48 +static char mailemask_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x80, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x0f, 0x0f, 0x00, 0x00, 0xf0, 0xf0, + 0x0f, 0x0f, 0x00, 0x00, 0xf0, 0xf0, 0x0f, 0x0f, 0x00, 0x00, 0xf0, 0xf0, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x0f, 0x0f, 0x00, 0x00, 0xf0, 0x00, 0x0f, 0x00, 0x00, 0x00, 0xf0, 0x00, + 0x0f, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x0f, 0x00, 0x00, 0x00, 0xf0, 0x00, + 0x0f, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x0f, 0x00, 0x00, 0x00, 0xf0, 0x00}; diff --git a/bitmaps/mailfull b/bitmaps/mailfull new file mode 100644 index 0000000..cc2f6f8 --- /dev/null +++ b/bitmaps/mailfull @@ -0,0 +1,27 @@ +#define mailfull_width 48 +#define mailfull_height 48 +static unsigned char mailfull_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff, 0x07, + 0xc0, 0xff, 0xff, 0xff, 0x1f, 0x04, 0x40, 0x00, 0x00, 0x00, 0xd0, 0x05, + 0x40, 0x00, 0x00, 0x00, 0x57, 0x7d, 0x40, 0x1e, 0x00, 0x00, 0x55, 0x7d, + 0x40, 0x00, 0x00, 0x00, 0xd5, 0x7d, 0x60, 0x02, 0x00, 0x00, 0x17, 0x7c, + 0x70, 0x00, 0x7e, 0x00, 0x10, 0x7c, 0x78, 0x00, 0x00, 0x00, 0x10, 0x7e, + 0x7c, 0x00, 0x1e, 0x00, 0x10, 0x7f, 0x7e, 0x00, 0x00, 0x00, 0x90, 0x7f, + 0x7e, 0x00, 0x3e, 0x07, 0xd0, 0x7f, 0x7e, 0x00, 0x00, 0x00, 0xf0, 0x7f, + 0x7e, 0x00, 0x00, 0x00, 0xf0, 0x6f, 0x7e, 0x00, 0x00, 0x00, 0xf0, 0x67, + 0xfe, 0xff, 0xff, 0xff, 0xff, 0x63, 0xbe, 0xaa, 0xaa, 0xaa, 0xea, 0x61, + 0xfe, 0xff, 0xff, 0xff, 0xff, 0x60, 0xfe, 0xff, 0xff, 0xff, 0x7f, 0x60, + 0x06, 0x06, 0x00, 0x00, 0x60, 0x60, 0x06, 0x06, 0x00, 0x00, 0x60, 0x60, + 0x06, 0x06, 0x00, 0x00, 0x60, 0x60, 0x06, 0x06, 0x00, 0x00, 0x60, 0x60, + 0x06, 0x06, 0x00, 0x00, 0x60, 0x60, 0x06, 0xff, 0xff, 0xff, 0xff, 0x7f, + 0x86, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xc6, 0xaf, 0xaa, 0xaa, 0xea, 0x7a, + 0xe6, 0x57, 0x55, 0x55, 0x75, 0x7d, 0xf6, 0xaf, 0xaa, 0xaa, 0xea, 0x7e, + 0xfe, 0x57, 0x55, 0x55, 0x75, 0x7f, 0xfe, 0xaf, 0xaa, 0xaa, 0xea, 0x7f, + 0xfe, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x7f, + 0xfe, 0xab, 0xaa, 0xaa, 0xea, 0x7f, 0xfe, 0x55, 0x55, 0x55, 0xf5, 0x6f, + 0xfe, 0xaa, 0xaa, 0xaa, 0xea, 0x67, 0x7e, 0x55, 0x55, 0x55, 0xf5, 0x63, + 0xbe, 0xaa, 0xaa, 0xaa, 0xea, 0x61, 0xfe, 0xff, 0xff, 0xff, 0xff, 0x60, + 0xfe, 0xff, 0xff, 0xff, 0x7f, 0x60, 0x06, 0x06, 0x00, 0x00, 0x60, 0x60, + 0x06, 0x00, 0x00, 0x00, 0x60, 0x00, 0x06, 0xee, 0x9c, 0x37, 0x60, 0x00, + 0x06, 0xfe, 0x36, 0x33, 0x60, 0x00, 0x06, 0xd6, 0x3e, 0x33, 0x60, 0x00, + 0x06, 0xc6, 0xb6, 0xf7, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/bitmaps/mailfullmsk b/bitmaps/mailfullmsk new file mode 100644 index 0000000..6dfc942 --- /dev/null +++ b/bitmaps/mailfullmsk @@ -0,0 +1,27 @@ +#define mailfullmsk_width 48 +#define mailfullmsk_height 48 +static char mailfullmsk_bits[] = { + 0x00, 0xe0, 0xff, 0xff, 0xff, 0x0f, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x0f, + 0xe0, 0xff, 0xff, 0xff, 0xff, 0x0f, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xf8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x0f, 0x0f, 0x00, 0x00, 0xf0, 0xf0, + 0x0f, 0x0f, 0x00, 0x00, 0xf0, 0xf0, 0x0f, 0x0f, 0x00, 0x00, 0xf0, 0xf0, + 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, + 0x0f, 0xff, 0xff, 0xff, 0xf1, 0xf0, 0x0f, 0xff, 0xff, 0xff, 0xf1, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xf1, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xf1, 0x00, + 0x0f, 0xff, 0xff, 0xff, 0xf1, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xf1, 0x00}; diff --git a/bitmaps/mensetmanus b/bitmaps/mensetmanus new file mode 100644 index 0000000..095b8ec --- /dev/null +++ b/bitmaps/mensetmanus @@ -0,0 +1,258 @@ +#define mensetmanus_width 161 +#define mensetmanus_height 145 + +static char mensetmanus_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xc0, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, + 0x01, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x07, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xdb, 0x0f, 0x00, 0x00, 0x00, 0x80, 0x07, + 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xf7, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x80, 0x61, 0x00, 0x00, 0xc6, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc3, 0xff, + 0x1f, 0x00, 0x00, 0x00, 0xc0, 0xe1, 0xff, 0xff, 0x87, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc3, 0xf6, 0x1f, 0x00, 0x00, + 0x00, 0xc0, 0xc0, 0xff, 0xff, 0x87, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0x9f, 0x65, 0x1f, 0x00, 0x00, 0x00, 0xc0, 0x00, + 0x07, 0x80, 0x87, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x9f, 0x6d, 0x1f, 0x00, 0x00, 0x00, 0xc0, 0x00, 0xff, 0xff, 0xc7, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x89, 0x6d, + 0x1b, 0x00, 0x00, 0x00, 0xc0, 0xe0, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x81, 0x6d, 0x1b, 0x00, 0x00, + 0x00, 0xc0, 0xe1, 0x5b, 0xdb, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xc0, 0x81, 0x6d, 0x1b, 0x00, 0x00, 0x00, 0x80, 0x83, + 0x5b, 0xdb, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xc0, 0x81, 0x6d, 0x1b, 0x00, 0x00, 0x00, 0x00, 0xcf, 0x5b, 0x1b, 0x0c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x80, 0x6d, + 0x1b, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x5b, 0x1b, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x80, 0x6d, 0x1b, 0x00, 0x00, + 0x00, 0x00, 0xf8, 0x5b, 0x0b, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xe0, 0x83, 0x6d, 0x19, 0x00, 0x00, 0x00, 0x00, 0x80, + 0x5b, 0x0b, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xe0, 0x83, 0x6d, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x80, 0x5b, 0x0f, 0x0e, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x6d, + 0x1b, 0x00, 0x00, 0x00, 0x00, 0x80, 0x4b, 0x0f, 0x07, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x79, 0x1b, 0x00, 0x00, + 0x00, 0x00, 0x80, 0x6b, 0xbf, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0xfb, 0x3b, 0x00, 0x00, 0x00, 0x00, 0x80, + 0x6d, 0xb7, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xed, 0xf7, 0x07, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0xfe, + 0x7f, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xed, 0xd7, 0x07, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x7f, 0xf8, 0xff, 0x07, 0x00, + 0x00, 0x00, 0xe0, 0xfe, 0xd7, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x80, 0xff, 0x7f, 0xe0, 0xff, 0x3f, 0x00, 0x00, 0x00, 0xf0, + 0xff, 0xd6, 0xfe, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, + 0xbf, 0x73, 0x80, 0x3b, 0x7c, 0x00, 0x00, 0x00, 0xf8, 0xe7, 0xd6, 0xef, + 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xb9, 0x73, 0xc0, + 0x3b, 0xf0, 0x01, 0x00, 0x00, 0xff, 0xc3, 0xbf, 0xe7, 0x3f, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0xb8, 0x7f, 0xe0, 0x3b, 0xc0, 0x03, + 0x00, 0xc0, 0xbf, 0xc7, 0xbf, 0xe7, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1c, 0xb8, 0xff, 0xf8, 0x3b, 0x80, 0x07, 0x00, 0xe0, 0x61, + 0x87, 0xfd, 0xe7, 0xe6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, + 0xb8, 0xf3, 0xff, 0x3b, 0x00, 0x0f, 0x00, 0x78, 0x60, 0x8e, 0xf1, 0x67, + 0xc7, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xb8, 0xc3, 0x8f, + 0x7b, 0x00, 0x0e, 0x00, 0x38, 0xe0, 0x8c, 0x03, 0x66, 0x87, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0xb8, 0x03, 0x83, 0x7b, 0x00, 0x1e, + 0x00, 0x1c, 0xe0, 0x1d, 0x03, 0x76, 0x07, 0x07, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xc0, 0x07, 0xb8, 0xe3, 0x8f, 0xbb, 0x01, 0x39, 0x00, 0x1e, 0xe0, + 0x3b, 0x03, 0xf6, 0x87, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x0f, + 0xb8, 0xe3, 0x8f, 0x3b, 0xc6, 0x38, 0x00, 0x17, 0xe0, 0x73, 0x07, 0xfe, + 0xff, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x0b, 0xb8, 0xe7, 0x8e, + 0x3b, 0x38, 0x78, 0x00, 0x13, 0xe0, 0x77, 0x06, 0xfe, 0xff, 0xff, 0xff, + 0x0f, 0x00, 0x00, 0x00, 0xe0, 0x12, 0x3c, 0xff, 0xce, 0x3b, 0x00, 0x78, + 0x80, 0x13, 0x60, 0xef, 0x0e, 0xfe, 0x00, 0x00, 0x60, 0x08, 0x00, 0x00, + 0x00, 0x70, 0x22, 0x3e, 0xfc, 0xfe, 0x39, 0x00, 0xe8, 0x80, 0x61, 0x60, + 0xce, 0x0f, 0xfe, 0x00, 0x00, 0x60, 0xf8, 0x00, 0x00, 0x00, 0x70, 0xc2, + 0x39, 0xf8, 0x7e, 0x38, 0x00, 0xc8, 0xc0, 0x81, 0x71, 0xde, 0x0f, 0xfe, + 0x00, 0x00, 0x60, 0x88, 0x00, 0x00, 0x00, 0x70, 0x04, 0x38, 0xe0, 0x0e, + 0x38, 0x00, 0xc4, 0xc0, 0x01, 0x7e, 0xbc, 0x1f, 0xfe, 0x00, 0x00, 0x60, + 0x88, 0x00, 0x00, 0x00, 0x78, 0x04, 0x38, 0xe0, 0x0e, 0x38, 0x00, 0xc4, + 0xc1, 0x01, 0x60, 0x3c, 0x1f, 0xfe, 0x00, 0x00, 0x60, 0x84, 0x0f, 0x00, + 0x00, 0x78, 0x08, 0x38, 0xe0, 0x0f, 0x38, 0x00, 0x82, 0xe1, 0x01, 0x60, + 0x74, 0x3e, 0xfe, 0x00, 0x00, 0x60, 0x44, 0x08, 0x00, 0x00, 0xb8, 0x10, + 0x38, 0xe0, 0x0f, 0x38, 0x00, 0x81, 0xe1, 0x00, 0x60, 0xe4, 0x3e, 0xfe, + 0x00, 0x00, 0x60, 0x44, 0x08, 0x00, 0x00, 0x98, 0x20, 0x38, 0xf8, 0x3f, + 0x38, 0x80, 0x80, 0xe1, 0x01, 0x60, 0xc4, 0x3c, 0xfe, 0x00, 0x00, 0x60, + 0x24, 0x0c, 0x00, 0x00, 0x1c, 0xc1, 0x39, 0x3c, 0x78, 0x38, 0x40, 0x80, + 0x61, 0x01, 0x60, 0xc4, 0x79, 0xfe, 0x00, 0x00, 0x60, 0x22, 0x32, 0x00, + 0x00, 0x1c, 0x01, 0x3e, 0x1c, 0xf0, 0x38, 0xf0, 0x9f, 0x61, 0x01, 0x60, + 0x84, 0x7b, 0xee, 0x00, 0x00, 0x60, 0x12, 0x21, 0x00, 0x00, 0x1c, 0x02, + 0x38, 0x0e, 0xe7, 0xf8, 0x3f, 0xe0, 0x61, 0x00, 0x60, 0x04, 0xf7, 0xce, + 0x00, 0x00, 0x60, 0x92, 0x10, 0x00, 0x00, 0x1c, 0x04, 0x38, 0x06, 0xff, + 0x38, 0x40, 0x80, 0x61, 0x02, 0x60, 0x04, 0xe7, 0xcf, 0x00, 0x00, 0x60, + 0x8a, 0x18, 0x00, 0x00, 0x1c, 0x18, 0x38, 0x07, 0xf0, 0x38, 0x00, 0x81, + 0x61, 0x02, 0x60, 0x04, 0xee, 0xcf, 0xff, 0x03, 0x60, 0x49, 0xe4, 0x00, + 0x00, 0x1c, 0x70, 0x38, 0x07, 0xe7, 0x38, 0x00, 0x82, 0x61, 0x04, 0x60, + 0x04, 0xdc, 0xcf, 0x01, 0x04, 0x60, 0x25, 0x42, 0x00, 0x00, 0x1c, 0xfe, + 0x3f, 0x03, 0xff, 0x38, 0x00, 0x84, 0x61, 0x08, 0x60, 0x04, 0xfc, 0xcf, + 0xf8, 0xff, 0x60, 0x95, 0x31, 0x00, 0x00, 0xfc, 0x01, 0xff, 0x03, 0xf0, + 0xf8, 0x1f, 0x88, 0x61, 0x10, 0xe0, 0xff, 0xff, 0xff, 0x00, 0x00, 0xe1, + 0x53, 0x0c, 0x00, 0x00, 0x38, 0xf0, 0xff, 0x03, 0xef, 0xf8, 0x7f, 0x90, + 0x61, 0x40, 0xe0, 0xff, 0xff, 0xff, 0x00, 0xff, 0xe3, 0x2b, 0xfe, 0x00, + 0x00, 0x18, 0xf8, 0xff, 0x03, 0xff, 0x7c, 0xf0, 0x90, 0x61, 0x00, 0x3e, + 0x36, 0xe3, 0xe1, 0x00, 0x00, 0xe3, 0x9f, 0x60, 0x00, 0x00, 0x38, 0x3c, + 0x00, 0x03, 0xf0, 0x1f, 0xe0, 0xa0, 0xe1, 0x00, 0x30, 0x22, 0xe2, 0xc0, + 0x00, 0xff, 0xe3, 0x7f, 0x18, 0x00, 0x00, 0x38, 0x0e, 0x00, 0x07, 0xe7, + 0x07, 0xc0, 0xe1, 0xc1, 0x00, 0x18, 0x22, 0xe2, 0xc0, 0x00, 0x00, 0xe1, + 0x1f, 0x07, 0x00, 0x00, 0x38, 0x06, 0x00, 0x07, 0xef, 0x01, 0xc0, 0xc1, + 0xc1, 0x01, 0x16, 0x24, 0xe2, 0xc0, 0x01, 0xff, 0xe1, 0xff, 0x00, 0x00, + 0x00, 0x70, 0x07, 0x00, 0x0e, 0xf8, 0x00, 0x80, 0xc3, 0xc0, 0xf1, 0x11, + 0x24, 0xe4, 0xc0, 0x03, 0xe0, 0xe1, 0x7f, 0x00, 0x00, 0x00, 0x70, 0x07, + 0x00, 0x1e, 0x3c, 0x00, 0x80, 0xe3, 0x80, 0x0f, 0x10, 0x24, 0xe4, 0xc0, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0xe0, 0x03, 0x00, 0xfc, 0x0f, + 0x00, 0x00, 0x63, 0x80, 0x01, 0x08, 0x44, 0xe4, 0xc0, 0xff, 0xff, 0xff, + 0xff, 0xff, 0x01, 0x00, 0xe0, 0x03, 0x00, 0xf8, 0x07, 0x00, 0x00, 0x73, + 0x80, 0x03, 0x08, 0x44, 0xe4, 0xc0, 0xfc, 0x00, 0x07, 0x0e, 0x00, 0x00, + 0x00, 0xc0, 0x03, 0x00, 0xf0, 0x01, 0x00, 0x00, 0x33, 0x00, 0x03, 0x08, + 0x44, 0xe4, 0xe0, 0xcc, 0x00, 0x07, 0x0e, 0x00, 0x00, 0x00, 0xc0, 0x03, + 0x00, 0x78, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x07, 0x04, 0x44, 0xe8, 0x70, + 0xcc, 0x01, 0x87, 0x0f, 0x00, 0x00, 0x00, 0x80, 0x07, 0x00, 0x3e, 0x00, + 0x00, 0x80, 0x1f, 0x00, 0x0e, 0x04, 0x44, 0xe8, 0x38, 0xcc, 0x81, 0xe7, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x0f, 0x00, 0x00, 0x80, 0x0f, + 0x00, 0x1c, 0x02, 0x44, 0xf8, 0x1e, 0xcc, 0xe1, 0xff, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xc0, 0x23, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x38, 0x01, + 0x42, 0xfc, 0x0f, 0xcc, 0xf1, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, + 0xf0, 0x39, 0x00, 0x00, 0xe0, 0x03, 0x00, 0xf0, 0x00, 0xc2, 0xff, 0x07, + 0xcc, 0x7f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x7c, 0x0e, 0x00, + 0x00, 0xf0, 0x01, 0x00, 0xe0, 0x03, 0xe2, 0xe7, 0x07, 0xcc, 0x1f, 0x07, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xbf, 0x23, 0xe0, 0xff, 0xff, 0x00, + 0x00, 0xc0, 0x1f, 0xff, 0x64, 0x06, 0xcc, 0x07, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xf0, 0xff, 0x3c, 0xf0, 0xff, 0x7f, 0x00, 0x00, 0x00, 0xff, + 0x7f, 0x64, 0x06, 0xcc, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, + 0xf8, 0x1f, 0x78, 0x7c, 0x7f, 0x00, 0x00, 0x00, 0xfc, 0x20, 0x64, 0x06, + 0xcc, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0xf8, 0x33, 0x1c, + 0x38, 0x66, 0x00, 0x00, 0x00, 0x0c, 0x20, 0x6c, 0x06, 0xcc, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x78, 0x3e, 0x0e, 0x38, 0x76, 0x00, + 0x00, 0x00, 0x0c, 0x20, 0x68, 0x06, 0xcc, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x38, 0xf8, 0x87, 0x0f, 0x38, 0x76, 0x00, 0x00, 0x00, 0x0c, + 0x20, 0x68, 0x06, 0xcc, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, + 0x78, 0xf8, 0x0f, 0x38, 0x76, 0x00, 0x00, 0x00, 0x0c, 0x10, 0x68, 0x06, + 0xcc, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xf8, 0xff, 0x0f, + 0x38, 0x76, 0x00, 0x00, 0x00, 0x0c, 0x10, 0x68, 0x06, 0xcc, 0x07, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0xf8, 0xff, 0x0e, 0x38, 0x76, 0x00, + 0x00, 0x00, 0x0c, 0x10, 0x68, 0x06, 0xcc, 0x07, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x1c, 0xf8, 0xe1, 0x0e, 0x38, 0x3e, 0x00, 0x00, 0x00, 0x0c, + 0x08, 0x68, 0x06, 0xcc, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, + 0x38, 0xe0, 0x0e, 0x38, 0x3e, 0x00, 0x00, 0x00, 0x0c, 0x08, 0x68, 0x06, + 0xcc, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x38, 0xe0, 0x0e, + 0x38, 0x3e, 0x00, 0x00, 0x00, 0x0c, 0x04, 0x68, 0x06, 0xcc, 0x0e, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x38, 0xe0, 0x0e, 0x38, 0x3e, 0x00, + 0x00, 0x00, 0x1c, 0x04, 0x68, 0x06, 0xcc, 0x0e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x06, 0x38, 0xe0, 0x0e, 0x38, 0x3e, 0x00, 0x00, 0x00, 0x1c, + 0x02, 0x68, 0x06, 0xcc, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, + 0x38, 0xe0, 0x0e, 0x38, 0x3e, 0x00, 0x00, 0x00, 0x1c, 0x02, 0x68, 0x06, + 0xcc, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x38, 0xe0, 0x0e, + 0x38, 0x3e, 0x00, 0x00, 0x00, 0x1c, 0x01, 0x68, 0x06, 0xcc, 0x1c, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x38, 0xe0, 0x0e, 0x38, 0x3e, 0x00, + 0x00, 0x00, 0x18, 0x01, 0x68, 0x06, 0xcc, 0x1c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x03, 0x38, 0xe0, 0x0e, 0x38, 0x3e, 0x00, 0x00, 0x00, 0x98, + 0x00, 0x68, 0x06, 0xcc, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, + 0x38, 0xe0, 0x0e, 0x38, 0x3e, 0x00, 0x00, 0x00, 0x98, 0x00, 0x68, 0x06, + 0xcc, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x38, 0xe0, 0x0e, + 0x38, 0x1e, 0x00, 0x00, 0x00, 0x58, 0x00, 0x6c, 0x0e, 0xcc, 0x18, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x30, 0xe0, 0x0e, 0x38, 0x1e, 0x00, + 0x00, 0x00, 0x38, 0x00, 0x64, 0x0e, 0xcc, 0x18, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xc0, 0x01, 0x70, 0xe0, 0x0e, 0x1c, 0x1e, 0x00, 0x00, 0x00, 0x18, + 0x00, 0x64, 0x1e, 0xcc, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, + 0xe0, 0xe1, 0x0e, 0x0f, 0x1e, 0x00, 0x00, 0x00, 0x18, 0x00, 0x64, 0x3e, + 0xcc, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0xc0, 0xef, 0xce, + 0x07, 0x1e, 0x00, 0x00, 0x00, 0x18, 0x00, 0x64, 0x3e, 0xcc, 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0xff, 0xfe, 0x03, 0x1e, 0x00, + 0x00, 0x00, 0x18, 0x00, 0x64, 0x7e, 0xcc, 0x30, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x00, 0x00, 0xfc, 0xfe, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x18, + 0x00, 0x64, 0x66, 0xcc, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, + 0x00, 0xe0, 0x1e, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x18, 0x00, 0x66, 0xe6, + 0xcc, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0xe0, 0x0e, + 0x00, 0x1e, 0x00, 0x00, 0x00, 0x18, 0x00, 0x62, 0xc6, 0xcd, 0x70, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0xfe, 0xff, 0x0f, 0x1e, 0x00, + 0x00, 0x00, 0x18, 0x00, 0x62, 0xc6, 0xcd, 0x70, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x70, 0x00, 0xc0, 0xff, 0xff, 0x0f, 0x0e, 0x00, 0x00, 0x00, 0x38, + 0x00, 0x62, 0x86, 0xcf, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, + 0xf0, 0xff, 0xff, 0x0f, 0x0e, 0x00, 0x00, 0x00, 0x38, 0x00, 0x61, 0x86, + 0xcf, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0xfc, 0x00, 0x00, + 0x0e, 0x0e, 0x00, 0x00, 0x00, 0x38, 0x00, 0x61, 0x8e, 0xcf, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x78, 0x00, 0x00, 0x0e, 0x0e, 0x00, + 0x00, 0x00, 0xf8, 0xff, 0x7f, 0xfe, 0xdf, 0xff, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x18, 0x00, 0xf0, 0x00, 0x00, 0x0e, 0x0e, 0x00, 0x00, 0x00, 0xf0, + 0xff, 0x3f, 0xff, 0xdf, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, + 0xe0, 0x01, 0x00, 0x0e, 0x0e, 0x00, 0x00, 0x00, 0xf0, 0xff, 0x8f, 0x07, + 0x9e, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0xe0, 0x07, 0x00, + 0x0e, 0x0f, 0x00, 0x00, 0x00, 0x30, 0x00, 0xc0, 0xff, 0x3f, 0xc0, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0xfe, 0xff, 0xff, 0xff, 0x0f, 0x00, + 0x00, 0x00, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x1c, 0x00, 0xfe, 0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0xf0, + 0xff, 0xff, 0x00, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, + 0x3f, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x38, 0x00, + 0x38, 0xe0, 0x01, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0x7f, 0x00, 0x00, + 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x06, 0x38, 0x00, 0x38, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x06, 0x18, 0x00, 0x38, 0xe0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, + 0x06, 0x18, 0x00, 0x38, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, + 0xdc, 0x01, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x06, 0x1c, 0x00, + 0x38, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x9c, 0x03, 0x00, + 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x06, 0x1c, 0x00, 0x18, 0x70, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x1c, 0x07, 0x00, 0x00, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x07, 0x0c, 0x00, 0x18, 0x70, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x00, 0x1c, 0xfe, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, + 0x07, 0x0c, 0x00, 0x18, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, + 0x1c, 0xfc, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0c, 0x00, + 0x18, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x1c, 0x1c, 0x00, + 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0e, 0x00, 0x18, 0x70, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x1c, 0x1c, 0x00, 0x80, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x07, 0x0e, 0x00, 0x18, 0x30, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x00, 0x1c, 0x1c, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x07, 0x0e, 0x00, 0x18, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, + 0x1c, 0x1c, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0e, 0x00, + 0x18, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x1c, 0x1c, 0x00, + 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x07, 0x06, 0x00, 0x18, 0x38, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0xfc, 0xff, 0xff, 0xff, 0x07, 0x00, + 0x00, 0x00, 0x00, 0x07, 0x06, 0x00, 0x18, 0x38, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x00, 0xfc, 0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, + 0x07, 0x0e, 0x00, 0x18, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, + 0x1c, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0e, 0x00, + 0x18, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x1c, 0x00, 0x00, + 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0e, 0x00, 0x18, 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x07, 0x0e, 0x00, 0x18, 0x70, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, + 0x07, 0x0e, 0x00, 0x18, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, + 0x1e, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0c, 0x00, + 0x38, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x1e, 0x00, 0x00, + 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x06, 0x1c, 0x00, 0x38, 0x70, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x06, 0x1c, 0x00, 0x38, 0xe0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, + 0x06, 0x18, 0x00, 0x38, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, + 0x1e, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x18, 0x00, + 0x30, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x1e, 0x00, 0x00, + 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x38, 0x00, 0x30, 0xe0, 0x01, + 0x00, 0x00, 0x00, 0x00, 0xf0, 0x01, 0x1f, 0x00, 0x00, 0x00, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x0c, 0x3c, 0x00, 0x30, 0xf0, 0x01, 0x00, 0x00, 0x00, + 0x00, 0xf8, 0x03, 0x1f, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, + 0x0c, 0x7e, 0x00, 0x70, 0xf8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x0f, + 0x1f, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xe7, 0x00, + 0x70, 0xbc, 0x03, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x1e, 0x1f, 0x00, 0x00, + 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0xdc, 0xe3, 0x00, 0x60, 0x1e, 0x07, + 0x00, 0x00, 0x00, 0x00, 0x0f, 0xfc, 0x1f, 0x00, 0x00, 0x00, 0x06, 0x00, + 0x00, 0x00, 0x00, 0xfc, 0xc1, 0x01, 0xe0, 0x0f, 0x0f, 0x00, 0x00, 0x00, + 0x80, 0x07, 0xf0, 0x1f, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, + 0xf8, 0x80, 0x03, 0xe0, 0x03, 0x1e, 0x00, 0x00, 0x00, 0xc0, 0x03, 0xe0, + 0x1b, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x78, 0x80, 0x07, + 0xe0, 0x01, 0x1c, 0x00, 0x00, 0x00, 0xe0, 0x01, 0xc0, 0x1b, 0x00, 0x00, + 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x0f, 0xe0, 0x01, 0x38, + 0x00, 0x00, 0x00, 0xf0, 0x00, 0xc0, 0x19, 0x00, 0x00, 0x00, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x30, 0x0e, 0x1e, 0xc0, 0x71, 0xf8, 0x00, 0x00, 0x00, + 0x78, 0x00, 0xdc, 0x19, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, + 0x30, 0x1f, 0x1e, 0xc0, 0xf9, 0xf8, 0x00, 0x00, 0x00, 0xfc, 0xff, 0xff, + 0xff, 0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xff, + 0xff, 0xff, 0xff, 0x07, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, + 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, + 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/bitmaps/menu10 b/bitmaps/menu10 new file mode 100644 index 0000000..6250e8e --- /dev/null +++ b/bitmaps/menu10 @@ -0,0 +1,5 @@ +#define menu10_width 10 +#define menu10_height 10 +static char menu10_bits[] = { + 0xfe, 0x01, 0x02, 0x01, 0x02, 0x03, 0x32, 0x03, 0x02, 0x03, 0x32, 0x03, + 0x02, 0x03, 0x02, 0x03, 0xfe, 0x03, 0xf8, 0x03}; diff --git a/bitmaps/menu12 b/bitmaps/menu12 new file mode 100644 index 0000000..e88ca68 --- /dev/null +++ b/bitmaps/menu12 @@ -0,0 +1,5 @@ +#define menu12_width 12 +#define menu12_height 12 +static unsigned char menu12_bits[] = { + 0xfe, 0x03, 0x02, 0x02, 0x02, 0x06, 0x72, 0x06, 0x02, 0x06, 0x72, 0x06, + 0x02, 0x06, 0x72, 0x06, 0x02, 0x06, 0x02, 0x06, 0xfe, 0x07, 0xf8, 0x07}; diff --git a/bitmaps/menu16 b/bitmaps/menu16 new file mode 100644 index 0000000..770deee --- /dev/null +++ b/bitmaps/menu16 @@ -0,0 +1,6 @@ +#define menu16_width 16 +#define menu16_height 16 +static char menu16_bits[] = { + 0xfc, 0x1f, 0x04, 0x10, 0x04, 0x30, 0x04, 0x30, 0xe4, 0x33, 0x04, 0x30, + 0xe4, 0x33, 0x04, 0x30, 0xe4, 0x33, 0x04, 0x30, 0xe4, 0x33, 0x04, 0x30, + 0x04, 0x30, 0x04, 0x30, 0xfc, 0x3f, 0xf0, 0x3f}; diff --git a/bitmaps/menu6 b/bitmaps/menu6 new file mode 100644 index 0000000..780b028 --- /dev/null +++ b/bitmaps/menu6 @@ -0,0 +1,4 @@ +#define menu6_width 6 +#define menu6_height 7 +static char menu6_bits[] = { + 0x1f, 0x31, 0x35, 0x35, 0x31, 0x3f, 0x1e}; diff --git a/bitmaps/menu8 b/bitmaps/menu8 new file mode 100644 index 0000000..955c1e9 --- /dev/null +++ b/bitmaps/menu8 @@ -0,0 +1,4 @@ +#define menu8_width 8 +#define menu8_height 8 +static char menu8_bits[] = { + 0x7f, 0x41, 0xdd, 0xc1, 0xdd, 0xc1, 0xff, 0xfc}; diff --git a/bitmaps/noletters b/bitmaps/noletters new file mode 100644 index 0000000..5774124 --- /dev/null +++ b/bitmaps/noletters @@ -0,0 +1,27 @@ +#define noletters_width 48 +#define noletters_height 48 +static char noletters_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x1f, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x01, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x07, 0x00, + 0x00, 0xf0, 0x0f, 0xe0, 0x1f, 0x00, 0x00, 0xfc, 0x01, 0x00, 0x7f, 0x00, + 0x00, 0x3e, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x1f, 0x00, 0x00, 0xf0, 0x01, + 0x80, 0x07, 0x00, 0x00, 0xc0, 0x03, 0xc0, 0x03, 0x00, 0x00, 0xe0, 0x07, + 0xe0, 0x01, 0x00, 0x00, 0xf0, 0x0f, 0xe0, 0x00, 0x00, 0x00, 0x78, 0x0e, + 0xf0, 0x00, 0x00, 0x00, 0x3c, 0x1e, 0x70, 0x00, 0x00, 0x00, 0x1e, 0x1c, + 0x38, 0x00, 0x00, 0x00, 0x0f, 0x38, 0x38, 0x00, 0x00, 0x80, 0x07, 0x38, + 0x3c, 0xfc, 0xff, 0xff, 0x7f, 0x78, 0x1c, 0x04, 0x00, 0xe0, 0x41, 0x70, + 0x1c, 0x04, 0x00, 0xf0, 0x40, 0x70, 0x1c, 0x74, 0x00, 0x78, 0x4e, 0x70, + 0x0e, 0x04, 0x00, 0x3c, 0x4a, 0xe0, 0x0e, 0x74, 0x03, 0x1e, 0x4a, 0xe0, + 0x0e, 0x04, 0x00, 0x0f, 0x4e, 0xe0, 0x0e, 0x04, 0x80, 0x07, 0x40, 0xe0, + 0x0e, 0x04, 0xf8, 0x0f, 0x40, 0xe0, 0x0e, 0x04, 0xe0, 0x01, 0x40, 0xe0, + 0x0e, 0x04, 0xf8, 0x00, 0x40, 0xe0, 0x0e, 0x04, 0x78, 0x00, 0x40, 0xe0, + 0x0e, 0x04, 0xfc, 0xf3, 0x40, 0xe0, 0x1c, 0x04, 0x1e, 0x00, 0x40, 0x70, + 0x1c, 0x04, 0x0f, 0x00, 0x40, 0x70, 0x1c, 0x84, 0x07, 0x00, 0x40, 0x70, + 0x3c, 0xfc, 0xff, 0xff, 0x7f, 0x78, 0x38, 0xe0, 0x01, 0x00, 0x00, 0x38, + 0x38, 0xf0, 0x00, 0x00, 0x00, 0x38, 0x70, 0x78, 0x00, 0x00, 0x00, 0x1c, + 0xf0, 0x3c, 0x00, 0x00, 0x00, 0x1e, 0xe0, 0x1e, 0x00, 0x00, 0x00, 0x0e, + 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x0f, 0xc0, 0x07, 0x00, 0x00, 0x80, 0x07, + 0x80, 0x07, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x1f, 0x00, 0x00, 0xf0, 0x01, + 0x00, 0x3e, 0x00, 0x00, 0xf8, 0x00, 0x00, 0xfc, 0x01, 0x00, 0x7f, 0x00, + 0x00, 0xf0, 0x0f, 0xe0, 0x1f, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x07, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0xf0, 0x1f, 0x00, 0x00}; diff --git a/bitmaps/opendot b/bitmaps/opendot new file mode 100644 index 0000000..a8ec421 --- /dev/null +++ b/bitmaps/opendot @@ -0,0 +1,8 @@ +#define opendot_width 16 +#define opendot_height 16 +#define opendot_x_hot 7 +#define opendot_y_hot 7 +static char opendot_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, + 0x60, 0x03, 0x20, 0x02, 0x60, 0x03, 0xc0, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/bitmaps/opendotMask b/bitmaps/opendotMask new file mode 100644 index 0000000..0f83c64 --- /dev/null +++ b/bitmaps/opendotMask @@ -0,0 +1,8 @@ +#define opendotMask_width 16 +#define opendotMask_height 16 +#define opendotMask_x_hot 7 +#define opendotMask_y_hot 7 +static char opendotMask_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x03, 0xf0, 0x07, + 0xf0, 0x07, 0xf0, 0x07, 0xf0, 0x07, 0xf0, 0x07, 0xe0, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/bitmaps/plaid b/bitmaps/plaid new file mode 100644 index 0000000..578e464 --- /dev/null +++ b/bitmaps/plaid @@ -0,0 +1,11 @@ +#define plaid_width 22 +#define plaid_height 22 +#define plaid_x_hot -1 +#define plaid_y_hot -1 +static char plaid_bits[] = { + 0x75, 0xfd, 0x3f, 0xaa, 0xfa, 0x3e, 0x75, 0xfd, 0x3f, 0xaa, 0xfa, 0x3e, + 0x75, 0xfd, 0x3f, 0xff, 0x57, 0x15, 0x75, 0xfd, 0x3f, 0xaa, 0xfa, 0x3e, + 0x75, 0xfd, 0x3f, 0xaa, 0xfa, 0x3e, 0x75, 0xfd, 0x3f, 0x20, 0xa8, 0x2b, + 0x20, 0x50, 0x15, 0x20, 0xa8, 0x2b, 0x20, 0x50, 0x15, 0x20, 0xa8, 0x2b, + 0xff, 0xff, 0x3f, 0x20, 0xa8, 0x2b, 0x20, 0x50, 0x15, 0x20, 0xa8, 0x2b, + 0x20, 0x50, 0x15, 0x20, 0xa8, 0x2b}; diff --git a/bitmaps/right_ptr b/bitmaps/right_ptr new file mode 100644 index 0000000..3922aa5 --- /dev/null +++ b/bitmaps/right_ptr @@ -0,0 +1,8 @@ +#define right_ptr_width 16 +#define right_ptr_height 16 +#define right_ptr_x_hot 12 +#define right_ptr_y_hot 1 +static char right_ptr_bits[] = { + 0x00, 0x00, 0x00, 0x10, 0x00, 0x18, 0x00, 0x1c, 0x00, 0x1e, 0x00, 0x1f, + 0x80, 0x1f, 0xc0, 0x1f, 0xe0, 0x1f, 0x00, 0x1f, 0x00, 0x1b, 0x80, 0x11, + 0x80, 0x01, 0xc0, 0x00, 0xc0, 0x00, 0x00, 0x00}; diff --git a/bitmaps/right_ptrmsk b/bitmaps/right_ptrmsk new file mode 100644 index 0000000..96f5324 --- /dev/null +++ b/bitmaps/right_ptrmsk @@ -0,0 +1,6 @@ +#define right_ptrmsk_width 16 +#define right_ptrmsk_height 16 +static char right_ptrmsk_bits[] = { + 0x00, 0x30, 0x00, 0x38, 0x00, 0x3c, 0x00, 0x3e, 0x00, 0x3f, 0x80, 0x3f, + 0xc0, 0x3f, 0xe0, 0x3f, 0xf0, 0x3f, 0xf0, 0x3f, 0x80, 0x3f, 0xc0, 0x3b, + 0xc0, 0x33, 0xe0, 0x01, 0xe0, 0x01, 0xc0, 0x00}; diff --git a/bitmaps/root_weave b/bitmaps/root_weave new file mode 100644 index 0000000..ec41e43 --- /dev/null +++ b/bitmaps/root_weave @@ -0,0 +1,4 @@ +#define root_weave_width 4 +#define root_weave_height 4 +static char root_weave_bits[] = { + 0x07, 0x0d, 0x0b, 0x0e}; diff --git a/bitmaps/scales b/bitmaps/scales new file mode 100644 index 0000000..e5aac6a --- /dev/null +++ b/bitmaps/scales @@ -0,0 +1,6 @@ +#define scales_width 16 +#define scales_height 16 +static char scales_bits[] = { + 0x10, 0x10, 0x10, 0x10, 0x28, 0x28, 0xc7, 0xc7, 0x01, 0x01, 0x01, 0x01, + 0x82, 0x82, 0x7c, 0x7c, 0x10, 0x10, 0x10, 0x10, 0x28, 0x28, 0xc7, 0xc7, + 0x01, 0x01, 0x01, 0x01, 0x82, 0x82, 0x7c, 0x7c}; diff --git a/bitmaps/sipb b/bitmaps/sipb new file mode 100644 index 0000000..7f3b7c1 --- /dev/null +++ b/bitmaps/sipb @@ -0,0 +1,16 @@ +#define sipb_width 32 +#define sipb_height 32 +#define sipb_x_hot 12 +#define sipb_y_hot 16 +static char sipb_bits[] = { + 0xbe, 0xdf, 0x03, 0x00, 0x22, 0x49, 0x04, 0x00, 0x04, 0x49, 0x04, 0x00, + 0x08, 0x49, 0x04, 0x00, 0x10, 0xc9, 0x03, 0x00, 0x08, 0x49, 0x04, 0x00, + 0x04, 0x49, 0x04, 0x00, 0x22, 0x49, 0x04, 0x00, 0x3e, 0xc9, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xfd, 0x1e, 0x00, 0x10, 0x49, 0x22, + 0x00, 0x20, 0x48, 0x22, 0x00, 0x40, 0x48, 0x22, 0x00, 0x80, 0x48, 0x1e, + 0x00, 0x40, 0x48, 0x22, 0x00, 0x20, 0x48, 0x22, 0x00, 0x10, 0x49, 0x22, + 0x00, 0xf0, 0x49, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/bitmaps/star b/bitmaps/star new file mode 100644 index 0000000..c98f1a4 --- /dev/null +++ b/bitmaps/star @@ -0,0 +1,8 @@ +#define star_width 16 +#define star_height 16 +#define star_x_hot 7 +#define star_y_hot 7 +static char star_bits[] = { + 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x88, 0x08, 0x90, 0x04, 0xa0, 0x02, + 0x40, 0x01, 0x3e, 0x3e, 0x40, 0x01, 0xa0, 0x02, 0x90, 0x04, 0x88, 0x08, + 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/bitmaps/starMask b/bitmaps/starMask new file mode 100644 index 0000000..c220bb6 --- /dev/null +++ b/bitmaps/starMask @@ -0,0 +1,8 @@ +#define starMask_width 16 +#define starMask_height 16 +#define starMask_x_hot 7 +#define starMask_y_hot 7 +static char starMask_bits[] = { + 0xc0, 0x01, 0xc0, 0x01, 0xdc, 0x1d, 0xfc, 0x1f, 0xfc, 0x1f, 0xf8, 0x0f, + 0xff, 0x7f, 0xff, 0x7f, 0xff, 0x7f, 0xf8, 0x0f, 0xfc, 0x1f, 0xfc, 0x1f, + 0xdc, 0x1d, 0xc0, 0x01, 0xc0, 0x01, 0x00, 0x00}; diff --git a/bitmaps/stipple b/bitmaps/stipple new file mode 100644 index 0000000..63558d0 --- /dev/null +++ b/bitmaps/stipple @@ -0,0 +1,4 @@ +#define stipple_width 16 +#define stipple_height 4 +static char stipple_bits[] = { + 0x55, 0x55, 0xee, 0xee, 0x55, 0x55, 0xba, 0xbb}; diff --git a/bitmaps/target b/bitmaps/target new file mode 100644 index 0000000..6d23eca --- /dev/null +++ b/bitmaps/target @@ -0,0 +1,6 @@ +#define target_width 16 +#define target_height 16 +static char target_bits[] = { + 0x00, 0x00, 0x80, 0x01, 0x80, 0x01, 0xe0, 0x07, 0x90, 0x09, 0x88, 0x11, + 0xc8, 0x13, 0x7e, 0x7e, 0x7e, 0x7e, 0xc8, 0x13, 0x88, 0x11, 0x90, 0x09, + 0xe0, 0x07, 0x80, 0x01, 0x80, 0x01, 0x00, 0x00}; diff --git a/bitmaps/terminal b/bitmaps/terminal new file mode 100644 index 0000000..b8d9204 --- /dev/null +++ b/bitmaps/terminal @@ -0,0 +1,52 @@ +/*****************************************************************************/ +/** Copyright 1988 by Evans & Sutherland Computer Corporation, **/ +/** Salt Lake City, Utah **/ +/** **/ +/** 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 permis- **/ +/** sion notice appear in supporting documentation, and that the **/ +/** name of Evans & Sutherland not be used in advertising or publi- **/ +/** city pertaining to distribution of the software without specif- **/ +/** ic, written prior permission. **/ +/** **/ +/** EVANS & SUTHERLAND DISCLAIMS ALL WARRANTIES WITH REGARD TO **/ +/** THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILI- **/ +/** TY AND FITNESS, IN NO EVENT SHALL EVANS & SUTHERLAND BE LIABLE **/ +/** FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAM- **/ +/** AGES 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 PER- **/ +/** FORMANCE OF THIS SOFTWARE. **/ +/*****************************************************************************/ + +#define xterm_width 48 +#define xterm_height 48 +static char xterm_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x20, 0x00, 0x00, 0x00, 0x00, 0x03, 0x20, 0xfe, 0xff, 0xff, 0x1f, 0x05, + 0x20, 0x01, 0x00, 0x00, 0x20, 0x09, 0xa0, 0x00, 0x00, 0x00, 0x40, 0x11, + 0xa0, 0xfc, 0xff, 0x00, 0x40, 0x21, 0xa0, 0x00, 0x00, 0x00, 0x40, 0x21, + 0xa0, 0xfc, 0x01, 0x00, 0x40, 0x21, 0xa0, 0x00, 0x00, 0x00, 0x40, 0x21, + 0xa0, 0xfc, 0xff, 0x3f, 0x40, 0x21, 0xa0, 0x00, 0x00, 0x00, 0x40, 0x21, + 0xa0, 0xfc, 0x03, 0x00, 0x40, 0x21, 0xa0, 0x00, 0x00, 0x00, 0x40, 0x21, + 0xa0, 0xfc, 0xff, 0x01, 0x40, 0x21, 0xa0, 0x00, 0x00, 0x00, 0x40, 0x21, + 0xa0, 0xfc, 0x00, 0x00, 0x40, 0x21, 0xa0, 0x00, 0x00, 0x00, 0x40, 0x21, + 0xa0, 0x00, 0x00, 0x00, 0x40, 0x21, 0xa0, 0x00, 0x00, 0x00, 0x40, 0x21, + 0xa0, 0x00, 0x00, 0x00, 0x40, 0x21, 0xa0, 0x00, 0x00, 0x00, 0x40, 0x21, + 0xa0, 0x00, 0x00, 0x00, 0x40, 0x21, 0xa0, 0x00, 0x00, 0x00, 0x40, 0x21, + 0xa0, 0x00, 0x00, 0x00, 0x40, 0x21, 0xa0, 0x00, 0x00, 0x00, 0x40, 0x11, + 0xa0, 0x00, 0x00, 0x00, 0x40, 0x11, 0xa0, 0x00, 0x00, 0x00, 0x40, 0x09, + 0xa0, 0x00, 0x00, 0x00, 0x40, 0x09, 0xa0, 0x00, 0x00, 0x00, 0x40, 0x05, + 0x20, 0x01, 0x00, 0x00, 0x20, 0x05, 0x20, 0xfe, 0xff, 0xff, 0x1f, 0x03, + 0x20, 0x00, 0x00, 0x00, 0x00, 0x03, 0xc0, 0xff, 0xff, 0xff, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xc0, 0xff, 0xff, 0xff, 0xff, 0x03, 0x20, 0x00, 0x00, 0x00, 0x00, 0x03, + 0xa0, 0xaa, 0xaa, 0xaa, 0x2a, 0x03, 0x10, 0x00, 0x00, 0x00, 0x80, 0x02, + 0x50, 0x55, 0x55, 0x55, 0x95, 0x02, 0x08, 0x00, 0x00, 0x00, 0x40, 0x02, + 0xa8, 0xaa, 0xaa, 0xaa, 0x4a, 0x02, 0x04, 0x00, 0x00, 0x00, 0x20, 0x01, + 0xb4, 0xff, 0xff, 0xff, 0xad, 0x00, 0x02, 0x00, 0x00, 0x00, 0x50, 0x00, + 0xfe, 0xff, 0xff, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/bitmaps/tie_fighter b/bitmaps/tie_fighter new file mode 100644 index 0000000..0513db6 --- /dev/null +++ b/bitmaps/tie_fighter @@ -0,0 +1,6 @@ +#define tie_fighter_width 16 +#define tie_fighter_height 16 +static char tie_fighter_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x04, 0x20, 0x02, 0x40, 0x02, 0x40, + 0xe2, 0x47, 0x3e, 0x7c, 0x12, 0x48, 0x3e, 0x7c, 0xe2, 0x47, 0x02, 0x40, + 0x42, 0x42, 0x64, 0x26, 0x28, 0x14, 0x00, 0x00}; diff --git a/bitmaps/vlines2 b/bitmaps/vlines2 new file mode 100644 index 0000000..f42ae58 --- /dev/null +++ b/bitmaps/vlines2 @@ -0,0 +1,4 @@ +#define vlines2_width 2 +#define vlines2_height 1 +static char vlines2_bits[] = { + 0x01}; diff --git a/bitmaps/vlines3 b/bitmaps/vlines3 new file mode 100644 index 0000000..55c2246 --- /dev/null +++ b/bitmaps/vlines3 @@ -0,0 +1,4 @@ +#define vlines3_width 3 +#define vlines3_height 1 +static char vlines3_bits[] = { + 0x02}; diff --git a/bitmaps/weird_size b/bitmaps/weird_size new file mode 100644 index 0000000..e6f45d5 --- /dev/null +++ b/bitmaps/weird_size @@ -0,0 +1,5 @@ +#define weird_size_width 7 +#define weird_size_height 13 +static char weird_size_bits[] = { + 0x07, 0x05, 0x07, 0x01, 0x75, 0x45, 0x74, 0x44, 0x74, 0x00, 0x10, 0x38, + 0x10}; diff --git a/bitmaps/wide_weave b/bitmaps/wide_weave new file mode 100644 index 0000000..27ba639 --- /dev/null +++ b/bitmaps/wide_weave @@ -0,0 +1,6 @@ +#define wide_weave_width 16 +#define wide_weave_height 16 +static char wide_weave_bits[] = { + 0x11, 0x11, 0xb8, 0xb8, 0x7c, 0x7c, 0x3a, 0x3a, 0x11, 0x11, 0xa3, 0xa3, + 0xc7, 0xc7, 0x8b, 0x8b, 0x11, 0x11, 0xb8, 0xb8, 0x7c, 0x7c, 0x3a, 0x3a, + 0x11, 0x11, 0xa3, 0xa3, 0xc7, 0xc7, 0x8b, 0x8b}; diff --git a/bitmaps/wingdogs b/bitmaps/wingdogs new file mode 100644 index 0000000..1a4befc --- /dev/null +++ b/bitmaps/wingdogs @@ -0,0 +1,14 @@ +#define wingdogs_width 32 +#define wingdogs_height 32 +static char wingdogs_bits[] = { + 0x60, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, + 0x20, 0x0f, 0x00, 0x00, 0x40, 0x3e, 0x00, 0x00, 0xc0, 0x7f, 0x00, 0x80, + 0x84, 0xff, 0x00, 0xc0, 0x86, 0xff, 0x00, 0xc0, 0x07, 0xff, 0x21, 0xe0, + 0x0f, 0xfe, 0x23, 0xf0, 0x0f, 0xfe, 0x23, 0xfc, 0x1d, 0xfe, 0x13, 0xfe, + 0x39, 0xfc, 0x13, 0xff, 0x3f, 0xfc, 0x83, 0xff, 0x9f, 0xfc, 0xc1, 0xff, + 0x0f, 0xfe, 0xe0, 0xff, 0xf3, 0xff, 0xff, 0xff, 0xf9, 0xff, 0xff, 0xff, + 0xfc, 0xff, 0xff, 0x7f, 0xf6, 0xff, 0xff, 0x1f, 0xfb, 0xff, 0xff, 0x07, + 0xf8, 0xfd, 0xff, 0x03, 0xbc, 0xf9, 0xff, 0x01, 0x3c, 0xf9, 0xff, 0x01, + 0x3e, 0xf0, 0xf7, 0x00, 0x1f, 0xe0, 0x77, 0x00, 0x1f, 0x80, 0x77, 0x00, + 0x8f, 0x00, 0x6f, 0x00, 0xc7, 0x00, 0x6e, 0x80, 0x07, 0x00, 0x7c, 0x80, + 0x0d, 0x00, 0xf8, 0x80, 0x1f, 0x00, 0xf0, 0x01}; diff --git a/bitmaps/woman b/bitmaps/woman new file mode 100644 index 0000000..92e6041 --- /dev/null +++ b/bitmaps/woman @@ -0,0 +1,66 @@ +#define sorceress_width 75 +#define sorceress_height 75 +static char sorceress_bits[] = { + 0xfc, 0x7e, 0x40, 0x20, 0x90, 0x00, 0x07, 0x80, 0x23, 0x00, 0x00, 0xc6, + 0xc1, 0x41, 0x98, 0xb8, 0x01, 0x07, 0x66, 0x00, 0x15, 0x9f, 0x03, 0x47, + 0x8c, 0xc6, 0xdc, 0x7b, 0xcc, 0x00, 0xb0, 0x71, 0x0e, 0x4d, 0x06, 0x66, + 0x73, 0x8e, 0x8f, 0x01, 0x18, 0xc4, 0x39, 0x4b, 0x02, 0x23, 0x0c, 0x04, + 0x1e, 0x03, 0x0c, 0x08, 0xc7, 0xef, 0x08, 0x30, 0x06, 0x07, 0x1c, 0x02, + 0x06, 0x30, 0x18, 0xae, 0xc8, 0x98, 0x3f, 0x78, 0x20, 0x06, 0x02, 0x20, + 0x60, 0xa0, 0xc4, 0x1d, 0xc0, 0xff, 0x41, 0x04, 0xfa, 0x63, 0x80, 0xa1, + 0xa4, 0x3d, 0x00, 0x84, 0xbf, 0x04, 0x0f, 0x06, 0xfc, 0xa1, 0x34, 0x6b, + 0x01, 0x1c, 0xc9, 0x05, 0x06, 0xc7, 0x06, 0xbe, 0x11, 0x1e, 0x43, 0x30, + 0x91, 0x05, 0xc3, 0x61, 0x02, 0x30, 0x1b, 0x30, 0xcc, 0x20, 0x11, 0x00, + 0xc1, 0x3c, 0x03, 0x20, 0x0a, 0x00, 0xe8, 0x60, 0x21, 0x00, 0x61, 0x1b, + 0xc1, 0x63, 0x08, 0xf0, 0xc6, 0xc7, 0x21, 0x03, 0xf8, 0x08, 0xe1, 0xcf, + 0x0a, 0xfc, 0x4d, 0x99, 0x43, 0x07, 0x3c, 0x0c, 0xf1, 0x9f, 0x0b, 0xfc, + 0x5b, 0x81, 0x47, 0x02, 0x16, 0x04, 0x31, 0x1c, 0x0b, 0x1f, 0x17, 0x89, + 0x4d, 0x06, 0x1a, 0x04, 0x31, 0x38, 0x02, 0x07, 0x56, 0x89, 0x49, 0x04, + 0x0b, 0x04, 0xb1, 0x72, 0x82, 0xa1, 0x54, 0x9a, 0x49, 0x04, 0x1d, 0x66, + 0x50, 0xe7, 0xc2, 0xf0, 0x54, 0x9a, 0x58, 0x04, 0x0d, 0x62, 0xc1, 0x1f, + 0x44, 0xfc, 0x51, 0x90, 0x90, 0x04, 0x86, 0x63, 0xe0, 0x74, 0x04, 0xef, + 0x31, 0x1a, 0x91, 0x00, 0x02, 0xe2, 0xc1, 0xfd, 0x84, 0xf9, 0x30, 0x0a, + 0x91, 0x00, 0x82, 0xa9, 0xc0, 0xb9, 0x84, 0xf9, 0x31, 0x16, 0x81, 0x00, + 0x42, 0xa9, 0xdb, 0x7f, 0x0c, 0xff, 0x1c, 0x16, 0x11, 0x00, 0x02, 0x28, + 0x0b, 0x07, 0x08, 0x60, 0x1c, 0x02, 0x91, 0x00, 0x46, 0x29, 0x0e, 0x00, + 0x00, 0x00, 0x10, 0x16, 0x11, 0x02, 0x06, 0x29, 0x04, 0x00, 0x00, 0x00, + 0x10, 0x16, 0x91, 0x06, 0xa6, 0x2a, 0x04, 0x00, 0x00, 0x00, 0x18, 0x24, + 0x91, 0x04, 0x86, 0x2a, 0x04, 0x00, 0x00, 0x00, 0x18, 0x27, 0x93, 0x04, + 0x96, 0x4a, 0x04, 0x00, 0x00, 0x00, 0x04, 0x02, 0x91, 0x04, 0x86, 0x4a, + 0x0c, 0x00, 0x00, 0x00, 0x1e, 0x23, 0x93, 0x04, 0x56, 0x88, 0x08, 0x00, + 0x00, 0x00, 0x90, 0x21, 0x93, 0x04, 0x52, 0x0a, 0x09, 0x80, 0x01, 0x00, + 0xd0, 0x21, 0x95, 0x04, 0x57, 0x0a, 0x0f, 0x80, 0x27, 0x00, 0xd8, 0x20, + 0x9d, 0x04, 0x5d, 0x08, 0x1c, 0x80, 0x67, 0x00, 0xe4, 0x01, 0x85, 0x04, + 0x79, 0x8a, 0x3f, 0x00, 0x00, 0x00, 0xf4, 0x11, 0x85, 0x06, 0x39, 0x08, + 0x7d, 0x00, 0x00, 0x18, 0xb7, 0x10, 0x81, 0x03, 0x29, 0x12, 0xcb, 0x00, + 0x7e, 0x30, 0x28, 0x00, 0x85, 0x03, 0x29, 0x10, 0xbe, 0x81, 0xff, 0x27, + 0x0c, 0x10, 0x85, 0x03, 0x29, 0x32, 0xfa, 0xc1, 0xff, 0x27, 0x94, 0x11, + 0x85, 0x03, 0x28, 0x20, 0x6c, 0xe1, 0xff, 0x07, 0x0c, 0x01, 0x85, 0x01, + 0x28, 0x62, 0x5c, 0xe3, 0x8f, 0x03, 0x4e, 0x91, 0x80, 0x05, 0x39, 0x40, + 0xf4, 0xc2, 0xff, 0x00, 0x9f, 0x91, 0x84, 0x05, 0x31, 0xc6, 0xe8, 0x07, + 0x7f, 0x80, 0xcd, 0x00, 0xc4, 0x04, 0x31, 0x06, 0xc9, 0x0e, 0x00, 0xc0, + 0x48, 0x88, 0xe0, 0x04, 0x79, 0x04, 0xdb, 0x12, 0x00, 0x30, 0x0c, 0xc8, + 0xe4, 0x04, 0x6d, 0x06, 0xb6, 0x23, 0x00, 0x18, 0x1c, 0xc0, 0x84, 0x04, + 0x25, 0x0c, 0xff, 0xc2, 0x00, 0x4e, 0x06, 0xb0, 0x80, 0x04, 0x3f, 0x8a, + 0xb3, 0x83, 0xff, 0xc3, 0x03, 0x91, 0x84, 0x04, 0x2e, 0xd8, 0x0f, 0x3f, + 0x00, 0x00, 0x5f, 0x83, 0x84, 0x04, 0x2a, 0x70, 0xfd, 0x7f, 0x00, 0x00, + 0xc8, 0xc0, 0x84, 0x04, 0x4b, 0xe2, 0x2f, 0x01, 0x00, 0x08, 0x58, 0x60, + 0x80, 0x04, 0x5b, 0x82, 0xff, 0x01, 0x00, 0x08, 0xd0, 0xa0, 0x84, 0x04, + 0x72, 0x80, 0xe5, 0x00, 0x00, 0x08, 0xd2, 0x20, 0x44, 0x04, 0xca, 0x02, + 0xff, 0x00, 0x00, 0x08, 0xde, 0xa0, 0x44, 0x04, 0x82, 0x02, 0x6d, 0x00, + 0x00, 0x08, 0xf6, 0xb0, 0x40, 0x02, 0x82, 0x07, 0x3f, 0x00, 0x00, 0x08, + 0x44, 0x58, 0x44, 0x02, 0x93, 0x3f, 0x1f, 0x00, 0x00, 0x30, 0x88, 0x4f, + 0x44, 0x03, 0x83, 0x23, 0x3e, 0x00, 0x00, 0x00, 0x18, 0x60, 0xe0, 0x07, + 0xe3, 0x0f, 0xfe, 0x00, 0x00, 0x00, 0x70, 0x70, 0xe4, 0x07, 0xc7, 0x1b, + 0xfe, 0x01, 0x00, 0x00, 0xe0, 0x3c, 0xe4, 0x07, 0xc7, 0xe3, 0xfe, 0x1f, + 0x00, 0x00, 0xff, 0x1f, 0xfc, 0x07, 0xc7, 0x03, 0xf8, 0x33, 0x00, 0xc0, + 0xf0, 0x07, 0xff, 0x07, 0x87, 0x02, 0xfc, 0x43, 0x00, 0x60, 0xf0, 0xff, + 0xff, 0x07, 0x8f, 0x06, 0xbe, 0x87, 0x00, 0x30, 0xf8, 0xff, 0xff, 0x07, + 0x8f, 0x14, 0x9c, 0x8f, 0x00, 0x00, 0xfc, 0xff, 0xff, 0x07, 0x9f, 0x8d, + 0x8a, 0x0f, 0x00, 0x00, 0xfe, 0xff, 0xff, 0x07, 0xbf, 0x0b, 0x80, 0x1f, + 0x00, 0x00, 0xff, 0xff, 0xff, 0x07, 0x7f, 0x3a, 0x80, 0x3f, 0x00, 0x80, + 0xff, 0xff, 0xff, 0x07, 0xff, 0x20, 0xc0, 0x3f, 0x00, 0x80, 0xff, 0xff, + 0xff, 0x07, 0xff, 0x01, 0xe0, 0x7f, 0x00, 0xc0, 0xff, 0xff, 0xff, 0x07, + 0xff, 0x0f, 0xf8, 0xff, 0x40, 0xe0, 0xff, 0xff, 0xff, 0x07, 0xff, 0xff, + 0xff, 0xff, 0x40, 0xf0, 0xff, 0xff, 0xff, 0x07, 0xff, 0xff, 0xff, 0xff, + 0x41, 0xf0, 0xff, 0xff, 0xff, 0x07}; diff --git a/bitmaps/xbitmaps.pc.in b/bitmaps/xbitmaps.pc.in new file mode 100644 index 0000000..aef169f --- /dev/null +++ b/bitmaps/xbitmaps.pc.in @@ -0,0 +1,10 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: X bitmaps +Description: Bitmaps that are shared between X applications +Version: @PACKAGE_VERSION@ +Cflags: -I${includedir} +Libs: diff --git a/bitmaps/xfd_icon b/bitmaps/xfd_icon new file mode 100644 index 0000000..383334c --- /dev/null +++ b/bitmaps/xfd_icon @@ -0,0 +1,27 @@ +#define xfd_icon_width 48 +#define xfd_icon_height 48 +static char xfd_icon_bits[] = { + 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x01, 0x81, 0x40, 0x20, 0x10, 0x08, + 0x11, 0x9d, 0x5c, 0xa7, 0xd7, 0x0b, 0x29, 0xa5, 0x42, 0xa9, 0x50, 0x08, + 0x45, 0xa5, 0x42, 0xa9, 0x50, 0x08, 0x7d, 0x9d, 0x42, 0xa9, 0xd7, 0x09, + 0x45, 0xa5, 0x42, 0xa9, 0x50, 0x08, 0x45, 0xa5, 0x42, 0xa9, 0x50, 0x08, + 0x45, 0x9d, 0x5c, 0xa7, 0x57, 0x08, 0x01, 0x81, 0x40, 0x20, 0x10, 0x08, + 0xff, 0xff, 0xff, 0xff, 0xff, 0x0f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/bitmaps/xlogo11 b/bitmaps/xlogo11 new file mode 100644 index 0000000..5efd2c2 --- /dev/null +++ b/bitmaps/xlogo11 @@ -0,0 +1,6 @@ +#define xlogo11_width 11 +#define xlogo11_height 11 + +static char xlogo11_bits[] = { + 0x0f, 0x04, 0x0f, 0x02, 0x1e, 0x01, 0x3c, 0x01, 0xb8, 0x00, 0x58, 0x00, + 0xe8, 0x00, 0xe4, 0x01, 0xc4, 0x03, 0xc2, 0x03, 0x81, 0x07 }; diff --git a/bitmaps/xlogo16 b/bitmaps/xlogo16 new file mode 100644 index 0000000..5c23027 --- /dev/null +++ b/bitmaps/xlogo16 @@ -0,0 +1,6 @@ +#define xlogo16_width 16 +#define xlogo16_height 16 +static unsigned char xlogo16_bits[] = { + 0x0f, 0x80, 0x1e, 0x80, 0x3c, 0x40, 0x78, 0x20, 0x78, 0x10, 0xf0, 0x08, + 0xe0, 0x09, 0xc0, 0x05, 0xc0, 0x02, 0x40, 0x07, 0x20, 0x0f, 0x20, 0x1e, + 0x10, 0x1e, 0x08, 0x3c, 0x04, 0x78, 0x02, 0xf0}; diff --git a/bitmaps/xlogo32 b/bitmaps/xlogo32 new file mode 100644 index 0000000..1ecb6ac --- /dev/null +++ b/bitmaps/xlogo32 @@ -0,0 +1,14 @@ +#define xlogo32_width 32 +#define xlogo32_height 32 +static char xlogo32_bits[] = { + 0xff, 0x00, 0x00, 0xc0, 0xfe, 0x01, 0x00, 0xc0, 0xfc, 0x03, 0x00, 0x60, + 0xf8, 0x07, 0x00, 0x30, 0xf8, 0x07, 0x00, 0x18, 0xf0, 0x0f, 0x00, 0x0c, + 0xe0, 0x1f, 0x00, 0x06, 0xc0, 0x3f, 0x00, 0x06, 0xc0, 0x3f, 0x00, 0x03, + 0x80, 0x7f, 0x80, 0x01, 0x00, 0xff, 0xc0, 0x00, 0x00, 0xfe, 0x61, 0x00, + 0x00, 0xfe, 0x31, 0x00, 0x00, 0xfc, 0x33, 0x00, 0x00, 0xf8, 0x1b, 0x00, + 0x00, 0xf0, 0x0d, 0x00, 0x00, 0xf0, 0x0e, 0x00, 0x00, 0x60, 0x1f, 0x00, + 0x00, 0xb0, 0x3f, 0x00, 0x00, 0x98, 0x7f, 0x00, 0x00, 0x98, 0x7f, 0x00, + 0x00, 0x0c, 0xff, 0x00, 0x00, 0x06, 0xfe, 0x01, 0x00, 0x03, 0xfc, 0x03, + 0x80, 0x01, 0xfc, 0x03, 0xc0, 0x00, 0xf8, 0x07, 0xc0, 0x00, 0xf0, 0x0f, + 0x60, 0x00, 0xe0, 0x1f, 0x30, 0x00, 0xe0, 0x1f, 0x18, 0x00, 0xc0, 0x3f, + 0x0c, 0x00, 0x80, 0x7f, 0x06, 0x00, 0x00, 0xff}; diff --git a/bitmaps/xlogo64 b/bitmaps/xlogo64 new file mode 100644 index 0000000..ad3b0db --- /dev/null +++ b/bitmaps/xlogo64 @@ -0,0 +1,46 @@ +#define xlogo64_width 64 +#define xlogo64_height 64 +static unsigned char xlogo64_bits[] = { + 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xfe, 0xff, 0x01, 0x00, + 0x00, 0x00, 0x00, 0xf8, 0xfc, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x7c, + 0xf8, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x3e, 0xf8, 0xff, 0x07, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0xf0, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x80, 0x0f, + 0xe0, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x80, 0x0f, 0xc0, 0xff, 0x3f, 0x00, + 0x00, 0x00, 0xc0, 0x07, 0xc0, 0xff, 0x3f, 0x00, 0x00, 0x00, 0xe0, 0x03, + 0x80, 0xff, 0x7f, 0x00, 0x00, 0x00, 0xf0, 0x01, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x00, 0xf8, 0x00, 0x00, 0xfe, 0xff, 0x01, 0x00, 0x00, 0xf8, 0x00, + 0x00, 0xfe, 0xff, 0x01, 0x00, 0x00, 0x7c, 0x00, 0x00, 0xfc, 0xff, 0x03, + 0x00, 0x00, 0x3e, 0x00, 0x00, 0xf8, 0xff, 0x07, 0x00, 0x00, 0x1f, 0x00, + 0x00, 0xf0, 0xff, 0x0f, 0x00, 0x80, 0x0f, 0x00, 0x00, 0xf0, 0xff, 0x0f, + 0x00, 0xc0, 0x07, 0x00, 0x00, 0xe0, 0xff, 0x1f, 0x00, 0xc0, 0x07, 0x00, + 0x00, 0xc0, 0xff, 0x3f, 0x00, 0xe0, 0x03, 0x00, 0x00, 0x80, 0xff, 0x7f, + 0x00, 0xf0, 0x01, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0xf8, 0x00, 0x00, + 0x00, 0x00, 0xff, 0xff, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, + 0x01, 0x7c, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xff, 0x03, 0x3e, 0x00, 0x00, + 0x00, 0x00, 0xfc, 0xff, 0x03, 0x1f, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xff, + 0x87, 0x0f, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xcf, 0x07, 0x00, 0x00, + 0x00, 0x00, 0xe0, 0xff, 0xcf, 0x07, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, + 0xe7, 0x03, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xf3, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x80, 0xff, 0xf9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, + 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7e, 0xfe, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, + 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9f, 0xff, 0x07, 0x00, 0x00, + 0x00, 0x00, 0x80, 0xcf, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe7, + 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xe7, 0xff, 0x1f, 0x00, 0x00, + 0x00, 0x00, 0xe0, 0xc3, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xc1, + 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x80, 0xff, 0x7f, 0x00, 0x00, + 0x00, 0x00, 0x7c, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, + 0xfe, 0xff, 0x01, 0x00, 0x00, 0x00, 0x3e, 0x00, 0xfe, 0xff, 0x01, 0x00, + 0x00, 0x00, 0x1f, 0x00, 0xfc, 0xff, 0x03, 0x00, 0x00, 0x80, 0x0f, 0x00, + 0xf8, 0xff, 0x07, 0x00, 0x00, 0xc0, 0x07, 0x00, 0xf0, 0xff, 0x0f, 0x00, + 0x00, 0xe0, 0x03, 0x00, 0xf0, 0xff, 0x0f, 0x00, 0x00, 0xe0, 0x03, 0x00, + 0xe0, 0xff, 0x1f, 0x00, 0x00, 0xf0, 0x01, 0x00, 0xc0, 0xff, 0x3f, 0x00, + 0x00, 0xf8, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00, 0x7c, 0x00, 0x00, + 0x80, 0xff, 0x7f, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, + 0x00, 0x3e, 0x00, 0x00, 0x00, 0xfe, 0xff, 0x01, 0x00, 0x1f, 0x00, 0x00, + 0x00, 0xfc, 0xff, 0x03, 0x80, 0x0f, 0x00, 0x00, 0x00, 0xfc, 0xff, 0x03, + 0xc0, 0x07, 0x00, 0x00, 0x00, 0xf8, 0xff, 0x07, 0xe0, 0x03, 0x00, 0x00, + 0x00, 0xf0, 0xff, 0x0f, 0xe0, 0x03, 0x00, 0x00, 0x00, 0xe0, 0xff, 0x1f, + 0xf0, 0x01, 0x00, 0x00, 0x00, 0xe0, 0xff, 0x1f, 0xf8, 0x00, 0x00, 0x00, + 0x00, 0xc0, 0xff, 0x3f, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, + 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff}; diff --git a/bitmaps/xsnow b/bitmaps/xsnow new file mode 100644 index 0000000..2c1bd8b --- /dev/null +++ b/bitmaps/xsnow @@ -0,0 +1,1112 @@ +#define xsnow_width 300 +#define xsnow_height 350 +static char xsnow_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x40, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, + 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x70, 0x01, 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xe0, 0x01, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xf0, 0x01, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x99, 0x39, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x9e, 0x1f, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x98, + 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xc0, 0x09, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xe0, 0x0f, 0x7b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xc0, 0xdf, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x00, 0x00, 0x80, 0x0f, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x07, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xfe, 0x03, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x47, 0x00, + 0x00, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xce, + 0x87, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x7f, 0x00, 0x00, 0xf0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, + 0x6c, 0x0f, 0xef, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x6a, 0x00, 0x00, 0x70, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xf0, 0xcf, 0x07, 0x7c, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x30, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xf0, 0xf7, 0x03, 0x1e, 0xfe, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x70, 0x0e, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xfc, 0x07, 0x7e, 0x5b, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x60, 0x30, 0xf0, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x07, 0xef, 0x11, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x71, + 0xf0, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xfe, + 0x87, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xf0, 0x77, 0xf0, 0x77, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xb0, 0x33, 0xf0, 0x71, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc0, 0xff, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x18, 0x30, 0xf0, 0xe1, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xe0, 0x0f, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x30, 0xe0, 0xe1, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0c, 0x19, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x30, 0xe0, 0x81, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x9c, 0x11, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x30, + 0xe0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x9f, + 0x17, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xff, 0x19, 0xe0, 0x03, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xc0, 0x99, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xfc, 0x1f, 0xe0, 0xe3, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xf0, 0x01, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, 0xc0, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, 0xf0, 0x7b, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xe0, 0x01, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0xc0, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xfc, 0x1f, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x01, 0x68, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, + 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x07, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x60, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x03, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, + 0xdf, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, + 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc0, 0x33, 0xf2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, + 0x00, 0xf6, 0xff, 0x03, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x6e, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x30, 0x00, 0xfe, 0xff, 0x03, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x39, 0x66, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xf0, 0x00, 0x1e, 0xce, 0x03, 0x78, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x66, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x01, 0x1f, 0x80, 0x07, 0x7c, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, + 0xce, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x90, 0xc3, 0x1f, 0x80, 0x1f, + 0x7e, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3f, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x1c, 0xef, 0x0f, + 0x80, 0xbf, 0xff, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xfc, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf1, 0x1e, + 0xfc, 0x07, 0x80, 0xff, 0x8f, 0x7b, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x20, 0xf8, 0x0f, 0x02, 0x00, 0x00, 0x00, 0x40, + 0xdb, 0x0f, 0xf8, 0x03, 0x00, 0xf7, 0x07, 0xff, 0x16, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xb8, 0x0f, 0x03, 0x00, 0x00, + 0x00, 0xe0, 0x8d, 0x07, 0xfe, 0x01, 0x00, 0xfc, 0x03, 0x8e, 0x3d, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf2, 0x3d, 0xdc, 0x23, + 0x00, 0x00, 0x00, 0x60, 0xef, 0x03, 0x7f, 0x07, 0x00, 0xfe, 0x80, 0xcf, + 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3e, 0x1f, + 0xfc, 0xbd, 0x00, 0x00, 0x00, 0x00, 0xf9, 0x8e, 0x7f, 0x0f, 0x00, 0xff, + 0xc1, 0xfb, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, + 0x1d, 0x0f, 0x58, 0xdc, 0x03, 0x00, 0x00, 0x00, 0x30, 0xfc, 0xef, 0x0f, + 0x80, 0xbf, 0xc3, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x80, 0xde, 0x1f, 0x7c, 0xbe, 0x01, 0x00, 0x00, 0x00, 0x10, 0xf0, + 0xc3, 0x0f, 0xc0, 0x1f, 0x46, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xe2, 0x1d, 0xde, 0x27, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xf0, 0x01, 0x0f, 0xc0, 0x07, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x78, 0x0e, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xf0, 0x00, 0x9e, 0xc3, 0x03, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xf8, 0x0f, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0xfe, 0xdf, 0x03, 0x60, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, + 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0xfe, 0x7f, 0x03, + 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3f, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xde, + 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc0, 0x39, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b, 0x62, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc0, 0xff, 0xfc, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3b, 0x6a, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, 0xf0, 0x7f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x7e, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x1e, 0xe0, 0xff, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x33, + 0xf2, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x1e, 0xe0, 0xfe, + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xc0, 0x02, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x1e, + 0x60, 0xf8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x80, 0x03, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x08, 0x1c, 0x60, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0xc0, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x38, 0x1c, 0x60, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, 0xc0, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x38, 0x3c, 0x70, 0xc0, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x3c, 0x70, 0x62, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x3f, 0x70, 0x6f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x39, + 0x70, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x7e, 0x20, 0x30, 0xf0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x33, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x10, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x00, 0x00, 0x50, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0xc0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 0xf0, + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0b, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x67, 0x00, + 0x00, 0x90, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0xcf, 0xcc, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, + 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfc, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x07, 0x00, 0x00, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd6, 0xdc, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0xd8, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x0e, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x7f, 0x98, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xfe, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xf8, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xf0, 0x1f, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x70, 0x3e, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe4, 0x7b, 0x78, + 0x8f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7d, + 0x3e, 0xf8, 0xd3, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x33, 0x1a, 0xf0, 0xb0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xad, 0x3f, 0xf0, 0xf9, 0x07, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc4, 0x3b, 0x78, 0x9f, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xf0, 0x39, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xf0, 0x1f, + 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xf8, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xfe, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x73, 0xe8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x88, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xee, 0xac, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfc, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, + 0xcf, 0xcc, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0f, 0xc0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, + 0x02, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x03, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xc0, 0x02, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x33, 0x60, 0x0e, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3d, 0xe0, 0x07, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x31, 0xe0, + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x13, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xc0, 0x1f, 0xc0, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xf8, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe8, 0xcf, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0xc1, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0c, 0xc0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0c, 0xc0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x07, 0x00, 0x86, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xb6, 0x07, 0x00, 0xec, 0x13, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xe7, 0x03, 0x00, + 0xf8, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf3, + 0x00, 0x00, 0x3c, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xd0, 0xfe, 0x01, 0x00, 0x7e, 0x5b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x40, 0xbc, 0x03, 0x00, 0xef, 0x11, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x07, 0x00, 0x87, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x80, 0x01, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x80, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1c, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x9d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xd8, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xf8, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x01, 0x00, 0x00, 0xe0, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xe0, 0x07, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x01, 0x00, + 0x00, 0xe0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x19, 0x40, + 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, + 0x11, 0x00, 0x00, 0xe6, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1b, 0x40, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xc0, 0x1f, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3b, 0x60, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xc0, 0x1a, 0x00, 0x00, 0x6e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0x3f, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x08, 0x00, 0x00, 0x4c, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x33, 0x20, 0x1e, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x0b, 0x00, 0x00, 0xcc, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x0e, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, + 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x1f, 0x08, + 0x04, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, + 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xc0, 0x03, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x7f, 0x0c, 0x9c, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, + 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xfe, 0x0d, 0xfc, 0x1d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x23, 0x60, 0x1e, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xe6, 0x0c, 0x7c, 0x1c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0xe0, 0x0f, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x0c, 0x3c, 0x1c, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x35, 0xe0, + 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x38, 0x1c, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x11, 0xc0, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, + 0x38, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xc0, 0x17, 0xc0, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, + 0x1f, 0x06, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x7f, 0x06, 0x78, 0xe0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xf8, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0xff, 0x07, 0x78, 0x7c, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xdf, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x0f, 0x7c, 0x1f, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0xc5, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x3f, 0xff, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0c, 0xc0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, + 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0c, 0xc0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xc0, 0xff, 0x7b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x04, 0x0c, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x04, 0xc0, 0xfd, 0x7f, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x07, 0x00, 0x87, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0c, 0xc0, 0xff, 0xff, 0x00, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xbc, 0x07, 0x00, 0xee, 0x11, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0xc0, 0x87, 0xf9, 0x00, 0x0f, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0xf6, 0x03, 0x00, + 0xfc, 0x5b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0xe0, 0x07, 0xf0, 0x80, + 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0xe3, + 0x01, 0x00, 0x78, 0xe6, 0x00, 0x00, 0x00, 0x00, 0x04, 0xf4, 0xf0, 0x07, + 0xf0, 0xc3, 0x0f, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xd8, 0xfb, 0x00, 0x00, 0x3e, 0xdf, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xc7, + 0xfb, 0x03, 0xf0, 0xf7, 0x3f, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x40, 0xbe, 0x03, 0x00, 0xef, 0x13, 0x00, 0x00, 0x00, 0x40, + 0xbc, 0x87, 0xff, 0x00, 0xf0, 0xff, 0x73, 0x8f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x07, 0x00, 0x87, 0x01, 0x00, 0x00, + 0x00, 0xd0, 0xf6, 0x03, 0xff, 0x00, 0xc0, 0xff, 0xe0, 0xdf, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x01, 0x01, + 0x00, 0x00, 0x00, 0xf8, 0xe3, 0x81, 0x3f, 0x00, 0x00, 0x7f, 0xc0, 0x33, + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x80, + 0x01, 0x00, 0x00, 0x00, 0x00, 0xd8, 0xfb, 0xc0, 0xef, 0x00, 0xc0, 0x3f, + 0xf0, 0xf9, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x1c, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x40, 0xbe, 0xf3, 0xff, 0x03, + 0xe0, 0x3f, 0x78, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, 0x80, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x8c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xff, + 0xfb, 0x03, 0xf0, 0x77, 0x38, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, 0x80, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x98, 0xbf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x04, 0xfc, 0xf0, 0x03, 0xf8, 0xc3, 0x08, 0x08, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0xe0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xf8, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x7c, 0xe0, 0x03, 0xf8, 0x80, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, + 0x05, 0xe0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0xe0, 0x07, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0xc0, 0x67, 0xf8, 0x00, 0x07, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xc0, 0x67, 0xe6, 0x01, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x19, 0xc0, + 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xc0, 0xff, 0xff, 0x00, + 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x19, 0x40, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0xc0, 0xff, + 0x6f, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6b, 0x6e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x3b, 0x60, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xc0, 0xf7, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x23, 0x6c, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x3f, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xe0, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0xcc, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x80, 0x33, 0x60, 0x0e, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xf8, 0x3f, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x7f, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x1e, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x0f, 0xfc, 0x1f, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xfc, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, + 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x9f, 0x07, 0xf8, 0x7f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x20, 0xf8, 0x0f, 0x04, 0x00, 0x00, 0x00, 0x00, 0xc0, + 0x02, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x87, 0x07, + 0x98, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x38, 0x1f, 0x06, 0x00, 0x00, 0x00, + 0x00, 0xc0, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, + 0x81, 0x07, 0x18, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf2, 0x3d, 0xbc, 0x47, 0x00, + 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x02, 0x07, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3e, 0x1f, 0xfc, + 0x69, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x06, 0x07, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x19, + 0x0d, 0x78, 0xd8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x0f, 0x0c, 0x18, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0xd6, 0x1f, 0xf8, 0xfc, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x0f, 0xcc, 0x18, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xe2, 0x1d, 0xbc, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xce, 0x0f, + 0xec, 0x1b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xf8, 0x1c, 0x06, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x7f, 0x0e, 0x8c, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xf8, 0x0f, 0x04, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xc0, 0x1f, 0x08, 0x04, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x1f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x60, 0x0e, 0x00, 0x00, 0xfc, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x7f, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x44, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x39, 0xf4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x1c, 0x00, 0x00, 0x56, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x33, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x1e, 0x00, + 0x00, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x77, 0x56, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, + 0x19, 0x00, 0x00, 0xe6, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x01, 0x00, 0x00, 0xa0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x67, 0xe6, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0xe0, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, + 0x07, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x07, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x80, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xc0, 0x01, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x01, 0x80, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x30, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x70, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xf0, 0x01, 0x80, 0x0e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x01, 0x80, 0x07, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x0f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x09, + 0x98, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x0e, 0x78, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc0, 0x08, 0x38, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xc0, 0x09, 0x30, 0x06, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x0f, 0xf0, 0x07, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x0f, 0xf8, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, + 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xf6, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x42, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x60, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x40, 0x40, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x84, 0x03, + 0x80, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, + 0xdb, 0x03, 0x00, 0xfb, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xfe, 0xf3, 0x01, 0x00, 0xbc, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xfe, 0x79, 0x00, 0x00, 0x8f, 0x7f, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x23, 0x00, 0x00, + 0x00, 0x30, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0xff, 0x00, 0x80, 0xdf, 0x16, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, + 0x00, 0x00, 0x00, 0xf0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xde, 0x01, 0xc0, 0x7b, + 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x35, 0x00, 0x00, 0x00, 0x70, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x86, 0x03, + 0xc0, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x60, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x02, 0x40, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xc0, 0x1f, 0x00, 0x00, 0x00, 0x60, 0x0e, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x06, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x10, 0x00, 0x20, 0xf0, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x18, 0x00, + 0xe0, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x8e, 0x67, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, + 0x1b, 0x00, 0xe0, 0x6f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xee, 0x7f, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xd8, 0x19, 0x00, 0xe0, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, + 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0c, 0x18, 0x00, 0xe0, 0xe1, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xc0, 0x0f, 0xf8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x08, 0x00, 0xc0, 0xe1, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x60, 0x0e, 0xd0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x08, 0x00, 0xc0, 0x81, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xc0, 0x0c, 0x10, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x08, 0x00, + 0xc0, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x0e, 0x58, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, + 0x0c, 0x00, 0xc0, 0xc3, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x0f, 0xf8, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xfe, 0x0f, 0x00, 0xc0, 0xf3, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x09, + 0x88, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xf8, 0x1f, 0x00, 0xe0, 0x7f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xe0, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x7f, 0x00, 0xf8, 0x1f, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xf0, 0x01, 0x80, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x01, 0xfe, 0x07, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x87, + 0xcf, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x0c, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xf3, 0xff, 0xc3, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc3, 0xcf, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x80, 0x07, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x80, 0x07, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, + 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, + 0x01, 0x00, 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x01, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0x01, 0xe0, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x06, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0xf0, 0x00, 0x00, 0x00, 0x3c, + 0x80, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xf8, 0x00, 0x00, + 0x00, 0x78, 0xc0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x1e, 0xfe, + 0x00, 0x00, 0x00, 0xe0, 0xe1, 0x07, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe1, + 0x78, 0x7f, 0x00, 0x00, 0x00, 0xc0, 0xfb, 0x1f, 0x06, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x88, 0xf7, 0xf0, 0x1f, 0x00, 0x00, 0x00, 0x80, 0xff, 0xb9, 0x47, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xda, 0x7e, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x7e, 0xf0, + 0x6f, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x7f, 0x3c, 0xf0, 0x07, 0x00, 0x00, 0x00, 0x80, + 0x3f, 0xe0, 0xb9, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7b, 0x1f, 0xf8, 0x01, 0x00, 0x00, + 0x00, 0xc0, 0x1f, 0xf8, 0x7c, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc8, 0x77, 0xfe, 0x03, + 0x00, 0x00, 0x00, 0xe0, 0x1f, 0xbc, 0x4f, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xe1, + 0x7f, 0x07, 0x00, 0x00, 0x00, 0xf8, 0x7b, 0x1c, 0x06, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x80, 0x1f, 0x0e, 0x00, 0x00, 0x00, 0xfc, 0xe1, 0x04, 0x04, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0x0f, 0x38, 0x00, 0x00, 0x00, 0x7c, 0xc0, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x70, 0x00, 0x00, 0x00, 0x3c, + 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0xe0, 0x00, 0x00, + 0x00, 0x1c, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, + 0x00, 0x00, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x03, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0x07, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x00, 0x00, 0x06, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x00, 0x00, 0x06, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x00, + 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x0f, 0x80, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x03, 0x00, 0x00, 0xc0, 0x07, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0f, 0xec, 0x0f, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, + 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0x3f, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x23, + 0x00, 0x00, 0xcc, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xcf, 0xc7, 0xff, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x3f, 0x00, 0x00, 0xfc, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x01, 0xff, 0x07, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x80, 0x35, 0x00, 0x00, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x7f, 0x00, + 0xf8, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x80, 0x11, 0x00, 0x00, 0x98, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, + 0x1f, 0x00, 0xe0, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x17, 0x00, 0x00, 0x98, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3e, 0x0f, 0x00, 0xc0, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x10, 0x08, + 0xfc, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x80, 0x0f, 0x0f, 0x00, 0xc0, 0xfc, 0x07, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, + 0x18, 0x38, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x0f, 0x00, 0x60, 0xf0, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xfc, 0x1b, 0xf8, 0x3b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0e, 0x00, 0x60, 0xc0, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xcc, 0x19, 0xf8, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x0e, 0x00, + 0x60, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18, 0x78, 0x38, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, + 0x1e, 0x00, 0x60, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x0c, 0x70, 0x38, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x18, 0x1e, 0x00, 0x60, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x0c, 0x70, + 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x98, 0x1f, 0x00, 0x70, 0x7f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, + 0x0c, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x1c, 0x00, 0x70, 0xfc, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xc0, 0xff, 0x0c, 0xf0, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x10, 0x00, 0x30, 0xf0, + 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xff, 0x0f, 0xf0, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x19, 0x00, 0x00, + 0x00, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x1f, 0xf8, 0x3e, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1b, + 0x00, 0x00, 0x00, 0x20, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f, 0xfe, 0x07, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3b, 0x00, 0x00, 0x00, 0xb0, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x00, 0xf0, 0x07, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, + 0xff, 0xf7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xc0, 0x33, 0x00, 0x00, 0x00, 0x30, 0x0f, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x08, 0x80, 0xfb, 0xff, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x18, 0x80, 0xff, 0xff, 0x01, 0x18, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x78, 0x80, 0x0f, 0xf3, 0x01, 0x1e, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xc0, 0x0f, 0xe0, 0x01, 0x1f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xe8, 0xe1, 0x0f, 0xe0, + 0x87, 0x1f, 0x10, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x8e, 0xf7, + 0x07, 0xe0, 0xef, 0x7f, 0x18, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x70, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x78, + 0x0f, 0xff, 0x01, 0xe0, 0xff, 0xe7, 0x1e, 0x01, 0x00, 0x00, 0x00, 0xf0, + 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xa0, 0xed, 0x07, 0xfe, 0x01, 0x80, 0xff, 0xc1, 0xbf, 0x05, 0x00, 0x00, + 0x00, 0xe0, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xf0, 0xc7, 0x03, 0x7f, 0x00, 0x00, 0xfe, 0x80, 0x67, 0x0e, + 0x00, 0x00, 0x00, 0xe0, 0x06, 0x39, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xb0, 0xf7, 0x81, 0xdf, 0x01, 0x80, 0x7f, 0xe0, + 0xf3, 0x0d, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x1f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x7c, 0xe7, 0xff, 0x07, 0xc0, + 0x7f, 0xf0, 0x3e, 0x01, 0x00, 0x00, 0x00, 0xc0, 0x06, 0x1b, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xfe, 0xf7, + 0x07, 0xe0, 0xef, 0x70, 0x18, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x3f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, + 0xf8, 0xe1, 0x07, 0xf0, 0x87, 0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x80, + 0x8f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xf8, 0xc0, 0x07, 0xf0, 0x01, 0x07, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xff, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x78, 0x80, 0xcf, 0xf0, 0x01, 0x0e, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x19, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x80, 0xff, 0xff, 0x01, 0x18, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x06, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x80, 0xff, 0xdf, + 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x04, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, + 0xef, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xdc, 0x01, 0xdc, + 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xc0, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0xff, + 0x01, 0xf8, 0x2b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xf0, 0x7f, 0xfe, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xf0, 0x73, 0x00, 0x60, 0x7e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x1f, 0xf8, 0x3f, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xa0, 0x7f, 0x00, 0x78, 0x2f, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x0f, 0xf0, 0xff, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x80, 0xde, 0x00, 0xdc, 0x0b, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x0f, 0x0f, 0x30, + 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x01, 0x04, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, + 0x0f, 0x30, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x04, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x04, 0x0e, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x43, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0c, 0x0e, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xf3, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x1e, 0x18, 0x30, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0xdf, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x18, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x1e, 0x98, 0x31, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x3f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, + 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9c, 0x1f, 0xd8, + 0x37, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x1b, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x38, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, + 0x1c, 0x18, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x1f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x38, 0x41, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x3f, 0x10, 0x08, 0xfc, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, + 0x07, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xc1, 0x07, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc0, 0x1c, 0x00, 0x00, 0xf8, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xe0, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd0, 0xc1, 0x06, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x80, 0x19, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xf0, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb8, 0xc1, 0x0d, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x39, 0x00, 0x00, 0xac, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, + 0xc1, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3d, 0x00, 0x00, + 0xfc, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x60, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xc0, 0xf7, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x33, + 0x00, 0x00, 0xcc, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xc0, 0x9e, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xc0, 0x03, 0x00, 0x00, 0x40, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x80, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x41, 0x00, 0x41, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x07, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xa0, 0x77, + 0x00, 0xf6, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xfc, 0x3d, 0x00, 0xbc, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xfc, 0x1e, 0x00, 0xde, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xa0, 0x37, 0x00, 0xf7, 0x03, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x00, 0x63, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc1, 0x00, 0x41, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, + 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xc0, 0xb4, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xc0, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xe3, 0x07, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xd8, 0xc1, 0x0f, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xb0, 0xc1, 0x04, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, + 0xc1, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x38, 0xc1, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x38, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x3c, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x1c, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00}; diff --git a/dxtn.dll b/dxtn.dll new file mode 100644 index 0000000..ff0673a Binary files /dev/null and b/dxtn.dll differ diff --git a/help.md b/help.md new file mode 100644 index 0000000..27b9fd4 --- /dev/null +++ b/help.md @@ -0,0 +1,200 @@ +-silent-dup-error Do not show fatal exit error mesage box +-a # default pointer acceleration (factor) +-ac disable access control restrictions +-audit int set audit trail level +-auth file select authorization file +-br create root window with black background ++bs enable any backing store support +-bs disable any backing store support +-cc int default color visual class +-nocursor disable the cursor +-core generate core dump on fatal error +-displayfd fd file descriptor to write display number to when ready to connect +-dpi [auto|int] screen resolution set to native or this dpi +-dpms disables VESA DPMS monitor control +-deferglyphs [none|all|16] defer loading of [no|all|16-bit] glyphs +-f # bell base (0-100) +-fakescreenfps # fake screen default fps (1-600) +-fp string default font path +-help prints message with these options ++iglx Allow creating indirect GLX contexts (default) +-iglx Prohibit creating indirect GLX contexts +-I ignore all remaining arguments +-maxclients n set maximum number of clients (power of two) +-nolisten string don't listen on protocol +-listen string listen on protocol +-noreset don't reset after last client exists +-background [none] create root window with no background +-reset reset after last client exists +-pn accept failure to listen on all ports +-nopn reject failure to listen on all ports +-r turns off auto-repeat +r turns on auto-repeat +-render [default|mono|gray|color] set render color alloc policy +-retro start with classic stipple +-seat string seat to run on +-t # default pointer threshold (pixels/t) +-terminate [delay] terminate at server reset (optional delay in sec) +-tst disable testing extensions +-wr create root window with white background ++xinerama Enable XINERAMA extension +-xinerama Disable XINERAMA extension +-dumbSched Disable smart scheduling and threaded input, enable old behavior +-schedInterval int Set scheduler interval in msec ++extension name Enable extension +-extension name Disable extension + Only the following extensions can be run-time enabled/disabled: + Generic Event Extension + XTEST + SECURITY + XINERAMA + XFIXES + XFree86-Bigfont + RENDER + RANDR + COMPOSITE + DAMAGE + MIT-SCREEN-SAVER + DOUBLE-BUFFER + RECORD + DPMS + X-Resource + GLX +-vmid GUID Hyper-V VM GUID to accept VSock connections from +-vsockport port integer port number to listen for VSock connections. Default 106000. +-query host-name contact named host for XDMCP +-broadcast broadcast for XDMCP +-multicast [addr [hops]] IPv6 multicast for XDMCP +-indirect host-name contact named host for indirect XDMCP +-port port-num UDP port number to send messages to +-from local-address specify the local address to connect from +-once Terminate server after one session +-class display-class specify display class to send in manage +-cookie xdm-auth-bits specify the magic cookie for XDMCP +-displayID display-id manufacturer display ID for request +[+-]accessx [ timeout [ timeout_mask [ feedback [ options_mask] ] ] ] + enable/disable accessx key sequences + +VcXsrv Device Dependent Usage: + +-[no]clipboard + Enable [disable] the clipboard integration. Default is enabled. +-noprimary + Do not map the PRIMARY selection to the windows clipboard. + The CLIPBOARD selection is always mapped if -clipboard is enabled. + Default is mapped. +-clipupdates num_boxes + Use a clipping region to constrain shadow update blits to + the updated region when num_boxes, or more, are in the + updated region. Diminished effect on current Windows + versions because they already group GDI operations together + in a batch, which has a similar effect. +-[no]compositewm + Enable [Disable] Composite extension. Default is enabled. + Used in -multiwindow mode. + Use Composite extension redirection to maintain a bitmap + image of each top-level X window, so window contents which + are occluded show correctly in Taskbar and Task Switcher + previews. +-[no]compositealpha + X windows with per-pixel alpha are composited into the Windows desktop. +-[no]compositewm + Use the Composite extension to keep a bitmap image of each top-level + X window, so window contents which are occluded show correctly in + task bar and task switcher previews. +-depth bits_per_pixel + Specify an optional bitdepth to use in fullscreen mode + with a DirectDraw engine. +-[no]emulate3buttons [timeout] + Emulate 3 button mouse with an optional timeout in + milliseconds. +-engine engine_type_id + Override the server's automatically selected engine type: + 1 - Shadow GDI + 4 - Shadow DirectDraw4 Non-Locking +-fullscreen + Run the server in fullscreen mode. +-[no]hostintitle + In multiwindow mode, add remote host names to window titles. +-icon icon_specifier + Set screen window icon in windowed mode. +-ignoreinput + Ignore keyboard and mouse input. +-[no]keyhook + Grab special Windows keypresses like Alt-Tab or the Menu key. +-lesspointer + Hide the windows mouse pointer when it is over any + VcXsrv window. This prevents ghost cursors appearing when + the Windows cursor is drawn on top of the X cursor +-logfile filename + Write log messages to . +-logverbose verbosity + Set the verbosity of log messages. [NOTE: Only a few messages + respect the settings yet] + 0 - only print fatal error. + 1 - print additional configuration information. + 2 - print additional runtime information [default]. + 3 - print debugging and tracing information. +-[no]multimonitors or -[no]multiplemonitors + Use the entire virtual screen if multiple + monitors are present. +-multiwindow + Run the server in multiwindow mode. Not to be used + together with -rootless or -fullscreen. +-nodecoration + Do not draw a window border, title bar, etc. Windowed + mode only i.e. ignored when -fullscreen specified. +-[no]primary + When clipboard integration is enabled, map the X11 PRIMARY selection + to the Windows clipboard. Default is enabled. +-refresh rate_in_Hz + Specify an optional refresh rate to use in fullscreen mode + with a DirectDraw engine. +-resize=none|scrollbars|randr + In windowed mode, [don't] allow resizing of the window. 'scrollbars' + mode gives the window scrollbars as needed, 'randr' mode uses the RANR + extension to resize the X screen. 'randr' is the default. +-rootless + Use a transparent root window with an external window + manager (such as openbox). Not to be used with + -multiwindow or with -fullscreen. +-screen scr_num [width height [x y] | [[WxH[+X+Y]][@m]] ] + Enable screen scr_num and optionally specify a width and + height and initial position for that screen. Additionally + a monitor number can be specified to start the server on, + at which point, all coordinates become relative to that + monitor. Examples: + -screen 0 800x600+100+100@2 ; 2nd monitor offset 100,100 size 800x600 + -screen 0 1024x768@3 ; 3rd monitor size 1024x768 + -screen 0 @1 ; on 1st monitor using its full resolution (the default) +-swcursor + Disable the usage of the Windows cursor and use the X11 software + cursor instead. +-[no]trayicon + Do not create a notification area icon. Default is to create + one icon per screen. You can globally disable notification area + icons with -notrayicon, then enable them for specific screens + with -trayicon for those screens. +-[no]unixkill + Ctrl-Alt-Backspace exits the X Server. The Ctrl-Alt-Backspace + key combo is disabled by default. +-[no]wgl + Enable the GLX extension to use the native Windows WGL interface for hardware-accelerated OpenGL +-swrastwgl + Enable the GLX extension to use the native Windows WGL interface based on the swrast interface for accelerated OpenGL +-[no]winkill + Alt+F4 exits the X Server. +-xkblayout XKBLayout + Set the layout to use for XKB. This defaults to a layout + matching your current layout from Windows or us (i.e. USA) + if no matching layout was found. + For example: -xkblayout de +-xkbmodel XKBModel + Set the model to use for XKB. This defaults to pc105. +-xkboptions XKBOptions + Set the options to use for XKB. This defaults to not set. +-xkbrules XKBRules + Set the rules to use for XKB. This defaults to xorg. +-xkbvariant XKBVariant + Set the variant to use for XKB. This defaults to not set. + For example: -xkbvariant nodeadkeys \ No newline at end of file diff --git a/libX11.dll b/libX11.dll new file mode 100644 index 0000000..3aa2213 Binary files /dev/null and b/libX11.dll differ diff --git a/libXau.dll b/libXau.dll new file mode 100644 index 0000000..cde157d Binary files /dev/null and b/libXau.dll differ diff --git a/libXext.dll b/libXext.dll new file mode 100644 index 0000000..2fbdc56 Binary files /dev/null and b/libXext.dll differ diff --git a/libXmu.dll b/libXmu.dll new file mode 100644 index 0000000..68cb7ac Binary files /dev/null and b/libXmu.dll differ diff --git a/libcrypto-1_1-x64.dll b/libcrypto-1_1-x64.dll new file mode 100644 index 0000000..2b322ec Binary files /dev/null and b/libcrypto-1_1-x64.dll differ diff --git a/libgcc_s_sjlj-1.dll b/libgcc_s_sjlj-1.dll new file mode 100644 index 0000000..df1acf8 Binary files /dev/null and b/libgcc_s_sjlj-1.dll differ diff --git a/libwinpthread-1.dll b/libwinpthread-1.dll new file mode 100644 index 0000000..c9560bb Binary files /dev/null and b/libwinpthread-1.dll differ diff --git a/libxcb.dll b/libxcb.dll new file mode 100644 index 0000000..c9699a8 Binary files /dev/null and b/libxcb.dll differ diff --git a/locale/C/Compose b/locale/C/Compose new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/locale/C/Compose @@ -0,0 +1 @@ + diff --git a/locale/C/XI18N_OBJS b/locale/C/XI18N_OBJS new file mode 100644 index 0000000..3a9a1bb --- /dev/null +++ b/locale/C/XI18N_OBJS @@ -0,0 +1,8 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for euro locales +# +XLC common/xlibi18n _XlcGenericLoader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open + diff --git a/locale/C/XLC_LOCALE b/locale/C/XLC_LOCALE new file mode 100644 index 0000000..11c0bab --- /dev/null +++ b/locale/C/XLC_LOCALE @@ -0,0 +1,60 @@ + +# XLocale Database Sample for C. +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class (7 bit ASCII) +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary ISO8859-1:GL + vertical_rotate all + } +} +END XLC_FONTSET + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name STRING +mb_cur_max 1 +state_depend_encoding False + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True +force_convert_to_mb True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding ISO8859-1:GL +} + +# cs1 class +cs1 { + side GR:Default + length 1 + + + + wc_encoding \x00008080 + + ct_encoding ISO8859-1:GR +} + +END XLC_XLOCALE diff --git a/locale/am_ET.UTF-8/Compose b/locale/am_ET.UTF-8/Compose new file mode 100644 index 0000000..cf50700 --- /dev/null +++ b/locale/am_ET.UTF-8/Compose @@ -0,0 +1,361 @@ + +# +# UTF-8 (Unicode) compose sequence +# for Ethiopean layout. +# Designed as a part of OLPC project +# +# 2007 Sergey Udaltsov +# + + +# +# Group I +# + +# Modifier: /u/ + : "ሁ" U1201 # key h (base character ሀ) + : "ሉ" U1209 # key l (base character ለ) + : "ሙ" U1219 # key m (base character መ) + : "ሩ" U1229 # key r (base character ረ) + : "ሱ" U1231 # key s (base character ሰ) + : "ቁ" U1241 # key q (base character ቀ) + : "ቡ" U1261 # key b (base character በ) + : "ቱ" U1271 # key t (base character ተ) + : "ኑ" U1291 # key n (base character ነ) + : "ኡ" U12A1 # key x (base character አ) + : "ኩ" U12A9 # key k (base character ከ) + : "ዉ" U12C9 # key w (base character ወ) + : "ዙ" U12D9 # key z (base character ዘ) + : "ዩ" U12E9 # key y (base character የ) + : "ዱ" U12F1 # key d (base character ደ) + : "ጁ" U1301 # key j (base character ጀ) + : "ጉ" U1309 # key g (base character ገ) + : "ፁ" U1341 # key [ (base character ፀ) + : "ፉ" U1349 # key f (base character ፈ) + : "ፑ" U1351 # key p (base character ፐ) + : "ሹ" U1239 # key v (base character ሸ) + : "ጩ" U1329 # key ] (base character ጨ) + +# Modifier: /i/ + : "ሂ" U1202 # key h (base character ሀ) + : "ሊ" U120A # key l (base character ለ) + : "ሚ" U121A # key m (base character መ) + : "ሪ" U122A # key r (base character ረ) + : "ሲ" U1232 # key s (base character ሰ) + : "ቂ" U1242 # key q (base character ቀ) + : "ቢ" U1262 # key b (base character በ) + : "ቲ" U1272 # key t (base character ተ) + : "ኒ" U1292 # key n (base character ነ) + : "ኢ" U12A2 # key x (base character አ) + : "ኪ" U12AA # key k (base character ከ) + : "ዊ" U12CA # key w (base character ወ) + : "ዚ" U12DA # key z (base character ዘ) + : "ዪ" U12EA # key y (base character የ) + : "ዲ" U12F2 # key d (base character ደ) + : "ጂ" U1302 # key j (base character ጀ) + : "ጊ" U130A # key g (base character ገ) + : "ፂ" U1342 # key [ (base character ፀ) + : "ፊ" U134A # key f (base character ፈ) + : "ፒ" U1352 # key p (base character ፐ) + : "ሺ" U123A # key v (base character ሸ) + : "ጪ" U132A # key ] (base character ጨ) + +# Modifier: /a/ + : "ሃ" U1203 # key h (base character ሀ) + : "ላ" U120B # key l (base character ለ) + : "ማ" U121B # key m (base character መ) + : "ራ" U122B # key r (base character ረ) + : "ሳ" U1233 # key s (base character ሰ) + : "ቃ" U1243 # key q (base character ቀ) + : "ባ" U1263 # key b (base character በ) + : "ታ" U1273 # key t (base character ተ) + : "ና" U1293 # key n (base character ነ) + : "ኣ" U12A3 # key x (base character አ) + : "ካ" U12AB # key k (base character ከ) + : "ዋ" U12CB # key w (base character ወ) + : "ዛ" U12DB # key z (base character ዘ) + : "ያ" U12EB # key y (base character የ) + : "ዳ" U12F3 # key d (base character ደ) + : "ጃ" U1303 # key j (base character ጀ) + : "ጋ" U130B # key g (base character ገ) + : "ፃ" U1343 # key [ (base character ፀ) + : "ፋ" U134B # key f (base character ፈ) + : "ፓ" U1353 # key p (base character ፐ) + : "ሻ" U123B # key v (base character ሸ) + : "ጫ" U132B # key ] (base character ጨ) + +# Modifier: /e/ + : "ሄ" U1204 # key h (base character ሀ) + : "ሌ" U120C # key l (base character ለ) + : "ሜ" U121C # key m (base character መ) + : "ሬ" U122C # key r (base character ረ) + : "ሴ" U1234 # key s (base character ሰ) + : "ቄ" U1244 # key q (base character ቀ) + : "ቤ" U1264 # key b (base character በ) + : "ቴ" U1274 # key t (base character ተ) + : "ኔ" U1294 # key n (base character ነ) + : "ኤ" U12A4 # key x (base character አ) + : "ኬ" U12AC # key k (base character ከ) + : "ዌ" U12CC # key w (base character ወ) + : "ዜ" U12DC # key z (base character ዘ) + : "ዬ" U12EC # key y (base character የ) + : "ዴ" U12F4 # key d (base character ደ) + : "ጄ" U1304 # key j (base character ጀ) + : "ጌ" U130C # key g (base character ገ) + : "ፄ" U1344 # key [ (base character ፀ) + : "ፌ" U134C # key f (base character ፈ) + : "ፔ" U1354 # key p (base character ፐ) + : "ሼ" U123C # key v (base character ሸ) + : "ጬ" U132C # key ] (base character ጨ) + +# Modifier: /c/ + : "ህ" U1205 # key h (base character ሀ) + : "ል" U120D # key l (base character ለ) + : "ም" U121D # key m (base character መ) + : "ር" U122D # key r (base character ረ) + : "ስ" U1235 # key s (base character ሰ) + : "ቅ" U1245 # key q (base character ቀ) + : "ብ" U1265 # key b (base character በ) + : "ት" U1275 # key t (base character ተ) + : "ን" U1295 # key n (base character ነ) + : "እ" U12A5 # key x (base character አ) + : "ክ" U12AD # key k (base character ከ) + : "ው" U12CD # key w (base character ወ) + : "ዝ" U12DD # key z (base character ዘ) + : "ይ" U12ED # key y (base character የ) + : "ድ" U12F5 # key d (base character ደ) + : "ጅ" U1305 # key j (base character ጀ) + : "ግ" U130D # key g (base character ገ) + : "ፅ" U1345 # key [ (base character ፀ) + : "ፍ" U134D # key f (base character ፈ) + : "ፕ" U1355 # key p (base character ፐ) + : "ሽ" U123D # key v (base character ሸ) + : "ጭ" U132D # key ] (base character ጨ) + +# Modifier: /o/ + : "ሆ" U1206 # key h (base character ሀ) + : "ሎ" U120E # key l (base character ለ) + : "ሞ" U121E # key m (base character መ) + : "ሮ" U122E # key r (base character ረ) + : "ሶ" U1236 # key s (base character ሰ) + : "ቆ" U1246 # key q (base character ቀ) + : "ቦ" U1266 # key b (base character በ) + : "ቶ" U1276 # key t (base character ተ) + : "ኖ" U1296 # key n (base character ነ) + : "ኦ" U12A6 # key x (base character አ) + : "ኮ" U12AE # key k (base character ከ) + : "ዎ" U12CE # key w (base character ወ) + : "ዞ" U12DE # key z (base character ዘ) + : "ዮ" U12EE # key y (base character የ) + : "ዶ" U12F6 # key d (base character ደ) + : "ጆ" U1306 # key j (base character ጀ) + : "ጎ" U130E # key g (base character ገ) + : "ፆ" U1346 # key [ (base character ፀ) + : "ፎ" U134E # key f (base character ፈ) + : "ፖ" U1356 # key p (base character ፐ) + : "ሾ" U123E # key v (base character ሸ) + : "ጮ" U132E # key ] (base character ጨ) + +# Modifier: /A/ + : "ሏ" U120F # key l (base character ለ) + : "ሟ" U121F # key m (base character መ) + : "ሯ" U122F # key r (base character ረ) + : "ሷ" U1237 # key s (base character ሰ) + : "ቋ" U124B # key q (base character ቀ) + : "ቧ" U1267 # key b (base character በ) + : "ቷ" U1277 # key t (base character ተ) + : "ኗ" U1297 # key n (base character ነ) + : "ኧ" U12A7 # key x (base character አ) + : "ኳ" U12B3 # key k (base character ከ) + : "ዟ" U12DF # key z (base character ዘ) + : "ዷ" U12F7 # key d (base character ደ) + : "ጇ" U1307 # key j (base character ጀ) + : "ጓ" U1313 # key g (base character ገ) + : "ፏ" U134F # key f (base character ፈ) + : "ፗ" U1357 # key p (base character ፐ) + : "ሿ" U123F # key v (base character ሸ) + : "ጯ" U132F # key ] (base character ጨ) + +# Modifier: /U/ + : "ቍ" U124D # key q (base character ቀ) + : "ኵ" U12B5 # key k (base character ከ) + : "ጕ" U1315 # key g (base character ገ) + +# Modifier: /I/ + : "ቊ" U124A # key q (base character ቀ) + : "ኲ" U12B2 # key k (base character ከ) + : "ጒ" U1312 # key g (base character ገ) + +# Modifier: /E/ + : "ቌ" U124C # key q (base character ቀ) + : "ኴ" U12B4 # key k (base character ከ) + : "ጔ" U1314 # key g (base character ገ) + +# Modifier: /O/ + : "ቈ" U1248 # key q (base character ቀ) + : "ኰ" U12B0 # key k (base character ከ) + : "ጐ" U1310 # key g (base character ገ) + +# +# Group II +# +# Modifier: /u/ + : "ሑ" U1211 # key h (base character ሐ) + : "ሡ" U1221 # key s (base character ሠ) + : "ቑ" U1251 # key q (base character ቐ) + : "ቹ" U1279 # key c (base character ቸ) + : "ጡ" U1321 # key t (base character ጠ) + : "ኙ" U1299 # key n (base character ኘ) + : "ዑ" U12D1 # key x (base character ዐ) + : "ኹ" U12B9 # key k (base character ኸ) + : "ዡ" U12E1 # key z (base character ዠ) + : "ዹ" U12F9 # key d (base character ዸ) + : "ጙ" U1319 # key g (base character ጘ) + : "ጹ" U1339 # key [ (base character ጸ) + : "ጱ" U1331 # key p (base character ጰ) + : "ኁ" U1281 # key ] (base character ኀ) + : "ቩ" U1269 # key v (base character ቨ) + +# Modifier: /i/ + : "ሒ" U1212 # key h (base character ሐ) + : "ሢ" U1222 # key s (base character ሠ) + : "ቒ" U1252 # key q (base character ቐ) + : "ቺ" U127A # key c (base character ቸ) + : "ጢ" U1322 # key t (base character ጠ) + : "ኚ" U129A # key n (base character ኘ) + : "ዒ" U12D2 # key x (base character ዐ) + : "ኺ" U12BA # key k (base character ኸ) + : "ዢ" U12E2 # key z (base character ዠ) + : "ዺ" U12FA # key d (base character ዸ) + : "ጚ" U131A # key g (base character ጘ) + : "ጺ" U133A # key [ (base character ጸ) + : "ጲ" U1332 # key p (base character ጰ) + : "ኂ" U1282 # key ] (base character ኀ) + : "ቪ" U126A # key v (base character ቨ) + +# Modifier: /a/ + : "ሓ" U1213 # key h (base character ሐ) + : "ሣ" U1223 # key s (base character ሠ) + : "ቓ" U1253 # key q (base character ቐ) + : "ቻ" U127B # key c (base character ቸ) + : "ጣ" U1323 # key t (base character ጠ) + : "ኛ" U129B # key n (base character ኘ) + : "ዓ" U12D3 # key x (base character ዐ) + : "ኻ" U12BB # key k (base character ኸ) + : "ዣ" U12E3 # key z (base character ዠ) + : "ዻ" U12FB # key d (base character ዸ) + : "ጛ" U131B # key g (base character ጘ) + : "ጻ" U133B # key [ (base character ጸ) + : "ጳ" U1333 # key p (base character ጰ) + : "ኃ" U1283 # key ] (base character ኀ) + : "ቫ" U126B # key v (base character ቨ) + +# Modifier: /e/ + : "ሔ" U1214 # key h (base character ሐ) + : "ሤ" U1224 # key s (base character ሠ) + : "ቔ" U1254 # key q (base character ቐ) + : "ቼ" U127C # key c (base character ቸ) + : "ጤ" U1324 # key t (base character ጠ) + : "ኜ" U129C # key n (base character ኘ) + : "ዔ" U12D4 # key x (base character ዐ) + : "ኼ" U12BC # key k (base character ኸ) + : "ዤ" U12E4 # key z (base character ዠ) + : "ዼ" U12FC # key d (base character ዸ) + : "ጜ" U131C # key g (base character ጘ) + : "ጼ" U133C # key [ (base character ጸ) + : "ጴ" U1334 # key p (base character ጰ) + : "ኄ" U1284 # key ] (base character ኀ) + : "ቬ" U126C # key v (base character ቨ) + +# Modifier: /c/ + : "ሕ" U1215 # key h (base character ሐ) + : "ሥ" U1225 # key s (base character ሠ) + : "ቕ" U1255 # key q (base character ቐ) + : "ች" U127D # key c (base character ቸ) + : "ጥ" U1325 # key t (base character ጠ) + : "ኝ" U129D # key n (base character ኘ) + : "ዕ" U12D5 # key x (base character ዐ) + : "ኽ" U12BD # key k (base character ኸ) + : "ዥ" U12E5 # key z (base character ዠ) + : "ዽ" U12FD # key d (base character ዸ) + : "ጝ" U131D # key g (base character ጘ) + : "ጽ" U133D # key [ (base character ጸ) + : "ጵ" U1335 # key p (base character ጰ) + : "ኅ" U1285 # key ] (base character ኀ) + : "ቭ" U126D # key v (base character ቨ) + +# Modifier: /o/ + : "ሖ" U1216 # key h (base character ሐ) + : "ሦ" U1226 # key s (base character ሠ) + : "ቖ" U1256 # key q (base character ቐ) + : "ቾ" U127E # key c (base character ቸ) + : "ጦ" U1326 # key t (base character ጠ) + : "ኞ" U129E # key n (base character ኘ) + : "ዖ" U12D6 # key x (base character ዐ) + : "ኾ" U12BE # key k (base character ኸ) + : "ዦ" U12E6 # key z (base character ዠ) + : "ዾ" U12FE # key d (base character ዸ) + : "ጞ" U131E # key g (base character ጘ) + : "ጾ" U133E # key [ (base character ጸ) + : "ጶ" U1336 # key p (base character ጰ) + : "ኆ" U1286 # key ] (base character ኀ) + : "ቮ" U126E # key v (base character ቨ) + +# Modifier: /A/ + : "ሗ" U1217 # key h (base character ሐ) + : "ሧ" U1227 # key s (base character ሠ) + : "ቛ" U125B # key q (base character ቐ) + : "ቿ" U127F # key c (base character ቸ) + : "ጧ" U1327 # key t (base character ጠ) + : "ኟ" U129F # key n (base character ኘ) + : "ዃ" U12C3 # key k (base character ኸ) + : "ዧ" U12E7 # key z (base character ዠ) + : "ዿ" U12FF # key d (base character ዸ) + : "ጿ" U133F # key [ (base character ጸ) + : "ጷ" U1337 # key p (base character ጰ) + : "ኋ" U128B # key ] (base character ኀ) + : "ቯ" U126F # key v (base character ቨ) + +# Modifier: /U/ + : "ቝ" U125D # key q (base character ቐ) + : "ዅ" U12C5 # key k (base character ኸ) + +# Modifier: /I/ + : "ቚ" U125A # key q (base character ቐ) + : "ዂ" U12C2 # key k (base character ኸ) + +# Modifier: /E/ + : "ቜ" U125C # key q (base character ቐ) + : "ዄ" U12C4 # key k (base character ኸ) + +# Modifier: /O/ + : "ቘ" U1258 # key q (base character ቐ) + : "ዀ" U12C0 # key k (base character ኸ) + +# +# Group III +# + : "፥" U1365 # key " + : "፦" U1366 # key " + : "|" U007C # key - + : "¥" U00A5 # key _ + : "፧" U1367 # key ? + +# +# Khmer digraphs +# + + : "ាំ" + : "ោះ" + : "េះ" + : "ុំ" + : "ុះ" + +# +# Arabic Lam-Alef ligatures +# + + : "لا" # ARABIC LIGATURE LAM WITH ALEF + : "لأ" # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE + : "لإ" # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW + : "لآ" # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE diff --git a/locale/am_ET.UTF-8/XI18N_OBJS b/locale/am_ET.UTF-8/XI18N_OBJS new file mode 100644 index 0000000..e69de29 diff --git a/locale/am_ET.UTF-8/XLC_LOCALE b/locale/am_ET.UTF-8/XLC_LOCALE new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/locale/am_ET.UTF-8/XLC_LOCALE @@ -0,0 +1 @@ + diff --git a/locale/armscii-8/Compose b/locale/armscii-8/Compose new file mode 100644 index 0000000..290365d --- /dev/null +++ b/locale/armscii-8/Compose @@ -0,0 +1,15 @@ + +# +# ARMSCII-8 Compose Sequence +# +# Sequence Definition +# +# +# This file currently has no entries. It appears that a compose file (even +# just an empty one) is required for the appropriate keysyms to work for +# this encoding. +# +# Means +# Special Character + +# End of Sequence Definition diff --git a/locale/armscii-8/XI18N_OBJS b/locale/armscii-8/XI18N_OBJS new file mode 100644 index 0000000..02d87c6 --- /dev/null +++ b/locale/armscii-8/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for armscii-8 locale +# +XLC common/xlcDef _XlcDefaultLoader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/armscii-8/XLC_LOCALE b/locale/armscii-8/XLC_LOCALE new file mode 100644 index 0000000..decb4c0 --- /dev/null +++ b/locale/armscii-8/XLC_LOCALE @@ -0,0 +1,78 @@ + +# XLocale Database Sample for armscii-8. +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class (7 bit ASCII) +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary ARMSCII-8:GL + substitute ISO8859-1:GL + } +} +# fs1 class +fs1 { + charset ARMSCII-8:GR + font ARMSCII-8:GR +} +END XLC_FONTSET + +# +# XLC_CHARSET_DEFINE category +# +XLC_CHARSET_DEFINE +csd0 { + charset_name ARMSCII-8 + side GR + length 1 + string_encoding False + sequence \x1b%/1 +} +END XLC_CHARSET_DEFINE + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name ARMSCII-8 +mb_cur_max 1 +state_depend_encoding False + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding ARMSCII-8:GL; ISO8859-1:GL +} + + +# cs1 class +cs1 { + side GR:Default + length 1 + + + + wc_encoding \x00008080 + + ct_encoding ARMSCII-8:GR +} + +END XLC_XLOCALE diff --git a/locale/compose.dir b/locale/compose.dir new file mode 100644 index 0000000..2e58591 --- /dev/null +++ b/locale/compose.dir @@ -0,0 +1,950 @@ + +# +# This file contains compose table file names. +# The first word is the compose table file name +# and the second word is the full locale name. +# +# +iso8859-1/Compose C +iso8859-1/Compose af_ZA.ISO8859-1 +iso8859-6/Compose ar_AA.ISO8859-6 +iso8859-6/Compose ar_AE.ISO8859-6 +iso8859-6/Compose ar_BH.ISO8859-6 +iso8859-6/Compose ar_DZ.ISO8859-6 +iso8859-6/Compose ar_EG.ISO8859-6 +iso8859-6/Compose ar_IQ.ISO8859-6 +iso8859-6/Compose ar_JO.ISO8859-6 +iso8859-6/Compose ar_KW.ISO8859-6 +iso8859-6/Compose ar_LB.ISO8859-6 +iso8859-6/Compose ar_LY.ISO8859-6 +iso8859-6/Compose ar_MA.ISO8859-6 +iso8859-6/Compose ar_OM.ISO8859-6 +iso8859-6/Compose ar_QA.ISO8859-6 +iso8859-6/Compose ar_SA.ISO8859-6 +iso8859-6/Compose ar_SD.ISO8859-6 +iso8859-6/Compose ar_SY.ISO8859-6 +iso8859-6/Compose ar_TN.ISO8859-6 +iso8859-6/Compose ar_YE.ISO8859-6 +iso8859-9e/Compose az_AZ.ISO8859-9E +koi8-c/Compose az_AZ.KOI8-C +microsoft-cp1251/Compose be_BY.CP1251 +iso8859-5/Compose be_BY.ISO8859-5 +iso8859-5/Compose bg_BG.ISO8859-5 +microsoft-cp1251/Compose bg_BG.CP1251 +koi8-r/Compose bg_BG.KOI8-R +iso8859-1/Compose br_FR.ISO8859-1 +iso8859-14/Compose br_FR.ISO8859-14 +iso8859-15/Compose br_FR.ISO8859-15 +iso8859-2/Compose bs_BA.ISO8859-2 +iso8859-1/Compose ca_AD.ISO8859-1 +iso8859-15/Compose ca_AD.ISO8859-15 +iso8859-1/Compose ca_ES.ISO8859-1 +iso8859-15/Compose ca_ES.ISO8859-15 +iso8859-1/Compose ca_FR.ISO8859-1 +iso8859-15/Compose ca_FR.ISO8859-15 +iso8859-1/Compose ca_IT.ISO8859-1 +iso8859-15/Compose ca_IT.ISO8859-15 +iso8859-2/Compose cs_CZ.ISO8859-2 +iso8859-1/Compose cy_GB.ISO8859-1 +iso8859-14/Compose cy_GB.ISO8859-14 +iso8859-15/Compose cy_GB.ISO8859-15 +iso8859-1/Compose da_DK.ISO8859-1 +iso8859-15/Compose da_DK.ISO8859-15 +iso8859-1/Compose de_AT.ISO8859-1 +iso8859-15/Compose de_AT.ISO8859-15 +iso8859-1/Compose de_BE.ISO8859-1 +iso8859-15/Compose de_BE.ISO8859-15 +iso8859-1/Compose de_CH.ISO8859-1 +iso8859-15/Compose de_CH.ISO8859-15 +iso8859-1/Compose de_DE.ISO8859-1 +iso8859-15/Compose de_DE.ISO8859-15 +iso8859-1/Compose de_LI.ISO8859-1 +iso8859-15/Compose de_LI.ISO8859-15 +iso8859-1/Compose de_LU.ISO8859-1 +iso8859-15/Compose de_LU.ISO8859-15 +iso8859-4/Compose ee_EE.ISO8859-4 +iso8859-7/Compose el_GR.ISO8859-7 +iso8859-15/Compose el_GR.ISO8859-15 +iso8859-1/Compose en_AU.ISO8859-1 +iso8859-1/Compose en_BE.ISO8859-1 +iso8859-15/Compose en_BE.ISO8859-15 +iso8859-1/Compose en_BW.ISO8859-1 +iso8859-1/Compose en_BZ.ISO8859-1 +iso8859-1/Compose en_CA.ISO8859-1 +iso8859-1/Compose en_EN.ISO8859-1 +iso8859-1/Compose en_GB.ISO8859-1 +iso8859-15/Compose en_GB.ISO8859-15 +iso8859-1/Compose en_HK.ISO8859-1 +iso8859-1/Compose en_IE.ISO8859-1 +iso8859-15/Compose en_IE.ISO8859-15 +iso8859-1/Compose en_IL.ISO8859-1 +iso8859-15/Compose en_IN.ISO8859-15 +iso8859-1/Compose en_JM.ISO8859-1 +iso8859-1/Compose en_NZ.ISO8859-1 +iso8859-1/Compose en_PH.ISO8859-1 +iso8859-1/Compose en_SG.ISO8859-1 +iso8859-1/Compose en_TT.ISO8859-1 +iso8859-1/Compose en_UK.ISO8859-1 +iso8859-15/Compose en_UK.ISO8859-15 +iso8859-1/Compose en_US.ISO8859-1 +iso8859-15/Compose en_US.ISO8859-15 +iso8859-1/Compose en_ZA.ISO8859-1 +iso8859-15/Compose en_ZA.ISO8859-15 +iso8859-1/Compose en_ZW.ISO8859-1 +iso8859-3/Compose eo_EO.ISO8859-3 +iso8859-3/Compose eo_XX.ISO8859-3 +iso8859-1/Compose es_AR.ISO8859-1 +iso8859-1/Compose es_BO.ISO8859-1 +iso8859-1/Compose es_CL.ISO8859-1 +iso8859-1/Compose es_CO.ISO8859-1 +iso8859-1/Compose es_CR.ISO8859-1 +iso8859-1/Compose es_DO.ISO8859-1 +iso8859-1/Compose es_EC.ISO8859-1 +iso8859-1/Compose es_ES.ISO8859-1 +iso8859-15/Compose es_ES.ISO8859-15 +iso8859-1/Compose es_GT.ISO8859-1 +iso8859-1/Compose es_HN.ISO8859-1 +iso8859-1/Compose es_MX.ISO8859-1 +iso8859-1/Compose es_NI.ISO8859-1 +iso8859-1/Compose es_PA.ISO8859-1 +iso8859-15/Compose es_PA.ISO8859-15 +iso8859-1/Compose es_PE.ISO8859-1 +iso8859-15/Compose es_PE.ISO8859-15 +iso8859-1/Compose es_PR.ISO8859-1 +iso8859-1/Compose es_PY.ISO8859-1 +iso8859-15/Compose es_PY.ISO8859-15 +iso8859-1/Compose es_SV.ISO8859-1 +iso8859-15/Compose es_SV.ISO8859-15 +iso8859-1/Compose es_US.ISO8859-1 +iso8859-1/Compose es_UY.ISO8859-1 +iso8859-15/Compose es_UY.ISO8859-15 +iso8859-1/Compose es_VE.ISO8859-1 +iso8859-15/Compose es_VE.ISO8859-15 +iso8859-1/Compose et_EE.ISO8859-1 +iso8859-4/Compose et_EE.ISO8859-4 +iso8859-13/Compose et_EE.ISO8859-13 +iso8859-15/Compose et_EE.ISO8859-15 +iso8859-1/Compose eu_ES.ISO8859-1 +iso8859-15/Compose eu_ES.ISO8859-15 +isiri-3342/Compose fa_IR.ISIRI-3342 +iso8859-1/Compose fi_FI.ISO8859-1 +iso8859-15/Compose fi_FI.ISO8859-15 +iso8859-1/Compose fo_FO.ISO8859-1 +iso8859-15/Compose fo_FO.ISO8859-15 +iso8859-1/Compose fr_BE.ISO8859-1 +iso8859-15/Compose fr_BE.ISO8859-15 +iso8859-1/Compose fr_CA.ISO8859-1 +iso8859-15/Compose fr_CA.ISO8859-15 +iso8859-1/Compose fr_CH.ISO8859-1 +iso8859-15/Compose fr_CH.ISO8859-15 +iso8859-1/Compose fr_FR.ISO8859-1 +iso8859-15/Compose fr_FR.ISO8859-15 +iso8859-1/Compose fr_LU.ISO8859-1 +iso8859-15/Compose fr_LU.ISO8859-15 +iso8859-1/Compose ga_IE.ISO8859-1 +iso8859-14/Compose ga_IE.ISO8859-14 +iso8859-15/Compose ga_IE.ISO8859-15 +iso8859-1/Compose gd_GB.ISO8859-1 +iso8859-14/Compose gd_GB.ISO8859-14 +iso8859-15/Compose gd_GB.ISO8859-15 +iso8859-1/Compose gl_ES.ISO8859-1 +iso8859-15/Compose gl_ES.ISO8859-15 +iso8859-1/Compose gv_GB.ISO8859-1 +iso8859-14/Compose gv_GB.ISO8859-14 +iso8859-15/Compose gv_GB.ISO8859-15 +iso8859-8/Compose he_IL.ISO8859-8 +microsoft-cp1255/Compose he_IL.CP1255 +iscii-dev/Compose hi_IN.ISCII-DEV +iso8859-2/Compose hr_HR.ISO8859-2 +iso8859-2/Compose hu_HU.ISO8859-2 +armscii-8/Compose hy_AM.ARMSCII-8 +iso8859-1/Compose id_ID.ISO8859-1 +iso8859-15/Compose id_ID.ISO8859-15 +iso8859-1/Compose is_IS.ISO8859-1 +iso8859-15/Compose is_IS.ISO8859-15 +iso8859-1/Compose it_CH.ISO8859-1 +iso8859-15/Compose it_CH.ISO8859-15 +iso8859-1/Compose it_IT.ISO8859-1 +iso8859-15/Compose it_IT.ISO8859-15 +ja/Compose ja_JP.eucJP +ja.SJIS/Compose ja_JP.SJIS +ja.JIS/Compose ja_JP.JIS7 +georgian-academy/Compose ka_GE.GEORGIAN-ACADEMY +georgian-ps/Compose ka_GE.GEORGIAN-PS +iso8859-1/Compose kl_GL.ISO8859-1 +iso8859-15/Compose kl_GL.ISO8859-15 +iso8859-1/Compose kw_GB.ISO8859-1 +iso8859-14/Compose kw_GB.ISO8859-14 +iso8859-15/Compose kw_GB.ISO8859-15 +ko/Compose ko_KR.eucKR +ibm-cp1133/Compose lo_LA.IBM-CP1133 +mulelao-1/Compose lo_LA.MULELAO-1 +iso8859-4/Compose lt_LT.ISO8859-4 +iso8859-13/Compose lt_LT.ISO8859-13 +iso8859-4/Compose lv_LV.ISO8859-4 +iso8859-13/Compose lv_LV.ISO8859-13 +iso8859-13/Compose mi_NZ.ISO8859-13 +iso8859-5/Compose mk_MK.ISO8859-5 +microsoft-cp1251/Compose mk_MK.CP1251 +iso8859-1/Compose ms_MY.ISO8859-1 +iso8859-3/Compose mt_MT.ISO8859-3 +iso8859-1/Compose nl_BE.ISO8859-1 +iso8859-15/Compose nl_BE.ISO8859-15 +iso8859-1/Compose nl_NL.ISO8859-1 +iso8859-15/Compose nl_NL.ISO8859-15 +iso8859-1/Compose no_NO.ISO8859-1 +iso8859-15/Compose no_NO.ISO8859-15 +iso8859-1/Compose nb_NO.ISO8859-1 +iso8859-15/Compose nb_NO.ISO8859-15 +iso8859-1/Compose nn_NO.ISO8859-1 +iso8859-15/Compose nn_NO.ISO8859-15 +iso8859-1/Compose nr_ZA.ISO8859-1 +iso8859-15/Compose nso_ZA.ISO8859-15 +iso8859-1/Compose ny_NO.ISO8859-1 +iso8859-15/Compose ny_NO.ISO8859-15 +iso8859-1/Compose oc_FR.ISO8859-1 +iso8859-15/Compose oc_FR.ISO8859-15 +iso8859-1/Compose pd_DE.ISO8859-1 +iso8859-15/Compose pd_DE.ISO8859-15 +iso8859-1/Compose pd_US.ISO8859-1 +iso8859-15/Compose pd_US.ISO8859-15 +iso8859-1/Compose ph_PH.ISO8859-1 +iso8859-2/Compose pl_PL.ISO8859-2 +iso8859-1/Compose pp_AN.ISO8859-1 +iso8859-1/Compose pt_BR.ISO8859-1 +iso8859-15/Compose pt_BR.ISO8859-15 +iso8859-1/Compose pt_PT.ISO8859-1 +iso8859-15/Compose pt_PT.ISO8859-15 +iso8859-2/Compose ro_RO.ISO8859-2 +koi8-r/Compose ru_RU.KOI8-R +iso8859-5/Compose ru_RU.ISO8859-5 +microsoft-cp1251/Compose ru_RU.CP1251 +microsoft-cp1251/Compose ru_UA.CP1251 +koi8-u/Compose ru_UA.KOI8-U +iso8859-1/Compose rw_RW.ISO8859-1 +iso8859-2/Compose sh_YU.ISO8859-2 +iso8859-2/Compose sk_SK.ISO8859-2 +iso8859-2/Compose sl_SI.ISO8859-2 +iso8859-2/Compose sq_AL.ISO8859-2 +iso8859-2/Compose sr_YU.ISO8859-2 +microsoft-cp1251/Compose sr_YU.CP1251 +iso8859-5/Compose sr_YU.ISO8859-5 +iso8859-1/Compose ss_ZA.ISO8859-1 +iso8859-1/Compose st_ZA.ISO8859-1 +iso8859-1/Compose sv_FI.ISO8859-1 +iso8859-15/Compose sv_FI.ISO8859-15 +iso8859-1/Compose sv_SE.ISO8859-1 +iso8859-15/Compose sv_SE.ISO8859-15 +tscii-0/Compose ta_IN.TSCII-0 +koi8-c/Compose tg_TJ.KOI8-C +iso8859-1/Compose tl_PH.ISO8859-1 +iso8859-11/Compose th_TH.ISO8859-11 +th_TH/Compose th_TH.TIS620 +iso8859-15/Compose tn_ZA.ISO8859-15 +iso8859-9/Compose tr_TR.ISO8859-9 +iso8859-1/Compose ts_ZA.ISO8859-1 +tatar-cyr/Compose tt_RU.TATAR-CYR +microsoft-cp1251/Compose uk_UA.CP1251 +koi8-c/Compose tt_RU.KOI8-C +koi8-u/Compose uk_UA.KOI8-U +iso8859-5/Compose uk_UA.ISO8859-5 +microsoft-cp1256/Compose ur_PK.CP1256 +iso8859-1/Compose uz_UZ.ISO8859-1 +vi_VN.viscii/Compose vi_VN.VISCII +vi_VN.tcvn/Compose vi_VN.TCVN +iso8859-1/Compose wa_BE.ISO8859-1 +iso8859-15/Compose wa_BE.ISO8859-15 +iso8859-1/Compose xh_ZA.ISO8859-1 +microsoft-cp1255/Compose yi_US.CP1255 +zh_CN/Compose zh_CN.eucCN +zh_CN/Compose zh_CN.gb2312 +zh_CN.gbk/Compose zh_CN.gbk +zh_CN.gb18030/Compose zh_CN.gb18030 +zh_HK.big5/Compose zh_HK.big5 +zh_HK.big5hkscs/Compose zh_HK.big5hkscs +zh_TW.big5/Compose zh_TW.big5 +zh_TW/Compose zh_TW.eucTW +iso8859-1/Compose zu_ZA.ISO8859-1 +# +# +en_US.UTF-8/Compose C.UTF-8 +en_US.UTF-8/Compose af_ZA.UTF-8 +am_ET.UTF-8/Compose am_ET.UTF-8 +en_US.UTF-8/Compose ar_AA.UTF-8 +en_US.UTF-8/Compose ar_AE.UTF-8 +en_US.UTF-8/Compose ar_BH.UTF-8 +en_US.UTF-8/Compose ar_DZ.UTF-8 +en_US.UTF-8/Compose ar_EG.UTF-8 +en_US.UTF-8/Compose ar_IN.UTF-8 +en_US.UTF-8/Compose ar_IQ.UTF-8 +en_US.UTF-8/Compose ar_JO.UTF-8 +en_US.UTF-8/Compose ar_KW.UTF-8 +en_US.UTF-8/Compose ar_LB.UTF-8 +en_US.UTF-8/Compose ar_LY.UTF-8 +en_US.UTF-8/Compose ar_MA.UTF-8 +en_US.UTF-8/Compose ar_OM.UTF-8 +en_US.UTF-8/Compose ar_QA.UTF-8 +en_US.UTF-8/Compose ar_SA.UTF-8 +en_US.UTF-8/Compose ar_SD.UTF-8 +en_US.UTF-8/Compose ar_SY.UTF-8 +en_US.UTF-8/Compose ar_TN.UTF-8 +en_US.UTF-8/Compose ar_YE.UTF-8 +en_US.UTF-8/Compose ast_ES.UTF-8 +en_US.UTF-8/Compose as_IN.UTF-8 +en_US.UTF-8/Compose az_AZ.UTF-8 +en_US.UTF-8/Compose be_BY.UTF-8 +en_US.UTF-8/Compose bg_BG.UTF-8 +en_US.UTF-8/Compose bn_BD.UTF-8 +en_US.UTF-8/Compose bn_IN.UTF-8 +en_US.UTF-8/Compose bo_IN.UTF-8 +en_US.UTF-8/Compose br_FR.UTF-8 +en_US.UTF-8/Compose bs_BA.UTF-8 +en_US.UTF-8/Compose ca_AD.UTF-8 +en_US.UTF-8/Compose ca_ES.UTF-8 +en_US.UTF-8/Compose ca_FR.UTF-8 +en_US.UTF-8/Compose ca_IT.UTF-8 +cs_CZ.UTF-8/Compose cs_CZ.UTF-8 +en_US.UTF-8/Compose cy_GB.UTF-8 +en_US.UTF-8/Compose da_DK.UTF-8 +en_US.UTF-8/Compose de_AT.UTF-8 +en_US.UTF-8/Compose de_BE.UTF-8 +en_US.UTF-8/Compose de_CH.UTF-8 +en_US.UTF-8/Compose de_DE.UTF-8 +en_US.UTF-8/Compose de_IT.UTF-8 +en_US.UTF-8/Compose de_LI.UTF-8 +en_US.UTF-8/Compose de_LU.UTF-8 +el_GR.UTF-8/Compose el_CY.UTF-8 +el_GR.UTF-8/Compose el_GR.UTF-8 +en_US.UTF-8/Compose en_AU.UTF-8 +en_US.UTF-8/Compose en_BE.UTF-8 +en_US.UTF-8/Compose en_BW.UTF-8 +en_US.UTF-8/Compose en_BZ.UTF-8 +en_US.UTF-8/Compose en_CA.UTF-8 +en_US.UTF-8/Compose en_DK.UTF-8 +en_US.UTF-8/Compose en_EN.UTF-8 +en_US.UTF-8/Compose en_GB.UTF-8 +en_US.UTF-8/Compose en_HK.UTF-8 +en_US.UTF-8/Compose en_IE.UTF-8 +en_US.UTF-8/Compose en_IL.UTF-8 +en_US.UTF-8/Compose en_IN.UTF-8 +en_US.UTF-8/Compose en_JM.UTF-8 +en_US.UTF-8/Compose en_MT.UTF-8 +en_US.UTF-8/Compose en_NZ.UTF-8 +en_US.UTF-8/Compose en_PH.UTF-8 +en_US.UTF-8/Compose en_SG.UTF-8 +en_US.UTF-8/Compose en_TT.UTF-8 +en_US.UTF-8/Compose en_UK.UTF-8 +en_US.UTF-8/Compose en_US.UTF-8 +en_US.UTF-8/Compose en_ZA.UTF-8 +en_US.UTF-8/Compose en_ZW.UTF-8 +en_US.UTF-8/Compose eo_EO.UTF-8 +en_US.UTF-8/Compose eo_XX.UTF-8 +en_US.UTF-8/Compose es_AR.UTF-8 +en_US.UTF-8/Compose es_BO.UTF-8 +en_US.UTF-8/Compose es_CL.UTF-8 +en_US.UTF-8/Compose es_CO.UTF-8 +en_US.UTF-8/Compose es_CR.UTF-8 +en_US.UTF-8/Compose es_DO.UTF-8 +en_US.UTF-8/Compose es_EC.UTF-8 +en_US.UTF-8/Compose es_ES.UTF-8 +en_US.UTF-8/Compose es_GT.UTF-8 +en_US.UTF-8/Compose es_HN.UTF-8 +en_US.UTF-8/Compose es_MX.UTF-8 +en_US.UTF-8/Compose es_NI.UTF-8 +en_US.UTF-8/Compose es_PA.UTF-8 +en_US.UTF-8/Compose es_PE.UTF-8 +en_US.UTF-8/Compose es_PR.UTF-8 +en_US.UTF-8/Compose es_PY.UTF-8 +en_US.UTF-8/Compose es_SV.UTF-8 +en_US.UTF-8/Compose es_US.UTF-8 +en_US.UTF-8/Compose es_UY.UTF-8 +en_US.UTF-8/Compose es_VE.UTF-8 +en_US.UTF-8/Compose et_EE.UTF-8 +en_US.UTF-8/Compose eu_ES.UTF-8 +en_US.UTF-8/Compose fa_IR.UTF-8 +fi_FI.UTF-8/Compose fi_FI.UTF-8 +en_US.UTF-8/Compose fo_FO.UTF-8 +en_US.UTF-8/Compose fr_BE.UTF-8 +en_US.UTF-8/Compose fr_CA.UTF-8 +en_US.UTF-8/Compose fr_CH.UTF-8 +en_US.UTF-8/Compose fr_FR.UTF-8 +en_US.UTF-8/Compose fr_LU.UTF-8 +en_US.UTF-8/Compose ga_IE.UTF-8 +en_US.UTF-8/Compose gd_GB.UTF-8 +en_US.UTF-8/Compose gl_ES.UTF-8 +en_US.UTF-8/Compose gu_IN.UTF-8 +en_US.UTF-8/Compose gv_GB.UTF-8 +en_US.UTF-8/Compose he_IL.UTF-8 +en_US.UTF-8/Compose hi_IN.UTF-8 +en_US.UTF-8/Compose hne_IN.UTF-8 +en_US.UTF-8/Compose hr_HR.UTF-8 +en_US.UTF-8/Compose hu_HU.UTF-8 +en_US.UTF-8/Compose hy_AM.UTF-8 +en_US.UTF-8/Compose id_ID.UTF-8 +en_US.UTF-8/Compose is_IS.UTF-8 +en_US.UTF-8/Compose it_CH.UTF-8 +en_US.UTF-8/Compose it_IT.UTF-8 +en_US.UTF-8/Compose iu_CA.UTF-8 +ja_JP.UTF-8/Compose ja_JP.UTF-8 +en_US.UTF-8/Compose ka_GE.UTF-8 +en_US.UTF-8/Compose kk_KZ.UTF-8 +en_US.UTF-8/Compose kl_GL.UTF-8 +km_KH.UTF-8/Compose km_KH.UTF-8 +en_US.UTF-8/Compose kn_IN.UTF-8 +ko_KR.UTF-8/Compose ko_KR.UTF-8 +en_US.UTF-8/Compose ks_IN.UTF-8 +en_US.UTF-8/Compose ks_IN.UTF-8@devanagari +en_US.UTF-8/Compose ku_TR.UTF-8 +en_US.UTF-8/Compose kw_GB.UTF-8 +en_US.UTF-8/Compose ky_KG.UTF-8 +en_US.UTF-8/Compose lo_LA.UTF-8 +en_US.UTF-8/Compose lt_LT.UTF-8 +en_US.UTF-8/Compose lv_LV.UTF-8 +en_US.UTF-8/Compose mai_IN.UTF-8 +en_US.UTF-8/Compose mi_NZ.UTF-8 +en_US.UTF-8/Compose mk_MK.UTF-8 +en_US.UTF-8/Compose ml_IN.UTF-8 +en_US.UTF-8/Compose mr_IN.UTF-8 +en_US.UTF-8/Compose ms_MY.UTF-8 +en_US.UTF-8/Compose mt_MT.UTF-8 +en_US.UTF-8/Compose ne_NP.UTF-8 +en_US.UTF-8/Compose nl_BE.UTF-8 +en_US.UTF-8/Compose nl_NL.UTF-8 +en_US.UTF-8/Compose nn_NO.UTF-8 +en_US.UTF-8/Compose no_NO.UTF-8 +en_US.UTF-8/Compose nb_NO.UTF-8 +en_US.UTF-8/Compose nr_ZA.UTF-8 +en_US.UTF-8/Compose nso_ZA.UTF-8 +en_US.UTF-8/Compose ny_NO.UTF-8 +en_US.UTF-8/Compose oc_FR.UTF-8 +en_US.UTF-8/Compose or_IN.UTF-8 +en_US.UTF-8/Compose pa_IN.UTF-8 +en_US.UTF-8/Compose pa_PK.UTF-8 +en_US.UTF-8/Compose pd_DE.UTF-8 +en_US.UTF-8/Compose pd_US.UTF-8 +en_US.UTF-8/Compose ph_PH.UTF-8 +en_US.UTF-8/Compose pl_PL.UTF-8 +en_US.UTF-8/Compose pp_AN.UTF-8 +pt_BR.UTF-8/Compose pt_BR.UTF-8 +pt_PT.UTF-8/Compose pt_PT.UTF-8 +en_US.UTF-8/Compose ro_RO.UTF-8 +ru_RU.UTF-8/Compose ru_RU.UTF-8 +en_US.UTF-8/Compose ru_UA.UTF-8 +en_US.UTF-8/Compose rw_RW.UTF-8 +en_US.UTF-8/Compose sa_IN.UTF-8 +en_US.UTF-8/Compose sd_IN.UTF-8 +en_US.UTF-8/Compose sd_IN.UTF-8@devanagari +en_US.UTF-8/Compose se_NO.UTF-8 +en_US.UTF-8/Compose sh_BA.UTF-8 +en_US.UTF-8/Compose sh_YU.UTF-8 +en_US.UTF-8/Compose si_LK.UTF-8 +en_US.UTF-8/Compose sk_SK.UTF-8 +en_US.UTF-8/Compose sl_SI.UTF-8 +en_US.UTF-8/Compose sq_AL.UTF-8 +en_US.UTF-8/Compose sr_ME.UTF-8 +en_US.UTF-8/Compose sr_RS.UTF-8 +en_US.UTF-8/Compose sr_YU.UTF-8 +en_US.UTF-8/Compose ss_ZA.UTF-8 +en_US.UTF-8/Compose st_ZA.UTF-8 +en_US.UTF-8/Compose sv_FI.UTF-8 +en_US.UTF-8/Compose sv_SE.UTF-8 +en_US.UTF-8/Compose ta_IN.UTF-8 +en_US.UTF-8/Compose te_IN.UTF-8 +en_US.UTF-8/Compose tg_TJ.UTF-8 +th_TH.UTF-8/Compose th_TH.UTF-8 +en_US.UTF-8/Compose ti_ER.UTF-8 +en_US.UTF-8/Compose ti_ET.UTF-8 +en_US.UTF-8/Compose tl_PH.UTF-8 +en_US.UTF-8/Compose tn_ZA.UTF-8 +en_US.UTF-8/Compose tr_TR.UTF-8 +en_US.UTF-8/Compose ts_ZA.UTF-8 +en_US.UTF-8/Compose tt_RU.UTF-8 +en_US.UTF-8/Compose uk_UA.UTF-8 +en_US.UTF-8/Compose ur_IN.UTF-8 +en_US.UTF-8/Compose ur_PK.UTF-8 +en_US.UTF-8/Compose uz_UZ.UTF-8 +en_US.UTF-8/Compose ve_ZA.UTF-8 +en_US.UTF-8/Compose vi_VN.UTF-8 +en_US.UTF-8/Compose wa_BE.UTF-8 +en_US.UTF-8/Compose xh_ZA.UTF-8 +en_US.UTF-8/Compose yi_US.UTF-8 +zh_CN.UTF-8/Compose zh_CN.UTF-8 +zh_HK.UTF-8/Compose zh_HK.UTF-8 +en_US.UTF-8/Compose zh_SG.UTF-8 +zh_TW.UTF-8/Compose zh_TW.UTF-8 +en_US.UTF-8/Compose zu_ZA.UTF-8 + +# +# This file contains compose table file names. +# The first word is the compose table file name +# and the second word is the full locale name. +# +# +iso8859-1/Compose: C +iso8859-1/Compose: af_ZA.ISO8859-1 +iso8859-6/Compose: ar_AA.ISO8859-6 +iso8859-6/Compose: ar_AE.ISO8859-6 +iso8859-6/Compose: ar_BH.ISO8859-6 +iso8859-6/Compose: ar_DZ.ISO8859-6 +iso8859-6/Compose: ar_EG.ISO8859-6 +iso8859-6/Compose: ar_IQ.ISO8859-6 +iso8859-6/Compose: ar_JO.ISO8859-6 +iso8859-6/Compose: ar_KW.ISO8859-6 +iso8859-6/Compose: ar_LB.ISO8859-6 +iso8859-6/Compose: ar_LY.ISO8859-6 +iso8859-6/Compose: ar_MA.ISO8859-6 +iso8859-6/Compose: ar_OM.ISO8859-6 +iso8859-6/Compose: ar_QA.ISO8859-6 +iso8859-6/Compose: ar_SA.ISO8859-6 +iso8859-6/Compose: ar_SD.ISO8859-6 +iso8859-6/Compose: ar_SY.ISO8859-6 +iso8859-6/Compose: ar_TN.ISO8859-6 +iso8859-6/Compose: ar_YE.ISO8859-6 +iso8859-9e/Compose: az_AZ.ISO8859-9E +koi8-c/Compose: az_AZ.KOI8-C +microsoft-cp1251/Compose: be_BY.CP1251 +iso8859-5/Compose: be_BY.ISO8859-5 +iso8859-5/Compose: bg_BG.ISO8859-5 +microsoft-cp1251/Compose: bg_BG.CP1251 +koi8-r/Compose: bg_BG.KOI8-R +iso8859-1/Compose: br_FR.ISO8859-1 +iso8859-14/Compose: br_FR.ISO8859-14 +iso8859-15/Compose: br_FR.ISO8859-15 +iso8859-2/Compose: bs_BA.ISO8859-2 +iso8859-1/Compose: ca_AD.ISO8859-1 +iso8859-15/Compose: ca_AD.ISO8859-15 +iso8859-1/Compose: ca_ES.ISO8859-1 +iso8859-15/Compose: ca_ES.ISO8859-15 +iso8859-1/Compose: ca_FR.ISO8859-1 +iso8859-15/Compose: ca_FR.ISO8859-15 +iso8859-1/Compose: ca_IT.ISO8859-1 +iso8859-15/Compose: ca_IT.ISO8859-15 +iso8859-2/Compose: cs_CZ.ISO8859-2 +iso8859-1/Compose: cy_GB.ISO8859-1 +iso8859-14/Compose: cy_GB.ISO8859-14 +iso8859-15/Compose: cy_GB.ISO8859-15 +iso8859-1/Compose: da_DK.ISO8859-1 +iso8859-15/Compose: da_DK.ISO8859-15 +iso8859-1/Compose: de_AT.ISO8859-1 +iso8859-15/Compose: de_AT.ISO8859-15 +iso8859-1/Compose: de_BE.ISO8859-1 +iso8859-15/Compose: de_BE.ISO8859-15 +iso8859-1/Compose: de_CH.ISO8859-1 +iso8859-15/Compose: de_CH.ISO8859-15 +iso8859-1/Compose: de_DE.ISO8859-1 +iso8859-15/Compose: de_DE.ISO8859-15 +iso8859-1/Compose: de_LI.ISO8859-1 +iso8859-15/Compose: de_LI.ISO8859-15 +iso8859-1/Compose: de_LU.ISO8859-1 +iso8859-15/Compose: de_LU.ISO8859-15 +iso8859-4/Compose: ee_EE.ISO8859-4 +iso8859-7/Compose: el_GR.ISO8859-7 +iso8859-15/Compose: el_GR.ISO8859-15 +iso8859-1/Compose: en_AU.ISO8859-1 +iso8859-1/Compose: en_BE.ISO8859-1 +iso8859-15/Compose: en_BE.ISO8859-15 +iso8859-1/Compose: en_BW.ISO8859-1 +iso8859-1/Compose: en_BZ.ISO8859-1 +iso8859-1/Compose: en_CA.ISO8859-1 +iso8859-1/Compose: en_EN.ISO8859-1 +iso8859-1/Compose: en_GB.ISO8859-1 +iso8859-15/Compose: en_GB.ISO8859-15 +iso8859-1/Compose: en_HK.ISO8859-1 +iso8859-1/Compose: en_IE.ISO8859-1 +iso8859-15/Compose: en_IE.ISO8859-15 +iso8859-1/Compose: en_IL.ISO8859-1 +iso8859-15/Compose: en_IN.ISO8859-15 +iso8859-1/Compose: en_JM.ISO8859-1 +iso8859-1/Compose: en_NZ.ISO8859-1 +iso8859-1/Compose: en_PH.ISO8859-1 +iso8859-1/Compose: en_SG.ISO8859-1 +iso8859-1/Compose: en_TT.ISO8859-1 +iso8859-1/Compose: en_UK.ISO8859-1 +iso8859-15/Compose: en_UK.ISO8859-15 +iso8859-1/Compose: en_US.ISO8859-1 +iso8859-15/Compose: en_US.ISO8859-15 +iso8859-1/Compose: en_ZA.ISO8859-1 +iso8859-15/Compose: en_ZA.ISO8859-15 +iso8859-1/Compose: en_ZW.ISO8859-1 +iso8859-3/Compose: eo_EO.ISO8859-3 +iso8859-3/Compose: eo_XX.ISO8859-3 +iso8859-1/Compose: es_AR.ISO8859-1 +iso8859-1/Compose: es_BO.ISO8859-1 +iso8859-1/Compose: es_CL.ISO8859-1 +iso8859-1/Compose: es_CO.ISO8859-1 +iso8859-1/Compose: es_CR.ISO8859-1 +iso8859-1/Compose: es_DO.ISO8859-1 +iso8859-1/Compose: es_EC.ISO8859-1 +iso8859-1/Compose: es_ES.ISO8859-1 +iso8859-15/Compose: es_ES.ISO8859-15 +iso8859-1/Compose: es_GT.ISO8859-1 +iso8859-1/Compose: es_HN.ISO8859-1 +iso8859-1/Compose: es_MX.ISO8859-1 +iso8859-1/Compose: es_NI.ISO8859-1 +iso8859-1/Compose: es_PA.ISO8859-1 +iso8859-15/Compose: es_PA.ISO8859-15 +iso8859-1/Compose: es_PE.ISO8859-1 +iso8859-15/Compose: es_PE.ISO8859-15 +iso8859-1/Compose: es_PR.ISO8859-1 +iso8859-1/Compose: es_PY.ISO8859-1 +iso8859-15/Compose: es_PY.ISO8859-15 +iso8859-1/Compose: es_SV.ISO8859-1 +iso8859-15/Compose: es_SV.ISO8859-15 +iso8859-1/Compose: es_US.ISO8859-1 +iso8859-1/Compose: es_UY.ISO8859-1 +iso8859-15/Compose: es_UY.ISO8859-15 +iso8859-1/Compose: es_VE.ISO8859-1 +iso8859-15/Compose: es_VE.ISO8859-15 +iso8859-1/Compose: et_EE.ISO8859-1 +iso8859-4/Compose: et_EE.ISO8859-4 +iso8859-13/Compose: et_EE.ISO8859-13 +iso8859-15/Compose: et_EE.ISO8859-15 +iso8859-1/Compose: eu_ES.ISO8859-1 +iso8859-15/Compose: eu_ES.ISO8859-15 +isiri-3342/Compose: fa_IR.ISIRI-3342 +iso8859-1/Compose: fi_FI.ISO8859-1 +iso8859-15/Compose: fi_FI.ISO8859-15 +iso8859-1/Compose: fo_FO.ISO8859-1 +iso8859-15/Compose: fo_FO.ISO8859-15 +iso8859-1/Compose: fr_BE.ISO8859-1 +iso8859-15/Compose: fr_BE.ISO8859-15 +iso8859-1/Compose: fr_CA.ISO8859-1 +iso8859-15/Compose: fr_CA.ISO8859-15 +iso8859-1/Compose: fr_CH.ISO8859-1 +iso8859-15/Compose: fr_CH.ISO8859-15 +iso8859-1/Compose: fr_FR.ISO8859-1 +iso8859-15/Compose: fr_FR.ISO8859-15 +iso8859-1/Compose: fr_LU.ISO8859-1 +iso8859-15/Compose: fr_LU.ISO8859-15 +iso8859-1/Compose: ga_IE.ISO8859-1 +iso8859-14/Compose: ga_IE.ISO8859-14 +iso8859-15/Compose: ga_IE.ISO8859-15 +iso8859-1/Compose: gd_GB.ISO8859-1 +iso8859-14/Compose: gd_GB.ISO8859-14 +iso8859-15/Compose: gd_GB.ISO8859-15 +iso8859-1/Compose: gl_ES.ISO8859-1 +iso8859-15/Compose: gl_ES.ISO8859-15 +iso8859-1/Compose: gv_GB.ISO8859-1 +iso8859-14/Compose: gv_GB.ISO8859-14 +iso8859-15/Compose: gv_GB.ISO8859-15 +iso8859-8/Compose: he_IL.ISO8859-8 +microsoft-cp1255/Compose: he_IL.CP1255 +iscii-dev/Compose: hi_IN.ISCII-DEV +iso8859-2/Compose: hr_HR.ISO8859-2 +iso8859-2/Compose: hu_HU.ISO8859-2 +armscii-8/Compose: hy_AM.ARMSCII-8 +iso8859-1/Compose: id_ID.ISO8859-1 +iso8859-15/Compose: id_ID.ISO8859-15 +iso8859-1/Compose: is_IS.ISO8859-1 +iso8859-15/Compose: is_IS.ISO8859-15 +iso8859-1/Compose: it_CH.ISO8859-1 +iso8859-15/Compose: it_CH.ISO8859-15 +iso8859-1/Compose: it_IT.ISO8859-1 +iso8859-15/Compose: it_IT.ISO8859-15 +ja/Compose: ja_JP.eucJP +ja.SJIS/Compose: ja_JP.SJIS +ja.JIS/Compose: ja_JP.JIS7 +georgian-academy/Compose: ka_GE.GEORGIAN-ACADEMY +georgian-ps/Compose: ka_GE.GEORGIAN-PS +iso8859-1/Compose: kl_GL.ISO8859-1 +iso8859-15/Compose: kl_GL.ISO8859-15 +iso8859-1/Compose: kw_GB.ISO8859-1 +iso8859-14/Compose: kw_GB.ISO8859-14 +iso8859-15/Compose: kw_GB.ISO8859-15 +ko/Compose: ko_KR.eucKR +ibm-cp1133/Compose: lo_LA.IBM-CP1133 +mulelao-1/Compose: lo_LA.MULELAO-1 +iso8859-4/Compose: lt_LT.ISO8859-4 +iso8859-13/Compose: lt_LT.ISO8859-13 +iso8859-4/Compose: lv_LV.ISO8859-4 +iso8859-13/Compose: lv_LV.ISO8859-13 +iso8859-13/Compose: mi_NZ.ISO8859-13 +iso8859-5/Compose: mk_MK.ISO8859-5 +microsoft-cp1251/Compose: mk_MK.CP1251 +iso8859-1/Compose: ms_MY.ISO8859-1 +iso8859-3/Compose: mt_MT.ISO8859-3 +iso8859-1/Compose: nl_BE.ISO8859-1 +iso8859-15/Compose: nl_BE.ISO8859-15 +iso8859-1/Compose: nl_NL.ISO8859-1 +iso8859-15/Compose: nl_NL.ISO8859-15 +iso8859-1/Compose: no_NO.ISO8859-1 +iso8859-15/Compose: no_NO.ISO8859-15 +iso8859-1/Compose: nb_NO.ISO8859-1 +iso8859-15/Compose: nb_NO.ISO8859-15 +iso8859-1/Compose: nn_NO.ISO8859-1 +iso8859-15/Compose: nn_NO.ISO8859-15 +iso8859-1/Compose: nr_ZA.ISO8859-1 +iso8859-15/Compose: nso_ZA.ISO8859-15 +iso8859-1/Compose: ny_NO.ISO8859-1 +iso8859-15/Compose: ny_NO.ISO8859-15 +iso8859-1/Compose: oc_FR.ISO8859-1 +iso8859-15/Compose: oc_FR.ISO8859-15 +iso8859-1/Compose: pd_DE.ISO8859-1 +iso8859-15/Compose: pd_DE.ISO8859-15 +iso8859-1/Compose: pd_US.ISO8859-1 +iso8859-15/Compose: pd_US.ISO8859-15 +iso8859-1/Compose: ph_PH.ISO8859-1 +iso8859-2/Compose: pl_PL.ISO8859-2 +iso8859-1/Compose: pp_AN.ISO8859-1 +iso8859-1/Compose: pt_BR.ISO8859-1 +iso8859-15/Compose: pt_BR.ISO8859-15 +iso8859-1/Compose: pt_PT.ISO8859-1 +iso8859-15/Compose: pt_PT.ISO8859-15 +iso8859-2/Compose: ro_RO.ISO8859-2 +koi8-r/Compose: ru_RU.KOI8-R +iso8859-5/Compose: ru_RU.ISO8859-5 +microsoft-cp1251/Compose: ru_RU.CP1251 +microsoft-cp1251/Compose: ru_UA.CP1251 +koi8-u/Compose: ru_UA.KOI8-U +iso8859-1/Compose: rw_RW.ISO8859-1 +iso8859-2/Compose: sh_YU.ISO8859-2 +iso8859-2/Compose: sk_SK.ISO8859-2 +iso8859-2/Compose: sl_SI.ISO8859-2 +iso8859-2/Compose: sq_AL.ISO8859-2 +iso8859-2/Compose: sr_YU.ISO8859-2 +microsoft-cp1251/Compose: sr_YU.CP1251 +iso8859-5/Compose: sr_YU.ISO8859-5 +iso8859-1/Compose: ss_ZA.ISO8859-1 +iso8859-1/Compose: st_ZA.ISO8859-1 +iso8859-1/Compose: sv_FI.ISO8859-1 +iso8859-15/Compose: sv_FI.ISO8859-15 +iso8859-1/Compose: sv_SE.ISO8859-1 +iso8859-15/Compose: sv_SE.ISO8859-15 +tscii-0/Compose: ta_IN.TSCII-0 +koi8-c/Compose: tg_TJ.KOI8-C +iso8859-1/Compose: tl_PH.ISO8859-1 +iso8859-11/Compose: th_TH.ISO8859-11 +th_TH/Compose: th_TH.TIS620 +iso8859-15/Compose: tn_ZA.ISO8859-15 +iso8859-9/Compose: tr_TR.ISO8859-9 +iso8859-1/Compose: ts_ZA.ISO8859-1 +tatar-cyr/Compose: tt_RU.TATAR-CYR +microsoft-cp1251/Compose: uk_UA.CP1251 +koi8-c/Compose: tt_RU.KOI8-C +koi8-u/Compose: uk_UA.KOI8-U +iso8859-5/Compose: uk_UA.ISO8859-5 +microsoft-cp1256/Compose: ur_PK.CP1256 +iso8859-1/Compose: uz_UZ.ISO8859-1 +vi_VN.viscii/Compose: vi_VN.VISCII +vi_VN.tcvn/Compose: vi_VN.TCVN +iso8859-1/Compose: wa_BE.ISO8859-1 +iso8859-15/Compose: wa_BE.ISO8859-15 +iso8859-1/Compose: xh_ZA.ISO8859-1 +microsoft-cp1255/Compose: yi_US.CP1255 +zh_CN/Compose: zh_CN.eucCN +zh_CN/Compose: zh_CN.gb2312 +zh_CN.gbk/Compose: zh_CN.gbk +zh_CN.gb18030/Compose: zh_CN.gb18030 +zh_HK.big5/Compose: zh_HK.big5 +zh_HK.big5hkscs/Compose: zh_HK.big5hkscs +zh_TW.big5/Compose: zh_TW.big5 +zh_TW/Compose: zh_TW.eucTW +iso8859-1/Compose: zu_ZA.ISO8859-1 +# +# +en_US.UTF-8/Compose: C.UTF-8 +en_US.UTF-8/Compose: af_ZA.UTF-8 +am_ET.UTF-8/Compose: am_ET.UTF-8 +en_US.UTF-8/Compose: ar_AA.UTF-8 +en_US.UTF-8/Compose: ar_AE.UTF-8 +en_US.UTF-8/Compose: ar_BH.UTF-8 +en_US.UTF-8/Compose: ar_DZ.UTF-8 +en_US.UTF-8/Compose: ar_EG.UTF-8 +en_US.UTF-8/Compose: ar_IN.UTF-8 +en_US.UTF-8/Compose: ar_IQ.UTF-8 +en_US.UTF-8/Compose: ar_JO.UTF-8 +en_US.UTF-8/Compose: ar_KW.UTF-8 +en_US.UTF-8/Compose: ar_LB.UTF-8 +en_US.UTF-8/Compose: ar_LY.UTF-8 +en_US.UTF-8/Compose: ar_MA.UTF-8 +en_US.UTF-8/Compose: ar_OM.UTF-8 +en_US.UTF-8/Compose: ar_QA.UTF-8 +en_US.UTF-8/Compose: ar_SA.UTF-8 +en_US.UTF-8/Compose: ar_SD.UTF-8 +en_US.UTF-8/Compose: ar_SY.UTF-8 +en_US.UTF-8/Compose: ar_TN.UTF-8 +en_US.UTF-8/Compose: ar_YE.UTF-8 +en_US.UTF-8/Compose: ast_ES.UTF-8 +en_US.UTF-8/Compose: as_IN.UTF-8 +en_US.UTF-8/Compose: az_AZ.UTF-8 +en_US.UTF-8/Compose: be_BY.UTF-8 +en_US.UTF-8/Compose: bg_BG.UTF-8 +en_US.UTF-8/Compose: bn_BD.UTF-8 +en_US.UTF-8/Compose: bn_IN.UTF-8 +en_US.UTF-8/Compose: bo_IN.UTF-8 +en_US.UTF-8/Compose: br_FR.UTF-8 +en_US.UTF-8/Compose: bs_BA.UTF-8 +en_US.UTF-8/Compose: ca_AD.UTF-8 +en_US.UTF-8/Compose: ca_ES.UTF-8 +en_US.UTF-8/Compose: ca_FR.UTF-8 +en_US.UTF-8/Compose: ca_IT.UTF-8 +cs_CZ.UTF-8/Compose: cs_CZ.UTF-8 +en_US.UTF-8/Compose: cy_GB.UTF-8 +en_US.UTF-8/Compose: da_DK.UTF-8 +en_US.UTF-8/Compose: de_AT.UTF-8 +en_US.UTF-8/Compose: de_BE.UTF-8 +en_US.UTF-8/Compose: de_CH.UTF-8 +en_US.UTF-8/Compose: de_DE.UTF-8 +en_US.UTF-8/Compose: de_IT.UTF-8 +en_US.UTF-8/Compose: de_LI.UTF-8 +en_US.UTF-8/Compose: de_LU.UTF-8 +el_GR.UTF-8/Compose: el_CY.UTF-8 +el_GR.UTF-8/Compose: el_GR.UTF-8 +en_US.UTF-8/Compose: en_AU.UTF-8 +en_US.UTF-8/Compose: en_BE.UTF-8 +en_US.UTF-8/Compose: en_BW.UTF-8 +en_US.UTF-8/Compose: en_BZ.UTF-8 +en_US.UTF-8/Compose: en_CA.UTF-8 +en_US.UTF-8/Compose: en_DK.UTF-8 +en_US.UTF-8/Compose: en_EN.UTF-8 +en_US.UTF-8/Compose: en_GB.UTF-8 +en_US.UTF-8/Compose: en_HK.UTF-8 +en_US.UTF-8/Compose: en_IE.UTF-8 +en_US.UTF-8/Compose: en_IL.UTF-8 +en_US.UTF-8/Compose: en_IN.UTF-8 +en_US.UTF-8/Compose: en_JM.UTF-8 +en_US.UTF-8/Compose: en_MT.UTF-8 +en_US.UTF-8/Compose: en_NZ.UTF-8 +en_US.UTF-8/Compose: en_PH.UTF-8 +en_US.UTF-8/Compose: en_SG.UTF-8 +en_US.UTF-8/Compose: en_TT.UTF-8 +en_US.UTF-8/Compose: en_UK.UTF-8 +en_US.UTF-8/Compose: en_US.UTF-8 +en_US.UTF-8/Compose: en_ZA.UTF-8 +en_US.UTF-8/Compose: en_ZW.UTF-8 +en_US.UTF-8/Compose: eo_EO.UTF-8 +en_US.UTF-8/Compose: eo_XX.UTF-8 +en_US.UTF-8/Compose: es_AR.UTF-8 +en_US.UTF-8/Compose: es_BO.UTF-8 +en_US.UTF-8/Compose: es_CL.UTF-8 +en_US.UTF-8/Compose: es_CO.UTF-8 +en_US.UTF-8/Compose: es_CR.UTF-8 +en_US.UTF-8/Compose: es_DO.UTF-8 +en_US.UTF-8/Compose: es_EC.UTF-8 +en_US.UTF-8/Compose: es_ES.UTF-8 +en_US.UTF-8/Compose: es_GT.UTF-8 +en_US.UTF-8/Compose: es_HN.UTF-8 +en_US.UTF-8/Compose: es_MX.UTF-8 +en_US.UTF-8/Compose: es_NI.UTF-8 +en_US.UTF-8/Compose: es_PA.UTF-8 +en_US.UTF-8/Compose: es_PE.UTF-8 +en_US.UTF-8/Compose: es_PR.UTF-8 +en_US.UTF-8/Compose: es_PY.UTF-8 +en_US.UTF-8/Compose: es_SV.UTF-8 +en_US.UTF-8/Compose: es_US.UTF-8 +en_US.UTF-8/Compose: es_UY.UTF-8 +en_US.UTF-8/Compose: es_VE.UTF-8 +en_US.UTF-8/Compose: et_EE.UTF-8 +en_US.UTF-8/Compose: eu_ES.UTF-8 +en_US.UTF-8/Compose: fa_IR.UTF-8 +fi_FI.UTF-8/Compose: fi_FI.UTF-8 +en_US.UTF-8/Compose: fo_FO.UTF-8 +en_US.UTF-8/Compose: fr_BE.UTF-8 +en_US.UTF-8/Compose: fr_CA.UTF-8 +en_US.UTF-8/Compose: fr_CH.UTF-8 +en_US.UTF-8/Compose: fr_FR.UTF-8 +en_US.UTF-8/Compose: fr_LU.UTF-8 +en_US.UTF-8/Compose: ga_IE.UTF-8 +en_US.UTF-8/Compose: gd_GB.UTF-8 +en_US.UTF-8/Compose: gl_ES.UTF-8 +en_US.UTF-8/Compose: gu_IN.UTF-8 +en_US.UTF-8/Compose: gv_GB.UTF-8 +en_US.UTF-8/Compose: he_IL.UTF-8 +en_US.UTF-8/Compose: hi_IN.UTF-8 +en_US.UTF-8/Compose: hne_IN.UTF-8 +en_US.UTF-8/Compose: hr_HR.UTF-8 +en_US.UTF-8/Compose: hu_HU.UTF-8 +en_US.UTF-8/Compose: hy_AM.UTF-8 +en_US.UTF-8/Compose: id_ID.UTF-8 +en_US.UTF-8/Compose: is_IS.UTF-8 +en_US.UTF-8/Compose: it_CH.UTF-8 +en_US.UTF-8/Compose: it_IT.UTF-8 +en_US.UTF-8/Compose: iu_CA.UTF-8 +ja_JP.UTF-8/Compose: ja_JP.UTF-8 +en_US.UTF-8/Compose: ka_GE.UTF-8 +en_US.UTF-8/Compose: kk_KZ.UTF-8 +en_US.UTF-8/Compose: kl_GL.UTF-8 +km_KH.UTF-8/Compose: km_KH.UTF-8 +en_US.UTF-8/Compose: kn_IN.UTF-8 +ko_KR.UTF-8/Compose: ko_KR.UTF-8 +en_US.UTF-8/Compose: ks_IN.UTF-8 +en_US.UTF-8/Compose: ks_IN.UTF-8@devanagari +en_US.UTF-8/Compose: ku_TR.UTF-8 +en_US.UTF-8/Compose: kw_GB.UTF-8 +en_US.UTF-8/Compose: ky_KG.UTF-8 +en_US.UTF-8/Compose: lo_LA.UTF-8 +en_US.UTF-8/Compose: lt_LT.UTF-8 +en_US.UTF-8/Compose: lv_LV.UTF-8 +en_US.UTF-8/Compose: mai_IN.UTF-8 +en_US.UTF-8/Compose: mi_NZ.UTF-8 +en_US.UTF-8/Compose: mk_MK.UTF-8 +en_US.UTF-8/Compose: ml_IN.UTF-8 +en_US.UTF-8/Compose: mr_IN.UTF-8 +en_US.UTF-8/Compose: ms_MY.UTF-8 +en_US.UTF-8/Compose: mt_MT.UTF-8 +en_US.UTF-8/Compose: ne_NP.UTF-8 +en_US.UTF-8/Compose: nl_BE.UTF-8 +en_US.UTF-8/Compose: nl_NL.UTF-8 +en_US.UTF-8/Compose: nn_NO.UTF-8 +en_US.UTF-8/Compose: no_NO.UTF-8 +en_US.UTF-8/Compose: nb_NO.UTF-8 +en_US.UTF-8/Compose: nr_ZA.UTF-8 +en_US.UTF-8/Compose: nso_ZA.UTF-8 +en_US.UTF-8/Compose: ny_NO.UTF-8 +en_US.UTF-8/Compose: oc_FR.UTF-8 +en_US.UTF-8/Compose: or_IN.UTF-8 +en_US.UTF-8/Compose: pa_IN.UTF-8 +en_US.UTF-8/Compose: pa_PK.UTF-8 +en_US.UTF-8/Compose: pd_DE.UTF-8 +en_US.UTF-8/Compose: pd_US.UTF-8 +en_US.UTF-8/Compose: ph_PH.UTF-8 +en_US.UTF-8/Compose: pl_PL.UTF-8 +en_US.UTF-8/Compose: pp_AN.UTF-8 +pt_BR.UTF-8/Compose: pt_BR.UTF-8 +pt_PT.UTF-8/Compose: pt_PT.UTF-8 +en_US.UTF-8/Compose: ro_RO.UTF-8 +ru_RU.UTF-8/Compose: ru_RU.UTF-8 +en_US.UTF-8/Compose: ru_UA.UTF-8 +en_US.UTF-8/Compose: rw_RW.UTF-8 +en_US.UTF-8/Compose: sa_IN.UTF-8 +en_US.UTF-8/Compose: sd_IN.UTF-8 +en_US.UTF-8/Compose: sd_IN.UTF-8@devanagari +en_US.UTF-8/Compose: se_NO.UTF-8 +en_US.UTF-8/Compose: sh_BA.UTF-8 +en_US.UTF-8/Compose: sh_YU.UTF-8 +en_US.UTF-8/Compose: si_LK.UTF-8 +en_US.UTF-8/Compose: sk_SK.UTF-8 +en_US.UTF-8/Compose: sl_SI.UTF-8 +en_US.UTF-8/Compose: sq_AL.UTF-8 +en_US.UTF-8/Compose: sr_ME.UTF-8 +en_US.UTF-8/Compose: sr_RS.UTF-8 +en_US.UTF-8/Compose: sr_YU.UTF-8 +en_US.UTF-8/Compose: ss_ZA.UTF-8 +en_US.UTF-8/Compose: st_ZA.UTF-8 +en_US.UTF-8/Compose: sv_FI.UTF-8 +en_US.UTF-8/Compose: sv_SE.UTF-8 +en_US.UTF-8/Compose: ta_IN.UTF-8 +en_US.UTF-8/Compose: te_IN.UTF-8 +en_US.UTF-8/Compose: tg_TJ.UTF-8 +th_TH.UTF-8/Compose: th_TH.UTF-8 +en_US.UTF-8/Compose: ti_ER.UTF-8 +en_US.UTF-8/Compose: ti_ET.UTF-8 +en_US.UTF-8/Compose: tl_PH.UTF-8 +en_US.UTF-8/Compose: tn_ZA.UTF-8 +en_US.UTF-8/Compose: tr_TR.UTF-8 +en_US.UTF-8/Compose: ts_ZA.UTF-8 +en_US.UTF-8/Compose: tt_RU.UTF-8 +en_US.UTF-8/Compose: uk_UA.UTF-8 +en_US.UTF-8/Compose: ur_IN.UTF-8 +en_US.UTF-8/Compose: ur_PK.UTF-8 +en_US.UTF-8/Compose: uz_UZ.UTF-8 +en_US.UTF-8/Compose: ve_ZA.UTF-8 +en_US.UTF-8/Compose: vi_VN.UTF-8 +en_US.UTF-8/Compose: wa_BE.UTF-8 +en_US.UTF-8/Compose: xh_ZA.UTF-8 +en_US.UTF-8/Compose: yi_US.UTF-8 +zh_CN.UTF-8/Compose: zh_CN.UTF-8 +zh_HK.UTF-8/Compose: zh_HK.UTF-8 +en_US.UTF-8/Compose: zh_SG.UTF-8 +zh_TW.UTF-8/Compose: zh_TW.UTF-8 +en_US.UTF-8/Compose: zu_ZA.UTF-8 diff --git a/locale/el_GR.UTF-8/Compose b/locale/el_GR.UTF-8/Compose new file mode 100644 index 0000000..bca97b2 --- /dev/null +++ b/locale/el_GR.UTF-8/Compose @@ -0,0 +1,1982 @@ + +# +# +# UTF-8 compose sequence definitions for the greek keyboard layout. +# +# This file is mostly meant to be used along with the xkb/symbols/el +# symbols definition file. In addition, the dead key definitions in +# the machine generated part are really only relevant to the +# "polytonic" variant in that file. +# +# The definitions herein cover the following ISO 10646 / Unicode +# ranges: +# - Basic Latin (0000-007F) (complete coverage) +# - Latin-1 Supplement (0080-00FF) (complete coverage) +# - Greek and Coptic (0370-03FF) (only the big ISO 8859-7 based +# part at the beginning) +# - Greek Extended (1F00-1FFF) (complete coverage) +# - There are also six (6) characters from other ranges. +# Moreover, the following character sets are completely covered: +# - ISO 8859-1 +# - ISO 8859-7 +# +# This file consists of four parts. Two of them have been adapted from +# the iso8859-1/Compose and iso8859-7/Compose files. The other two +# parts have been created by: +# Vasilis Vasaitis +# based on the idea and initial implementation by: +# Alejandros Diamandidis + +# Part 1 +# +# ISO 8859-1 (Latin-1) multi-key definitions extracted and converted +# from the iso8859-1/Compose file. + +# Special Character + : "#" numbersign + : "'" apostrophe + : "'" apostrophe + : "@" at + : "[" bracketleft + : "\\" backslash + : "\\" backslash + : "]" bracketright + : "^" asciicircum + : "^" asciicircum + : "^" asciicircum + : "^" asciicircum + : "`" grave + : "`" grave + : "{" braceleft + : "{" braceleft + : "|" bar + : "|" bar + : "|" bar + : "|" bar + : "|" bar + : "|" bar + : "}" braceright + : "}" braceright + : "~" asciitilde + : "~" asciitilde + : "~" asciitilde + : "~" asciitilde + : "¡" exclamdown + : "¢" cent + : "¢" cent + : "¢" cent + : "¢" cent + : "¢" cent + : "¢" cent + : "¢" cent + : "¢" cent + : "£" sterling + : "£" sterling + : "£" sterling + : "£" sterling + : "£" sterling + : "£" sterling + : "£" sterling + : "£" sterling + : "¥" yen + : "¥" yen + : "¥" yen + : "¥" yen + : "¥" yen + : "¥" yen + : "¥" yen + : "¥" yen + : "§" section + : "§" section + : "§" section + : "§" section + : "§" section + : "§" section + : "§" section + : "§" section + <0> : "§" section + <0> : "§" section + <0> : "§" section + <0> : "§" section + : "¤" currency + : "¤" currency + : "¤" currency + : "¤" currency + : "¤" currency + : "¤" currency + : "¤" currency + : "¤" currency + <0> : "¤" currency + <0> : "¤" currency + <0> : "¤" currency + <0> : "¤" currency + : "©" copyright + : "©" copyright + : "©" copyright + : "©" copyright + : "©" copyright + : "©" copyright + : "©" copyright + : "©" copyright + <0> : "©" copyright + <0> : "©" copyright + <0> : "©" copyright + <0> : "©" copyright + : "©" copyright + : "ª" ordfeminine + : "ª" ordfeminine + : "ª" ordfeminine + : "ª" ordfeminine + : "º" masculine + : "º" masculine + : "º" masculine + : "º" masculine + : "«" guillemotleft + : "»" guillemotright + <0> : "°" degree + <0> : "°" degree + <0> : "°" degree + <0> : "°" degree + : "±" plusminus + : "±" plusminus + : "µ" mu + : "µ" mu + : "µ" mu + : "µ" mu + <1> : "¹" onesuperior + <1> : "¹" onesuperior + <1> : "¹" onesuperior + <1> : "¹" onesuperior + <1> : "¹" onesuperior + <1> : "¹" onesuperior + <2> : "²" twosuperior + <2> : "²" twosuperior + <2> : "²" twosuperior + <2> : "²" twosuperior + <2> : "²" twosuperior + <2> : "²" twosuperior + <3> : "³" threesuperior + <3> : "³" threesuperior + <3> : "³" threesuperior + <3> : "³" threesuperior + <3> : "³" threesuperior + <3> : "³" threesuperior +

: "¶" paragraph +

: "¶" paragraph +

: "¶" paragraph +

: "¶" paragraph + : "·" periodcentered + : "·" periodcentered + : "·" periodcentered + : "•" enfilledcircbullet + : "…" ellipsis + <1> <4> : "¼" onequarter + <1> <2> : "½" onehalf + <3> <4> : "¾" threequarters + : "¿" questiondown + : " " nobreakspace + : "¦" brokenbar + : "¦" brokenbar + : "¦" brokenbar + : "¦" brokenbar + : "¦" brokenbar + : "¦" brokenbar + : "¦" brokenbar + : "¬" notsign + : "¬" notsign + : "­" hyphen + : "®" registered + : "®" registered + : "®" registered + : "¯" macron + : "¯" macron + : "¯" macron + : "¯" macron + : "¯" macron + : "÷" division + : "÷" division + : "×" multiply + : "´" acute + : "¸" cedilla + : "¨" diaeresis +# Accented Alphabet + : "À" Agrave + : "À" Agrave + : "Á" Aacute + : "Á" Aacute + : "Á" Aacute + : "Á" Aacute + : "Â" Acircumflex + : "Â" Acircumflex + : "Â" Acircumflex + : "Â" Acircumflex + : "Ã" Atilde + : "Ã" Atilde + : "Ã" Atilde + : "Ã" Atilde + : "Ä" Adiaeresis + : "Ä" Adiaeresis + : "Ä" Adiaeresis + : "Ä" Adiaeresis + : "Å" Aring + : "Å" Aring + : "Å" Aring + : "Å" Aring + : "Æ" AE + : "à" agrave + : "à" agrave + : "á" aacute + : "á" aacute + : "á" aacute + : "á" aacute + : "â" acircumflex + : "â" acircumflex + : "â" acircumflex + : "â" acircumflex + : "ã" atilde + : "ã" atilde + : "ã" atilde + : "ã" atilde + : "ä" adiaeresis + : "ä" adiaeresis + : "ä" adiaeresis + : "ä" adiaeresis + : "å" aring + : "å" aring + : "å" aring + : "å" aring + : "æ" ae + : "Ç" Ccedilla + : "ç" ccedilla + : "Ç" Ccedilla + : "Ç" Ccedilla + : "Ç" Ccedilla + : "Ç" Ccedilla + : "ç" ccedilla + : "ç" ccedilla + : "ç" ccedilla + : "ç" ccedilla + : "Ð" ETH + : "Ð" ETH + : "ð" eth + : "ð" eth + : "È" Egrave + : "È" Egrave + : "É" Eacute + : "É" Eacute + : "É" Eacute + : "É" Eacute + : "Ê" Ecircumflex + : "Ê" Ecircumflex + : "Ê" Ecircumflex + : "Ê" Ecircumflex + : "Ë" Ediaeresis + : "Ë" Ediaeresis + : "Ë" Ediaeresis + : "Ë" Ediaeresis + : "è" egrave + : "è" egrave + : "é" eacute + : "é" eacute + : "é" eacute + : "é" eacute + : "ê" ecircumflex + : "ê" ecircumflex + : "ê" ecircumflex + : "ê" ecircumflex + : "ë" ediaeresis + : "ë" ediaeresis + : "ë" ediaeresis + : "ë" ediaeresis + : "Ì" Igrave + : "Ì" Igrave + : "Í" Iacute + : "Í" Iacute + : "Í" Iacute + : "Í" Iacute + : "Î" Icircumflex + : "Î" Icircumflex + : "Î" Icircumflex + : "Î" Icircumflex + : "Ï" Idiaeresis + : "Ï" Idiaeresis + : "Ï" Idiaeresis + : "Ï" Idiaeresis + : "ì" igrave + : "ì" igrave + : "í" iacute + : "í" iacute + : "í" iacute + : "í" iacute + : "î" icircumflex + : "î" icircumflex + : "î" icircumflex + : "î" icircumflex + : "ï" idiaeresis + : "ï" idiaeresis + : "ï" idiaeresis + : "ï" idiaeresis + : "Ñ" Ntilde + : "Ñ" Ntilde + : "Ñ" Ntilde + : "Ñ" Ntilde + : "ñ" ntilde + : "ñ" ntilde + : "ñ" ntilde + : "ñ" ntilde + : "Ò" Ograve + : "Ò" Ograve + : "Ó" Oacute + : "Ó" Oacute + : "Ó" Oacute + : "Ó" Oacute + : "Ô" Ocircumflex + : "Ô" Ocircumflex + : "Ô" Ocircumflex + : "Ô" Ocircumflex + : "Õ" Otilde + : "Õ" Otilde + : "Õ" Otilde + : "Õ" Otilde + : "Ö" Odiaeresis + : "Ö" Odiaeresis + : "Ö" Odiaeresis + : "Ö" Odiaeresis + : "Ø" Ooblique + : "Ø" Ooblique + : "ò" ograve + : "ò" ograve + : "ó" oacute + : "ó" oacute + : "ó" oacute + : "ó" oacute + : "ô" ocircumflex + : "ô" ocircumflex + : "ô" ocircumflex + : "ô" ocircumflex + : "õ" otilde + : "õ" otilde + : "õ" otilde + : "õ" otilde + : "ö" odiaeresis + : "ö" odiaeresis + : "ö" odiaeresis + : "ö" odiaeresis + : "ø" oslash + : "ø" oslash + : "Ù" Ugrave + : "Ù" Ugrave + : "Ú" Uacute + : "Ú" Uacute + : "Ú" Uacute + : "Ú" Uacute + : "Û" Ucircumflex + : "Û" Ucircumflex + : "Û" Ucircumflex + : "Û" Ucircumflex + : "Ü" Udiaeresis + : "Ü" Udiaeresis + : "Ü" Udiaeresis + : "Ü" Udiaeresis + : "ù" ugrave + : "ù" ugrave + : "ú" uacute + : "ú" uacute + : "ú" uacute + : "ú" uacute + : "û" ucircumflex + : "û" ucircumflex + : "û" ucircumflex + : "û" ucircumflex + : "ü" udiaeresis + : "ü" udiaeresis + : "ü" udiaeresis + : "ü" udiaeresis + : "ß" ssharp + : "Þ" THORN + : "þ" thorn + : "Ý" Yacute + : "Ý" Yacute + : "Ý" Yacute + : "Ý" Yacute + : "ý" yacute + : "ý" yacute + : "ý" yacute + : "ý" yacute + : "ÿ" ydiaeresis + : "ÿ" ydiaeresis + : "ÿ" ydiaeresis + : "ÿ" ydiaeresis + +# Part 2 +# +# Greek Extended multi-key and dead key definitions. These have been +# machine-generated by a perl script, found at: +# http: + + : "ἀ" U1f00 + : "ἀ" U1f00 + : "ἀ" U1f00 + : "ἁ" U1f01 + : "ἁ" U1f01 + : "ἁ" U1f01 + : "ἂ" U1f02 + : "ἂ" U1f02 + : "ἂ" U1f02 + : "ἂ" U1f02 + : "ἂ" U1f02 + : "ἂ" U1f02 + : "ἃ" U1f03 + : "ἃ" U1f03 + : "ἃ" U1f03 + : "ἃ" U1f03 + : "ἃ" U1f03 + : "ἃ" U1f03 + : "ἄ" U1f04 + : "ἄ" U1f04 + : "ἄ" U1f04 + : "ἄ" U1f04 + : "ἄ" U1f04 + : "ἄ" U1f04 + : "ἅ" U1f05 + : "ἅ" U1f05 + : "ἅ" U1f05 + : "ἅ" U1f05 + : "ἅ" U1f05 + : "ἅ" U1f05 + : "ἆ" U1f06 + : "ἆ" U1f06 + : "ἆ" U1f06 + : "ἆ" U1f06 + : "ἆ" U1f06 + : "ἆ" U1f06 + : "ἇ" U1f07 + : "ἇ" U1f07 + : "ἇ" U1f07 + : "ἇ" U1f07 + : "ἇ" U1f07 + : "ἇ" U1f07 + : "Ἀ" U1f08 + : "Ἀ" U1f08 + : "Ἀ" U1f08 + : "Ἁ" U1f09 + : "Ἁ" U1f09 + : "Ἁ" U1f09 + : "Ἂ" U1f0a + : "Ἂ" U1f0a + : "Ἂ" U1f0a + : "Ἂ" U1f0a + : "Ἂ" U1f0a + : "Ἂ" U1f0a + : "Ἃ" U1f0b + : "Ἃ" U1f0b + : "Ἃ" U1f0b + : "Ἃ" U1f0b + : "Ἃ" U1f0b + : "Ἃ" U1f0b + : "Ἄ" U1f0c + : "Ἄ" U1f0c + : "Ἄ" U1f0c + : "Ἄ" U1f0c + : "Ἄ" U1f0c + : "Ἄ" U1f0c + : "Ἅ" U1f0d + : "Ἅ" U1f0d + : "Ἅ" U1f0d + : "Ἅ" U1f0d + : "Ἅ" U1f0d + : "Ἅ" U1f0d + : "Ἆ" U1f0e + : "Ἆ" U1f0e + : "Ἆ" U1f0e + : "Ἆ" U1f0e + : "Ἆ" U1f0e + : "Ἆ" U1f0e + : "Ἇ" U1f0f + : "Ἇ" U1f0f + : "Ἇ" U1f0f + : "Ἇ" U1f0f + : "Ἇ" U1f0f + : "Ἇ" U1f0f + : "ἐ" U1f10 + : "ἐ" U1f10 + : "ἐ" U1f10 + : "ἑ" U1f11 + : "ἑ" U1f11 + : "ἑ" U1f11 + : "ἒ" U1f12 + : "ἒ" U1f12 + : "ἒ" U1f12 + : "ἒ" U1f12 + : "ἒ" U1f12 + : "ἒ" U1f12 + : "ἓ" U1f13 + : "ἓ" U1f13 + : "ἓ" U1f13 + : "ἓ" U1f13 + : "ἓ" U1f13 + : "ἓ" U1f13 + : "ἔ" U1f14 + : "ἔ" U1f14 + : "ἔ" U1f14 + : "ἔ" U1f14 + : "ἔ" U1f14 + : "ἔ" U1f14 + : "ἕ" U1f15 + : "ἕ" U1f15 + : "ἕ" U1f15 + : "ἕ" U1f15 + : "ἕ" U1f15 + : "ἕ" U1f15 + : "Ἐ" U1f18 + : "Ἐ" U1f18 + : "Ἐ" U1f18 + : "Ἑ" U1f19 + : "Ἑ" U1f19 + : "Ἑ" U1f19 + : "Ἒ" U1f1a + : "Ἒ" U1f1a + : "Ἒ" U1f1a + : "Ἒ" U1f1a + : "Ἒ" U1f1a + : "Ἒ" U1f1a + : "Ἓ" U1f1b + : "Ἓ" U1f1b + : "Ἓ" U1f1b + : "Ἓ" U1f1b + : "Ἓ" U1f1b + : "Ἓ" U1f1b + : "Ἔ" U1f1c + : "Ἔ" U1f1c + : "Ἔ" U1f1c + : "Ἔ" U1f1c + : "Ἔ" U1f1c + : "Ἔ" U1f1c + : "Ἕ" U1f1d + : "Ἕ" U1f1d + : "Ἕ" U1f1d + : "Ἕ" U1f1d + : "Ἕ" U1f1d + : "Ἕ" U1f1d + : "ἠ" U1f20 + : "ἠ" U1f20 + : "ἠ" U1f20 + : "ἡ" U1f21 + : "ἡ" U1f21 + : "ἡ" U1f21 + : "ἢ" U1f22 + : "ἢ" U1f22 + : "ἢ" U1f22 + : "ἢ" U1f22 + : "ἢ" U1f22 + : "ἢ" U1f22 + : "ἣ" U1f23 + : "ἣ" U1f23 + : "ἣ" U1f23 + : "ἣ" U1f23 + : "ἣ" U1f23 + : "ἣ" U1f23 + : "ἤ" U1f24 + : "ἤ" U1f24 + : "ἤ" U1f24 + : "ἤ" U1f24 + : "ἤ" U1f24 + : "ἤ" U1f24 + : "ἥ" U1f25 + : "ἥ" U1f25 + : "ἥ" U1f25 + : "ἥ" U1f25 + : "ἥ" U1f25 + : "ἥ" U1f25 + : "ἦ" U1f26 + : "ἦ" U1f26 + : "ἦ" U1f26 + : "ἦ" U1f26 + : "ἦ" U1f26 + : "ἦ" U1f26 + : "ἧ" U1f27 + : "ἧ" U1f27 + : "ἧ" U1f27 + : "ἧ" U1f27 + : "ἧ" U1f27 + : "ἧ" U1f27 + : "Ἠ" U1f28 + : "Ἠ" U1f28 + : "Ἠ" U1f28 + : "Ἡ" U1f29 + : "Ἡ" U1f29 + : "Ἡ" U1f29 + : "Ἢ" U1f2a + : "Ἢ" U1f2a + : "Ἢ" U1f2a + : "Ἢ" U1f2a + : "Ἢ" U1f2a + : "Ἢ" U1f2a + : "Ἣ" U1f2b + : "Ἣ" U1f2b + : "Ἣ" U1f2b + : "Ἣ" U1f2b + : "Ἣ" U1f2b + : "Ἣ" U1f2b + : "Ἤ" U1f2c + : "Ἤ" U1f2c + : "Ἤ" U1f2c + : "Ἤ" U1f2c + : "Ἤ" U1f2c + : "Ἤ" U1f2c + : "Ἥ" U1f2d + : "Ἥ" U1f2d + : "Ἥ" U1f2d + : "Ἥ" U1f2d + : "Ἥ" U1f2d + : "Ἥ" U1f2d + : "Ἦ" U1f2e + : "Ἦ" U1f2e + : "Ἦ" U1f2e + : "Ἦ" U1f2e + : "Ἦ" U1f2e + : "Ἦ" U1f2e + : "Ἧ" U1f2f + : "Ἧ" U1f2f + : "Ἧ" U1f2f + : "Ἧ" U1f2f + : "Ἧ" U1f2f + : "Ἧ" U1f2f + : "ἰ" U1f30 + : "ἰ" U1f30 + : "ἰ" U1f30 + : "ἱ" U1f31 + : "ἱ" U1f31 + : "ἱ" U1f31 + : "ἲ" U1f32 + : "ἲ" U1f32 + : "ἲ" U1f32 + : "ἲ" U1f32 + : "ἲ" U1f32 + : "ἲ" U1f32 + : "ἳ" U1f33 + : "ἳ" U1f33 + : "ἳ" U1f33 + : "ἳ" U1f33 + : "ἳ" U1f33 + : "ἳ" U1f33 + : "ἴ" U1f34 + : "ἴ" U1f34 + : "ἴ" U1f34 + : "ἴ" U1f34 + : "ἴ" U1f34 + : "ἴ" U1f34 + : "ἵ" U1f35 + : "ἵ" U1f35 + : "ἵ" U1f35 + : "ἵ" U1f35 + : "ἵ" U1f35 + : "ἵ" U1f35 + : "ἶ" U1f36 + : "ἶ" U1f36 + : "ἶ" U1f36 + : "ἶ" U1f36 + : "ἶ" U1f36 + : "ἶ" U1f36 + : "ἷ" U1f37 + : "ἷ" U1f37 + : "ἷ" U1f37 + : "ἷ" U1f37 + : "ἷ" U1f37 + : "ἷ" U1f37 + : "Ἰ" U1f38 + : "Ἰ" U1f38 + : "Ἰ" U1f38 + : "Ἱ" U1f39 + : "Ἱ" U1f39 + : "Ἱ" U1f39 + : "Ἲ" U1f3a + : "Ἲ" U1f3a + : "Ἲ" U1f3a + : "Ἲ" U1f3a + : "Ἲ" U1f3a + : "Ἲ" U1f3a + : "Ἳ" U1f3b + : "Ἳ" U1f3b + : "Ἳ" U1f3b + : "Ἳ" U1f3b + : "Ἳ" U1f3b + : "Ἳ" U1f3b + : "Ἴ" U1f3c + : "Ἴ" U1f3c + : "Ἴ" U1f3c + : "Ἴ" U1f3c + : "Ἴ" U1f3c + : "Ἴ" U1f3c + : "Ἵ" U1f3d + : "Ἵ" U1f3d + : "Ἵ" U1f3d + : "Ἵ" U1f3d + : "Ἵ" U1f3d + : "Ἵ" U1f3d + : "Ἶ" U1f3e + : "Ἶ" U1f3e + : "Ἶ" U1f3e + : "Ἶ" U1f3e + : "Ἶ" U1f3e + : "Ἶ" U1f3e + : "Ἷ" U1f3f + : "Ἷ" U1f3f + : "Ἷ" U1f3f + : "Ἷ" U1f3f + : "Ἷ" U1f3f + : "Ἷ" U1f3f + : "ὀ" U1f40 + : "ὀ" U1f40 + : "ὀ" U1f40 + : "ὁ" U1f41 + : "ὁ" U1f41 + : "ὁ" U1f41 + : "ὂ" U1f42 + : "ὂ" U1f42 + : "ὂ" U1f42 + : "ὂ" U1f42 + : "ὂ" U1f42 + : "ὂ" U1f42 + : "ὃ" U1f43 + : "ὃ" U1f43 + : "ὃ" U1f43 + : "ὃ" U1f43 + : "ὃ" U1f43 + : "ὃ" U1f43 + : "ὄ" U1f44 + : "ὄ" U1f44 + : "ὄ" U1f44 + : "ὄ" U1f44 + : "ὄ" U1f44 + : "ὄ" U1f44 + : "ὅ" U1f45 + : "ὅ" U1f45 + : "ὅ" U1f45 + : "ὅ" U1f45 + : "ὅ" U1f45 + : "ὅ" U1f45 + : "Ὀ" U1f48 + : "Ὀ" U1f48 + : "Ὀ" U1f48 + : "Ὁ" U1f49 + : "Ὁ" U1f49 + : "Ὁ" U1f49 + : "Ὂ" U1f4a + : "Ὂ" U1f4a + : "Ὂ" U1f4a + : "Ὂ" U1f4a + : "Ὂ" U1f4a + : "Ὂ" U1f4a + : "Ὃ" U1f4b + : "Ὃ" U1f4b + : "Ὃ" U1f4b + : "Ὃ" U1f4b + : "Ὃ" U1f4b + : "Ὃ" U1f4b + : "Ὄ" U1f4c + : "Ὄ" U1f4c + : "Ὄ" U1f4c + : "Ὄ" U1f4c + : "Ὄ" U1f4c + : "Ὄ" U1f4c + : "Ὅ" U1f4d + : "Ὅ" U1f4d + : "Ὅ" U1f4d + : "Ὅ" U1f4d + : "Ὅ" U1f4d + : "Ὅ" U1f4d + : "ὐ" U1f50 + : "ὐ" U1f50 + : "ὐ" U1f50 + : "ὑ" U1f51 + : "ὑ" U1f51 + : "ὑ" U1f51 + : "ὒ" U1f52 + : "ὒ" U1f52 + : "ὒ" U1f52 + : "ὒ" U1f52 + : "ὒ" U1f52 + : "ὒ" U1f52 + : "ὓ" U1f53 + : "ὓ" U1f53 + : "ὓ" U1f53 + : "ὓ" U1f53 + : "ὓ" U1f53 + : "ὓ" U1f53 + : "ὔ" U1f54 + : "ὔ" U1f54 + : "ὔ" U1f54 + : "ὔ" U1f54 + : "ὔ" U1f54 + : "ὔ" U1f54 + : "ὕ" U1f55 + : "ὕ" U1f55 + : "ὕ" U1f55 + : "ὕ" U1f55 + : "ὕ" U1f55 + : "ὕ" U1f55 + : "ὖ" U1f56 + : "ὖ" U1f56 + : "ὖ" U1f56 + : "ὖ" U1f56 + : "ὖ" U1f56 + : "ὖ" U1f56 + : "ὗ" U1f57 + : "ὗ" U1f57 + : "ὗ" U1f57 + : "ὗ" U1f57 + : "ὗ" U1f57 + : "ὗ" U1f57 + : "Ὑ" U1f59 + : "Ὑ" U1f59 + : "Ὑ" U1f59 + : "Ὓ" U1f5b + : "Ὓ" U1f5b + : "Ὓ" U1f5b + : "Ὓ" U1f5b + : "Ὓ" U1f5b + : "Ὓ" U1f5b + : "Ὕ" U1f5d + : "Ὕ" U1f5d + : "Ὕ" U1f5d + : "Ὕ" U1f5d + : "Ὕ" U1f5d + : "Ὕ" U1f5d + : "Ὗ" U1f5f + : "Ὗ" U1f5f + : "Ὗ" U1f5f + : "Ὗ" U1f5f + : "Ὗ" U1f5f + : "Ὗ" U1f5f + : "ὠ" U1f60 + : "ὠ" U1f60 + : "ὠ" U1f60 + : "ὡ" U1f61 + : "ὡ" U1f61 + : "ὡ" U1f61 + : "ὢ" U1f62 + : "ὢ" U1f62 + : "ὢ" U1f62 + : "ὢ" U1f62 + : "ὢ" U1f62 + : "ὢ" U1f62 + : "ὣ" U1f63 + : "ὣ" U1f63 + : "ὣ" U1f63 + : "ὣ" U1f63 + : "ὣ" U1f63 + : "ὣ" U1f63 + : "ὤ" U1f64 + : "ὤ" U1f64 + : "ὤ" U1f64 + : "ὤ" U1f64 + : "ὤ" U1f64 + : "ὤ" U1f64 + : "ὥ" U1f65 + : "ὥ" U1f65 + : "ὥ" U1f65 + : "ὥ" U1f65 + : "ὥ" U1f65 + : "ὥ" U1f65 + : "ὦ" U1f66 + : "ὦ" U1f66 + : "ὦ" U1f66 + : "ὦ" U1f66 + : "ὦ" U1f66 + : "ὦ" U1f66 + : "ὧ" U1f67 + : "ὧ" U1f67 + : "ὧ" U1f67 + : "ὧ" U1f67 + : "ὧ" U1f67 + : "ὧ" U1f67 + : "Ὠ" U1f68 + : "Ὠ" U1f68 + : "Ὠ" U1f68 + : "Ὡ" U1f69 + : "Ὡ" U1f69 + : "Ὡ" U1f69 + : "Ὢ" U1f6a + : "Ὢ" U1f6a + : "Ὢ" U1f6a + : "Ὢ" U1f6a + : "Ὢ" U1f6a + : "Ὢ" U1f6a + : "Ὣ" U1f6b + : "Ὣ" U1f6b + : "Ὣ" U1f6b + : "Ὣ" U1f6b + : "Ὣ" U1f6b + : "Ὣ" U1f6b + : "Ὤ" U1f6c + : "Ὤ" U1f6c + : "Ὤ" U1f6c + : "Ὤ" U1f6c + : "Ὤ" U1f6c + : "Ὤ" U1f6c + : "Ὥ" U1f6d + : "Ὥ" U1f6d + : "Ὥ" U1f6d + : "Ὥ" U1f6d + : "Ὥ" U1f6d + : "Ὥ" U1f6d + : "Ὦ" U1f6e + : "Ὦ" U1f6e + : "Ὦ" U1f6e + : "Ὦ" U1f6e + : "Ὦ" U1f6e + : "Ὦ" U1f6e + : "Ὧ" U1f6f + : "Ὧ" U1f6f + : "Ὧ" U1f6f + : "Ὧ" U1f6f + : "Ὧ" U1f6f + : "Ὧ" U1f6f + : "ὰ" U1f70 + : "ὰ" U1f70 + : "ὲ" U1f72 + : "ὲ" U1f72 + : "ὴ" U1f74 + : "ὴ" U1f74 + : "ὶ" U1f76 + : "ὶ" U1f76 + : "ὸ" U1f78 + : "ὸ" U1f78 + : "ὺ" U1f7a + : "ὺ" U1f7a + : "ὼ" U1f7c + : "ὼ" U1f7c + : "ᾀ" U1f80 + : "ᾀ" U1f80 + : "ᾀ" U1f80 + : "ᾀ" U1f80 + : "ᾀ" U1f80 + : "ᾀ" U1f80 + : "ᾁ" U1f81 + : "ᾁ" U1f81 + : "ᾁ" U1f81 + : "ᾁ" U1f81 + : "ᾁ" U1f81 + : "ᾁ" U1f81 + : "ᾂ" U1f82 + : "ᾂ" U1f82 + : "ᾂ" U1f82 + : "ᾂ" U1f82 + : "ᾂ" U1f82 + : "ᾂ" U1f82 + : "ᾂ" U1f82 + : "ᾂ" U1f82 + : "ᾂ" U1f82 + : "ᾂ" U1f82 + : "ᾂ" U1f82 + : "ᾂ" U1f82 + : "ᾂ" U1f82 + : "ᾂ" U1f82 + : "ᾂ" U1f82 + : "ᾂ" U1f82 + : "ᾂ" U1f82 + : "ᾂ" U1f82 + : "ᾃ" U1f83 + : "ᾃ" U1f83 + : "ᾃ" U1f83 + : "ᾃ" U1f83 + : "ᾃ" U1f83 + : "ᾃ" U1f83 + : "ᾃ" U1f83 + : "ᾃ" U1f83 + : "ᾃ" U1f83 + : "ᾃ" U1f83 + : "ᾃ" U1f83 + : "ᾃ" U1f83 + : "ᾃ" U1f83 + : "ᾃ" U1f83 + : "ᾃ" U1f83 + : "ᾃ" U1f83 + : "ᾃ" U1f83 + : "ᾃ" U1f83 + : "ᾄ" U1f84 + : "ᾄ" U1f84 + : "ᾄ" U1f84 + : "ᾄ" U1f84 + : "ᾄ" U1f84 + : "ᾄ" U1f84 + : "ᾄ" U1f84 + : "ᾄ" U1f84 + : "ᾄ" U1f84 + : "ᾄ" U1f84 + : "ᾄ" U1f84 + : "ᾄ" U1f84 + : "ᾄ" U1f84 + : "ᾄ" U1f84 + : "ᾄ" U1f84 + : "ᾄ" U1f84 + : "ᾄ" U1f84 + : "ᾄ" U1f84 + : "ᾅ" U1f85 + : "ᾅ" U1f85 + : "ᾅ" U1f85 + : "ᾅ" U1f85 + : "ᾅ" U1f85 + : "ᾅ" U1f85 + : "ᾅ" U1f85 + : "ᾅ" U1f85 + : "ᾅ" U1f85 + : "ᾅ" U1f85 + : "ᾅ" U1f85 + : "ᾅ" U1f85 + : "ᾅ" U1f85 + : "ᾅ" U1f85 + : "ᾅ" U1f85 + : "ᾅ" U1f85 + : "ᾅ" U1f85 + : "ᾅ" U1f85 + : "ᾆ" U1f86 + : "ᾆ" U1f86 + : "ᾆ" U1f86 + : "ᾆ" U1f86 + : "ᾆ" U1f86 + : "ᾆ" U1f86 + : "ᾆ" U1f86 + : "ᾆ" U1f86 + : "ᾆ" U1f86 + : "ᾆ" U1f86 + : "ᾆ" U1f86 + : "ᾆ" U1f86 + : "ᾆ" U1f86 + : "ᾆ" U1f86 + : "ᾆ" U1f86 + : "ᾆ" U1f86 + : "ᾆ" U1f86 + : "ᾆ" U1f86 + : "ᾇ" U1f87 + : "ᾇ" U1f87 + : "ᾇ" U1f87 + : "ᾇ" U1f87 + : "ᾇ" U1f87 + : "ᾇ" U1f87 + : "ᾇ" U1f87 + : "ᾇ" U1f87 + : "ᾇ" U1f87 + : "ᾇ" U1f87 + : "ᾇ" U1f87 + : "ᾇ" U1f87 + : "ᾇ" U1f87 + : "ᾇ" U1f87 + : "ᾇ" U1f87 + : "ᾇ" U1f87 + : "ᾇ" U1f87 + : "ᾇ" U1f87 + : "ᾈ" U1f88 + : "ᾈ" U1f88 + : "ᾈ" U1f88 + : "ᾈ" U1f88 + : "ᾈ" U1f88 + : "ᾈ" U1f88 + : "ᾉ" U1f89 + : "ᾉ" U1f89 + : "ᾉ" U1f89 + : "ᾉ" U1f89 + : "ᾉ" U1f89 + : "ᾉ" U1f89 + : "ᾊ" U1f8a + : "ᾊ" U1f8a + : "ᾊ" U1f8a + : "ᾊ" U1f8a + : "ᾊ" U1f8a + : "ᾊ" U1f8a + : "ᾊ" U1f8a + : "ᾊ" U1f8a + : "ᾊ" U1f8a + : "ᾊ" U1f8a + : "ᾊ" U1f8a + : "ᾊ" U1f8a + : "ᾊ" U1f8a + : "ᾊ" U1f8a + : "ᾊ" U1f8a + : "ᾊ" U1f8a + : "ᾊ" U1f8a + : "ᾊ" U1f8a + : "ᾋ" U1f8b + : "ᾋ" U1f8b + : "ᾋ" U1f8b + : "ᾋ" U1f8b + : "ᾋ" U1f8b + : "ᾋ" U1f8b + : "ᾋ" U1f8b + : "ᾋ" U1f8b + : "ᾋ" U1f8b + : "ᾋ" U1f8b + : "ᾋ" U1f8b + : "ᾋ" U1f8b + : "ᾋ" U1f8b + : "ᾋ" U1f8b + : "ᾋ" U1f8b + : "ᾋ" U1f8b + : "ᾋ" U1f8b + : "ᾋ" U1f8b + : "ᾌ" U1f8c + : "ᾌ" U1f8c + : "ᾌ" U1f8c + : "ᾌ" U1f8c + : "ᾌ" U1f8c + : "ᾌ" U1f8c + : "ᾌ" U1f8c + : "ᾌ" U1f8c + : "ᾌ" U1f8c + : "ᾌ" U1f8c + : "ᾌ" U1f8c + : "ᾌ" U1f8c + : "ᾌ" U1f8c + : "ᾌ" U1f8c + : "ᾌ" U1f8c + : "ᾌ" U1f8c + : "ᾌ" U1f8c + : "ᾌ" U1f8c + : "ᾍ" U1f8d + : "ᾍ" U1f8d + : "ᾍ" U1f8d + : "ᾍ" U1f8d + : "ᾍ" U1f8d + : "ᾍ" U1f8d + : "ᾍ" U1f8d + : "ᾍ" U1f8d + : "ᾍ" U1f8d + : "ᾍ" U1f8d + : "ᾍ" U1f8d + : "ᾍ" U1f8d + : "ᾍ" U1f8d + : "ᾍ" U1f8d + : "ᾍ" U1f8d + : "ᾍ" U1f8d + : "ᾍ" U1f8d + : "ᾍ" U1f8d + : "ᾎ" U1f8e + : "ᾎ" U1f8e + : "ᾎ" U1f8e + : "ᾎ" U1f8e + : "ᾎ" U1f8e + : "ᾎ" U1f8e + : "ᾎ" U1f8e + : "ᾎ" U1f8e + : "ᾎ" U1f8e + : "ᾎ" U1f8e + : "ᾎ" U1f8e + : "ᾎ" U1f8e + : "ᾎ" U1f8e + : "ᾎ" U1f8e + : "ᾎ" U1f8e + : "ᾎ" U1f8e + : "ᾎ" U1f8e + : "ᾎ" U1f8e + : "ᾏ" U1f8f + : "ᾏ" U1f8f + : "ᾏ" U1f8f + : "ᾏ" U1f8f + : "ᾏ" U1f8f + : "ᾏ" U1f8f + : "ᾏ" U1f8f + : "ᾏ" U1f8f + : "ᾏ" U1f8f + : "ᾏ" U1f8f + : "ᾏ" U1f8f + : "ᾏ" U1f8f + : "ᾏ" U1f8f + : "ᾏ" U1f8f + : "ᾏ" U1f8f + : "ᾏ" U1f8f + : "ᾏ" U1f8f + : "ᾏ" U1f8f + : "ᾐ" U1f90 + : "ᾐ" U1f90 + : "ᾐ" U1f90 + : "ᾐ" U1f90 + : "ᾐ" U1f90 + : "ᾐ" U1f90 + : "ᾑ" U1f91 + : "ᾑ" U1f91 + : "ᾑ" U1f91 + : "ᾑ" U1f91 + : "ᾑ" U1f91 + : "ᾑ" U1f91 + : "ᾒ" U1f92 + : "ᾒ" U1f92 + : "ᾒ" U1f92 + : "ᾒ" U1f92 + : "ᾒ" U1f92 + : "ᾒ" U1f92 + : "ᾒ" U1f92 + : "ᾒ" U1f92 + : "ᾒ" U1f92 + : "ᾒ" U1f92 + : "ᾒ" U1f92 + : "ᾒ" U1f92 + : "ᾒ" U1f92 + : "ᾒ" U1f92 + : "ᾒ" U1f92 + : "ᾒ" U1f92 + : "ᾒ" U1f92 + : "ᾒ" U1f92 + : "ᾓ" U1f93 + : "ᾓ" U1f93 + : "ᾓ" U1f93 + : "ᾓ" U1f93 + : "ᾓ" U1f93 + : "ᾓ" U1f93 + : "ᾓ" U1f93 + : "ᾓ" U1f93 + : "ᾓ" U1f93 + : "ᾓ" U1f93 + : "ᾓ" U1f93 + : "ᾓ" U1f93 + : "ᾓ" U1f93 + : "ᾓ" U1f93 + : "ᾓ" U1f93 + : "ᾓ" U1f93 + : "ᾓ" U1f93 + : "ᾓ" U1f93 + : "ᾔ" U1f94 + : "ᾔ" U1f94 + : "ᾔ" U1f94 + : "ᾔ" U1f94 + : "ᾔ" U1f94 + : "ᾔ" U1f94 + : "ᾔ" U1f94 + : "ᾔ" U1f94 + : "ᾔ" U1f94 + : "ᾔ" U1f94 + : "ᾔ" U1f94 + : "ᾔ" U1f94 + : "ᾔ" U1f94 + : "ᾔ" U1f94 + : "ᾔ" U1f94 + : "ᾔ" U1f94 + : "ᾔ" U1f94 + : "ᾔ" U1f94 + : "ᾕ" U1f95 + : "ᾕ" U1f95 + : "ᾕ" U1f95 + : "ᾕ" U1f95 + : "ᾕ" U1f95 + : "ᾕ" U1f95 + : "ᾕ" U1f95 + : "ᾕ" U1f95 + : "ᾕ" U1f95 + : "ᾕ" U1f95 + : "ᾕ" U1f95 + : "ᾕ" U1f95 + : "ᾕ" U1f95 + : "ᾕ" U1f95 + : "ᾕ" U1f95 + : "ᾕ" U1f95 + : "ᾕ" U1f95 + : "ᾕ" U1f95 + : "ᾖ" U1f96 + : "ᾖ" U1f96 + : "ᾖ" U1f96 + : "ᾖ" U1f96 + : "ᾖ" U1f96 + : "ᾖ" U1f96 + : "ᾖ" U1f96 + : "ᾖ" U1f96 + : "ᾖ" U1f96 + : "ᾖ" U1f96 + : "ᾖ" U1f96 + : "ᾖ" U1f96 + : "ᾖ" U1f96 + : "ᾖ" U1f96 + : "ᾖ" U1f96 + : "ᾖ" U1f96 + : "ᾖ" U1f96 + : "ᾖ" U1f96 + : "ᾗ" U1f97 + : "ᾗ" U1f97 + : "ᾗ" U1f97 + : "ᾗ" U1f97 + : "ᾗ" U1f97 + : "ᾗ" U1f97 + : "ᾗ" U1f97 + : "ᾗ" U1f97 + : "ᾗ" U1f97 + : "ᾗ" U1f97 + : "ᾗ" U1f97 + : "ᾗ" U1f97 + : "ᾗ" U1f97 + : "ᾗ" U1f97 + : "ᾗ" U1f97 + : "ᾗ" U1f97 + : "ᾗ" U1f97 + : "ᾗ" U1f97 + : "ᾘ" U1f98 + : "ᾘ" U1f98 + : "ᾘ" U1f98 + : "ᾘ" U1f98 + : "ᾘ" U1f98 + : "ᾘ" U1f98 + : "ᾙ" U1f99 + : "ᾙ" U1f99 + : "ᾙ" U1f99 + : "ᾙ" U1f99 + : "ᾙ" U1f99 + : "ᾙ" U1f99 + : "ᾚ" U1f9a + : "ᾚ" U1f9a + : "ᾚ" U1f9a + : "ᾚ" U1f9a + : "ᾚ" U1f9a + : "ᾚ" U1f9a + : "ᾚ" U1f9a + : "ᾚ" U1f9a + : "ᾚ" U1f9a + : "ᾚ" U1f9a + : "ᾚ" U1f9a + : "ᾚ" U1f9a + : "ᾚ" U1f9a + : "ᾚ" U1f9a + : "ᾚ" U1f9a + : "ᾚ" U1f9a + : "ᾚ" U1f9a + : "ᾚ" U1f9a + : "ᾛ" U1f9b + : "ᾛ" U1f9b + : "ᾛ" U1f9b + : "ᾛ" U1f9b + : "ᾛ" U1f9b + : "ᾛ" U1f9b + : "ᾛ" U1f9b + : "ᾛ" U1f9b + : "ᾛ" U1f9b + : "ᾛ" U1f9b + : "ᾛ" U1f9b + : "ᾛ" U1f9b + : "ᾛ" U1f9b + : "ᾛ" U1f9b + : "ᾛ" U1f9b + : "ᾛ" U1f9b + : "ᾛ" U1f9b + : "ᾛ" U1f9b + : "ᾜ" U1f9c + : "ᾜ" U1f9c + : "ᾜ" U1f9c + : "ᾜ" U1f9c + : "ᾜ" U1f9c + : "ᾜ" U1f9c + : "ᾜ" U1f9c + : "ᾜ" U1f9c + : "ᾜ" U1f9c + : "ᾜ" U1f9c + : "ᾜ" U1f9c + : "ᾜ" U1f9c + : "ᾜ" U1f9c + : "ᾜ" U1f9c + : "ᾜ" U1f9c + : "ᾜ" U1f9c + : "ᾜ" U1f9c + : "ᾜ" U1f9c + : "ᾝ" U1f9d + : "ᾝ" U1f9d + : "ᾝ" U1f9d + : "ᾝ" U1f9d + : "ᾝ" U1f9d + : "ᾝ" U1f9d + : "ᾝ" U1f9d + : "ᾝ" U1f9d + : "ᾝ" U1f9d + : "ᾝ" U1f9d + : "ᾝ" U1f9d + : "ᾝ" U1f9d + : "ᾝ" U1f9d + : "ᾝ" U1f9d + : "ᾝ" U1f9d + : "ᾝ" U1f9d + : "ᾝ" U1f9d + : "ᾝ" U1f9d + : "ᾞ" U1f9e + : "ᾞ" U1f9e + : "ᾞ" U1f9e + : "ᾞ" U1f9e + : "ᾞ" U1f9e + : "ᾞ" U1f9e + : "ᾞ" U1f9e + : "ᾞ" U1f9e + : "ᾞ" U1f9e + : "ᾞ" U1f9e + : "ᾞ" U1f9e + : "ᾞ" U1f9e + : "ᾞ" U1f9e + : "ᾞ" U1f9e + : "ᾞ" U1f9e + : "ᾞ" U1f9e + : "ᾞ" U1f9e + : "ᾞ" U1f9e + : "ᾟ" U1f9f + : "ᾟ" U1f9f + : "ᾟ" U1f9f + : "ᾟ" U1f9f + : "ᾟ" U1f9f + : "ᾟ" U1f9f + : "ᾟ" U1f9f + : "ᾟ" U1f9f + : "ᾟ" U1f9f + : "ᾟ" U1f9f + : "ᾟ" U1f9f + : "ᾟ" U1f9f + : "ᾟ" U1f9f + : "ᾟ" U1f9f + : "ᾟ" U1f9f + : "ᾟ" U1f9f + : "ᾟ" U1f9f + : "ᾟ" U1f9f + : "ᾠ" U1fa0 + : "ᾠ" U1fa0 + : "ᾠ" U1fa0 + : "ᾠ" U1fa0 + : "ᾠ" U1fa0 + : "ᾠ" U1fa0 + : "ᾡ" U1fa1 + : "ᾡ" U1fa1 + : "ᾡ" U1fa1 + : "ᾡ" U1fa1 + : "ᾡ" U1fa1 + : "ᾡ" U1fa1 + : "ᾢ" U1fa2 + : "ᾢ" U1fa2 + : "ᾢ" U1fa2 + : "ᾢ" U1fa2 + : "ᾢ" U1fa2 + : "ᾢ" U1fa2 + : "ᾢ" U1fa2 + : "ᾢ" U1fa2 + : "ᾢ" U1fa2 + : "ᾢ" U1fa2 + : "ᾢ" U1fa2 + : "ᾢ" U1fa2 + : "ᾢ" U1fa2 + : "ᾢ" U1fa2 + : "ᾢ" U1fa2 + : "ᾢ" U1fa2 + : "ᾢ" U1fa2 + : "ᾢ" U1fa2 + : "ᾣ" U1fa3 + : "ᾣ" U1fa3 + : "ᾣ" U1fa3 + : "ᾣ" U1fa3 + : "ᾣ" U1fa3 + : "ᾣ" U1fa3 + : "ᾣ" U1fa3 + : "ᾣ" U1fa3 + : "ᾣ" U1fa3 + : "ᾣ" U1fa3 + : "ᾣ" U1fa3 + : "ᾣ" U1fa3 + : "ᾣ" U1fa3 + : "ᾣ" U1fa3 + : "ᾣ" U1fa3 + : "ᾣ" U1fa3 + : "ᾣ" U1fa3 + : "ᾣ" U1fa3 + : "ᾤ" U1fa4 + : "ᾤ" U1fa4 + : "ᾤ" U1fa4 + : "ᾤ" U1fa4 + : "ᾤ" U1fa4 + : "ᾤ" U1fa4 + : "ᾤ" U1fa4 + : "ᾤ" U1fa4 + : "ᾤ" U1fa4 + : "ᾤ" U1fa4 + : "ᾤ" U1fa4 + : "ᾤ" U1fa4 + : "ᾤ" U1fa4 + : "ᾤ" U1fa4 + : "ᾤ" U1fa4 + : "ᾤ" U1fa4 + : "ᾤ" U1fa4 + : "ᾤ" U1fa4 + : "ᾥ" U1fa5 + : "ᾥ" U1fa5 + : "ᾥ" U1fa5 + : "ᾥ" U1fa5 + : "ᾥ" U1fa5 + : "ᾥ" U1fa5 + : "ᾥ" U1fa5 + : "ᾥ" U1fa5 + : "ᾥ" U1fa5 + : "ᾥ" U1fa5 + : "ᾥ" U1fa5 + : "ᾥ" U1fa5 + : "ᾥ" U1fa5 + : "ᾥ" U1fa5 + : "ᾥ" U1fa5 + : "ᾥ" U1fa5 + : "ᾥ" U1fa5 + : "ᾥ" U1fa5 + : "ᾦ" U1fa6 + : "ᾦ" U1fa6 + : "ᾦ" U1fa6 + : "ᾦ" U1fa6 + : "ᾦ" U1fa6 + : "ᾦ" U1fa6 + : "ᾦ" U1fa6 + : "ᾦ" U1fa6 + : "ᾦ" U1fa6 + : "ᾦ" U1fa6 + : "ᾦ" U1fa6 + : "ᾦ" U1fa6 + : "ᾦ" U1fa6 + : "ᾦ" U1fa6 + : "ᾦ" U1fa6 + : "ᾦ" U1fa6 + : "ᾦ" U1fa6 + : "ᾦ" U1fa6 + : "ᾧ" U1fa7 + : "ᾧ" U1fa7 + : "ᾧ" U1fa7 + : "ᾧ" U1fa7 + : "ᾧ" U1fa7 + : "ᾧ" U1fa7 + : "ᾧ" U1fa7 + : "ᾧ" U1fa7 + : "ᾧ" U1fa7 + : "ᾧ" U1fa7 + : "ᾧ" U1fa7 + : "ᾧ" U1fa7 + : "ᾧ" U1fa7 + : "ᾧ" U1fa7 + : "ᾧ" U1fa7 + : "ᾧ" U1fa7 + : "ᾧ" U1fa7 + : "ᾧ" U1fa7 + : "ᾨ" U1fa8 + : "ᾨ" U1fa8 + : "ᾨ" U1fa8 + : "ᾨ" U1fa8 + : "ᾨ" U1fa8 + : "ᾨ" U1fa8 + : "ᾩ" U1fa9 + : "ᾩ" U1fa9 + : "ᾩ" U1fa9 + : "ᾩ" U1fa9 + : "ᾩ" U1fa9 + : "ᾩ" U1fa9 + : "ᾪ" U1faa + : "ᾪ" U1faa + : "ᾪ" U1faa + : "ᾪ" U1faa + : "ᾪ" U1faa + : "ᾪ" U1faa + : "ᾪ" U1faa + : "ᾪ" U1faa + : "ᾪ" U1faa + : "ᾪ" U1faa + : "ᾪ" U1faa + : "ᾪ" U1faa + : "ᾪ" U1faa + : "ᾪ" U1faa + : "ᾪ" U1faa + : "ᾪ" U1faa + : "ᾪ" U1faa + : "ᾪ" U1faa + : "ᾫ" U1fab + : "ᾫ" U1fab + : "ᾫ" U1fab + : "ᾫ" U1fab + : "ᾫ" U1fab + : "ᾫ" U1fab + : "ᾫ" U1fab + : "ᾫ" U1fab + : "ᾫ" U1fab + : "ᾫ" U1fab + : "ᾫ" U1fab + : "ᾫ" U1fab + : "ᾫ" U1fab + : "ᾫ" U1fab + : "ᾫ" U1fab + : "ᾫ" U1fab + : "ᾫ" U1fab + : "ᾫ" U1fab + : "ᾬ" U1fac + : "ᾬ" U1fac + : "ᾬ" U1fac + : "ᾬ" U1fac + : "ᾬ" U1fac + : "ᾬ" U1fac + : "ᾬ" U1fac + : "ᾬ" U1fac + : "ᾬ" U1fac + : "ᾬ" U1fac + : "ᾬ" U1fac + : "ᾬ" U1fac + : "ᾬ" U1fac + : "ᾬ" U1fac + : "ᾬ" U1fac + : "ᾬ" U1fac + : "ᾬ" U1fac + : "ᾬ" U1fac + : "ᾭ" U1fad + : "ᾭ" U1fad + : "ᾭ" U1fad + : "ᾭ" U1fad + : "ᾭ" U1fad + : "ᾭ" U1fad + : "ᾭ" U1fad + : "ᾭ" U1fad + : "ᾭ" U1fad + : "ᾭ" U1fad + : "ᾭ" U1fad + : "ᾭ" U1fad + : "ᾭ" U1fad + : "ᾭ" U1fad + : "ᾭ" U1fad + : "ᾭ" U1fad + : "ᾭ" U1fad + : "ᾭ" U1fad + : "ᾮ" U1fae + : "ᾮ" U1fae + : "ᾮ" U1fae + : "ᾮ" U1fae + : "ᾮ" U1fae + : "ᾮ" U1fae + : "ᾮ" U1fae + : "ᾮ" U1fae + : "ᾮ" U1fae + : "ᾮ" U1fae + : "ᾮ" U1fae + : "ᾮ" U1fae + : "ᾮ" U1fae + : "ᾮ" U1fae + : "ᾮ" U1fae + : "ᾮ" U1fae + : "ᾮ" U1fae + : "ᾮ" U1fae + : "ᾯ" U1faf + : "ᾯ" U1faf + : "ᾯ" U1faf + : "ᾯ" U1faf + : "ᾯ" U1faf + : "ᾯ" U1faf + : "ᾯ" U1faf + : "ᾯ" U1faf + : "ᾯ" U1faf + : "ᾯ" U1faf + : "ᾯ" U1faf + : "ᾯ" U1faf + : "ᾯ" U1faf + : "ᾯ" U1faf + : "ᾯ" U1faf + : "ᾯ" U1faf + : "ᾯ" U1faf + : "ᾯ" U1faf + : "ᾰ" U1fb0 + : "ᾱ" U1fb1 + : "Ᾰ" U1fb8 + : "Ᾱ" U1fb9 + : "ῐ" U1fd0 + : "ῑ" U1fd1 + : "Ῐ" U1fd8 + : "Ῑ" U1fd9 + : "ῠ" U1fe0 + : "ῡ" U1fe1 + : "Ῠ" U1fe8 + : "Ῡ" U1fe9 + : "Ὰ" U1fba + : "Ὰ" U1fba + : "Ὲ" U1fc8 + : "Ὲ" U1fc8 + : "Ὴ" U1fca + : "Ὴ" U1fca + : "Ὶ" U1fda + : "Ὶ" U1fda + : "Ὺ" U1fea + : "Ὺ" U1fea + : "Ὸ" U1ff8 + : "Ὸ" U1ff8 + : "Ὼ" U1ffa + : "Ὼ" U1ffa + : "ᾲ" U1fb2 + : "ᾲ" U1fb2 + : "ᾲ" U1fb2 + : "ᾲ" U1fb2 + : "ᾳ" U1fb3 + : "ᾳ" U1fb3 + : "ᾴ" U1fb4 + : "ᾴ" U1fb4 + : "ᾴ" U1fb4 + : "ᾴ" U1fb4 + : "ᾶ" U1fb6 + : "ᾶ" U1fb6 + : "ᾷ" U1fb7 + : "ᾷ" U1fb7 + : "ᾷ" U1fb7 + : "ᾷ" U1fb7 + : "ῂ" U1fc2 + : "ῂ" U1fc2 + : "ῂ" U1fc2 + : "ῂ" U1fc2 + : "ῃ" U1fc3 + : "ῃ" U1fc3 + : "ῄ" U1fc4 + : "ῄ" U1fc4 + : "ῄ" U1fc4 + : "ῄ" U1fc4 + : "ῆ" U1fc6 + : "ῆ" U1fc6 + : "ῇ" U1fc7 + : "ῇ" U1fc7 + : "ῇ" U1fc7 + : "ῇ" U1fc7 + : "ῒ" U1fd2 + : "ῒ" U1fd2 + : "ῒ" U1fd2 + : "ῒ" U1fd2 + : "ῖ" U1fd6 + : "ῖ" U1fd6 + : "ῗ" U1fd7 + : "ῗ" U1fd7 + : "ῗ" U1fd7 + : "ῗ" U1fd7 + : "ῢ" U1fe2 + : "ῢ" U1fe2 + : "ῢ" U1fe2 + : "ῢ" U1fe2 + : "ῦ" U1fe6 + : "ῦ" U1fe6 + : "ῧ" U1fe7 + : "ῧ" U1fe7 + : "ῧ" U1fe7 + : "ῧ" U1fe7 + : "ῲ" U1ff2 + : "ῲ" U1ff2 + : "ῲ" U1ff2 + : "ῲ" U1ff2 + : "ῳ" U1ff3 + : "ῳ" U1ff3 + : "ῴ" U1ff4 + : "ῴ" U1ff4 + : "ῴ" U1ff4 + : "ῴ" U1ff4 + : "ῶ" U1ff6 + : "ῶ" U1ff6 + : "ῷ" U1ff7 + : "ῷ" U1ff7 + : "ῷ" U1ff7 + : "ῷ" U1ff7 + : "ᾼ" U1fbc + : "ᾼ" U1fbc + : "ῌ" U1fcc + : "ῌ" U1fcc + : "ῼ" U1ffc + : "ῼ" U1ffc + : "ῤ" U1fe4 + : "ῤ" U1fe4 + : "ῤ" U1fe4 + : "ῥ" U1fe5 + : "ῥ" U1fe5 + : "ῥ" U1fe5 + : "Ῥ" U1fec + : "Ῥ" U1fec + : "Ῥ" U1fec + : "῍" U1fcd + : "῍" U1fcd + : "῍" U1fcd + : "῍" U1fcd + : "῎" U1fce + : "῎" U1fce + : "῎" U1fce + : "῎" U1fce + : "῏" U1fcf + : "῏" U1fcf + : "῏" U1fcf + : "῏" U1fcf + : "῝" U1fdd + : "῝" U1fdd + : "῝" U1fdd + : "῝" U1fdd + : "῞" U1fde + : "῞" U1fde + : "῞" U1fde + : "῞" U1fde + : "῟" U1fdf + : "῟" U1fdf + : "῟" U1fdf + : "῟" U1fdf + : "῭" U1fed + : "῭" U1fed + : "῁" U1fc1 + : "῁" U1fc1 + : "᾿" U1fbf + : "᾿" U1fbf + : "᾿" U1fbf + : "᾿" U1fbf + : "῾" U1ffe + : "῾" U1ffe + : "῾" U1ffe + : "῾" U1ffe + : "`" U1fef + : "`" U1fef + : "῀" U1fc0 + : "῀" U1fc0 + : "᾽" U1fbd + : "᾽" U1fbd + : "ι" U1fbe + : "ͺ" U037a + : "ͺ" U037a + +# Part 3 +# +# ISO 8859-7 (Greek) multi-key and dead key definitions extracted and +# converted from the iso8859-7/Compose file. + + : "Ά" Greek_ALPHAaccent + : "Ά" Greek_ALPHAaccent + : "Έ" Greek_EPSILONaccent + : "Έ" Greek_EPSILONaccent + : "Ή" Greek_ETAaccent + : "Ή" Greek_ETAaccent + : "Ί" Greek_IOTAaccent + : "Ί" Greek_IOTAaccent + : "Ό" Greek_OMICRONaccent + : "Ό" Greek_OMICRONaccent + : "Ύ" Greek_UPSILONaccent + : "Ύ" Greek_UPSILONaccent + : "Ώ" Greek_OMEGAaccent + : "Ώ" Greek_OMEGAaccent + : "Ϊ" Greek_IOTAdieresis + : "Ϊ" Greek_IOTAdieresis + : "Ϋ" Greek_UPSILONdieresis + : "Ϋ" Greek_UPSILONdieresis + + : "ά" Greek_alphaaccent + : "ά" Greek_alphaaccent + : "έ" Greek_epsilonaccent + : "έ" Greek_epsilonaccent + : "ή" Greek_etaaccent + : "ή" Greek_etaaccent + : "ί" Greek_iotaaccent + : "ί" Greek_iotaaccent + : "ό" Greek_omicronaccent + : "ό" Greek_omicronaccent + : "ύ" Greek_upsilonaccent + : "ύ" Greek_upsilonaccent + : "ώ" Greek_omegaaccent + : "ώ" Greek_omegaaccent + : "ϊ" Greek_iotadieresis + : "ϊ" Greek_iotadieresis + : "ϋ" Greek_upsilondieresis + : "ϋ" Greek_upsilondieresis + + : "ΐ" Greek_iotaaccentdieresis + : "ΐ" Greek_iotaaccentdieresis + : "ΰ" Greek_upsilonaccentdieresis + : "ΰ" Greek_upsilonaccentdieresis + : "΅" Greek_accentdieresis + : "΅" Greek_accentdieresis + + : "ά" Greek_alphaaccent + : "έ" Greek_epsilonaccent + : "ή" Greek_etaaccent + : "ί" Greek_iotaaccent + : "ό" Greek_omicronaccent + : "ύ" Greek_upsilonaccent + : "ώ" Greek_omegaaccent + : "Ά" Greek_ALPHAaccent + : "Έ" Greek_EPSILONaccent + : "Ή" Greek_ETAaccent + : "Ί" Greek_IOTAaccent + : "Ό" Greek_OMICRONaccent + : "Ύ" Greek_UPSILONaccent + : "Ώ" Greek_OMEGAaccent + : "΄" U0384 + : "΄" U0384 + : "·" periodcentered + : "«" guillemotleft + : "»" guillemotright + + : "ϊ" Greek_iotadieresis + : "ϋ" Greek_upsilondieresis + : "Ϊ" Greek_IOTAdieresis + : "Ϋ" Greek_UPSILONdieresis + : "¨" diaeresis + : "¨" diaeresis + : "·" periodcentered + : "«" guillemotleft + : "»" guillemotright + + : "ΐ" Greek_iotaaccentdieresis + : "ΰ" Greek_upsilonaccentdieresis + : "΅" Greek_accentdieresis + + : "ΐ" Greek_iotaaccentdieresis + : "ΰ" Greek_upsilonaccentdieresis + : "΅" Greek_accentdieresis + +# Part 4 +# +# Miscellaneous extensions. + + : "¯" macron + : "¯" macron + : "˘" breve + : "˘" breve + + : "`" grave + : "´" acute + : "~" asciitilde + + : "‘" leftsinglequotemark + : "‘" leftsinglequotemark + : "’" rightsinglequotemark + : "’" rightsinglequotemark + : "―" Greek_horizbar + : "˘" breve + + : "ʹ" U0374 + : "͵" U0375 + : ";" U037e + : "·" U0387 + + : "€" EuroSign + : "€" EuroSign + : "€" EuroSign + : "€" EuroSign + : "€" EuroSign + : "€" EuroSign + : "€" EuroSign + : "€" EuroSign + : "€" EuroSign + : "€" EuroSign + : "€" EuroSign + : "€" EuroSign + + : "₯" U20af + : "₯" U20af + : "₯" U20af + : "₯" U20af + + : "‽" U203D # INTERROBANG + : "‽" U203D # INTERROBANG + + <1> <3> : "⅓" U2153 # VULGAR FRACTION ONE THIRD + <2> <3> : "⅔" U2154 # VULGAR FRACTION TWO THIRDS + <1> <5> : "⅕" U2155 # VULGAR FRACTION ONE FIFTH + <2> <5> : "⅖" U2156 # VULGAR FRACTION TWO FIFTHS + <3> <5> : "⅗" U2157 # VULGAR FRACTION THREE FIFTHS + <4> <5> : "⅘" U2158 # VULGAR FRACTION FOUR FIFTHS + <1> <6> : "⅙" U2159 # VULGAR FRACTION ONE SIXTH + <5> <6> : "⅚" U215A # VULGAR FRACTION FIVE SIXTHS + <1> <8> : "⅛" U215B # VULGAR FRACTION ONE EIGHTH + <3> <8> : "⅜" U215C # VULGAR FRACTION THREE EIGHTHS + <5> <8> : "⅝" U215D # VULGAR FRACTION FIVE EIGHTHS + <7> <8> : "⅞" U215E # VULGAR FRACTION SEVEN EIGHTHS + +# +# Khmer digraphs +# + + : "ាំ" + : "ោះ" + : "េះ" + : "ុំ" + : "ុះ" + +# End diff --git a/locale/el_GR.UTF-8/XI18N_OBJS b/locale/el_GR.UTF-8/XI18N_OBJS new file mode 100644 index 0000000..e69de29 diff --git a/locale/el_GR.UTF-8/XLC_LOCALE b/locale/el_GR.UTF-8/XLC_LOCALE new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/locale/el_GR.UTF-8/XLC_LOCALE @@ -0,0 +1 @@ + diff --git a/locale/en_US.UTF-8/Compose b/locale/en_US.UTF-8/Compose new file mode 100644 index 0000000..e150ddb --- /dev/null +++ b/locale/en_US.UTF-8/Compose @@ -0,0 +1,6208 @@ + +# UTF-8 (Unicode) compose sequence +# David.Monniaux@ens.fr +# + +# Part 1 - Manual definitions + +# Spacing versions of dead accents + : "~" asciitilde # TILDE + : "~" asciitilde # TILDE + : "'" apostrophe # APOSTROPHE + : "´" acute # ACUTE ACCENT + : "´" acute # ACUTE ACCENT + : "`" grave # GRAVE ACCENT + : "`" grave # GRAVE ACCENT + : "^" asciicircum # CIRCUMFLEX ACCENT + : "^" asciicircum # CIRCUMFLEX ACCENT + : "°" degree # DEGREE SIGN + : "°" degree # DEGREE SIGN + : "¯" macron # MACRON + : "¯" macron # MACRON + : "¯" macron # MACRON + : "¯" macron # MACRON + : "¯" macron # MACRON + : "¯" macron # MACRON + : "˘" breve # BREVE + : "˘" breve # BREVE + : "˘" breve # BREVE + : "˘" breve # BREVE + : "˙" abovedot # DOT ABOVE + : "˙" abovedot # DOT ABOVE + : "¨" diaeresis # DIAERESIS + : "¨" diaeresis # DIAERESIS + : "\"" quotedbl # REVERSE SOLIDUS + : "˝" U2dd # DOUBLE ACUTE ACCENT + : "˝" U2dd # DOUBLE ACUTE ACCENT + : "ˇ" caron # CARON + : "ˇ" caron # CARON + : "ˇ" caron # CARON + : "ˇ" caron # CARON + : "¸" cedilla # CEDILLA + : "¸" cedilla # CEDILLA + : "˛" ogonek # OGONEK + : "˛" ogonek # OGONEK + : "ͺ" U37a # GREEK YPOGEGRAMMENI + : "ͺ" U37a # GREEK YPOGEGRAMMENI + : "­" U00ad # SOFT HYPHEN + + +# ASCII characters that may be difficult to access +# on some keyboards. + : "#" numbersign # NUMBER SIGN + : "'" apostrophe # APOSTROPHE + : "'" apostrophe # APOSTROPHE + : "@" at # COMMERCIAL AT + : "[" bracketleft # LEFT SQUARE BRACKET + : "\\" backslash # REVERSE SOLIDUS + : "\\" backslash # REVERSE SOLIDUS + : "\\" backslash # REVERSE SOLIDUS + : "]" bracketright # RIGHT SQUARE BRACKET + + : "^" asciicircum # CIRCUMFLEX ACCENT + : "^" asciicircum # CIRCUMFLEX ACCENT + : "^" asciicircum # CIRCUMFLEX ACCENT + : "^" asciicircum # CIRCUMFLEX ACCENT + + : "`" grave # GRAVE ACCENT + : "`" grave # GRAVE ACCENT + + : "¸" cedilla # CEDILLA + : "¸" cedilla # CEDILLA + : "¸" cedilla # CEDILLA + + : "{" braceleft # LEFT CURLY BRACKET + : "{" braceleft # LEFT CURLY BRACKET + + : "|" bar # VERTICAL LINE + : "|" bar # VERTICAL LINE + : "|" bar # VERTICAL LINE + : "|" bar # VERTICAL LINE + : "|" bar # VERTICAL LINE + : "|" bar # VERTICAL LINE + + : "}" braceright # RIGHT CURLY BRACKET + : "}" braceright # RIGHT CURLY BRACKET + + : "~" asciitilde # TILDE + : "~" asciitilde # TILDE + : "~" asciitilde # TILDE + : "~" asciitilde # TILDE + + : "<" less # LESS-THAN + : "<" less # LESS-THAN + + : ">" greater # GREATER-THAN + : ">" greater # GREATER-THAN + +# Spaces + : " " nobreakspace # NO-BREAK SPACE + : " " U2008 # PUNCTUATION SPACE + + : "©" copyright # COPYRIGHT SIGN + : "©" copyright # COPYRIGHT SIGN + : "©" copyright # COPYRIGHT SIGN + : "©" copyright # COPYRIGHT SIGN + : "©" copyright # COPYRIGHT SIGN + : "©" copyright # COPYRIGHT SIGN + + : "®" registered # REGISTERED SIGN + : "®" registered # REGISTERED SIGN + : "®" registered # REGISTERED SIGN + : "®" registered # REGISTERED SIGN + : "®" registered # REGISTERED SIGN + : "®" registered # REGISTERED SIGN + + : "›" U203a # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK + : "‹" U2039 # SINGLE LEFT-POINTING ANGLE QUOTATION MARK + : "…" ellipsis # HORIZONTAL ELLIPSIS + : "·" periodcentered # MIDDLE DOT + : "·" periodcentered # MIDDLE DOT + : "·" periodcentered # MIDDLE DOT + : "•" enfilledcircbullet # BULLET + : "¦" brokenbar # BROKEN BAR + : "¡" exclamdown # INVERTED EXCLAMATION MARK +

: "¶" paragraph # PILCROW SIGN +

: "¶" paragraph # PILCROW SIGN + : "±" plusminus # PLUS-MINUS SIGN + : "±" plusminus # PLUS-MINUS SIGN + : "¿" questiondown # INVERTED QUESTION MARK + : "ß" ssharp # LATIN SMALL LETTER SHARP S + : "ẞ" U1e9e # LATIN CAPITAL LETTER SHARP S + + : "œ" oe # LATIN SMALL LIGATURE OE + : "Œ" OE # LATIN CAPITAL LIGATURE OE + : "æ" ae # LATIN SMALL LETTER AE + : "Æ" AE # LATIN CAPITAL LETTER AE + : "ff" Ufb00 # LATIN SMALL LIGATURE FF + : "fi" Ufb01 # LATIN SMALL LIGATURE FI + : "fl" Ufb02 # LATIN SMALL LIGATURE FL + : "ffi" Ufb03 # LATIN SMALL LIGATURE FFI + : "ffl" Ufb04 # LATIN SMALL LIGATURE FFL + : "IJ" U0132 # LATIN CAPITAL LIGATURE IJ + : "IJ" U0132 # LATIN CAPITAL LIGATURE IJ + : "ij" U0133 # LATIN SMALL LIGATURE IJ + + : "°" degree # DEGREE SIGN + <0> : "°" degree # DEGREE SIGN + <0> : "°" degree # DEGREE SIGN + +# Quotation marks + : "«" guillemotleft # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK + : "»" guillemotright # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK + : "‘" U2018 # LEFT SINGLE QUOTATION MARK + : "‘" U2018 # LEFT SINGLE QUOTATION MARK + : "’" U2019 # RIGHT SINGLE QUOTATION MARK + : "’" U2019 # RIGHT SINGLE QUOTATION MARK + : "‚" U201a # SINGLE LOW-9 QUOTATION MARK + : "‚" U201a # SINGLE LOW-9 QUOTATION MARK + : "“" U201c # LEFT DOUBLE QUOTATION MARK + : "“" U201c # LEFT DOUBLE QUOTATION MARK + : "”" U201d # RIGHT DOUBLE QUOTATION MARK + : "”" U201d # RIGHT DOUBLE QUOTATION MARK + : "„" U201e # DOUBLE LOW-9 QUOTATION MARK + : "„" U201e # DOUBLE LOW-9 QUOTATION MARK + +# Per xxx + : "‰" U2030 # PER MILLE SIGN + +# Currencies + : "₠" U20a0 # EURO-CURRENCY SIGN + : "₡" U20a1 # COLON SIGN + : "₡" U20a1 # COLON SIGN + : "₢" U20a2 # CRUZEIRO SIGN + : "₣" U20a3 # FRENCH FRANC SIGN + : "₤" U20a4 # LIRA SIGN + : "₤" U20a4 # LIRA SIGN + : "₥" U20a5 # MILL SIGN + : "₥" U20a5 # MILL SIGN + : "₦" U20a6 # NAIRA SIGN + : "₦" U20a6 # NAIRA SIGN +

: "₧" U20a7 # PESETA SIGN + : "₨" U20a8 # RUPEE SIGN + : "₩" U20a9 # WON SIGN + : "₩" U20a9 # WON SIGN +# "₪" U20aa NEW SHEQEL SIGN + : "₫" U20ab # DONG SIGN + : "₫" U20ab # DONG SIGN + : "€" EuroSign # EURO SIGN + : "€" EuroSign # EURO SIGN + : "€" EuroSign # EURO SIGN + : "€" EuroSign # EURO SIGN + : "€" EuroSign # EURO SIGN + : "€" EuroSign # EURO SIGN + : "€" EuroSign # EURO SIGN + : "€" EuroSign # EURO SIGN + : "€" EuroSign # EURO SIGN + : "€" EuroSign # EURO SIGN + : "€" EuroSign # EURO SIGN + : "€" EuroSign # EURO SIGN +

: "₽" U20bd # ROUBLE SIGN +

: "₽" U20bd # ROUBLE SIGN +

: "₽" U20bd # ROUBLE SIGN +

: "₽" U20bd # ROUBLE SIGN + : "₽" U20bd # ROUBLE SIGN + : "₽" U20bd # ROUBLE SIGN + : "₽" U20bd # ROUBLE SIGN + : "₽" U20bd # ROUBLE SIGN +# "₭" U20ad KIP SIGN +# "₮" U20ae TUGRIK SIGN +# "₯" U20af DRACHMA SIGN +# "₰" U20b0 GERMAN PENNY SIGN +# "₱" U20b1 PESO SIGN +# "₲" U20b2 GUARANI SIGN +# "₳" U20b3 AUSTRAL SIGN +# "₴" U20b4 HRYVNIA SIGN +# "₵" U20b5 CEDI SIGN + : "₹" U20b9 # INDIAN RUPEE SIGN + : "₹" U20b9 # INDIAN RUPEE SIGN + : "₹" U20b9 # INDIAN RUPEE SIGN + : "₹" U20b9 # INDIAN RUPEE SIGN + + : "¢" cent # CENT SIGN + : "¢" cent # CENT SIGN + : "¢" cent # CENT SIGN + : "¢" cent # CENT SIGN + : "¢" cent # CENT SIGN + : "¢" cent # CENT SIGN + : "£" sterling # POUND SIGN + : "£" sterling # POUND SIGN + : "£" sterling # POUND SIGN + : "£" sterling # POUND SIGN + : "¥" yen # YEN SIGN + : "¥" yen # YEN SIGN + : "¥" yen # YEN SIGN + : "¥" yen # YEN SIGN + : "¥" yen # YEN SIGN + : "¥" yen # YEN SIGN + : "¥" yen # YEN SIGN + : "¥" yen # YEN SIGN + +# Long S + : "ſ" U017f # LATIN SMALL LETTER LONG S + : "ſ" U017f # LATIN SMALL LETTER LONG S + : "ẛ" U1e9b # LATIN SMALL LETTER LONG S WITH DOT ABOVE + : "ẛ" U1e9b # LATIN SMALL LETTER LONG S WITH DOT ABOVE + +# Dashes + : "–" U2013 # EN DASH + : "—" U2014 # EM DASH + +# Musical alterations + : "♩" U2669 # QUARTER NOTE + : "♪" U266a # EIGHTH NOTE + : "♫" U266b # BEAMED EIGHTH NOTES + : "♬" U266c # BEAMED SIXTEENTH NOTES + : "♭" U266d # MUSIC FLAT SIGN + : "♮" U266e # MUSIC NATURAL SIGN + : "♯" U266f # MUSIC SHARP SIGN + +# Other symbols + : "§" section # SECTION SIGN + : "§" section # SECTION SIGN + : "§" section # SECTION SIGN + : "§" section # SECTION SIGN + : "§" section # SECTION SIGN + : "§" section # SECTION SIGN + : "§" section # SECTION SIGN + + : "¤" currency # CURRENCY SIGN + : "¤" currency # CURRENCY SIGN + : "¤" currency # CURRENCY SIGN + : "¤" currency # CURRENCY SIGN + : "¤" currency # CURRENCY SIGN + : "¤" currency # CURRENCY SIGN + : "¤" currency # CURRENCY SIGN + : "¤" currency # CURRENCY SIGN + +

: "¶" paragraph # PILCROW SIGN + + : "№" numerosign # NUMERO SIGN + : "№" numerosign # NUMERO SIGN + : "№" numerosign # NUMERO SIGN + : "№" numerosign # NUMERO SIGN + + : "⸘" U2E18 # INVERTED INTERROBANG + : "‽" U203D # INTERROBANG + +

: "☭" U262D # HAMMER AND SICKLE + : "Ⓐ" U24B6 # CIRCLED LATIN CAPITAL LETTER A + <3> : "♥" U2665 # BLACK HEART SUIT + + : "☺" U263A # WHITE SMILING FACE + : "☹" U2639 # WHITE FROWNING FACE + : "🙌" # PERSON RAISING BOTH HANDS IN CELEBRATION + +

: "💩" U1F4A9 # PILE OF POO + + : "🖕" U1F595 # REVERSED HAND WITH MIDDLE FINGER EXTENDED +

: "🖖" U1F596 # RAISED HAND WITH PART BETWEEN MIDDLE AND RING FINGERS + +# Part 2 + +# Compose map for Korean Hangul(Choseongul) Conjoining Jamos automatically +# generated from UnicodeData-2.0.14.txt at +# ftp: +# by Jungshik Shin 2002-10-17 +# There are some conflicts among sequences, but I left them alone. +# +# group 1: cluster jamos made of three basic jamos + + + + + + + + + + + + + + + + + + + + + + + + + + : "ᄁ" U1101 # HANGUL CHOSEONG SSANGKIYEOK + : "ᄄ" U1104 # HANGUL CHOSEONG SSANGTIKEUT + : "ᄈ" U1108 # HANGUL CHOSEONG SSANGPIEUP + : "ᄊ" U110a # HANGUL CHOSEONG SSANGSIOS + : "ᄍ" U110d # HANGUL CHOSEONG SSANGCIEUC + : "ᄓ" U1113 # HANGUL CHOSEONG NIEUN-KIYEOK + : "ᄔ" U1114 # HANGUL CHOSEONG SSANGNIEUN + : "ᄕ" U1115 # HANGUL CHOSEONG NIEUN-TIKEUT + : "ᄖ" U1116 # HANGUL CHOSEONG NIEUN-PIEUP + : "ᄗ" U1117 # HANGUL CHOSEONG TIKEUT-KIYEOK + : "ᄘ" U1118 # HANGUL CHOSEONG RIEUL-NIEUN + : "ᄙ" U1119 # HANGUL CHOSEONG SSANGRIEUL + : "ᄚ" U111a # HANGUL CHOSEONG RIEUL-HIEUH + : "ᄛ" U111b # HANGUL CHOSEONG KAPYEOUNRIEUL + : "ᄜ" U111c # HANGUL CHOSEONG MIEUM-PIEUP + : "ᄝ" U111d # HANGUL CHOSEONG KAPYEOUNMIEUM + : "ᄞ" U111e # HANGUL CHOSEONG PIEUP-KIYEOK + : "ᄟ" U111f # HANGUL CHOSEONG PIEUP-NIEUN + : "ᄠ" U1120 # HANGUL CHOSEONG PIEUP-TIKEUT + : "ᄡ" U1121 # HANGUL CHOSEONG PIEUP-SIOS + : "ᄧ" U1127 # HANGUL CHOSEONG PIEUP-CIEUC + : "ᄨ" U1128 # HANGUL CHOSEONG PIEUP-CHIEUCH + : "ᄩ" U1129 # HANGUL CHOSEONG PIEUP-THIEUTH + : "ᄪ" U112a # HANGUL CHOSEONG PIEUP-PHIEUPH + : "ᄫ" U112b # HANGUL CHOSEONG KAPYEOUNPIEUP + : "ᄭ" U112d # HANGUL CHOSEONG SIOS-KIYEOK + : "ᄮ" U112e # HANGUL CHOSEONG SIOS-NIEUN + : "ᄯ" U112f # HANGUL CHOSEONG SIOS-TIKEUT + : "ᄰ" U1130 # HANGUL CHOSEONG SIOS-RIEUL + : "ᄱ" U1131 # HANGUL CHOSEONG SIOS-MIEUM + : "ᄲ" U1132 # HANGUL CHOSEONG SIOS-PIEUP + : "ᄵ" U1135 # HANGUL CHOSEONG SIOS-IEUNG + : "ᄶ" U1136 # HANGUL CHOSEONG SIOS-CIEUC + : "ᄷ" U1137 # HANGUL CHOSEONG SIOS-CHIEUCH + : "ᄸ" U1138 # HANGUL CHOSEONG SIOS-KHIEUKH + : "ᄹ" U1139 # HANGUL CHOSEONG SIOS-THIEUTH + : "ᄺ" U113a # HANGUL CHOSEONG SIOS-PHIEUPH + : "ᄻ" U113b # HANGUL CHOSEONG SIOS-HIEUH + : "ᄽ" U113d # HANGUL CHOSEONG CHITUEUMSSANGSIOS + : "ᄿ" U113f # HANGUL CHOSEONG CEONGCHIEUMSSANGSIOS + : "ᅁ" U1141 # HANGUL CHOSEONG IEUNG-KIYEOK + : "ᅂ" U1142 # HANGUL CHOSEONG IEUNG-TIKEUT + : "ᅃ" U1143 # HANGUL CHOSEONG IEUNG-MIEUM + : "ᅄ" U1144 # HANGUL CHOSEONG IEUNG-PIEUP + : "ᅅ" U1145 # HANGUL CHOSEONG IEUNG-SIOS + : "ᅆ" U1146 # HANGUL CHOSEONG IEUNG-PANSIOS + : "ᅇ" U1147 # HANGUL CHOSEONG SSANGIEUNG + : "ᅈ" U1148 # HANGUL CHOSEONG IEUNG-CIEUC + : "ᅉ" U1149 # HANGUL CHOSEONG IEUNG-CHIEUCH + : "ᅊ" U114a # HANGUL CHOSEONG IEUNG-THIEUTH + : "ᅋ" U114b # HANGUL CHOSEONG IEUNG-PHIEUPH + : "ᅍ" U114d # HANGUL CHOSEONG CIEUC-IEUNG + : "ᅏ" U114f # HANGUL CHOSEONG CHITUEUMSSANGCIEUC + : "ᅑ" U1151 # HANGUL CHOSEONG CEONGCHIEUMSSANGCIEUC + : "ᅒ" U1152 # HANGUL CHOSEONG CHIEUCH-KHIEUKH + : "ᅓ" U1153 # HANGUL CHOSEONG CHIEUCH-HIEUH + : "ᅖ" U1156 # HANGUL CHOSEONG PHIEUPH-PIEUP + : "ᅗ" U1157 # HANGUL CHOSEONG KAPYEOUNPHIEUPH + : "ᅘ" U1158 # HANGUL CHOSEONG SSANGHIEUH + : "ᅢ" U1162 # HANGUL JUNGSEONG AE + : "ᅤ" U1164 # HANGUL JUNGSEONG YAE + : "ᅦ" U1166 # HANGUL JUNGSEONG E + : "ᅨ" U1168 # HANGUL JUNGSEONG YE + : "ᅪ" U116a # HANGUL JUNGSEONG WA + : "ᅬ" U116c # HANGUL JUNGSEONG OE + : "ᅯ" U116f # HANGUL JUNGSEONG WEO + : "ᅱ" U1171 # HANGUL JUNGSEONG WI + : "ᅴ" U1174 # HANGUL JUNGSEONG YI + : "ᅶ" U1176 # HANGUL JUNGSEONG A-O + : "ᅷ" U1177 # HANGUL JUNGSEONG A-U + : "ᅸ" U1178 # HANGUL JUNGSEONG YA-O + : "ᅹ" U1179 # HANGUL JUNGSEONG YA-YO + : "ᅺ" U117a # HANGUL JUNGSEONG EO-O + : "ᅻ" U117b # HANGUL JUNGSEONG EO-U + : "ᅼ" U117c # HANGUL JUNGSEONG EO-EU + : "ᅽ" U117d # HANGUL JUNGSEONG YEO-O + : "ᅾ" U117e # HANGUL JUNGSEONG YEO-U + : "ᅿ" U117f # HANGUL JUNGSEONG O-EO + : "ᆀ" U1180 # HANGUL JUNGSEONG O-E + : "ᆁ" U1181 # HANGUL JUNGSEONG O-YE + : "ᆂ" U1182 # HANGUL JUNGSEONG O-O + : "ᆃ" U1183 # HANGUL JUNGSEONG O-U + : "ᆄ" U1184 # HANGUL JUNGSEONG YO-YA + : "ᆅ" U1185 # HANGUL JUNGSEONG YO-YAE + : "ᆆ" U1186 # HANGUL JUNGSEONG YO-YEO + : "ᆇ" U1187 # HANGUL JUNGSEONG YO-O + : "ᆈ" U1188 # HANGUL JUNGSEONG YO-I + : "ᆉ" U1189 # HANGUL JUNGSEONG U-A + : "ᆊ" U118a # HANGUL JUNGSEONG U-AE + : "ᆌ" U118c # HANGUL JUNGSEONG U-YE + : "ᆍ" U118d # HANGUL JUNGSEONG U-U + : "ᆎ" U118e # HANGUL JUNGSEONG YU-A + : "ᆏ" U118f # HANGUL JUNGSEONG YU-EO + : "ᆐ" U1190 # HANGUL JUNGSEONG YU-E + : "ᆑ" U1191 # HANGUL JUNGSEONG YU-YEO + : "ᆒ" U1192 # HANGUL JUNGSEONG YU-YE + : "ᆓ" U1193 # HANGUL JUNGSEONG YU-U + : "ᆔ" U1194 # HANGUL JUNGSEONG YU-I + : "ᆕ" U1195 # HANGUL JUNGSEONG EU-U + : "ᆖ" U1196 # HANGUL JUNGSEONG EU-EU + : "ᆗ" U1197 # HANGUL JUNGSEONG YI-U + : "ᆘ" U1198 # HANGUL JUNGSEONG I-A + : "ᆙ" U1199 # HANGUL JUNGSEONG I-YA + : "ᆚ" U119a # HANGUL JUNGSEONG I-O + : "ᆛ" U119b # HANGUL JUNGSEONG I-U + : "ᆜ" U119c # HANGUL JUNGSEONG I-EU + : "ᆝ" U119d # HANGUL JUNGSEONG I-ARAEA + : "ᆟ" U119f # HANGUL JUNGSEONG ARAEA-EO + : "ᆠ" U11a0 # HANGUL JUNGSEONG ARAEA-U + : "ᆡ" U11a1 # HANGUL JUNGSEONG ARAEA-I + : "ᆢ" U11a2 # HANGUL JUNGSEONG SSANGARAEA + : "ᆩ" U11a9 # HANGUL JONGSEONG SSANGKIYEOK + : "ᆪ" U11aa # HANGUL JONGSEONG KIYEOK-SIOS + : "ᆬ" U11ac # HANGUL JONGSEONG NIEUN-CIEUC + : "ᆭ" U11ad # HANGUL JONGSEONG NIEUN-HIEUH + : "ᆰ" U11b0 # HANGUL JONGSEONG RIEUL-KIYEOK + : "ᆱ" U11b1 # HANGUL JONGSEONG RIEUL-MIEUM + : "ᆲ" U11b2 # HANGUL JONGSEONG RIEUL-PIEUP + : "ᆳ" U11b3 # HANGUL JONGSEONG RIEUL-SIOS + : "ᆴ" U11b4 # HANGUL JONGSEONG RIEUL-THIEUTH + : "ᆵ" U11b5 # HANGUL JONGSEONG RIEUL-PHIEUPH + : "ᆶ" U11b6 # HANGUL JONGSEONG RIEUL-HIEUH + : "ᆹ" U11b9 # HANGUL JONGSEONG PIEUP-SIOS + : "ᆻ" U11bb # HANGUL JONGSEONG SSANGSIOS + : "ᇃ" U11c3 # HANGUL JONGSEONG KIYEOK-RIEUL + : "ᇅ" U11c5 # HANGUL JONGSEONG NIEUN-KIYEOK + : "ᇆ" U11c6 # HANGUL JONGSEONG NIEUN-TIKEUT + : "ᇇ" U11c7 # HANGUL JONGSEONG NIEUN-SIOS + : "ᇈ" U11c8 # HANGUL JONGSEONG NIEUN-PANSIOS + : "ᇉ" U11c9 # HANGUL JONGSEONG NIEUN-THIEUTH + : "ᇊ" U11ca # HANGUL JONGSEONG TIKEUT-KIYEOK + : "ᇋ" U11cb # HANGUL JONGSEONG TIKEUT-RIEUL + : "ᇍ" U11cd # HANGUL JONGSEONG RIEUL-NIEUN + : "ᇎ" U11ce # HANGUL JONGSEONG RIEUL-TIKEUT + : "ᇐ" U11d0 # HANGUL JONGSEONG SSANGRIEUL + : "ᇗ" U11d7 # HANGUL JONGSEONG RIEUL-PANSIOS + : "ᇘ" U11d8 # HANGUL JONGSEONG RIEUL-KHIEUKH + : "ᇙ" U11d9 # HANGUL JONGSEONG RIEUL-YEORINHIEUH + : "ᇚ" U11da # HANGUL JONGSEONG MIEUM-KIYEOK + : "ᇛ" U11db # HANGUL JONGSEONG MIEUM-RIEUL + : "ᇜ" U11dc # HANGUL JONGSEONG MIEUM-PIEUP + : "ᇝ" U11dd # HANGUL JONGSEONG MIEUM-SIOS + : "ᇟ" U11df # HANGUL JONGSEONG MIEUM-PANSIOS + : "ᇠ" U11e0 # HANGUL JONGSEONG MIEUM-CHIEUCH + : "ᇡ" U11e1 # HANGUL JONGSEONG MIEUM-HIEUH + : "ᇢ" U11e2 # HANGUL JONGSEONG KAPYEOUNMIEUM + : "ᇣ" U11e3 # HANGUL JONGSEONG PIEUP-RIEUL + : "ᇤ" U11e4 # HANGUL JONGSEONG PIEUP-PHIEUPH + : "ᇥ" U11e5 # HANGUL JONGSEONG PIEUP-HIEUH + : "ᇦ" U11e6 # HANGUL JONGSEONG KAPYEOUNPIEUP + : "ᇧ" U11e7 # HANGUL JONGSEONG SIOS-KIYEOK + : "ᇨ" U11e8 # HANGUL JONGSEONG SIOS-TIKEUT + : "ᇩ" U11e9 # HANGUL JONGSEONG SIOS-RIEUL + : "ᇪ" U11ea # HANGUL JONGSEONG SIOS-PIEUP + : "ᇬ" U11ec # HANGUL JONGSEONG IEUNG-KIYEOK + : "ᇮ" U11ee # HANGUL JONGSEONG SSANGIEUNG + : "ᇯ" U11ef # HANGUL JONGSEONG IEUNG-KHIEUKH + : "ᇱ" U11f1 # HANGUL JONGSEONG YESIEUNG-SIOS + : "ᇲ" U11f2 # HANGUL JONGSEONG YESIEUNG-PANSIOS + : "ᇳ" U11f3 # HANGUL JONGSEONG PHIEUPH-PIEUP + : "ᇴ" U11f4 # HANGUL JONGSEONG KAPYEOUNPHIEUPH + : "ᇵ" U11f5 # HANGUL JONGSEONG HIEUH-NIEUN + : "ᇶ" U11f6 # HANGUL JONGSEONG HIEUH-RIEUL + : "ᇷ" U11f7 # HANGUL JONGSEONG HIEUH-MIEUM + : "ᇸ" U11f8 # HANGUL JONGSEONG HIEUH-PIEUP + : "ᄢ" U1122 # HANGUL CHOSEONG PIEUP-SIOS-KIYEOK + : "ᄣ" U1123 # HANGUL CHOSEONG PIEUP-SIOS-TIKEUT + : "ᄤ" U1124 # HANGUL CHOSEONG PIEUP-SIOS-PIEUP + : "ᄥ" U1125 # HANGUL CHOSEONG PIEUP-SSANGSIOS + : "ᄦ" U1126 # HANGUL CHOSEONG PIEUP-SIOS-CIEUC + : "ᄬ" U112c # HANGUL CHOSEONG KAPYEOUNSSANGPIEUP + : "ᄳ" U1133 # HANGUL CHOSEONG SIOS-PIEUP-KIYEOK + : "ᄴ" U1134 # HANGUL CHOSEONG SIOS-SSANGSIOS + : "ᅫ" U116b # HANGUL JUNGSEONG WAE + : "ᅰ" U1170 # HANGUL JUNGSEONG WE + : "ᆋ" U118b # HANGUL JUNGSEONG U-EO-EU + : "ᇄ" U11c4 # HANGUL JONGSEONG KIYEOK-SIOS-KIYEOK + : "ᇌ" U11cc # HANGUL JONGSEONG RIEUL-KIYEOK-SIOS + : "ᇏ" U11cf # HANGUL JONGSEONG RIEUL-TIKEUT-HIEUH + : "ᇑ" U11d1 # HANGUL JONGSEONG RIEUL-MIEUM-KIYEOK + : "ᇒ" U11d2 # HANGUL JONGSEONG RIEUL-MIEUM-SIOS + : "ᇓ" U11d3 # HANGUL JONGSEONG RIEUL-PIEUP-SIOS + : "ᇔ" U11d4 # HANGUL JONGSEONG RIEUL-PIEUP-HIEUH + : "ᇕ" U11d5 # HANGUL JONGSEONG RIEUL-KAPYEOUNPIEUP + : "ᇖ" U11d6 # HANGUL JONGSEONG RIEUL-SSANGSIOS + : "ᇞ" U11de # HANGUL JONGSEONG MIEUM-SSANGSIOS + : "ᇭ" U11ed # HANGUL JONGSEONG IEUNG-SSANGKIYEOK + : "ᄢ" U1122 # HANGUL CHOSEONG PIEUP-SIOS-KIYEOK + : "ᄣ" U1123 # HANGUL CHOSEONG PIEUP-SIOS-TIKEUT + : "ᄤ" U1124 # HANGUL CHOSEONG PIEUP-SIOS-PIEUP + : "ᄥ" U1125 # HANGUL CHOSEONG PIEUP-SSANGSIOS + : "ᄦ" U1126 # HANGUL CHOSEONG PIEUP-SIOS-CIEUC + : "ᄬ" U112c # HANGUL CHOSEONG KAPYEOUNSSANGPIEUP + : "ᄳ" U1133 # HANGUL CHOSEONG SIOS-PIEUP-KIYEOK + : "ᄴ" U1134 # HANGUL CHOSEONG SIOS-SSANGSIOS + : "ᅫ" U116b # HANGUL JUNGSEONG WAE + : "ᅰ" U1170 # HANGUL JUNGSEONG WE + : "ᆋ" U118b # HANGUL JUNGSEONG U-EO-EU + : "ᇄ" U11c4 # HANGUL JONGSEONG KIYEOK-SIOS-KIYEOK + : "ᇌ" U11cc # HANGUL JONGSEONG RIEUL-KIYEOK-SIOS + : "ᇑ" U11d1 # HANGUL JONGSEONG RIEUL-MIEUM-KIYEOK + : "ᇒ" U11d2 # HANGUL JONGSEONG RIEUL-MIEUM-SIOS + : "ᇓ" U11d3 # HANGUL JONGSEONG RIEUL-PIEUP-SIOS + : "ᇔ" U11d4 # HANGUL JONGSEONG RIEUL-PIEUP-HIEUH + : "ᇕ" U11d5 # HANGUL JONGSEONG RIEUL-KAPYEOUNPIEUP + : "ᇖ" U11d6 # HANGUL JONGSEONG RIEUL-SSANGSIOS + : "ᇞ" U11de # HANGUL JONGSEONG MIEUM-SSANGSIOS + : "ᇭ" U11ed # HANGUL JONGSEONG IEUNG-SSANGKIYEOK + +# Part 3 + : "¬" notsign # NOT SIGN + : "¬" notsign # NOT SIGN + : "ª" ordfeminine # FEMININE ORDINAL INDICATOR + : "ª" ordfeminine # FEMININE ORDINAL INDICATOR + : "ª" ordfeminine # FEMININE ORDINAL INDICATOR + : "ª" ordfeminine # FEMININE ORDINAL INDICATOR + <2> : "²" twosuperior # SUPERSCRIPT TWO + <2> : "²" twosuperior # SUPERSCRIPT TWO + <2> : "²" twosuperior # SUPERSCRIPT TWO + : "²" twosuperior # SUPERSCRIPT TWO + : "²" twosuperior # SUPERSCRIPT TWO + : "²" twosuperior # SUPERSCRIPT TWO + : "²" twosuperior # SUPERSCRIPT TWO + <3> : "³" threesuperior # SUPERSCRIPT THREE + <3> : "³" threesuperior # SUPERSCRIPT THREE + <3> : "³" threesuperior # SUPERSCRIPT THREE + : "³" threesuperior # SUPERSCRIPT THREE + : "³" threesuperior # SUPERSCRIPT THREE + : "µ" mu # MICRO SIGN + : "µ" mu # MICRO SIGN + : "µ" mu # MICRO SIGN + <1> : "¹" onesuperior # SUPERSCRIPT ONE + <1> : "¹" onesuperior # SUPERSCRIPT ONE + <1> : "¹" onesuperior # SUPERSCRIPT ONE + : "¹" onesuperior # SUPERSCRIPT ONE + : "¹" onesuperior # SUPERSCRIPT ONE + : "º" masculine # MASCULINE ORDINAL INDICATOR + : "º" masculine # MASCULINE ORDINAL INDICATOR + : "º" masculine # MASCULINE ORDINAL INDICATOR + : "º" masculine # MASCULINE ORDINAL INDICATOR + <1> <4> : "¼" onequarter # VULGAR FRACTION ONE QUARTER + <1> <2> : "½" onehalf # VULGAR FRACTION ONE HALF + <3> <4> : "¾" threequarters # VULGAR FRACTION THREE QUARTERS + : "À" Agrave # LATIN CAPITAL LETTER A WITH GRAVE + : "À" Agrave # LATIN CAPITAL LETTER A WITH GRAVE + : "À" Agrave # LATIN CAPITAL LETTER A WITH GRAVE + : "Á" Aacute # LATIN CAPITAL LETTER A WITH ACUTE + : "Á" Aacute # LATIN CAPITAL LETTER A WITH ACUTE + : "Á" Aacute # LATIN CAPITAL LETTER A WITH ACUTE + : "Á" Aacute # LATIN CAPITAL LETTER A WITH ACUTE + : "Á" Aacute # LATIN CAPITAL LETTER A WITH ACUTE + : "Â" Acircumflex # LATIN CAPITAL LETTER A WITH CIRCUMFLEX + : "Â" Acircumflex # LATIN CAPITAL LETTER A WITH CIRCUMFLEX + : "Â" Acircumflex # LATIN CAPITAL LETTER A WITH CIRCUMFLEX + : "Â" Acircumflex # LATIN CAPITAL LETTER A WITH CIRCUMFLEX + : "Â" Acircumflex # LATIN CAPITAL LETTER A WITH CIRCUMFLEX + : "Ã" Atilde # LATIN CAPITAL LETTER A WITH TILDE + : "Ã" Atilde # LATIN CAPITAL LETTER A WITH TILDE + : "Ã" Atilde # LATIN CAPITAL LETTER A WITH TILDE + : "Ä" Adiaeresis # LATIN CAPITAL LETTER A WITH DIAERESIS + : "Ä" Adiaeresis # LATIN CAPITAL LETTER A WITH DIAERESIS + : "Ä" Adiaeresis # LATIN CAPITAL LETTER A WITH DIAERESIS + : "Ä" Adiaeresis # LATIN CAPITAL LETTER A WITH DIAERESIS + : "Ä" Adiaeresis # LATIN CAPITAL LETTER A WITH DIAERESIS + : "Å" Aring # LATIN CAPITAL LETTER A WITH RING ABOVE + : "Å" Aring # LATIN CAPITAL LETTER A WITH RING ABOVE + : "Å" Aring # LATIN CAPITAL LETTER A WITH RING ABOVE + : "Å" Aring # LATIN CAPITAL LETTER A WITH RING ABOVE + : "Å" Aring # LATIN CAPITAL LETTER A WITH RING ABOVE + : "Ç" Ccedilla # LATIN CAPITAL LETTER C WITH CEDILLA + : "Ç" Ccedilla # LATIN CAPITAL LETTER C WITH CEDILLA + : "Ç" Ccedilla # LATIN CAPITAL LETTER C WITH CEDILLA + : "Ç" Ccedilla # LATIN CAPITAL LETTER C WITH CEDILLA + : "È" Egrave # LATIN CAPITAL LETTER E WITH GRAVE + : "È" Egrave # LATIN CAPITAL LETTER E WITH GRAVE + : "È" Egrave # LATIN CAPITAL LETTER E WITH GRAVE + : "É" Eacute # LATIN CAPITAL LETTER E WITH ACUTE + : "É" Eacute # LATIN CAPITAL LETTER E WITH ACUTE + : "É" Eacute # LATIN CAPITAL LETTER E WITH ACUTE + : "É" Eacute # LATIN CAPITAL LETTER E WITH ACUTE + : "É" Eacute # LATIN CAPITAL LETTER E WITH ACUTE + : "Ê" Ecircumflex # LATIN CAPITAL LETTER E WITH CIRCUMFLEX + : "Ê" Ecircumflex # LATIN CAPITAL LETTER E WITH CIRCUMFLEX + : "Ê" Ecircumflex # LATIN CAPITAL LETTER E WITH CIRCUMFLEX + : "Ê" Ecircumflex # LATIN CAPITAL LETTER E WITH CIRCUMFLEX + : "Ê" Ecircumflex # LATIN CAPITAL LETTER E WITH CIRCUMFLEX + : "Ë" Ediaeresis # LATIN CAPITAL LETTER E WITH DIAERESIS + : "Ë" Ediaeresis # LATIN CAPITAL LETTER E WITH DIAERESIS + : "Ë" Ediaeresis # LATIN CAPITAL LETTER E WITH DIAERESIS + : "Ë" Ediaeresis # LATIN CAPITAL LETTER E WITH DIAERESIS + : "Ë" Ediaeresis # LATIN CAPITAL LETTER E WITH DIAERESIS + : "Ì" Igrave # LATIN CAPITAL LETTER I WITH GRAVE + : "Ì" Igrave # LATIN CAPITAL LETTER I WITH GRAVE + : "Ì" Igrave # LATIN CAPITAL LETTER I WITH GRAVE + : "Í" Iacute # LATIN CAPITAL LETTER I WITH ACUTE + : "Í" Iacute # LATIN CAPITAL LETTER I WITH ACUTE + : "Í" Iacute # LATIN CAPITAL LETTER I WITH ACUTE + : "Í" Iacute # LATIN CAPITAL LETTER I WITH ACUTE + : "Í" Iacute # LATIN CAPITAL LETTER I WITH ACUTE + : "Î" Icircumflex # LATIN CAPITAL LETTER I WITH CIRCUMFLEX + : "Î" Icircumflex # LATIN CAPITAL LETTER I WITH CIRCUMFLEX + : "Î" Icircumflex # LATIN CAPITAL LETTER I WITH CIRCUMFLEX + : "Î" Icircumflex # LATIN CAPITAL LETTER I WITH CIRCUMFLEX + : "Î" Icircumflex # LATIN CAPITAL LETTER I WITH CIRCUMFLEX + : "Ï" Idiaeresis # LATIN CAPITAL LETTER I WITH DIAERESIS + : "Ï" Idiaeresis # LATIN CAPITAL LETTER I WITH DIAERESIS + : "Ï" Idiaeresis # LATIN CAPITAL LETTER I WITH DIAERESIS + : "Ï" Idiaeresis # LATIN CAPITAL LETTER I WITH DIAERESIS + : "Ï" Idiaeresis # LATIN CAPITAL LETTER I WITH DIAERESIS + : "J́" # LATIN CAPITAL LETTER J U004A with COMBINING ACUTE ACCENT U0301 + : "J́" # LATIN CAPITAL LETTER J U004A with COMBINING ACUTE ACCENT U0301 + : "J́" # LATIN CAPITAL LETTER J U004A with COMBINING ACUTE ACCENT U0301 + : "J́" # LATIN CAPITAL LETTER J U004A with COMBINING ACUTE ACCENT U0301 + : "J́" # LATIN CAPITAL LETTER J U004A with COMBINING ACUTE ACCENT U0301 + : "Ð" ETH # LATIN CAPITAL LETTER ETH + : "Ñ" Ntilde # LATIN CAPITAL LETTER N WITH TILDE + : "Ñ" Ntilde # LATIN CAPITAL LETTER N WITH TILDE + : "Ñ" Ntilde # LATIN CAPITAL LETTER N WITH TILDE + : "Ò" Ograve # LATIN CAPITAL LETTER O WITH GRAVE + : "Ò" Ograve # LATIN CAPITAL LETTER O WITH GRAVE + : "Ò" Ograve # LATIN CAPITAL LETTER O WITH GRAVE + : "Ó" Oacute # LATIN CAPITAL LETTER O WITH ACUTE + : "Ó" Oacute # LATIN CAPITAL LETTER O WITH ACUTE + : "Ó" Oacute # LATIN CAPITAL LETTER O WITH ACUTE + : "Ó" Oacute # LATIN CAPITAL LETTER O WITH ACUTE + : "Ó" Oacute # LATIN CAPITAL LETTER O WITH ACUTE + : "Ô" Ocircumflex # LATIN CAPITAL LETTER O WITH CIRCUMFLEX + : "Ô" Ocircumflex # LATIN CAPITAL LETTER O WITH CIRCUMFLEX + : "Ô" Ocircumflex # LATIN CAPITAL LETTER O WITH CIRCUMFLEX + : "Ô" Ocircumflex # LATIN CAPITAL LETTER O WITH CIRCUMFLEX + : "Ô" Ocircumflex # LATIN CAPITAL LETTER O WITH CIRCUMFLEX + : "Õ" Otilde # LATIN CAPITAL LETTER O WITH TILDE + : "Õ" Otilde # LATIN CAPITAL LETTER O WITH TILDE + : "Õ" Otilde # LATIN CAPITAL LETTER O WITH TILDE + : "Ö" Odiaeresis # LATIN CAPITAL LETTER O WITH DIAERESIS + : "Ö" Odiaeresis # LATIN CAPITAL LETTER O WITH DIAERESIS + : "Ö" Odiaeresis # LATIN CAPITAL LETTER O WITH DIAERESIS + : "Ö" Odiaeresis # LATIN CAPITAL LETTER O WITH DIAERESIS + : "Ö" Odiaeresis # LATIN CAPITAL LETTER O WITH DIAERESIS + : "×" multiply # MULTIPLICATION SIGN + : "Ø" Oslash # LATIN CAPITAL LETTER O WITH STROKE + : "Ø" Oslash # LATIN CAPITAL LETTER O WITH STROKE + : "Ø" Oslash # LATIN CAPITAL LETTER O WITH STROKE + : "Ø" Oslash # LATIN CAPITAL LETTER O WITH STROKE + : "Ù" Ugrave # LATIN CAPITAL LETTER U WITH GRAVE + : "Ù" Ugrave # LATIN CAPITAL LETTER U WITH GRAVE + : "Ù" Ugrave # LATIN CAPITAL LETTER U WITH GRAVE + : "Ú" Uacute # LATIN CAPITAL LETTER U WITH ACUTE + : "Ú" Uacute # LATIN CAPITAL LETTER U WITH ACUTE + : "Ú" Uacute # LATIN CAPITAL LETTER U WITH ACUTE + : "Ú" Uacute # LATIN CAPITAL LETTER U WITH ACUTE + : "Ú" Uacute # LATIN CAPITAL LETTER U WITH ACUTE + : "Û" Ucircumflex # LATIN CAPITAL LETTER U WITH CIRCUMFLEX + : "Û" Ucircumflex # LATIN CAPITAL LETTER U WITH CIRCUMFLEX + : "Û" Ucircumflex # LATIN CAPITAL LETTER U WITH CIRCUMFLEX + : "Û" Ucircumflex # LATIN CAPITAL LETTER U WITH CIRCUMFLEX + : "Û" Ucircumflex # LATIN CAPITAL LETTER U WITH CIRCUMFLEX + : "Ü" Udiaeresis # LATIN CAPITAL LETTER U WITH DIAERESIS + : "Ü" Udiaeresis # LATIN CAPITAL LETTER U WITH DIAERESIS + : "Ü" Udiaeresis # LATIN CAPITAL LETTER U WITH DIAERESIS + : "Ü" Udiaeresis # LATIN CAPITAL LETTER U WITH DIAERESIS + : "Ü" Udiaeresis # LATIN CAPITAL LETTER U WITH DIAERESIS + : "Ý" Yacute # LATIN CAPITAL LETTER Y WITH ACUTE + : "Ý" Yacute # LATIN CAPITAL LETTER Y WITH ACUTE + : "Ý" Yacute # LATIN CAPITAL LETTER Y WITH ACUTE + : "Ý" Yacute # LATIN CAPITAL LETTER Y WITH ACUTE + : "Ý" Yacute # LATIN CAPITAL LETTER Y WITH ACUTE + : "Þ" THORN # LATIN CAPITAL LETTER THORN + : "à" agrave # LATIN SMALL LETTER A WITH GRAVE + : "à" agrave # LATIN SMALL LETTER A WITH GRAVE + : "à" agrave # LATIN SMALL LETTER A WITH GRAVE + : "á" aacute # LATIN SMALL LETTER A WITH ACUTE + : "á" aacute # LATIN SMALL LETTER A WITH ACUTE + : "á" aacute # LATIN SMALL LETTER A WITH ACUTE + : "á" aacute # LATIN SMALL LETTER A WITH ACUTE + : "á" aacute # LATIN SMALL LETTER A WITH ACUTE + : "â" acircumflex # LATIN SMALL LETTER A WITH CIRCUMFLEX + : "â" acircumflex # LATIN SMALL LETTER A WITH CIRCUMFLEX + : "â" acircumflex # LATIN SMALL LETTER A WITH CIRCUMFLEX + : "â" acircumflex # LATIN SMALL LETTER A WITH CIRCUMFLEX + : "â" acircumflex # LATIN SMALL LETTER A WITH CIRCUMFLEX + : "ã" atilde # LATIN SMALL LETTER A WITH TILDE + : "ã" atilde # LATIN SMALL LETTER A WITH TILDE + : "ã" atilde # LATIN SMALL LETTER A WITH TILDE + : "ä" adiaeresis # LATIN SMALL LETTER A WITH DIAERESIS + : "ä" adiaeresis # LATIN SMALL LETTER A WITH DIAERESIS + : "ä" adiaeresis # LATIN SMALL LETTER A WITH DIAERESIS + : "ä" adiaeresis # LATIN SMALL LETTER A WITH DIAERESIS + : "ä" adiaeresis # LATIN SMALL LETTER A WITH DIAERESIS + : "å" aring # LATIN SMALL LETTER A WITH RING ABOVE + : "å" aring # LATIN SMALL LETTER A WITH RING ABOVE + : "å" aring # LATIN SMALL LETTER A WITH RING ABOVE + : "å" aring # LATIN SMALL LETTER A WITH RING ABOVE + : "å" aring # LATIN SMALL LETTER A WITH RING ABOVE + : "ç" ccedilla # LATIN SMALL LETTER C WITH CEDILLA + : "ç" ccedilla # LATIN SMALL LETTER C WITH CEDILLA + : "ç" ccedilla # LATIN SMALL LETTER C WITH CEDILLA + : "ç" ccedilla # LATIN SMALL LETTER C WITH CEDILLA + : "è" egrave # LATIN SMALL LETTER E WITH GRAVE + : "è" egrave # LATIN SMALL LETTER E WITH GRAVE + : "è" egrave # LATIN SMALL LETTER E WITH GRAVE + : "é" eacute # LATIN SMALL LETTER E WITH ACUTE + : "é" eacute # LATIN SMALL LETTER E WITH ACUTE + : "é" eacute # LATIN SMALL LETTER E WITH ACUTE + : "é" eacute # LATIN SMALL LETTER E WITH ACUTE + : "é" eacute # LATIN SMALL LETTER E WITH ACUTE + : "ê" ecircumflex # LATIN SMALL LETTER E WITH CIRCUMFLEX + : "ê" ecircumflex # LATIN SMALL LETTER E WITH CIRCUMFLEX + : "ê" ecircumflex # LATIN SMALL LETTER E WITH CIRCUMFLEX + : "ê" ecircumflex # LATIN SMALL LETTER E WITH CIRCUMFLEX + : "ê" ecircumflex # LATIN SMALL LETTER E WITH CIRCUMFLEX + : "ë" ediaeresis # LATIN SMALL LETTER E WITH DIAERESIS + : "ë" ediaeresis # LATIN SMALL LETTER E WITH DIAERESIS + : "ë" ediaeresis # LATIN SMALL LETTER E WITH DIAERESIS + : "ë" ediaeresis # LATIN SMALL LETTER E WITH DIAERESIS + : "ë" ediaeresis # LATIN SMALL LETTER E WITH DIAERESIS + : "ì" igrave # LATIN SMALL LETTER I WITH GRAVE + : "ì" igrave # LATIN SMALL LETTER I WITH GRAVE + : "ì" igrave # LATIN SMALL LETTER I WITH GRAVE + : "í" iacute # LATIN SMALL LETTER I WITH ACUTE + : "í" iacute # LATIN SMALL LETTER I WITH ACUTE + : "í" iacute # LATIN SMALL LETTER I WITH ACUTE + : "í" iacute # LATIN SMALL LETTER I WITH ACUTE + : "í" iacute # LATIN SMALL LETTER I WITH ACUTE + : "î" icircumflex # LATIN SMALL LETTER I WITH CIRCUMFLEX + : "î" icircumflex # LATIN SMALL LETTER I WITH CIRCUMFLEX + : "î" icircumflex # LATIN SMALL LETTER I WITH CIRCUMFLEX + : "î" icircumflex # LATIN SMALL LETTER I WITH CIRCUMFLEX + : "î" icircumflex # LATIN SMALL LETTER I WITH CIRCUMFLEX + : "ï" idiaeresis # LATIN SMALL LETTER I WITH DIAERESIS + : "ï" idiaeresis # LATIN SMALL LETTER I WITH DIAERESIS + : "ï" idiaeresis # LATIN SMALL LETTER I WITH DIAERESIS + : "ï" idiaeresis # LATIN SMALL LETTER I WITH DIAERESIS + : "ï" idiaeresis # LATIN SMALL LETTER I WITH DIAERESIS + : "j́" # LATIN SMALL LETTER J U006A with COMBINING ACUTE ACCENT U0301 + : "j́" # LATIN SMALL LETTER J U006A with COMBINING ACUTE ACCENT U0301 + : "j́" # LATIN SMALL LETTER J U006A with COMBINING ACUTE ACCENT U0301 + : "j́" # LATIN SMALL LETTER J U006A with COMBINING ACUTE ACCENT U0301 + : "j́" # LATIN SMALL LETTER J U006A with COMBINING ACUTE ACCENT U0301 + : "ð" eth # LATIN SMALL LETTER ETH + : "ñ" ntilde # LATIN SMALL LETTER N WITH TILDE + : "ñ" ntilde # LATIN SMALL LETTER N WITH TILDE + : "ñ" ntilde # LATIN SMALL LETTER N WITH TILDE + : "ò" ograve # LATIN SMALL LETTER O WITH GRAVE + : "ò" ograve # LATIN SMALL LETTER O WITH GRAVE + : "ò" ograve # LATIN SMALL LETTER O WITH GRAVE + : "ó" oacute # LATIN SMALL LETTER O WITH ACUTE + : "ó" oacute # LATIN SMALL LETTER O WITH ACUTE + : "ó" oacute # LATIN SMALL LETTER O WITH ACUTE + : "ó" oacute # LATIN SMALL LETTER O WITH ACUTE + : "ó" oacute # LATIN SMALL LETTER O WITH ACUTE + : "ô" ocircumflex # LATIN SMALL LETTER O WITH CIRCUMFLEX + : "ô" ocircumflex # LATIN SMALL LETTER O WITH CIRCUMFLEX + : "ô" ocircumflex # LATIN SMALL LETTER O WITH CIRCUMFLEX + : "ô" ocircumflex # LATIN SMALL LETTER O WITH CIRCUMFLEX + : "ô" ocircumflex # LATIN SMALL LETTER O WITH CIRCUMFLEX + : "õ" otilde # LATIN SMALL LETTER O WITH TILDE + : "õ" otilde # LATIN SMALL LETTER O WITH TILDE + : "õ" otilde # LATIN SMALL LETTER O WITH TILDE + : "ö" odiaeresis # LATIN SMALL LETTER O WITH DIAERESIS + : "ö" odiaeresis # LATIN SMALL LETTER O WITH DIAERESIS + : "ö" odiaeresis # LATIN SMALL LETTER O WITH DIAERESIS + : "ö" odiaeresis # LATIN SMALL LETTER O WITH DIAERESIS + : "ö" odiaeresis # LATIN SMALL LETTER O WITH DIAERESIS + : "÷" division # DIVISION SIGN + : "÷" division # DIVISION SIGN + : "ø" oslash # LATIN SMALL LETTER O WITH STROKE + : "ø" oslash # LATIN SMALL LETTER O WITH STROKE + : "ø" oslash # LATIN SMALL LETTER O WITH STROKE + : "ø" oslash # LATIN SMALL LETTER O WITH STROKE + : "ù" ugrave # LATIN SMALL LETTER U WITH GRAVE + : "ù" ugrave # LATIN SMALL LETTER U WITH GRAVE + : "ù" ugrave # LATIN SMALL LETTER U WITH GRAVE + : "ú" uacute # LATIN SMALL LETTER U WITH ACUTE + : "ú" uacute # LATIN SMALL LETTER U WITH ACUTE + : "ú" uacute # LATIN SMALL LETTER U WITH ACUTE + : "ú" uacute # LATIN SMALL LETTER U WITH ACUTE + : "ú" uacute # LATIN SMALL LETTER U WITH ACUTE + : "û" ucircumflex # LATIN SMALL LETTER U WITH CIRCUMFLEX + : "û" ucircumflex # LATIN SMALL LETTER U WITH CIRCUMFLEX + : "û" ucircumflex # LATIN SMALL LETTER U WITH CIRCUMFLEX + : "û" ucircumflex # LATIN SMALL LETTER U WITH CIRCUMFLEX + : "û" ucircumflex # LATIN SMALL LETTER U WITH CIRCUMFLEX + : "ü" udiaeresis # LATIN SMALL LETTER U WITH DIAERESIS + : "ü" udiaeresis # LATIN SMALL LETTER U WITH DIAERESIS + : "ü" udiaeresis # LATIN SMALL LETTER U WITH DIAERESIS + : "ü" udiaeresis # LATIN SMALL LETTER U WITH DIAERESIS + : "ü" udiaeresis # LATIN SMALL LETTER U WITH DIAERESIS + : "ý" yacute # LATIN SMALL LETTER Y WITH ACUTE + : "ý" yacute # LATIN SMALL LETTER Y WITH ACUTE + : "ý" yacute # LATIN SMALL LETTER Y WITH ACUTE + : "ý" yacute # LATIN SMALL LETTER Y WITH ACUTE + : "ý" yacute # LATIN SMALL LETTER Y WITH ACUTE + : "þ" thorn # LATIN SMALL LETTER THORN + : "ÿ" ydiaeresis # LATIN SMALL LETTER Y WITH DIAERESIS + : "ÿ" ydiaeresis # LATIN SMALL LETTER Y WITH DIAERESIS + : "ÿ" ydiaeresis # LATIN SMALL LETTER Y WITH DIAERESIS + : "ÿ" ydiaeresis # LATIN SMALL LETTER Y WITH DIAERESIS + : "ÿ" ydiaeresis # LATIN SMALL LETTER Y WITH DIAERESIS + : "Ā" U0100 # LATIN CAPITAL LETTER A WITH MACRON + : "Ā" U0100 # LATIN CAPITAL LETTER A WITH MACRON + : "Ā" U0100 # LATIN CAPITAL LETTER A WITH MACRON + : "Ā" U0100 # LATIN CAPITAL LETTER A WITH MACRON + : "Ā" U0100 # LATIN CAPITAL LETTER A WITH MACRON + : "Ā" U0100 # LATIN CAPITAL LETTER A WITH MACRON + : "ā" U0101 # LATIN SMALL LETTER A WITH MACRON + : "ā" U0101 # LATIN SMALL LETTER A WITH MACRON + : "ā" U0101 # LATIN SMALL LETTER A WITH MACRON + : "ā" U0101 # LATIN SMALL LETTER A WITH MACRON + : "ā" U0101 # LATIN SMALL LETTER A WITH MACRON + : "ā" U0101 # LATIN SMALL LETTER A WITH MACRON + : "Ă" U0102 # LATIN CAPITAL LETTER A WITH BREVE + : "Ă" U0102 # LATIN CAPITAL LETTER A WITH BREVE + : "Ă" U0102 # LATIN CAPITAL LETTER A WITH BREVE + : "Ă" U0102 # LATIN CAPITAL LETTER A WITH BREVE + : "Ă" U0102 # LATIN CAPITAL LETTER A WITH BREVE + : "ă" U0103 # LATIN SMALL LETTER A WITH BREVE + : "ă" U0103 # LATIN SMALL LETTER A WITH BREVE + : "ă" U0103 # LATIN SMALL LETTER A WITH BREVE + : "ă" U0103 # LATIN SMALL LETTER A WITH BREVE + : "ă" U0103 # LATIN SMALL LETTER A WITH BREVE + : "Ą" U0104 # LATIN CAPITAL LETTER A WITH OGONEK + : "Ą" U0104 # LATIN CAPITAL LETTER A WITH OGONEK + : "Ą" U0104 # LATIN CAPITAL LETTER A WITH OGONEK + : "Ą" U0104 # LATIN CAPITAL LETTER A WITH OGONEK + : "Ą" U0104 # LATIN CAPITAL LETTER A WITH OGONEK + : "ą" U0105 # LATIN SMALL LETTER A WITH OGONEK + : "ą" U0105 # LATIN SMALL LETTER A WITH OGONEK + : "ą" U0105 # LATIN SMALL LETTER A WITH OGONEK + : "ą" U0105 # LATIN SMALL LETTER A WITH OGONEK + : "ą" U0105 # LATIN SMALL LETTER A WITH OGONEK + : "Ć" U0106 # LATIN CAPITAL LETTER C WITH ACUTE + : "Ć" U0106 # LATIN CAPITAL LETTER C WITH ACUTE + : "Ć" U0106 # LATIN CAPITAL LETTER C WITH ACUTE + : "Ć" U0106 # LATIN CAPITAL LETTER C WITH ACUTE + : "ć" U0107 # LATIN SMALL LETTER C WITH ACUTE + : "ć" U0107 # LATIN SMALL LETTER C WITH ACUTE + : "ć" U0107 # LATIN SMALL LETTER C WITH ACUTE + : "ć" U0107 # LATIN SMALL LETTER C WITH ACUTE + : "Ĉ" U0108 # LATIN CAPITAL LETTER C WITH CIRCUMFLEX + : "Ĉ" U0108 # LATIN CAPITAL LETTER C WITH CIRCUMFLEX + : "ĉ" U0109 # LATIN SMALL LETTER C WITH CIRCUMFLEX + : "ĉ" U0109 # LATIN SMALL LETTER C WITH CIRCUMFLEX + : "Ċ" U010A # LATIN CAPITAL LETTER C WITH DOT ABOVE + : "Ċ" U010A # LATIN CAPITAL LETTER C WITH DOT ABOVE + : "Ċ" U010A # LATIN CAPITAL LETTER C WITH DOT ABOVE + : "ċ" U010B # LATIN SMALL LETTER C WITH DOT ABOVE + : "ċ" U010B # LATIN SMALL LETTER C WITH DOT ABOVE + : "ċ" U010B # LATIN SMALL LETTER C WITH DOT ABOVE + : "Č" U010C # LATIN CAPITAL LETTER C WITH CARON + : "Č" U010C # LATIN CAPITAL LETTER C WITH CARON + : "Č" U010C # LATIN CAPITAL LETTER C WITH CARON + : "Č" U010C # LATIN CAPITAL LETTER C WITH CARON + : "Č" U010C # LATIN CAPITAL LETTER C WITH CARON + : "č" U010D # LATIN SMALL LETTER C WITH CARON + : "č" U010D # LATIN SMALL LETTER C WITH CARON + : "č" U010D # LATIN SMALL LETTER C WITH CARON + : "č" U010D # LATIN SMALL LETTER C WITH CARON + : "č" U010D # LATIN SMALL LETTER C WITH CARON + : "Ď" U010E # LATIN CAPITAL LETTER D WITH CARON + : "Ď" U010E # LATIN CAPITAL LETTER D WITH CARON + : "Ď" U010E # LATIN CAPITAL LETTER D WITH CARON + : "Ď" U010E # LATIN CAPITAL LETTER D WITH CARON + : "Ď" U010E # LATIN CAPITAL LETTER D WITH CARON + : "ď" U010F # LATIN SMALL LETTER D WITH CARON + : "ď" U010F # LATIN SMALL LETTER D WITH CARON + : "ď" U010F # LATIN SMALL LETTER D WITH CARON + : "ď" U010F # LATIN SMALL LETTER D WITH CARON + : "ď" U010F # LATIN SMALL LETTER D WITH CARON + : "Đ" Dstroke # LATIN CAPITAL LETTER D WITH STROKE + : "Đ" Dstroke # LATIN CAPITAL LETTER D WITH STROKE + : "Đ" Dstroke # LATIN CAPITAL LETTER D WITH STROKE + : "Đ" Dstroke # LATIN CAPITAL LETTER D WITH STROKE + : "Đ" Dstroke # LATIN CAPITAL LETTER D WITH STROKE + : "đ" dstroke # LATIN SMALL LETTER D WITH STROKE + : "đ" dstroke # LATIN SMALL LETTER D WITH STROKE + : "đ" dstroke # LATIN SMALL LETTER D WITH STROKE + : "đ" dstroke # LATIN SMALL LETTER D WITH STROKE + : "đ" dstroke # LATIN SMALL LETTER D WITH STROKE + : "Ē" U0112 # LATIN CAPITAL LETTER E WITH MACRON + : "Ē" U0112 # LATIN CAPITAL LETTER E WITH MACRON + : "Ē" U0112 # LATIN CAPITAL LETTER E WITH MACRON + : "Ē" U0112 # LATIN CAPITAL LETTER E WITH MACRON + : "Ē" U0112 # LATIN CAPITAL LETTER E WITH MACRON + : "Ē" U0112 # LATIN CAPITAL LETTER E WITH MACRON + : "ē" U0113 # LATIN SMALL LETTER E WITH MACRON + : "ē" U0113 # LATIN SMALL LETTER E WITH MACRON + : "ē" U0113 # LATIN SMALL LETTER E WITH MACRON + : "ē" U0113 # LATIN SMALL LETTER E WITH MACRON + : "ē" U0113 # LATIN SMALL LETTER E WITH MACRON + : "ē" U0113 # LATIN SMALL LETTER E WITH MACRON + : "Ĕ" U0114 # LATIN CAPITAL LETTER E WITH BREVE + : "Ĕ" U0114 # LATIN CAPITAL LETTER E WITH BREVE + : "Ĕ" U0114 # LATIN CAPITAL LETTER E WITH BREVE + : "Ĕ" U0114 # LATIN CAPITAL LETTER E WITH BREVE + : "ĕ" U0115 # LATIN SMALL LETTER E WITH BREVE + : "ĕ" U0115 # LATIN SMALL LETTER E WITH BREVE + : "ĕ" U0115 # LATIN SMALL LETTER E WITH BREVE + : "ĕ" U0115 # LATIN SMALL LETTER E WITH BREVE + : "Ė" U0116 # LATIN CAPITAL LETTER E WITH DOT ABOVE + : "Ė" U0116 # LATIN CAPITAL LETTER E WITH DOT ABOVE + : "Ė" U0116 # LATIN CAPITAL LETTER E WITH DOT ABOVE + : "ė" U0117 # LATIN SMALL LETTER E WITH DOT ABOVE + : "ė" U0117 # LATIN SMALL LETTER E WITH DOT ABOVE + : "ė" U0117 # LATIN SMALL LETTER E WITH DOT ABOVE + : "Ę" U0118 # LATIN CAPITAL LETTER E WITH OGONEK + : "Ę" U0118 # LATIN CAPITAL LETTER E WITH OGONEK + : "Ę" U0118 # LATIN CAPITAL LETTER E WITH OGONEK + : "Ę" U0118 # LATIN CAPITAL LETTER E WITH OGONEK + : "Ę" U0118 # LATIN CAPITAL LETTER E WITH OGONEK + : "ę" U0119 # LATIN SMALL LETTER E WITH OGONEK + : "ę" U0119 # LATIN SMALL LETTER E WITH OGONEK + : "ę" U0119 # LATIN SMALL LETTER E WITH OGONEK + : "ę" U0119 # LATIN SMALL LETTER E WITH OGONEK + : "ę" U0119 # LATIN SMALL LETTER E WITH OGONEK + : "Ě" U011A # LATIN CAPITAL LETTER E WITH CARON + : "Ě" U011A # LATIN CAPITAL LETTER E WITH CARON + : "Ě" U011A # LATIN CAPITAL LETTER E WITH CARON + : "Ě" U011A # LATIN CAPITAL LETTER E WITH CARON + : "Ě" U011A # LATIN CAPITAL LETTER E WITH CARON + : "ě" U011B # LATIN SMALL LETTER E WITH CARON + : "ě" U011B # LATIN SMALL LETTER E WITH CARON + : "ě" U011B # LATIN SMALL LETTER E WITH CARON + : "ě" U011B # LATIN SMALL LETTER E WITH CARON + : "ě" U011B # LATIN SMALL LETTER E WITH CARON + : "Ĝ" U011C # LATIN CAPITAL LETTER G WITH CIRCUMFLEX + : "Ĝ" U011C # LATIN CAPITAL LETTER G WITH CIRCUMFLEX + : "ĝ" U011D # LATIN SMALL LETTER G WITH CIRCUMFLEX + : "ĝ" U011D # LATIN SMALL LETTER G WITH CIRCUMFLEX + : "Ğ" U011E # LATIN CAPITAL LETTER G WITH BREVE + : "Ğ" U011E # LATIN CAPITAL LETTER G WITH BREVE + : "Ğ" U011E # LATIN CAPITAL LETTER G WITH BREVE + : "Ğ" U011E # LATIN CAPITAL LETTER G WITH BREVE + : "Ğ" U011E # LATIN CAPITAL LETTER G WITH BREVE + : "Ğ" U011E # LATIN CAPITAL LETTER G WITH BREVE + : "Ğ" U011E # LATIN CAPITAL LETTER G WITH BREVE + : "Ğ" U011E # LATIN CAPITAL LETTER G WITH BREVE + : "Ğ" U011E # LATIN CAPITAL LETTER G WITH BREVE + : "ğ" U011F # LATIN SMALL LETTER G WITH BREVE + : "ğ" U011F # LATIN SMALL LETTER G WITH BREVE + : "ğ" U011F # LATIN SMALL LETTER G WITH BREVE + : "ğ" U011F # LATIN SMALL LETTER G WITH BREVE + : "ğ" U011F # LATIN SMALL LETTER G WITH BREVE + : "ğ" U011F # LATIN SMALL LETTER G WITH BREVE + : "ğ" U011F # LATIN SMALL LETTER G WITH BREVE + : "ğ" U011F # LATIN SMALL LETTER G WITH BREVE + : "ğ" U011F # LATIN SMALL LETTER G WITH BREVE + : "Ġ" U0120 # LATIN CAPITAL LETTER G WITH DOT ABOVE + : "Ġ" U0120 # LATIN CAPITAL LETTER G WITH DOT ABOVE + : "Ġ" U0120 # LATIN CAPITAL LETTER G WITH DOT ABOVE + : "ġ" U0121 # LATIN SMALL LETTER G WITH DOT ABOVE + : "ġ" U0121 # LATIN SMALL LETTER G WITH DOT ABOVE + : "ġ" U0121 # LATIN SMALL LETTER G WITH DOT ABOVE + : "Ģ" U0122 # LATIN CAPITAL LETTER G WITH CEDILLA + : "Ģ" U0122 # LATIN CAPITAL LETTER G WITH CEDILLA + : "Ģ" U0122 # LATIN CAPITAL LETTER G WITH CEDILLA + : "Ģ" U0122 # LATIN CAPITAL LETTER G WITH CEDILLA + : "ģ" U0123 # LATIN SMALL LETTER G WITH CEDILLA + : "ģ" U0123 # LATIN SMALL LETTER G WITH CEDILLA + : "ģ" U0123 # LATIN SMALL LETTER G WITH CEDILLA + : "ģ" U0123 # LATIN SMALL LETTER G WITH CEDILLA + : "Ĥ" U0124 # LATIN CAPITAL LETTER H WITH CIRCUMFLEX + : "Ĥ" U0124 # LATIN CAPITAL LETTER H WITH CIRCUMFLEX + : "ĥ" U0125 # LATIN SMALL LETTER H WITH CIRCUMFLEX + : "ĥ" U0125 # LATIN SMALL LETTER H WITH CIRCUMFLEX + : "Ħ" U0126 # LATIN CAPITAL LETTER H WITH STROKE + : "Ħ" U0126 # LATIN CAPITAL LETTER H WITH STROKE + : "Ħ" U0126 # LATIN CAPITAL LETTER H WITH STROKE + : "ħ" U0127 # LATIN SMALL LETTER H WITH STROKE + : "ħ" U0127 # LATIN SMALL LETTER H WITH STROKE + : "ħ" U0127 # LATIN SMALL LETTER H WITH STROKE + : "Ĩ" U0128 # LATIN CAPITAL LETTER I WITH TILDE + : "Ĩ" U0128 # LATIN CAPITAL LETTER I WITH TILDE + : "Ĩ" U0128 # LATIN CAPITAL LETTER I WITH TILDE + : "ĩ" U0129 # LATIN SMALL LETTER I WITH TILDE + : "ĩ" U0129 # LATIN SMALL LETTER I WITH TILDE + : "ĩ" U0129 # LATIN SMALL LETTER I WITH TILDE + : "Ī" U012A # LATIN CAPITAL LETTER I WITH MACRON + : "Ī" U012A # LATIN CAPITAL LETTER I WITH MACRON + : "Ī" U012A # LATIN CAPITAL LETTER I WITH MACRON + : "Ī" U012A # LATIN CAPITAL LETTER I WITH MACRON + : "Ī" U012A # LATIN CAPITAL LETTER I WITH MACRON + : "Ī" U012A # LATIN CAPITAL LETTER I WITH MACRON + : "ī" U012B # LATIN SMALL LETTER I WITH MACRON + : "ī" U012B # LATIN SMALL LETTER I WITH MACRON + : "ī" U012B # LATIN SMALL LETTER I WITH MACRON + : "ī" U012B # LATIN SMALL LETTER I WITH MACRON + : "ī" U012B # LATIN SMALL LETTER I WITH MACRON + : "ī" U012B # LATIN SMALL LETTER I WITH MACRON + : "Ĭ" U012C # LATIN CAPITAL LETTER I WITH BREVE + : "Ĭ" U012C # LATIN CAPITAL LETTER I WITH BREVE + : "Ĭ" U012C # LATIN CAPITAL LETTER I WITH BREVE + : "Ĭ" U012C # LATIN CAPITAL LETTER I WITH BREVE + : "ĭ" U012D # LATIN SMALL LETTER I WITH BREVE + : "ĭ" U012D # LATIN SMALL LETTER I WITH BREVE + : "ĭ" U012D # LATIN SMALL LETTER I WITH BREVE + : "ĭ" U012D # LATIN SMALL LETTER I WITH BREVE + : "Į" U012E # LATIN CAPITAL LETTER I WITH OGONEK + : "Į" U012E # LATIN CAPITAL LETTER I WITH OGONEK + : "Į" U012E # LATIN CAPITAL LETTER I WITH OGONEK + : "Į" U012E # LATIN CAPITAL LETTER I WITH OGONEK + : "Į" U012E # LATIN CAPITAL LETTER I WITH OGONEK + : "į" U012F # LATIN SMALL LETTER I WITH OGONEK + : "į" U012F # LATIN SMALL LETTER I WITH OGONEK + : "į" U012F # LATIN SMALL LETTER I WITH OGONEK + : "į" U012F # LATIN SMALL LETTER I WITH OGONEK + : "į" U012F # LATIN SMALL LETTER I WITH OGONEK + : "İ" U0130 # LATIN CAPITAL LETTER I WITH DOT ABOVE + : "İ" U0130 # LATIN CAPITAL LETTER I WITH DOT ABOVE + : "İ" U0130 # LATIN CAPITAL LETTER I WITH DOT ABOVE + : "ı" U0131 # LATIN SMALL LETTER DOTLESS I + : "ı" U0131 # LATIN SMALL LETTER DOTLESS I + : "ı" U0131 # LATIN SMALL LETTER DOTLESS I + : "Ĵ" U0134 # LATIN CAPITAL LETTER J WITH CIRCUMFLEX + : "Ĵ" U0134 # LATIN CAPITAL LETTER J WITH CIRCUMFLEX + : "ĵ" U0135 # LATIN SMALL LETTER J WITH CIRCUMFLEX + : "ĵ" U0135 # LATIN SMALL LETTER J WITH CIRCUMFLEX + : "Ķ" U0136 # LATIN CAPITAL LETTER K WITH CEDILLA + : "Ķ" U0136 # LATIN CAPITAL LETTER K WITH CEDILLA + : "Ķ" U0136 # LATIN CAPITAL LETTER K WITH CEDILLA + : "Ķ" U0136 # LATIN CAPITAL LETTER K WITH CEDILLA + : "ķ" U0137 # LATIN SMALL LETTER K WITH CEDILLA + : "ķ" U0137 # LATIN SMALL LETTER K WITH CEDILLA + : "ķ" U0137 # LATIN SMALL LETTER K WITH CEDILLA + : "ķ" U0137 # LATIN SMALL LETTER K WITH CEDILLA + : "ĸ" U0138 # LATIN SMALL LETTER KRA + : "Ĺ" U0139 # LATIN CAPITAL LETTER L WITH ACUTE + : "Ĺ" U0139 # LATIN CAPITAL LETTER L WITH ACUTE + : "Ĺ" U0139 # LATIN CAPITAL LETTER L WITH ACUTE + : "Ĺ" U0139 # LATIN CAPITAL LETTER L WITH ACUTE + : "ĺ" U013A # LATIN SMALL LETTER L WITH ACUTE + : "ĺ" U013A # LATIN SMALL LETTER L WITH ACUTE + : "ĺ" U013A # LATIN SMALL LETTER L WITH ACUTE + : "ĺ" U013A # LATIN SMALL LETTER L WITH ACUTE + : "Ļ" U013B # LATIN CAPITAL LETTER L WITH CEDILLA + : "Ļ" U013B # LATIN CAPITAL LETTER L WITH CEDILLA + : "Ļ" U013B # LATIN CAPITAL LETTER L WITH CEDILLA + : "Ļ" U013B # LATIN CAPITAL LETTER L WITH CEDILLA + : "ļ" U013C # LATIN SMALL LETTER L WITH CEDILLA + : "ļ" U013C # LATIN SMALL LETTER L WITH CEDILLA + : "ļ" U013C # LATIN SMALL LETTER L WITH CEDILLA + : "ļ" U013C # LATIN SMALL LETTER L WITH CEDILLA + : "Ľ" U013D # LATIN CAPITAL LETTER L WITH CARON + : "Ľ" U013D # LATIN CAPITAL LETTER L WITH CARON + : "Ľ" U013D # LATIN CAPITAL LETTER L WITH CARON + : "Ľ" U013D # LATIN CAPITAL LETTER L WITH CARON + : "ľ" U013E # LATIN SMALL LETTER L WITH CARON + : "ľ" U013E # LATIN SMALL LETTER L WITH CARON + : "ľ" U013E # LATIN SMALL LETTER L WITH CARON + : "ľ" U013E # LATIN SMALL LETTER L WITH CARON + : "Ł" U0141 # LATIN CAPITAL LETTER L WITH STROKE + : "Ł" U0141 # LATIN CAPITAL LETTER L WITH STROKE + : "Ł" U0141 # LATIN CAPITAL LETTER L WITH STROKE + : "Ł" U0141 # LATIN CAPITAL LETTER L WITH STROKE + : "ł" U0142 # LATIN SMALL LETTER L WITH STROKE + : "ł" U0142 # LATIN SMALL LETTER L WITH STROKE + : "ł" U0142 # LATIN SMALL LETTER L WITH STROKE + : "ł" U0142 # LATIN SMALL LETTER L WITH STROKE + : "Ń" U0143 # LATIN CAPITAL LETTER N WITH ACUTE + : "Ń" U0143 # LATIN CAPITAL LETTER N WITH ACUTE + : "Ń" U0143 # LATIN CAPITAL LETTER N WITH ACUTE + : "Ń" U0143 # LATIN CAPITAL LETTER N WITH ACUTE + : "ń" U0144 # LATIN SMALL LETTER N WITH ACUTE + : "ń" U0144 # LATIN SMALL LETTER N WITH ACUTE + : "ń" U0144 # LATIN SMALL LETTER N WITH ACUTE + : "ń" U0144 # LATIN SMALL LETTER N WITH ACUTE + : "Ņ" U0145 # LATIN CAPITAL LETTER N WITH CEDILLA + : "Ņ" U0145 # LATIN CAPITAL LETTER N WITH CEDILLA + : "Ņ" U0145 # LATIN CAPITAL LETTER N WITH CEDILLA + : "Ņ" U0145 # LATIN CAPITAL LETTER N WITH CEDILLA + : "ņ" U0146 # LATIN SMALL LETTER N WITH CEDILLA + : "ņ" U0146 # LATIN SMALL LETTER N WITH CEDILLA + : "ņ" U0146 # LATIN SMALL LETTER N WITH CEDILLA + : "ņ" U0146 # LATIN SMALL LETTER N WITH CEDILLA + : "Ň" U0147 # LATIN CAPITAL LETTER N WITH CARON + : "Ň" U0147 # LATIN CAPITAL LETTER N WITH CARON + : "Ň" U0147 # LATIN CAPITAL LETTER N WITH CARON + : "Ň" U0147 # LATIN CAPITAL LETTER N WITH CARON + : "Ň" U0147 # LATIN CAPITAL LETTER N WITH CARON + : "ň" U0148 # LATIN SMALL LETTER N WITH CARON + : "ň" U0148 # LATIN SMALL LETTER N WITH CARON + : "ň" U0148 # LATIN SMALL LETTER N WITH CARON + : "ň" U0148 # LATIN SMALL LETTER N WITH CARON + : "ň" U0148 # LATIN SMALL LETTER N WITH CARON + : "Ŋ" U014A # LATIN CAPITAL LETTER ENG + : "ŋ" U014B # LATIN SMALL LETTER ENG + : "Ō" U014C # LATIN CAPITAL LETTER O WITH MACRON + : "Ō" U014C # LATIN CAPITAL LETTER O WITH MACRON + : "Ō" U014C # LATIN CAPITAL LETTER O WITH MACRON + : "Ō" U014C # LATIN CAPITAL LETTER O WITH MACRON + : "Ō" U014C # LATIN CAPITAL LETTER O WITH MACRON + : "Ō" U014C # LATIN CAPITAL LETTER O WITH MACRON + : "ō" U014D # LATIN SMALL LETTER O WITH MACRON + : "ō" U014D # LATIN SMALL LETTER O WITH MACRON + : "ō" U014D # LATIN SMALL LETTER O WITH MACRON + : "ō" U014D # LATIN SMALL LETTER O WITH MACRON + : "ō" U014D # LATIN SMALL LETTER O WITH MACRON + : "ō" U014D # LATIN SMALL LETTER O WITH MACRON + : "Ŏ" U014E # LATIN CAPITAL LETTER O WITH BREVE + : "Ŏ" U014E # LATIN CAPITAL LETTER O WITH BREVE + : "Ŏ" U014E # LATIN CAPITAL LETTER O WITH BREVE + : "Ŏ" U014E # LATIN CAPITAL LETTER O WITH BREVE + : "ŏ" U014F # LATIN SMALL LETTER O WITH BREVE + : "ŏ" U014F # LATIN SMALL LETTER O WITH BREVE + : "ŏ" U014F # LATIN SMALL LETTER O WITH BREVE + : "ŏ" U014F # LATIN SMALL LETTER O WITH BREVE + : "Ő" U0150 # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE + : "Ő" U0150 # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE + : "ő" U0151 # LATIN SMALL LETTER O WITH DOUBLE ACUTE + : "ő" U0151 # LATIN SMALL LETTER O WITH DOUBLE ACUTE + : "Ŕ" U0154 # LATIN CAPITAL LETTER R WITH ACUTE + : "Ŕ" U0154 # LATIN CAPITAL LETTER R WITH ACUTE + : "Ŕ" U0154 # LATIN CAPITAL LETTER R WITH ACUTE + : "Ŕ" U0154 # LATIN CAPITAL LETTER R WITH ACUTE + : "ŕ" U0155 # LATIN SMALL LETTER R WITH ACUTE + : "ŕ" U0155 # LATIN SMALL LETTER R WITH ACUTE + : "ŕ" U0155 # LATIN SMALL LETTER R WITH ACUTE + : "ŕ" U0155 # LATIN SMALL LETTER R WITH ACUTE + : "Ŗ" U0156 # LATIN CAPITAL LETTER R WITH CEDILLA + : "Ŗ" U0156 # LATIN CAPITAL LETTER R WITH CEDILLA + : "Ŗ" U0156 # LATIN CAPITAL LETTER R WITH CEDILLA + : "Ŗ" U0156 # LATIN CAPITAL LETTER R WITH CEDILLA + : "ŗ" U0157 # LATIN SMALL LETTER R WITH CEDILLA + : "ŗ" U0157 # LATIN SMALL LETTER R WITH CEDILLA + : "ŗ" U0157 # LATIN SMALL LETTER R WITH CEDILLA + : "ŗ" U0157 # LATIN SMALL LETTER R WITH CEDILLA + : "Ř" U0158 # LATIN CAPITAL LETTER R WITH CARON + : "Ř" U0158 # LATIN CAPITAL LETTER R WITH CARON + : "Ř" U0158 # LATIN CAPITAL LETTER R WITH CARON + : "Ř" U0158 # LATIN CAPITAL LETTER R WITH CARON + : "Ř" U0158 # LATIN CAPITAL LETTER R WITH CARON + : "ř" U0159 # LATIN SMALL LETTER R WITH CARON + : "ř" U0159 # LATIN SMALL LETTER R WITH CARON + : "ř" U0159 # LATIN SMALL LETTER R WITH CARON + : "ř" U0159 # LATIN SMALL LETTER R WITH CARON + : "ř" U0159 # LATIN SMALL LETTER R WITH CARON + : "Ś" U015A # LATIN CAPITAL LETTER S WITH ACUTE + : "Ś" U015A # LATIN CAPITAL LETTER S WITH ACUTE + : "Ś" U015A # LATIN CAPITAL LETTER S WITH ACUTE + : "Ś" U015A # LATIN CAPITAL LETTER S WITH ACUTE + : "ś" U015B # LATIN SMALL LETTER S WITH ACUTE + : "ś" U015B # LATIN SMALL LETTER S WITH ACUTE + : "ś" U015B # LATIN SMALL LETTER S WITH ACUTE + : "ś" U015B # LATIN SMALL LETTER S WITH ACUTE + : "Ŝ" U015C # LATIN CAPITAL LETTER S WITH CIRCUMFLEX + : "Ŝ" U015C # LATIN CAPITAL LETTER S WITH CIRCUMFLEX + : "ŝ" U015D # LATIN SMALL LETTER S WITH CIRCUMFLEX + : "ŝ" U015D # LATIN SMALL LETTER S WITH CIRCUMFLEX + : "Ş" U015E # LATIN CAPITAL LETTER S WITH CEDILLA + : "Ş" U015E # LATIN CAPITAL LETTER S WITH CEDILLA + : "Ş" U015E # LATIN CAPITAL LETTER S WITH CEDILLA + : "Ş" U015E # LATIN CAPITAL LETTER S WITH CEDILLA + : "ş" U015F # LATIN SMALL LETTER S WITH CEDILLA + : "ş" U015F # LATIN SMALL LETTER S WITH CEDILLA + : "ş" U015F # LATIN SMALL LETTER S WITH CEDILLA + : "ş" U015F # LATIN SMALL LETTER S WITH CEDILLA + : "ş" U015F # LATIN SMALL LETTER S WITH CEDILLA + : "Š" U0160 # LATIN CAPITAL LETTER S WITH CARON + : "Š" U0160 # LATIN CAPITAL LETTER S WITH CARON + : "Š" U0160 # LATIN CAPITAL LETTER S WITH CARON + : "Š" U0160 # LATIN CAPITAL LETTER S WITH CARON + : "Š" U0160 # LATIN CAPITAL LETTER S WITH CARON + : "š" U0161 # LATIN SMALL LETTER S WITH CARON + : "š" U0161 # LATIN SMALL LETTER S WITH CARON + : "š" U0161 # LATIN SMALL LETTER S WITH CARON + : "š" U0161 # LATIN SMALL LETTER S WITH CARON + : "š" U0161 # LATIN SMALL LETTER S WITH CARON + : "Ţ" U0162 # LATIN CAPITAL LETTER T WITH CEDILLA + : "Ţ" U0162 # LATIN CAPITAL LETTER T WITH CEDILLA + : "Ţ" U0162 # LATIN CAPITAL LETTER T WITH CEDILLA + : "Ţ" U0162 # LATIN CAPITAL LETTER T WITH CEDILLA + : "ţ" U0163 # LATIN SMALL LETTER T WITH CEDILLA + : "ţ" U0163 # LATIN SMALL LETTER T WITH CEDILLA + : "ţ" U0163 # LATIN SMALL LETTER T WITH CEDILLA + : "ţ" U0163 # LATIN SMALL LETTER T WITH CEDILLA + : "Ť" U0164 # LATIN CAPITAL LETTER T WITH CARON + : "Ť" U0164 # LATIN CAPITAL LETTER T WITH CARON + : "Ť" U0164 # LATIN CAPITAL LETTER T WITH CARON + : "Ť" U0164 # LATIN CAPITAL LETTER T WITH CARON + : "Ť" U0164 # LATIN CAPITAL LETTER T WITH CARON + : "ť" U0165 # LATIN SMALL LETTER T WITH CARON + : "ť" U0165 # LATIN SMALL LETTER T WITH CARON + : "ť" U0165 # LATIN SMALL LETTER T WITH CARON + : "ť" U0165 # LATIN SMALL LETTER T WITH CARON + : "ť" U0165 # LATIN SMALL LETTER T WITH CARON + : "Ŧ" U0166 # LATIN CAPITAL LETTER T WITH STROKE + : "Ŧ" U0166 # LATIN CAPITAL LETTER T WITH STROKE + : "Ŧ" U0166 # LATIN CAPITAL LETTER T WITH STROKE + : "Ŧ" U0166 # LATIN CAPITAL LETTER T WITH STROKE + : "Ŧ" U0166 # LATIN CAPITAL LETTER T WITH STROKE + : "ŧ" U0167 # LATIN SMALL LETTER T WITH STROKE + : "ŧ" U0167 # LATIN SMALL LETTER T WITH STROKE + : "ŧ" U0167 # LATIN SMALL LETTER T WITH STROKE + : "ŧ" U0167 # LATIN SMALL LETTER T WITH STROKE + : "ŧ" U0167 # LATIN SMALL LETTER T WITH STROKE + : "Ũ" U0168 # LATIN CAPITAL LETTER U WITH TILDE + : "Ũ" U0168 # LATIN CAPITAL LETTER U WITH TILDE + : "Ũ" U0168 # LATIN CAPITAL LETTER U WITH TILDE + : "ũ" U0169 # LATIN SMALL LETTER U WITH TILDE + : "ũ" U0169 # LATIN SMALL LETTER U WITH TILDE + : "ũ" U0169 # LATIN SMALL LETTER U WITH TILDE + : "Ū" U016A # LATIN CAPITAL LETTER U WITH MACRON + : "Ū" U016A # LATIN CAPITAL LETTER U WITH MACRON + : "Ū" U016A # LATIN CAPITAL LETTER U WITH MACRON + : "Ū" U016A # LATIN CAPITAL LETTER U WITH MACRON + : "Ū" U016A # LATIN CAPITAL LETTER U WITH MACRON + : "Ū" U016A # LATIN CAPITAL LETTER U WITH MACRON + : "ū" U016B # LATIN SMALL LETTER U WITH MACRON + : "ū" U016B # LATIN SMALL LETTER U WITH MACRON + : "ū" U016B # LATIN SMALL LETTER U WITH MACRON + : "ū" U016B # LATIN SMALL LETTER U WITH MACRON + : "ū" U016B # LATIN SMALL LETTER U WITH MACRON + : "ū" U016B # LATIN SMALL LETTER U WITH MACRON + : "Ŭ" U016C # LATIN CAPITAL LETTER U WITH BREVE + : "Ŭ" U016C # LATIN CAPITAL LETTER U WITH BREVE + : "Ŭ" U016C # LATIN CAPITAL LETTER U WITH BREVE + : "Ŭ" U016C # LATIN CAPITAL LETTER U WITH BREVE + : "ŭ" U016D # LATIN SMALL LETTER U WITH BREVE + : "ŭ" U016D # LATIN SMALL LETTER U WITH BREVE + : "ŭ" U016D # LATIN SMALL LETTER U WITH BREVE + : "ŭ" U016D # LATIN SMALL LETTER U WITH BREVE + : "Ů" U016E # LATIN CAPITAL LETTER U WITH RING ABOVE + : "Ů" U016E # LATIN CAPITAL LETTER U WITH RING ABOVE + : "Ů" U016E # LATIN CAPITAL LETTER U WITH RING ABOVE + : "Ů" U016E # LATIN CAPITAL LETTER U WITH RING ABOVE + : "ů" U016F # LATIN SMALL LETTER U WITH RING ABOVE + : "ů" U016F # LATIN SMALL LETTER U WITH RING ABOVE + : "ů" U016F # LATIN SMALL LETTER U WITH RING ABOVE + : "ů" U016F # LATIN SMALL LETTER U WITH RING ABOVE + : "Ű" U0170 # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE + : "Ű" U0170 # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE + : "ű" U0171 # LATIN SMALL LETTER U WITH DOUBLE ACUTE + : "ű" U0171 # LATIN SMALL LETTER U WITH DOUBLE ACUTE + : "Ų" U0172 # LATIN CAPITAL LETTER U WITH OGONEK + : "Ų" U0172 # LATIN CAPITAL LETTER U WITH OGONEK + : "Ų" U0172 # LATIN CAPITAL LETTER U WITH OGONEK + : "Ų" U0172 # LATIN CAPITAL LETTER U WITH OGONEK + : "Ų" U0172 # LATIN CAPITAL LETTER U WITH OGONEK + : "ų" U0173 # LATIN SMALL LETTER U WITH OGONEK + : "ų" U0173 # LATIN SMALL LETTER U WITH OGONEK + : "ų" U0173 # LATIN SMALL LETTER U WITH OGONEK + : "ų" U0173 # LATIN SMALL LETTER U WITH OGONEK + : "ų" U0173 # LATIN SMALL LETTER U WITH OGONEK + : "Ŵ" U0174 # LATIN CAPITAL LETTER W WITH CIRCUMFLEX + : "Ŵ" U0174 # LATIN CAPITAL LETTER W WITH CIRCUMFLEX + : "Ŵ" U0174 # LATIN CAPITAL LETTER W WITH CIRCUMFLEX + : "ŵ" U0175 # LATIN SMALL LETTER W WITH CIRCUMFLEX + : "ŵ" U0175 # LATIN SMALL LETTER W WITH CIRCUMFLEX + : "ŵ" U0175 # LATIN SMALL LETTER W WITH CIRCUMFLEX + : "Ŷ" U0176 # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX + : "Ŷ" U0176 # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX + : "Ŷ" U0176 # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX + : "ŷ" U0177 # LATIN SMALL LETTER Y WITH CIRCUMFLEX + : "ŷ" U0177 # LATIN SMALL LETTER Y WITH CIRCUMFLEX + : "ŷ" U0177 # LATIN SMALL LETTER Y WITH CIRCUMFLEX + : "Ÿ" U0178 # LATIN CAPITAL LETTER Y WITH DIAERESIS + : "Ÿ" U0178 # LATIN CAPITAL LETTER Y WITH DIAERESIS + : "Ÿ" U0178 # LATIN CAPITAL LETTER Y WITH DIAERESIS + : "Ÿ" U0178 # LATIN CAPITAL LETTER Y WITH DIAERESIS + : "Ÿ" U0178 # LATIN CAPITAL LETTER Y WITH DIAERESIS + : "Ź" U0179 # LATIN CAPITAL LETTER Z WITH ACUTE + : "Ź" U0179 # LATIN CAPITAL LETTER Z WITH ACUTE + : "Ź" U0179 # LATIN CAPITAL LETTER Z WITH ACUTE + : "Ź" U0179 # LATIN CAPITAL LETTER Z WITH ACUTE + : "ź" U017A # LATIN SMALL LETTER Z WITH ACUTE + : "ź" U017A # LATIN SMALL LETTER Z WITH ACUTE + : "ź" U017A # LATIN SMALL LETTER Z WITH ACUTE + : "ź" U017A # LATIN SMALL LETTER Z WITH ACUTE + : "Ż" U017B # LATIN CAPITAL LETTER Z WITH DOT ABOVE + : "Ż" U017B # LATIN CAPITAL LETTER Z WITH DOT ABOVE + : "Ż" U017B # LATIN CAPITAL LETTER Z WITH DOT ABOVE + : "ż" U017C # LATIN SMALL LETTER Z WITH DOT ABOVE + : "ż" U017C # LATIN SMALL LETTER Z WITH DOT ABOVE + : "ż" U017C # LATIN SMALL LETTER Z WITH DOT ABOVE + : "Ž" U017D # LATIN CAPITAL LETTER Z WITH CARON + : "Ž" U017D # LATIN CAPITAL LETTER Z WITH CARON + : "Ž" U017D # LATIN CAPITAL LETTER Z WITH CARON + : "Ž" U017D # LATIN CAPITAL LETTER Z WITH CARON + : "Ž" U017D # LATIN CAPITAL LETTER Z WITH CARON + : "ž" U017E # LATIN SMALL LETTER Z WITH CARON + : "ž" U017E # LATIN SMALL LETTER Z WITH CARON + : "ž" U017E # LATIN SMALL LETTER Z WITH CARON + : "ž" U017E # LATIN SMALL LETTER Z WITH CARON + : "ž" U017E # LATIN SMALL LETTER Z WITH CARON + : "ƀ" U0180 # LATIN SMALL LETTER B WITH STROKE + : "ƀ" U0180 # LATIN SMALL LETTER B WITH STROKE + : "ƀ" U0180 # LATIN SMALL LETTER B WITH STROKE + : "Ɨ" U0197 # LATIN CAPITAL LETTER I WITH STROKE + : "Ɨ" U0197 # LATIN CAPITAL LETTER I WITH STROKE + : "Ɨ" U0197 # LATIN CAPITAL LETTER I WITH STROKE + : "Ơ" U01A0 # LATIN CAPITAL LETTER O WITH HORN + : "Ơ" U01A0 # LATIN CAPITAL LETTER O WITH HORN + : "ơ" U01A1 # LATIN SMALL LETTER O WITH HORN + : "ơ" U01A1 # LATIN SMALL LETTER O WITH HORN + : "Ư" U01AF # LATIN CAPITAL LETTER U WITH HORN + : "Ư" U01AF # LATIN CAPITAL LETTER U WITH HORN + : "ư" U01B0 # LATIN SMALL LETTER U WITH HORN + : "ư" U01B0 # LATIN SMALL LETTER U WITH HORN + : "Ƶ" U01B5 # LATIN CAPITAL LETTER Z WITH STROKE + : "Ƶ" U01B5 # LATIN CAPITAL LETTER Z WITH STROKE + : "Ƶ" U01B5 # LATIN CAPITAL LETTER Z WITH STROKE + : "ƶ" U01B6 # LATIN SMALL LETTER Z WITH STROKE + : "ƶ" U01B6 # LATIN SMALL LETTER Z WITH STROKE + : "ƶ" U01B6 # LATIN SMALL LETTER Z WITH STROKE + : "Ǎ" U01CD # LATIN CAPITAL LETTER A WITH CARON + : "Ǎ" U01CD # LATIN CAPITAL LETTER A WITH CARON + : "Ǎ" U01CD # LATIN CAPITAL LETTER A WITH CARON + : "ǎ" U01CE # LATIN SMALL LETTER A WITH CARON + : "ǎ" U01CE # LATIN SMALL LETTER A WITH CARON + : "ǎ" U01CE # LATIN SMALL LETTER A WITH CARON + : "Ǐ" U01CF # LATIN CAPITAL LETTER I WITH CARON + : "Ǐ" U01CF # LATIN CAPITAL LETTER I WITH CARON + : "Ǐ" U01CF # LATIN CAPITAL LETTER I WITH CARON + : "ǐ" U01D0 # LATIN SMALL LETTER I WITH CARON + : "ǐ" U01D0 # LATIN SMALL LETTER I WITH CARON + : "ǐ" U01D0 # LATIN SMALL LETTER I WITH CARON + : "Ǒ" U01D1 # LATIN CAPITAL LETTER O WITH CARON + : "Ǒ" U01D1 # LATIN CAPITAL LETTER O WITH CARON + : "Ǒ" U01D1 # LATIN CAPITAL LETTER O WITH CARON + : "ǒ" U01D2 # LATIN SMALL LETTER O WITH CARON + : "ǒ" U01D2 # LATIN SMALL LETTER O WITH CARON + : "ǒ" U01D2 # LATIN SMALL LETTER O WITH CARON + : "Ǔ" U01D3 # LATIN CAPITAL LETTER U WITH CARON + : "Ǔ" U01D3 # LATIN CAPITAL LETTER U WITH CARON + : "Ǔ" U01D3 # LATIN CAPITAL LETTER U WITH CARON + : "ǔ" U01D4 # LATIN SMALL LETTER U WITH CARON + : "ǔ" U01D4 # LATIN SMALL LETTER U WITH CARON + : "ǔ" U01D4 # LATIN SMALL LETTER U WITH CARON + : "Ǖ" U01D5 # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON + : "Ǖ" U01D5 # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON + : "Ǖ" U01D5 # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON + : "Ǖ" U01D5 # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON + : "Ǖ" U01D5 # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON + : "Ǖ" U01D5 # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON + : "Ǖ" U01D5 # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON + : "Ǖ" U01D5 # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON + : "Ǖ" U01D5 # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON + : "ǖ" U01D6 # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON + : "ǖ" U01D6 # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON + : "ǖ" U01D6 # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON + : "ǖ" U01D6 # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON + : "ǖ" U01D6 # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON + : "ǖ" U01D6 # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON + : "ǖ" U01D6 # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON + : "ǖ" U01D6 # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON + : "ǖ" U01D6 # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON + : "Ǘ" U01D7 # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE + : "Ǘ" U01D7 # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE + : "Ǘ" U01D7 # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE + : "Ǘ" U01D7 # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE + : "Ǘ" U01D7 # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE + : "Ǘ" U01D7 # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE + : "Ǘ" U01D7 # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE + : "Ǘ" U01D7 # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE + : "Ǘ" U01D7 # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE + : "ǘ" U01D8 # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE + : "ǘ" U01D8 # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE + : "ǘ" U01D8 # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE + : "ǘ" U01D8 # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE + : "ǘ" U01D8 # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE + : "ǘ" U01D8 # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE + : "ǘ" U01D8 # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE + : "ǘ" U01D8 # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE + : "ǘ" U01D8 # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE + : "Ǚ" U01D9 # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON + : "Ǚ" U01D9 # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON + : "Ǚ" U01D9 # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON + : "Ǚ" U01D9 # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON + : "Ǚ" U01D9 # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON + : "Ǚ" U01D9 # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON + : "ǚ" U01DA # LATIN SMALL LETTER U WITH DIAERESIS AND CARON + : "ǚ" U01DA # LATIN SMALL LETTER U WITH DIAERESIS AND CARON + : "ǚ" U01DA # LATIN SMALL LETTER U WITH DIAERESIS AND CARON + : "ǚ" U01DA # LATIN SMALL LETTER U WITH DIAERESIS AND CARON + : "ǚ" U01DA # LATIN SMALL LETTER U WITH DIAERESIS AND CARON + : "ǚ" U01DA # LATIN SMALL LETTER U WITH DIAERESIS AND CARON + : "Ǜ" U01DB # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE + : "Ǜ" U01DB # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE + : "Ǜ" U01DB # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE + : "Ǜ" U01DB # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE + : "Ǜ" U01DB # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE + : "Ǜ" U01DB # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE + : "ǜ" U01DC # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE + : "ǜ" U01DC # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE + : "ǜ" U01DC # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE + : "ǜ" U01DC # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE + : "ǜ" U01DC # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE + : "ǜ" U01DC # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE + : "Ǟ" U01DE # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON + : "Ǟ" U01DE # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON + : "Ǟ" U01DE # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON + : "Ǟ" U01DE # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON + : "Ǟ" U01DE # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON + : "Ǟ" U01DE # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON + : "Ǟ" U01DE # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON + : "Ǟ" U01DE # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON + : "Ǟ" U01DE # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON + : "ǟ" U01DF # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON + : "ǟ" U01DF # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON + : "ǟ" U01DF # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON + : "ǟ" U01DF # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON + : "ǟ" U01DF # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON + : "ǟ" U01DF # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON + : "ǟ" U01DF # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON + : "ǟ" U01DF # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON + : "ǟ" U01DF # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON + : "Ǡ" U01E0 # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON + : "Ǡ" U01E0 # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON + : "Ǡ" U01E0 # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON + : "Ǡ" U01E0 # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON + : "Ǡ" U01E0 # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON + : "Ǡ" U01E0 # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON + : "Ǡ" U01E0 # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON + : "Ǡ" U01E0 # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON + : "Ǡ" U01E0 # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON + : "ǡ" U01E1 # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON + : "ǡ" U01E1 # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON + : "ǡ" U01E1 # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON + : "ǡ" U01E1 # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON + : "ǡ" U01E1 # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON + : "ǡ" U01E1 # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON + : "ǡ" U01E1 # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON + : "ǡ" U01E1 # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON + : "ǡ" U01E1 # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON + : "Ǣ" U01E2 # LATIN CAPITAL LETTER AE WITH MACRON + : "Ǣ" U01E2 # LATIN CAPITAL LETTER AE WITH MACRON + : "Ǣ" U01E2 # LATIN CAPITAL LETTER AE WITH MACRON + : "ǣ" U01E3 # LATIN SMALL LETTER AE WITH MACRON + : "ǣ" U01E3 # LATIN SMALL LETTER AE WITH MACRON + : "ǣ" U01E3 # LATIN SMALL LETTER AE WITH MACRON + : "Ǥ" U01E4 # LATIN CAPITAL LETTER G WITH STROKE + : "Ǥ" U01E4 # LATIN CAPITAL LETTER G WITH STROKE + : "Ǥ" U01E4 # LATIN CAPITAL LETTER G WITH STROKE + : "ǥ" U01E5 # LATIN SMALL LETTER G WITH STROKE + : "ǥ" U01E5 # LATIN SMALL LETTER G WITH STROKE + : "ǥ" U01E5 # LATIN SMALL LETTER G WITH STROKE + : "Ǧ" U01E6 # LATIN CAPITAL LETTER G WITH CARON + : "Ǧ" U01E6 # LATIN CAPITAL LETTER G WITH CARON + : "Ǧ" U01E6 # LATIN CAPITAL LETTER G WITH CARON + : "ǧ" U01E7 # LATIN SMALL LETTER G WITH CARON + : "ǧ" U01E7 # LATIN SMALL LETTER G WITH CARON + : "ǧ" U01E7 # LATIN SMALL LETTER G WITH CARON + : "Ǩ" U01E8 # LATIN CAPITAL LETTER K WITH CARON + : "Ǩ" U01E8 # LATIN CAPITAL LETTER K WITH CARON + : "Ǩ" U01E8 # LATIN CAPITAL LETTER K WITH CARON + : "ǩ" U01E9 # LATIN SMALL LETTER K WITH CARON + : "ǩ" U01E9 # LATIN SMALL LETTER K WITH CARON + : "ǩ" U01E9 # LATIN SMALL LETTER K WITH CARON + : "Ǫ" U01EA # LATIN CAPITAL LETTER O WITH OGONEK + : "Ǫ" U01EA # LATIN CAPITAL LETTER O WITH OGONEK + : "Ǫ" U01EA # LATIN CAPITAL LETTER O WITH OGONEK + : "Ǫ" U01EA # LATIN CAPITAL LETTER O WITH OGONEK + : "Ǫ" U01EA # LATIN CAPITAL LETTER O WITH OGONEK + : "ǫ" U01EB # LATIN SMALL LETTER O WITH OGONEK + : "ǫ" U01EB # LATIN SMALL LETTER O WITH OGONEK + : "ǫ" U01EB # LATIN SMALL LETTER O WITH OGONEK + : "ǫ" U01EB # LATIN SMALL LETTER O WITH OGONEK + : "ǫ" U01EB # LATIN SMALL LETTER O WITH OGONEK + : "Ǭ" U01EC # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON + : "Ǭ" U01EC # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON + : "Ǭ" U01EC # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON + : "Ǭ" U01EC # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON + : "Ǭ" U01EC # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON + : "Ǭ" U01EC # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON + : "Ǭ" U01EC # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON + : "Ǭ" U01EC # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON + : "Ǭ" U01EC # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON + : "ǭ" U01ED # LATIN SMALL LETTER O WITH OGONEK AND MACRON + : "ǭ" U01ED # LATIN SMALL LETTER O WITH OGONEK AND MACRON + : "ǭ" U01ED # LATIN SMALL LETTER O WITH OGONEK AND MACRON + : "ǭ" U01ED # LATIN SMALL LETTER O WITH OGONEK AND MACRON + : "ǭ" U01ED # LATIN SMALL LETTER O WITH OGONEK AND MACRON + : "ǭ" U01ED # LATIN SMALL LETTER O WITH OGONEK AND MACRON + : "ǭ" U01ED # LATIN SMALL LETTER O WITH OGONEK AND MACRON + : "ǭ" U01ED # LATIN SMALL LETTER O WITH OGONEK AND MACRON + : "ǭ" U01ED # LATIN SMALL LETTER O WITH OGONEK AND MACRON + : "Ǯ" U01EE # LATIN CAPITAL LETTER EZH WITH CARON + : "Ǯ" U01EE # LATIN CAPITAL LETTER EZH WITH CARON + : "Ǯ" U01EE # LATIN CAPITAL LETTER EZH WITH CARON + : "ǯ" U01EF # LATIN SMALL LETTER EZH WITH CARON + : "ǯ" U01EF # LATIN SMALL LETTER EZH WITH CARON + : "ǯ" U01EF # LATIN SMALL LETTER EZH WITH CARON + : "ǰ" U01F0 # LATIN SMALL LETTER J WITH CARON + : "ǰ" U01F0 # LATIN SMALL LETTER J WITH CARON + : "ǰ" U01F0 # LATIN SMALL LETTER J WITH CARON + : "Ǵ" U01F4 # LATIN CAPITAL LETTER G WITH ACUTE + : "Ǵ" U01F4 # LATIN CAPITAL LETTER G WITH ACUTE + : "Ǵ" U01F4 # LATIN CAPITAL LETTER G WITH ACUTE + : "ǵ" U01F5 # LATIN SMALL LETTER G WITH ACUTE + : "ǵ" U01F5 # LATIN SMALL LETTER G WITH ACUTE + : "ǵ" U01F5 # LATIN SMALL LETTER G WITH ACUTE + : "Ǹ" U01F8 # LATIN CAPITAL LETTER N WITH GRAVE + : "Ǹ" U01F8 # LATIN CAPITAL LETTER N WITH GRAVE + : "ǹ" U01F9 # LATIN SMALL LETTER N WITH GRAVE + : "ǹ" U01F9 # LATIN SMALL LETTER N WITH GRAVE + : "Ǻ" U01FA # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE + : "Ǻ" U01FA # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE + : "Ǻ" U01FA # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE + : "Ǻ" U01FA # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE + : "Ǻ" U01FA # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE + : "Ǻ" U01FA # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE + : "Ǻ" U01FA # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE + : "Ǻ" U01FA # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE + : "ǻ" U01FB # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE + : "ǻ" U01FB # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE + : "ǻ" U01FB # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE + : "ǻ" U01FB # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE + : "ǻ" U01FB # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE + : "ǻ" U01FB # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE + : "ǻ" U01FB # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE + : "ǻ" U01FB # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE + : "Ǽ" U01FC # LATIN CAPITAL LETTER AE WITH ACUTE + : "Ǽ" U01FC # LATIN CAPITAL LETTER AE WITH ACUTE + : "Ǽ" U01FC # LATIN CAPITAL LETTER AE WITH ACUTE + : "ǽ" U01FD # LATIN SMALL LETTER AE WITH ACUTE + : "ǽ" U01FD # LATIN SMALL LETTER AE WITH ACUTE + : "ǽ" U01FD # LATIN SMALL LETTER AE WITH ACUTE + : "Ǿ" U01FE # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE + : "Ǿ" U01FE # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE + : "Ǿ" U01FE # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE + : "Ǿ" U01FE # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE + : "Ǿ" U01FE # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE + : "Ǿ" U01FE # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE + : "Ǿ" U01FE # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE + : "Ǿ" U01FE # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE + : "Ǿ" U01FE # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE + : "Ǿ" U01FE # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE + : "Ǿ" U01FE # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE + : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE + : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE + : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE + : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE + : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE + : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE + : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE + : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE + : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE + : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE + : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE + : "Ȁ" U0200 # LATIN CAPITAL LETTER A WITH DOUBLE GRAVE + : "ȁ" U0201 # LATIN SMALL LETTER A WITH DOUBLE GRAVE + : "Ȃ" U0202 # LATIN CAPITAL LETTER A WITH INVERTED BREVE + : "ȃ" U0203 # LATIN SMALL LETTER A WITH INVERTED BREVE + : "Ȅ" U0204 # LATIN CAPITAL LETTER E WITH DOUBLE GRAVE + : "ȅ" U0205 # LATIN SMALL LETTER E WITH DOUBLE GRAVE + : "Ȇ" U0206 # LATIN CAPITAL LETTER E WITH INVERTED BREVE + : "ȇ" U0207 # LATIN SMALL LETTER E WITH INVERTED BREVE + : "Ȉ" U0208 # LATIN CAPITAL LETTER I WITH DOUBLE GRAVE + : "ȉ" U0209 # LATIN SMALL LETTER I WITH DOUBLE GRAVE + : "Ȋ" U020A # LATIN CAPITAL LETTER I WITH INVERTED BREVE + : "ȋ" U020B # LATIN SMALL LETTER I WITH INVERTED BREVE + : "Ȍ" U020C # LATIN CAPITAL LETTER O WITH DOUBLE GRAVE + : "ȍ" U020D # LATIN SMALL LETTER O WITH DOUBLE GRAVE + : "Ȏ" U020E # LATIN CAPITAL LETTER O WITH INVERTED BREVE + : "ȏ" U020F # LATIN SMALL LETTER O WITH INVERTED BREVE + : "Ȑ" U0210 # LATIN CAPITAL LETTER R WITH DOUBLE GRAVE + : "ȑ" U0211 # LATIN SMALL LETTER R WITH DOUBLE GRAVE + : "Ȓ" U0212 # LATIN CAPITAL LETTER R WITH INVERTED BREVE + : "ȓ" U0213 # LATIN SMALL LETTER R WITH INVERTED BREVE + : "Ȕ" U0214 # LATIN CAPITAL LETTER U WITH DOUBLE GRAVE + : "ȕ" U0215 # LATIN SMALL LETTER U WITH DOUBLE GRAVE + : "Ȗ" U0216 # LATIN CAPITAL LETTER U WITH INVERTED BREVE + : "ȗ" U0217 # LATIN SMALL LETTER U WITH INVERTED BREVE + : "Ȟ" U021E # LATIN CAPITAL LETTER H WITH CARON + : "Ȟ" U021E # LATIN CAPITAL LETTER H WITH CARON + : "Ȟ" U021E # LATIN CAPITAL LETTER H WITH CARON + : "ȟ" U021F # LATIN SMALL LETTER H WITH CARON + : "ȟ" U021F # LATIN SMALL LETTER H WITH CARON + : "ȟ" U021F # LATIN SMALL LETTER H WITH CARON + : "Ȧ" U0226 # LATIN CAPITAL LETTER A WITH DOT ABOVE + : "Ȧ" U0226 # LATIN CAPITAL LETTER A WITH DOT ABOVE + : "ȧ" U0227 # LATIN SMALL LETTER A WITH DOT ABOVE + : "ȧ" U0227 # LATIN SMALL LETTER A WITH DOT ABOVE + : "Ȩ" U0228 # LATIN CAPITAL LETTER E WITH CEDILLA + : "Ȩ" U0228 # LATIN CAPITAL LETTER E WITH CEDILLA + : "ȩ" U0229 # LATIN SMALL LETTER E WITH CEDILLA + : "ȩ" U0229 # LATIN SMALL LETTER E WITH CEDILLA + : "Ȫ" U022A # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON + : "Ȫ" U022A # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON + : "Ȫ" U022A # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON + : "Ȫ" U022A # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON + : "Ȫ" U022A # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON + : "Ȫ" U022A # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON + : "Ȫ" U022A # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON + : "Ȫ" U022A # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON + : "Ȫ" U022A # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON + : "ȫ" U022B # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON + : "ȫ" U022B # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON + : "ȫ" U022B # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON + : "ȫ" U022B # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON + : "ȫ" U022B # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON + : "ȫ" U022B # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON + : "ȫ" U022B # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON + : "ȫ" U022B # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON + : "ȫ" U022B # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON + : "Ȭ" U022C # LATIN CAPITAL LETTER O WITH TILDE AND MACRON + : "Ȭ" U022C # LATIN CAPITAL LETTER O WITH TILDE AND MACRON + : "Ȭ" U022C # LATIN CAPITAL LETTER O WITH TILDE AND MACRON + : "Ȭ" U022C # LATIN CAPITAL LETTER O WITH TILDE AND MACRON + : "Ȭ" U022C # LATIN CAPITAL LETTER O WITH TILDE AND MACRON + : "Ȭ" U022C # LATIN CAPITAL LETTER O WITH TILDE AND MACRON + : "Ȭ" U022C # LATIN CAPITAL LETTER O WITH TILDE AND MACRON + : "Ȭ" U022C # LATIN CAPITAL LETTER O WITH TILDE AND MACRON + : "Ȭ" U022C # LATIN CAPITAL LETTER O WITH TILDE AND MACRON + : "ȭ" U022D # LATIN SMALL LETTER O WITH TILDE AND MACRON + : "ȭ" U022D # LATIN SMALL LETTER O WITH TILDE AND MACRON + : "ȭ" U022D # LATIN SMALL LETTER O WITH TILDE AND MACRON + : "ȭ" U022D # LATIN SMALL LETTER O WITH TILDE AND MACRON + : "ȭ" U022D # LATIN SMALL LETTER O WITH TILDE AND MACRON + : "ȭ" U022D # LATIN SMALL LETTER O WITH TILDE AND MACRON + : "ȭ" U022D # LATIN SMALL LETTER O WITH TILDE AND MACRON + : "ȭ" U022D # LATIN SMALL LETTER O WITH TILDE AND MACRON + : "ȭ" U022D # LATIN SMALL LETTER O WITH TILDE AND MACRON + : "Ȯ" U022E # LATIN CAPITAL LETTER O WITH DOT ABOVE + : "Ȯ" U022E # LATIN CAPITAL LETTER O WITH DOT ABOVE + : "ȯ" U022F # LATIN SMALL LETTER O WITH DOT ABOVE + : "ȯ" U022F # LATIN SMALL LETTER O WITH DOT ABOVE + : "Ȱ" U0230 # LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON + : "Ȱ" U0230 # LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON + : "Ȱ" U0230 # LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON + : "Ȱ" U0230 # LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON + : "Ȱ" U0230 # LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON + : "Ȱ" U0230 # LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON + : "Ȱ" U0230 # LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON + : "Ȱ" U0230 # LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON + : "Ȱ" U0230 # LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON + : "ȱ" U0231 # LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON + : "ȱ" U0231 # LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON + : "ȱ" U0231 # LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON + : "ȱ" U0231 # LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON + : "ȱ" U0231 # LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON + : "ȱ" U0231 # LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON + : "ȱ" U0231 # LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON + : "ȱ" U0231 # LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON + : "ȱ" U0231 # LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON + : "Ȳ" U0232 # LATIN CAPITAL LETTER Y WITH MACRON + : "Ȳ" U0232 # LATIN CAPITAL LETTER Y WITH MACRON + : "Ȳ" U0232 # LATIN CAPITAL LETTER Y WITH MACRON + : "ȳ" U0233 # LATIN SMALL LETTER Y WITH MACRON + : "ȳ" U0233 # LATIN SMALL LETTER Y WITH MACRON + : "ȳ" U0233 # LATIN SMALL LETTER Y WITH MACRON + : "ə" U0259 # LATIN SMALL LETTER SCHWA + : "ɨ" U0268 # LATIN SMALL LETTER I WITH STROKE + : "ɨ" U0268 # LATIN SMALL LETTER I WITH STROKE + : "ɨ" U0268 # LATIN SMALL LETTER I WITH STROKE + : "ʡ" U02A1 # LATIN LETTER GLOTTAL STOP WITH STROKE + : "ʡ" U02A1 # LATIN LETTER GLOTTAL STOP WITH STROKE + : "ʰ" U02B0 # MODIFIER LETTER SMALL H + : "ʰ" U02B0 # MODIFIER LETTER SMALL H + : "ʰ" U02B0 # MODIFIER LETTER SMALL H + : "ʰ" U02B0 # MODIFIER LETTER SMALL H + : "ʱ" U02B1 # MODIFIER LETTER SMALL H WITH HOOK + : "ʱ" U02B1 # MODIFIER LETTER SMALL H WITH HOOK + : "ʱ" U02B1 # MODIFIER LETTER SMALL H WITH HOOK + : "ʱ" U02B1 # MODIFIER LETTER SMALL H WITH HOOK + : "ʲ" U02B2 # MODIFIER LETTER SMALL J + : "ʲ" U02B2 # MODIFIER LETTER SMALL J + : "ʲ" U02B2 # MODIFIER LETTER SMALL J + : "ʲ" U02B2 # MODIFIER LETTER SMALL J + : "ʳ" U02B3 # MODIFIER LETTER SMALL R + : "ʳ" U02B3 # MODIFIER LETTER SMALL R + : "ʳ" U02B3 # MODIFIER LETTER SMALL R + : "ʳ" U02B3 # MODIFIER LETTER SMALL R + : "ʴ" U02B4 # MODIFIER LETTER SMALL TURNED R + : "ʴ" U02B4 # MODIFIER LETTER SMALL TURNED R + : "ʴ" U02B4 # MODIFIER LETTER SMALL TURNED R + : "ʴ" U02B4 # MODIFIER LETTER SMALL TURNED R + : "ʵ" U02B5 # MODIFIER LETTER SMALL TURNED R WITH HOOK + : "ʵ" U02B5 # MODIFIER LETTER SMALL TURNED R WITH HOOK + : "ʵ" U02B5 # MODIFIER LETTER SMALL TURNED R WITH HOOK + : "ʵ" U02B5 # MODIFIER LETTER SMALL TURNED R WITH HOOK + : "ʶ" U02B6 # MODIFIER LETTER SMALL CAPITAL INVERTED R + : "ʶ" U02B6 # MODIFIER LETTER SMALL CAPITAL INVERTED R + : "ʶ" U02B6 # MODIFIER LETTER SMALL CAPITAL INVERTED R + : "ʶ" U02B6 # MODIFIER LETTER SMALL CAPITAL INVERTED R + : "ʷ" U02B7 # MODIFIER LETTER SMALL W + : "ʷ" U02B7 # MODIFIER LETTER SMALL W + : "ʷ" U02B7 # MODIFIER LETTER SMALL W + : "ʷ" U02B7 # MODIFIER LETTER SMALL W + : "ʸ" U02B8 # MODIFIER LETTER SMALL Y + : "ʸ" U02B8 # MODIFIER LETTER SMALL Y + : "ʸ" U02B8 # MODIFIER LETTER SMALL Y + : "ʸ" U02B8 # MODIFIER LETTER SMALL Y + : "ˠ" U02E0 # MODIFIER LETTER SMALL GAMMA + : "ˠ" U02E0 # MODIFIER LETTER SMALL GAMMA + : "ˠ" U02E0 # MODIFIER LETTER SMALL GAMMA + : "ˠ" U02E0 # MODIFIER LETTER SMALL GAMMA + : "ˡ" U02E1 # MODIFIER LETTER SMALL L + : "ˡ" U02E1 # MODIFIER LETTER SMALL L + : "ˡ" U02E1 # MODIFIER LETTER SMALL L + : "ˡ" U02E1 # MODIFIER LETTER SMALL L + : "ˢ" U02E2 # MODIFIER LETTER SMALL S + : "ˢ" U02E2 # MODIFIER LETTER SMALL S + : "ˢ" U02E2 # MODIFIER LETTER SMALL S + : "ˢ" U02E2 # MODIFIER LETTER SMALL S + : "ˣ" U02E3 # MODIFIER LETTER SMALL X + : "ˣ" U02E3 # MODIFIER LETTER SMALL X + : "ˣ" U02E3 # MODIFIER LETTER SMALL X + : "ˣ" U02E3 # MODIFIER LETTER SMALL X + : "ˤ" U02E4 # MODIFIER LETTER SMALL REVERSED GLOTTAL STOP + : "ˤ" U02E4 # MODIFIER LETTER SMALL REVERSED GLOTTAL STOP + : "ˤ" U02E4 # MODIFIER LETTER SMALL REVERSED GLOTTAL STOP + : "ˤ" U02E4 # MODIFIER LETTER SMALL REVERSED GLOTTAL STOP + : "̈́" U0344 # COMBINING GREEK DIALYTIKA TONOS + : "̈́" U0344 # COMBINING GREEK DIALYTIKA TONOS + : "̈́" U0344 # COMBINING GREEK DIALYTIKA TONOS + : "̈́" U0344 # COMBINING GREEK DIALYTIKA TONOS + : "̈́" U0344 # COMBINING GREEK DIALYTIKA TONOS + : "΅" U0385 # GREEK DIALYTIKA TONOS + : "΅" U0385 # GREEK DIALYTIKA TONOS + : "΅" U0385 # GREEK DIALYTIKA TONOS + : "΅" U0385 # GREEK DIALYTIKA TONOS + : "΅" U0385 # GREEK DIALYTIKA TONOS + : "΅" U0385 # GREEK DIALYTIKA TONOS + : "Ά" U0386 # GREEK CAPITAL LETTER ALPHA WITH TONOS + : "Ά" U0386 # GREEK CAPITAL LETTER ALPHA WITH TONOS + : "Ά" U0386 # GREEK CAPITAL LETTER ALPHA WITH TONOS + : "Ά" U0386 # GREEK CAPITAL LETTER ALPHA WITH TONOS + : "Έ" U0388 # GREEK CAPITAL LETTER EPSILON WITH TONOS + : "Έ" U0388 # GREEK CAPITAL LETTER EPSILON WITH TONOS + : "Έ" U0388 # GREEK CAPITAL LETTER EPSILON WITH TONOS + : "Έ" U0388 # GREEK CAPITAL LETTER EPSILON WITH TONOS + : "Ή" U0389 # GREEK CAPITAL LETTER ETA WITH TONOS + : "Ή" U0389 # GREEK CAPITAL LETTER ETA WITH TONOS + : "Ή" U0389 # GREEK CAPITAL LETTER ETA WITH TONOS + : "Ή" U0389 # GREEK CAPITAL LETTER ETA WITH TONOS + : "Ί" U038A # GREEK CAPITAL LETTER IOTA WITH TONOS + : "Ί" U038A # GREEK CAPITAL LETTER IOTA WITH TONOS + : "Ί" U038A # GREEK CAPITAL LETTER IOTA WITH TONOS + : "Ί" U038A # GREEK CAPITAL LETTER IOTA WITH TONOS + : "Ό" U038C # GREEK CAPITAL LETTER OMICRON WITH TONOS + : "Ό" U038C # GREEK CAPITAL LETTER OMICRON WITH TONOS + : "Ό" U038C # GREEK CAPITAL LETTER OMICRON WITH TONOS + : "Ό" U038C # GREEK CAPITAL LETTER OMICRON WITH TONOS + : "Ύ" U038E # GREEK CAPITAL LETTER UPSILON WITH TONOS + : "Ύ" U038E # GREEK CAPITAL LETTER UPSILON WITH TONOS + : "Ύ" U038E # GREEK CAPITAL LETTER UPSILON WITH TONOS + : "Ύ" U038E # GREEK CAPITAL LETTER UPSILON WITH TONOS + : "Ώ" U038F # GREEK CAPITAL LETTER OMEGA WITH TONOS + : "Ώ" U038F # GREEK CAPITAL LETTER OMEGA WITH TONOS + : "Ώ" U038F # GREEK CAPITAL LETTER OMEGA WITH TONOS + : "Ώ" U038F # GREEK CAPITAL LETTER OMEGA WITH TONOS + : "ΐ" U0390 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS + : "ΐ" U0390 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS + : "ΐ" U0390 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS + : "ΐ" U0390 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS + : "ΐ" U0390 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS + : "ΐ" U0390 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS + : "ΐ" U0390 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS + : "ΐ" U0390 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS + : "ΐ" U0390 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS + : "ΐ" U0390 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS + : "ΐ" U0390 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS + : "Ϊ" U03AA # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA + : "Ϊ" U03AA # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA + : "Ϊ" U03AA # GREEK CAPITAL LETTER IOTA WITH DIALYTIKA + : "Ϋ" U03AB # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA + : "Ϋ" U03AB # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA + : "Ϋ" U03AB # GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA + : "ά" U03AC # GREEK SMALL LETTER ALPHA WITH TONOS + : "ά" U03AC # GREEK SMALL LETTER ALPHA WITH TONOS + : "ά" U03AC # GREEK SMALL LETTER ALPHA WITH TONOS + : "ά" U03AC # GREEK SMALL LETTER ALPHA WITH TONOS + : "έ" U03AD # GREEK SMALL LETTER EPSILON WITH TONOS + : "έ" U03AD # GREEK SMALL LETTER EPSILON WITH TONOS + : "έ" U03AD # GREEK SMALL LETTER EPSILON WITH TONOS + : "έ" U03AD # GREEK SMALL LETTER EPSILON WITH TONOS + : "ή" U03AE # GREEK SMALL LETTER ETA WITH TONOS + : "ή" U03AE # GREEK SMALL LETTER ETA WITH TONOS + : "ή" U03AE # GREEK SMALL LETTER ETA WITH TONOS + : "ή" U03AE # GREEK SMALL LETTER ETA WITH TONOS + : "ί" U03AF # GREEK SMALL LETTER IOTA WITH TONOS + : "ί" U03AF # GREEK SMALL LETTER IOTA WITH TONOS + : "ί" U03AF # GREEK SMALL LETTER IOTA WITH TONOS + : "ΰ" U03B0 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS + : "ΰ" U03B0 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS + : "ΰ" U03B0 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS + : "ΰ" U03B0 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS + : "ΰ" U03B0 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS + : "ΰ" U03B0 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS + : "ΰ" U03B0 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS + : "ΰ" U03B0 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS + : "ΰ" U03B0 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS + : "ΰ" U03B0 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS + : "ΰ" U03B0 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS + : "ϊ" U03CA # GREEK SMALL LETTER IOTA WITH DIALYTIKA + : "ϊ" U03CA # GREEK SMALL LETTER IOTA WITH DIALYTIKA + : "ϊ" U03CA # GREEK SMALL LETTER IOTA WITH DIALYTIKA + : "ϋ" U03CB # GREEK SMALL LETTER UPSILON WITH DIALYTIKA + : "ϋ" U03CB # GREEK SMALL LETTER UPSILON WITH DIALYTIKA + : "ϋ" U03CB # GREEK SMALL LETTER UPSILON WITH DIALYTIKA + : "ό" U03CC # GREEK SMALL LETTER OMICRON WITH TONOS + : "ό" U03CC # GREEK SMALL LETTER OMICRON WITH TONOS + : "ό" U03CC # GREEK SMALL LETTER OMICRON WITH TONOS + : "ό" U03CC # GREEK SMALL LETTER OMICRON WITH TONOS + : "ύ" U03CD # GREEK SMALL LETTER UPSILON WITH TONOS + : "ύ" U03CD # GREEK SMALL LETTER UPSILON WITH TONOS + : "ύ" U03CD # GREEK SMALL LETTER UPSILON WITH TONOS + : "ύ" U03CD # GREEK SMALL LETTER UPSILON WITH TONOS + : "ώ" U03CE # GREEK SMALL LETTER OMEGA WITH TONOS + : "ώ" U03CE # GREEK SMALL LETTER OMEGA WITH TONOS + : "ώ" U03CE # GREEK SMALL LETTER OMEGA WITH TONOS + : "ώ" U03CE # GREEK SMALL LETTER OMEGA WITH TONOS + : "ϔ" U03D4 # GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL + : "Ѐ" U0400 # CYRILLIC CAPITAL LETTER IE WITH GRAVE + : "Ѐ" U0400 # CYRILLIC CAPITAL LETTER IE WITH GRAVE + : "Ё" U0401 # CYRILLIC CAPITAL LETTER IO + : "Ё" U0401 # CYRILLIC CAPITAL LETTER IO + : "Ѓ" U0403 # CYRILLIC CAPITAL LETTER GJE + : "Ѓ" U0403 # CYRILLIC CAPITAL LETTER GJE + : "Ѓ" U0403 # CYRILLIC CAPITAL LETTER GJE + : "Ї" U0407 # CYRILLIC CAPITAL LETTER YI + : "Ї" U0407 # CYRILLIC CAPITAL LETTER YI + : "Ќ" U040C # CYRILLIC CAPITAL LETTER KJE + : "Ќ" U040C # CYRILLIC CAPITAL LETTER KJE + : "Ќ" U040C # CYRILLIC CAPITAL LETTER KJE + : "Ѝ" U040D # CYRILLIC CAPITAL LETTER I WITH GRAVE + : "Ѝ" U040D # CYRILLIC CAPITAL LETTER I WITH GRAVE + : "Ў" U040E # CYRILLIC CAPITAL LETTER SHORT U + : "Ў" U040E # CYRILLIC CAPITAL LETTER SHORT U + : "Ў" U040E # CYRILLIC CAPITAL LETTER SHORT U + : "Й" U0419 # CYRILLIC CAPITAL LETTER SHORT I + : "Й" U0419 # CYRILLIC CAPITAL LETTER SHORT I + : "Й" U0419 # CYRILLIC CAPITAL LETTER SHORT I + : "й" U0439 # CYRILLIC SMALL LETTER SHORT I + : "й" U0439 # CYRILLIC SMALL LETTER SHORT I + : "й" U0439 # CYRILLIC SMALL LETTER SHORT I + : "ѐ" U0450 # CYRILLIC SMALL LETTER IE WITH GRAVE + : "ѐ" U0450 # CYRILLIC SMALL LETTER IE WITH GRAVE + : "ё" U0451 # CYRILLIC SMALL LETTER IO + : "ё" U0451 # CYRILLIC SMALL LETTER IO + : "ѓ" U0453 # CYRILLIC SMALL LETTER GJE + : "ѓ" U0453 # CYRILLIC SMALL LETTER GJE + : "ѓ" U0453 # CYRILLIC SMALL LETTER GJE + : "ї" U0457 # CYRILLIC SMALL LETTER YI + : "ї" U0457 # CYRILLIC SMALL LETTER YI + : "ќ" U045C # CYRILLIC SMALL LETTER KJE + : "ќ" U045C # CYRILLIC SMALL LETTER KJE + : "ќ" U045C # CYRILLIC SMALL LETTER KJE + : "ѝ" U045D # CYRILLIC SMALL LETTER I WITH GRAVE + : "ѝ" U045D # CYRILLIC SMALL LETTER I WITH GRAVE + : "ў" U045E # CYRILLIC SMALL LETTER SHORT U + : "ў" U045E # CYRILLIC SMALL LETTER SHORT U + : "ў" U045E # CYRILLIC SMALL LETTER SHORT U + : "Ѷ" U0476 # CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT + : "ѷ" U0477 # CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT + : "Ғ" U0492 # CYRILLIC CAPITAL LETTER GHE WITH STROKE + : "Ғ" U0492 # CYRILLIC CAPITAL LETTER GHE WITH STROKE + : "ғ" U0493 # CYRILLIC SMALL LETTER GHE WITH STROKE + : "ғ" U0493 # CYRILLIC SMALL LETTER GHE WITH STROKE + : "Ҟ" U049E # CYRILLIC CAPITAL LETTER KA WITH STROKE + : "Ҟ" U049E # CYRILLIC CAPITAL LETTER KA WITH STROKE + : "ҟ" U049F # CYRILLIC SMALL LETTER KA WITH STROKE + : "ҟ" U049F # CYRILLIC SMALL LETTER KA WITH STROKE + : "Ұ" U04B0 # CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE + : "Ұ" U04B0 # CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE + : "ұ" U04B1 # CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE + : "ұ" U04B1 # CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE + : "Ӂ" U04C1 # CYRILLIC CAPITAL LETTER ZHE WITH BREVE + : "Ӂ" U04C1 # CYRILLIC CAPITAL LETTER ZHE WITH BREVE + : "Ӂ" U04C1 # CYRILLIC CAPITAL LETTER ZHE WITH BREVE + : "ӂ" U04C2 # CYRILLIC SMALL LETTER ZHE WITH BREVE + : "ӂ" U04C2 # CYRILLIC SMALL LETTER ZHE WITH BREVE + : "ӂ" U04C2 # CYRILLIC SMALL LETTER ZHE WITH BREVE + : "Ӑ" U04D0 # CYRILLIC CAPITAL LETTER A WITH BREVE + : "Ӑ" U04D0 # CYRILLIC CAPITAL LETTER A WITH BREVE + : "Ӑ" U04D0 # CYRILLIC CAPITAL LETTER A WITH BREVE + : "ӑ" U04D1 # CYRILLIC SMALL LETTER A WITH BREVE + : "ӑ" U04D1 # CYRILLIC SMALL LETTER A WITH BREVE + : "ӑ" U04D1 # CYRILLIC SMALL LETTER A WITH BREVE + : "Ӓ" U04D2 # CYRILLIC CAPITAL LETTER A WITH DIAERESIS + : "Ӓ" U04D2 # CYRILLIC CAPITAL LETTER A WITH DIAERESIS + : "ӓ" U04D3 # CYRILLIC SMALL LETTER A WITH DIAERESIS + : "ӓ" U04D3 # CYRILLIC SMALL LETTER A WITH DIAERESIS + : "Ӗ" U04D6 # CYRILLIC CAPITAL LETTER IE WITH BREVE + : "Ӗ" U04D6 # CYRILLIC CAPITAL LETTER IE WITH BREVE + : "Ӗ" U04D6 # CYRILLIC CAPITAL LETTER IE WITH BREVE + : "ӗ" U04D7 # CYRILLIC SMALL LETTER IE WITH BREVE + : "ӗ" U04D7 # CYRILLIC SMALL LETTER IE WITH BREVE + : "ӗ" U04D7 # CYRILLIC SMALL LETTER IE WITH BREVE + : "Ӛ" U04DA # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS + : "Ӛ" U04DA # CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS + : "ӛ" U04DB # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS + : "ӛ" U04DB # CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS + : "Ӝ" U04DC # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS + : "Ӝ" U04DC # CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS + : "ӝ" U04DD # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS + : "ӝ" U04DD # CYRILLIC SMALL LETTER ZHE WITH DIAERESIS + : "Ӟ" U04DE # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS + : "Ӟ" U04DE # CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS + : "ӟ" U04DF # CYRILLIC SMALL LETTER ZE WITH DIAERESIS + : "ӟ" U04DF # CYRILLIC SMALL LETTER ZE WITH DIAERESIS + : "Ӣ" U04E2 # CYRILLIC CAPITAL LETTER I WITH MACRON + : "Ӣ" U04E2 # CYRILLIC CAPITAL LETTER I WITH MACRON + : "Ӣ" U04E2 # CYRILLIC CAPITAL LETTER I WITH MACRON + : "ӣ" U04E3 # CYRILLIC SMALL LETTER I WITH MACRON + : "ӣ" U04E3 # CYRILLIC SMALL LETTER I WITH MACRON + : "ӣ" U04E3 # CYRILLIC SMALL LETTER I WITH MACRON + : "Ӥ" U04E4 # CYRILLIC CAPITAL LETTER I WITH DIAERESIS + : "Ӥ" U04E4 # CYRILLIC CAPITAL LETTER I WITH DIAERESIS + : "ӥ" U04E5 # CYRILLIC SMALL LETTER I WITH DIAERESIS + : "ӥ" U04E5 # CYRILLIC SMALL LETTER I WITH DIAERESIS + : "Ӧ" U04E6 # CYRILLIC CAPITAL LETTER O WITH DIAERESIS + : "Ӧ" U04E6 # CYRILLIC CAPITAL LETTER O WITH DIAERESIS + : "ӧ" U04E7 # CYRILLIC SMALL LETTER O WITH DIAERESIS + : "ӧ" U04E7 # CYRILLIC SMALL LETTER O WITH DIAERESIS + : "Ӫ" U04EA # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS + : "Ӫ" U04EA # CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS + : "ӫ" U04EB # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS + : "ӫ" U04EB # CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS + : "Ӭ" U04EC # CYRILLIC CAPITAL LETTER E WITH DIAERESIS + : "Ӭ" U04EC # CYRILLIC CAPITAL LETTER E WITH DIAERESIS + : "ӭ" U04ED # CYRILLIC SMALL LETTER E WITH DIAERESIS + : "ӭ" U04ED # CYRILLIC SMALL LETTER E WITH DIAERESIS + : "Ӯ" U04EE # CYRILLIC CAPITAL LETTER U WITH MACRON + : "Ӯ" U04EE # CYRILLIC CAPITAL LETTER U WITH MACRON + : "Ӯ" U04EE # CYRILLIC CAPITAL LETTER U WITH MACRON + : "ӯ" U04EF # CYRILLIC SMALL LETTER U WITH MACRON + : "ӯ" U04EF # CYRILLIC SMALL LETTER U WITH MACRON + : "ӯ" U04EF # CYRILLIC SMALL LETTER U WITH MACRON + : "Ӱ" U04F0 # CYRILLIC CAPITAL LETTER U WITH DIAERESIS + : "Ӱ" U04F0 # CYRILLIC CAPITAL LETTER U WITH DIAERESIS + : "ӱ" U04F1 # CYRILLIC SMALL LETTER U WITH DIAERESIS + : "ӱ" U04F1 # CYRILLIC SMALL LETTER U WITH DIAERESIS + : "Ӳ" U04F2 # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE + : "Ӳ" U04F2 # CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE + : "ӳ" U04F3 # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE + : "ӳ" U04F3 # CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE + : "Ӵ" U04F4 # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS + : "Ӵ" U04F4 # CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS + : "ӵ" U04F5 # CYRILLIC SMALL LETTER CHE WITH DIAERESIS + : "ӵ" U04F5 # CYRILLIC SMALL LETTER CHE WITH DIAERESIS + : "Ӹ" U04F8 # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS + : "Ӹ" U04F8 # CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS + : "ӹ" U04F9 # CYRILLIC SMALL LETTER YERU WITH DIAERESIS + : "ӹ" U04F9 # CYRILLIC SMALL LETTER YERU WITH DIAERESIS + : "آ" U0622 # ARABIC LETTER ALEF WITH MADDA ABOVE + : "أ" U0623 # ARABIC LETTER ALEF WITH HAMZA ABOVE + : "ؤ" U0624 # ARABIC LETTER WAW WITH HAMZA ABOVE + : "إ" U0625 # ARABIC LETTER ALEF WITH HAMZA BELOW + : "ئ" U0626 # ARABIC LETTER YEH WITH HAMZA ABOVE + : "ۀ" U06C0 # ARABIC LETTER HEH WITH YEH ABOVE + : "ۂ" U06C2 # ARABIC LETTER HEH GOAL WITH HAMZA ABOVE + : "ۓ" U06D3 # ARABIC LETTER YEH BARREE WITH HAMZA ABOVE + : "ऩ" U0929 # DEVANAGARI LETTER NNNA + : "ऱ" U0931 # DEVANAGARI LETTER RRA + : "ऴ" U0934 # DEVANAGARI LETTER LLLA + : "क़" U0958 # DEVANAGARI LETTER QA + : "ख़" U0959 # DEVANAGARI LETTER KHHA + : "ग़" U095A # DEVANAGARI LETTER GHHA + : "ज़" U095B # DEVANAGARI LETTER ZA + : "ड़" U095C # DEVANAGARI LETTER DDDHA + : "ढ़" U095D # DEVANAGARI LETTER RHA + : "फ़" U095E # DEVANAGARI LETTER FA + : "य़" U095F # DEVANAGARI LETTER YYA + : "ো" U09CB # BENGALI VOWEL SIGN O + : "ৌ" U09CC # BENGALI VOWEL SIGN AU + : "ড়" U09DC # BENGALI LETTER RRA + : "ঢ়" U09DD # BENGALI LETTER RHA + : "য়" U09DF # BENGALI LETTER YYA + : "ਲ਼" U0A33 # GURMUKHI LETTER LLA + : "ਸ਼" U0A36 # GURMUKHI LETTER SHA + : "ਖ਼" U0A59 # GURMUKHI LETTER KHHA + : "ਗ਼" U0A5A # GURMUKHI LETTER GHHA + : "ਜ਼" U0A5B # GURMUKHI LETTER ZA + : "ਫ਼" U0A5E # GURMUKHI LETTER FA + : "ୈ" U0B48 # ORIYA VOWEL SIGN AI + : "ୋ" U0B4B # ORIYA VOWEL SIGN O + : "ୌ" U0B4C # ORIYA VOWEL SIGN AU + : "ଡ଼" U0B5C # ORIYA LETTER RRA + : "ଢ଼" U0B5D # ORIYA LETTER RHA + : "ஔ" U0B94 # TAMIL LETTER AU + : "ொ" U0BCA # TAMIL VOWEL SIGN O + : "ோ" U0BCB # TAMIL VOWEL SIGN OO + : "ௌ" U0BCC # TAMIL VOWEL SIGN AU + : "ై" U0C48 # TELUGU VOWEL SIGN AI + : "ೀ" U0CC0 # KANNADA VOWEL SIGN II + : "ೇ" U0CC7 # KANNADA VOWEL SIGN EE + : "ೈ" U0CC8 # KANNADA VOWEL SIGN AI + : "ೊ" U0CCA # KANNADA VOWEL SIGN O + : "ೋ" U0CCB # KANNADA VOWEL SIGN OO + + : "ൊ" U0D4A # MALAYALAM VOWEL SIGN O + : "ോ" U0D4B # MALAYALAM VOWEL SIGN OO + : "ൌ" U0D4C # MALAYALAM VOWEL SIGN AU + : "ේ" U0DDA # SINHALA VOWEL SIGN DIGA KOMBUVA + : "ො" U0DDC # SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA + : "ෝ" U0DDD # SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA + + : "ෞ" U0DDE # SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA + : "གྷ" U0F43 # TIBETAN LETTER GHA + : "ཌྷ" U0F4D # TIBETAN LETTER DDHA + : "དྷ" U0F52 # TIBETAN LETTER DHA + : "བྷ" U0F57 # TIBETAN LETTER BHA + : "ཛྷ" U0F5C # TIBETAN LETTER DZHA + : "ཀྵ" U0F69 # TIBETAN LETTER KSSA + : "ཱི" U0F73 # TIBETAN VOWEL SIGN II + : "ཱུ" U0F75 # TIBETAN VOWEL SIGN UU + : "ྲྀ" U0F76 # TIBETAN VOWEL SIGN VOCALIC R + : "ླྀ" U0F78 # TIBETAN VOWEL SIGN VOCALIC L + : "ཱྀ" U0F81 # TIBETAN VOWEL SIGN REVERSED II + : "ྒྷ" U0F93 # TIBETAN SUBJOINED LETTER GHA + : "ྜྷ" U0F9D # TIBETAN SUBJOINED LETTER DDHA + : "ྡྷ" U0FA2 # TIBETAN SUBJOINED LETTER DHA + : "ྦྷ" U0FA7 # TIBETAN SUBJOINED LETTER BHA + : "ྫྷ" U0FAC # TIBETAN SUBJOINED LETTER DZHA + : "ྐྵ" U0FB9 # TIBETAN SUBJOINED LETTER KSSA + : "ဦ" U1026 # MYANMAR LETTER UU + : "Ḁ" U1E00 # LATIN CAPITAL LETTER A WITH RING BELOW + : "ḁ" U1E01 # LATIN SMALL LETTER A WITH RING BELOW + : "Ḃ" U1E02 # LATIN CAPITAL LETTER B WITH DOT ABOVE + : "Ḃ" U1E02 # LATIN CAPITAL LETTER B WITH DOT ABOVE + : "Ḃ" U1E02 # LATIN CAPITAL LETTER B WITH DOT ABOVE + : "ḃ" U1E03 # LATIN SMALL LETTER B WITH DOT ABOVE + : "ḃ" U1E03 # LATIN SMALL LETTER B WITH DOT ABOVE + : "ḃ" U1E03 # LATIN SMALL LETTER B WITH DOT ABOVE + : "Ḅ" U1E04 # LATIN CAPITAL LETTER B WITH DOT BELOW + : "Ḅ" U1E04 # LATIN CAPITAL LETTER B WITH DOT BELOW + : "ḅ" U1E05 # LATIN SMALL LETTER B WITH DOT BELOW + : "ḅ" U1E05 # LATIN SMALL LETTER B WITH DOT BELOW + : "Ḇ" U1E06 # LATIN CAPITAL LETTER B WITH LINE BELOW + : "ḇ" U1E07 # LATIN SMALL LETTER B WITH LINE BELOW + : "Ḉ" U1E08 # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE + : "Ḉ" U1E08 # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE + : "Ḉ" U1E08 # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE + : "Ḉ" U1E08 # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE + : "Ḉ" U1E08 # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE + : "Ḉ" U1E08 # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE + : "Ḉ" U1E08 # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE + : "Ḉ" U1E08 # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE + : "Ḉ" U1E08 # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE + : "Ḉ" U1E08 # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE + : "Ḉ" U1E08 # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE + : "ḉ" U1E09 # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE + : "ḉ" U1E09 # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE + : "ḉ" U1E09 # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE + : "ḉ" U1E09 # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE + : "ḉ" U1E09 # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE + : "ḉ" U1E09 # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE + : "ḉ" U1E09 # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE + : "ḉ" U1E09 # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE + : "ḉ" U1E09 # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE + : "ḉ" U1E09 # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE + : "ḉ" U1E09 # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE + : "Ḋ" U1E0A # LATIN CAPITAL LETTER D WITH DOT ABOVE + : "Ḋ" U1E0A # LATIN CAPITAL LETTER D WITH DOT ABOVE + : "Ḋ" U1E0A # LATIN CAPITAL LETTER D WITH DOT ABOVE + : "ḋ" U1E0B # LATIN SMALL LETTER D WITH DOT ABOVE + : "ḋ" U1E0B # LATIN SMALL LETTER D WITH DOT ABOVE + : "ḋ" U1E0B # LATIN SMALL LETTER D WITH DOT ABOVE + : "Ḍ" U1E0C # LATIN CAPITAL LETTER D WITH DOT BELOW + : "Ḍ" U1E0C # LATIN CAPITAL LETTER D WITH DOT BELOW + : "ḍ" U1E0D # LATIN SMALL LETTER D WITH DOT BELOW + : "ḍ" U1E0D # LATIN SMALL LETTER D WITH DOT BELOW + : "Ḏ" U1E0E # LATIN CAPITAL LETTER D WITH LINE BELOW + : "ḏ" U1E0F # LATIN SMALL LETTER D WITH LINE BELOW + : "Ḑ" U1E10 # LATIN CAPITAL LETTER D WITH CEDILLA + : "Ḑ" U1E10 # LATIN CAPITAL LETTER D WITH CEDILLA + : "Ḑ" U1E10 # LATIN CAPITAL LETTER D WITH CEDILLA + : "Ḑ" U1E10 # LATIN CAPITAL LETTER D WITH CEDILLA + : "ḑ" U1E11 # LATIN SMALL LETTER D WITH CEDILLA + : "ḑ" U1E11 # LATIN SMALL LETTER D WITH CEDILLA + : "ḑ" U1E11 # LATIN SMALL LETTER D WITH CEDILLA + : "ḑ" U1E11 # LATIN SMALL LETTER D WITH CEDILLA + : "Ḓ" U1E12 # LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW + : "ḓ" U1E13 # LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW + : "Ḕ" U1E14 # LATIN CAPITAL LETTER E WITH MACRON AND GRAVE + : "Ḕ" U1E14 # LATIN CAPITAL LETTER E WITH MACRON AND GRAVE + : "Ḕ" U1E14 # LATIN CAPITAL LETTER E WITH MACRON AND GRAVE + : "Ḕ" U1E14 # LATIN CAPITAL LETTER E WITH MACRON AND GRAVE + : "Ḕ" U1E14 # LATIN CAPITAL LETTER E WITH MACRON AND GRAVE + : "Ḕ" U1E14 # LATIN CAPITAL LETTER E WITH MACRON AND GRAVE + : "Ḕ" U1E14 # LATIN CAPITAL LETTER E WITH MACRON AND GRAVE + : "Ḕ" U1E14 # LATIN CAPITAL LETTER E WITH MACRON AND GRAVE + : "ḕ" U1E15 # LATIN SMALL LETTER E WITH MACRON AND GRAVE + : "ḕ" U1E15 # LATIN SMALL LETTER E WITH MACRON AND GRAVE + : "ḕ" U1E15 # LATIN SMALL LETTER E WITH MACRON AND GRAVE + : "ḕ" U1E15 # LATIN SMALL LETTER E WITH MACRON AND GRAVE + : "ḕ" U1E15 # LATIN SMALL LETTER E WITH MACRON AND GRAVE + : "ḕ" U1E15 # LATIN SMALL LETTER E WITH MACRON AND GRAVE + : "ḕ" U1E15 # LATIN SMALL LETTER E WITH MACRON AND GRAVE + : "ḕ" U1E15 # LATIN SMALL LETTER E WITH MACRON AND GRAVE + : "Ḗ" U1E16 # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE + : "Ḗ" U1E16 # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE + : "Ḗ" U1E16 # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE + : "Ḗ" U1E16 # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE + : "Ḗ" U1E16 # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE + : "Ḗ" U1E16 # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE + : "Ḗ" U1E16 # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE + : "Ḗ" U1E16 # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE + : "Ḗ" U1E16 # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE + : "Ḗ" U1E16 # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE + : "Ḗ" U1E16 # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE + : "Ḗ" U1E16 # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE + : "ḗ" U1E17 # LATIN SMALL LETTER E WITH MACRON AND ACUTE + : "ḗ" U1E17 # LATIN SMALL LETTER E WITH MACRON AND ACUTE + : "ḗ" U1E17 # LATIN SMALL LETTER E WITH MACRON AND ACUTE + : "ḗ" U1E17 # LATIN SMALL LETTER E WITH MACRON AND ACUTE + : "ḗ" U1E17 # LATIN SMALL LETTER E WITH MACRON AND ACUTE + : "ḗ" U1E17 # LATIN SMALL LETTER E WITH MACRON AND ACUTE + : "ḗ" U1E17 # LATIN SMALL LETTER E WITH MACRON AND ACUTE + : "ḗ" U1E17 # LATIN SMALL LETTER E WITH MACRON AND ACUTE + : "ḗ" U1E17 # LATIN SMALL LETTER E WITH MACRON AND ACUTE + : "ḗ" U1E17 # LATIN SMALL LETTER E WITH MACRON AND ACUTE + : "ḗ" U1E17 # LATIN SMALL LETTER E WITH MACRON AND ACUTE + : "ḗ" U1E17 # LATIN SMALL LETTER E WITH MACRON AND ACUTE + : "Ḙ" U1E18 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW + : "ḙ" U1E19 # LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW + : "Ḛ" U1E1A # LATIN CAPITAL LETTER E WITH TILDE BELOW + : "ḛ" U1E1B # LATIN SMALL LETTER E WITH TILDE BELOW + : "Ḝ" U1E1C # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE + : "Ḝ" U1E1C # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE + : "Ḝ" U1E1C # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE + : "Ḝ" U1E1C # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE + : "Ḝ" U1E1C # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE + : "Ḝ" U1E1C # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE + : "Ḝ" U1E1C # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE + : "Ḝ" U1E1C # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE + : "Ḝ" U1E1C # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE + : "Ḝ" U1E1C # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE + : "Ḝ" U1E1C # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE + : "Ḝ" U1E1C # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE + : "ḝ" U1E1D # LATIN SMALL LETTER E WITH CEDILLA AND BREVE + : "ḝ" U1E1D # LATIN SMALL LETTER E WITH CEDILLA AND BREVE + : "ḝ" U1E1D # LATIN SMALL LETTER E WITH CEDILLA AND BREVE + : "ḝ" U1E1D # LATIN SMALL LETTER E WITH CEDILLA AND BREVE + : "ḝ" U1E1D # LATIN SMALL LETTER E WITH CEDILLA AND BREVE + : "ḝ" U1E1D # LATIN SMALL LETTER E WITH CEDILLA AND BREVE + : "ḝ" U1E1D # LATIN SMALL LETTER E WITH CEDILLA AND BREVE + : "ḝ" U1E1D # LATIN SMALL LETTER E WITH CEDILLA AND BREVE + : "ḝ" U1E1D # LATIN SMALL LETTER E WITH CEDILLA AND BREVE + : "ḝ" U1E1D # LATIN SMALL LETTER E WITH CEDILLA AND BREVE + : "ḝ" U1E1D # LATIN SMALL LETTER E WITH CEDILLA AND BREVE + : "ḝ" U1E1D # LATIN SMALL LETTER E WITH CEDILLA AND BREVE + : "Ḟ" U1E1E # LATIN CAPITAL LETTER F WITH DOT ABOVE + : "Ḟ" U1E1E # LATIN CAPITAL LETTER F WITH DOT ABOVE + : "Ḟ" U1E1E # LATIN CAPITAL LETTER F WITH DOT ABOVE + : "ḟ" U1E1F # LATIN SMALL LETTER F WITH DOT ABOVE + : "ḟ" U1E1F # LATIN SMALL LETTER F WITH DOT ABOVE + : "ḟ" U1E1F # LATIN SMALL LETTER F WITH DOT ABOVE + : "Ḡ" U1E20 # LATIN CAPITAL LETTER G WITH MACRON + : "Ḡ" U1E20 # LATIN CAPITAL LETTER G WITH MACRON + : "Ḡ" U1E20 # LATIN CAPITAL LETTER G WITH MACRON + : "ḡ" U1E21 # LATIN SMALL LETTER G WITH MACRON + : "ḡ" U1E21 # LATIN SMALL LETTER G WITH MACRON + : "ḡ" U1E21 # LATIN SMALL LETTER G WITH MACRON + : "Ḣ" U1E22 # LATIN CAPITAL LETTER H WITH DOT ABOVE + : "Ḣ" U1E22 # LATIN CAPITAL LETTER H WITH DOT ABOVE + : "ḣ" U1E23 # LATIN SMALL LETTER H WITH DOT ABOVE + : "ḣ" U1E23 # LATIN SMALL LETTER H WITH DOT ABOVE + : "Ḥ" U1E24 # LATIN CAPITAL LETTER H WITH DOT BELOW + : "Ḥ" U1E24 # LATIN CAPITAL LETTER H WITH DOT BELOW + : "ḥ" U1E25 # LATIN SMALL LETTER H WITH DOT BELOW + : "ḥ" U1E25 # LATIN SMALL LETTER H WITH DOT BELOW + : "Ḧ" U1E26 # LATIN CAPITAL LETTER H WITH DIAERESIS + : "Ḧ" U1E26 # LATIN CAPITAL LETTER H WITH DIAERESIS + : "ḧ" U1E27 # LATIN SMALL LETTER H WITH DIAERESIS + : "ḧ" U1E27 # LATIN SMALL LETTER H WITH DIAERESIS + : "Ḩ" U1E28 # LATIN CAPITAL LETTER H WITH CEDILLA + : "Ḩ" U1E28 # LATIN CAPITAL LETTER H WITH CEDILLA + : "Ḩ" U1E28 # LATIN CAPITAL LETTER H WITH CEDILLA + : "Ḩ" U1E28 # LATIN CAPITAL LETTER H WITH CEDILLA + : "ḩ" U1E29 # LATIN SMALL LETTER H WITH CEDILLA + : "ḩ" U1E29 # LATIN SMALL LETTER H WITH CEDILLA + : "ḩ" U1E29 # LATIN SMALL LETTER H WITH CEDILLA + : "ḩ" U1E29 # LATIN SMALL LETTER H WITH CEDILLA + : "Ḫ" U1E2A # LATIN CAPITAL LETTER H WITH BREVE BELOW + : "ḫ" U1E2B # LATIN SMALL LETTER H WITH BREVE BELOW + : "Ḭ" U1E2C # LATIN CAPITAL LETTER I WITH TILDE BELOW + : "ḭ" U1E2D # LATIN SMALL LETTER I WITH TILDE BELOW + : "Ḯ" U1E2E # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE + : "Ḯ" U1E2E # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE + : "Ḯ" U1E2E # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE + : "Ḯ" U1E2E # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE + : "Ḯ" U1E2E # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE + : "Ḯ" U1E2E # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE + : "Ḯ" U1E2E # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE + : "Ḯ" U1E2E # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE + : "Ḯ" U1E2E # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE + : "ḯ" U1E2F # LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE + : "ḯ" U1E2F # LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE + : "ḯ" U1E2F # LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE + : "ḯ" U1E2F # LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE + : "ḯ" U1E2F # LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE + : "ḯ" U1E2F # LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE + : "ḯ" U1E2F # LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE + : "ḯ" U1E2F # LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE + : "ḯ" U1E2F # LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE + : "Ḱ" U1E30 # LATIN CAPITAL LETTER K WITH ACUTE + : "Ḱ" U1E30 # LATIN CAPITAL LETTER K WITH ACUTE + : "Ḱ" U1E30 # LATIN CAPITAL LETTER K WITH ACUTE + : "ḱ" U1E31 # LATIN SMALL LETTER K WITH ACUTE + : "ḱ" U1E31 # LATIN SMALL LETTER K WITH ACUTE + : "ḱ" U1E31 # LATIN SMALL LETTER K WITH ACUTE + : "Ḳ" U1E32 # LATIN CAPITAL LETTER K WITH DOT BELOW + : "Ḳ" U1E32 # LATIN CAPITAL LETTER K WITH DOT BELOW + : "ḳ" U1E33 # LATIN SMALL LETTER K WITH DOT BELOW + : "ḳ" U1E33 # LATIN SMALL LETTER K WITH DOT BELOW + : "Ḵ" U1E34 # LATIN CAPITAL LETTER K WITH LINE BELOW + : "ḵ" U1E35 # LATIN SMALL LETTER K WITH LINE BELOW + : "Ḷ" U1E36 # LATIN CAPITAL LETTER L WITH DOT BELOW + : "Ḷ" U1E36 # LATIN CAPITAL LETTER L WITH DOT BELOW + : "ḷ" U1E37 # LATIN SMALL LETTER L WITH DOT BELOW + : "ḷ" U1E37 # LATIN SMALL LETTER L WITH DOT BELOW + : "Ḹ" U1E38 # LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON + : "Ḹ" U1E38 # LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON + : "Ḹ" U1E38 # LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON + : "Ḹ" U1E38 # LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON + : "Ḹ" U1E38 # LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON + : "Ḹ" U1E38 # LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON + : "Ḹ" U1E38 # LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON + : "Ḹ" U1E38 # LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON + : "Ḹ" U1E38 # LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON + : "ḹ" U1E39 # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON + : "ḹ" U1E39 # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON + : "ḹ" U1E39 # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON + : "ḹ" U1E39 # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON + : "ḹ" U1E39 # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON + : "ḹ" U1E39 # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON + : "ḹ" U1E39 # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON + : "ḹ" U1E39 # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON + : "ḹ" U1E39 # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON + : "Ḻ" U1E3A # LATIN CAPITAL LETTER L WITH LINE BELOW + : "ḻ" U1E3B # LATIN SMALL LETTER L WITH LINE BELOW + : "Ḽ" U1E3C # LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW + : "ḽ" U1E3D # LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW + : "Ḿ" U1E3E # LATIN CAPITAL LETTER M WITH ACUTE + : "Ḿ" U1E3E # LATIN CAPITAL LETTER M WITH ACUTE + : "Ḿ" U1E3E # LATIN CAPITAL LETTER M WITH ACUTE + : "ḿ" U1E3F # LATIN SMALL LETTER M WITH ACUTE + : "ḿ" U1E3F # LATIN SMALL LETTER M WITH ACUTE + : "ḿ" U1E3F # LATIN SMALL LETTER M WITH ACUTE + : "Ṁ" U1E40 # LATIN CAPITAL LETTER M WITH DOT ABOVE + : "Ṁ" U1E40 # LATIN CAPITAL LETTER M WITH DOT ABOVE + : "Ṁ" U1E40 # LATIN CAPITAL LETTER M WITH DOT ABOVE + : "ṁ" U1E41 # LATIN SMALL LETTER M WITH DOT ABOVE + : "ṁ" U1E41 # LATIN SMALL LETTER M WITH DOT ABOVE + : "ṁ" U1E41 # LATIN SMALL LETTER M WITH DOT ABOVE + : "Ṃ" U1E42 # LATIN CAPITAL LETTER M WITH DOT BELOW + : "Ṃ" U1E42 # LATIN CAPITAL LETTER M WITH DOT BELOW + : "ṃ" U1E43 # LATIN SMALL LETTER M WITH DOT BELOW + : "ṃ" U1E43 # LATIN SMALL LETTER M WITH DOT BELOW + : "Ṅ" U1E44 # LATIN CAPITAL LETTER N WITH DOT ABOVE + : "Ṅ" U1E44 # LATIN CAPITAL LETTER N WITH DOT ABOVE + : "ṅ" U1E45 # LATIN SMALL LETTER N WITH DOT ABOVE + : "ṅ" U1E45 # LATIN SMALL LETTER N WITH DOT ABOVE + : "Ṇ" U1E46 # LATIN CAPITAL LETTER N WITH DOT BELOW + : "Ṇ" U1E46 # LATIN CAPITAL LETTER N WITH DOT BELOW + : "ṇ" U1E47 # LATIN SMALL LETTER N WITH DOT BELOW + : "ṇ" U1E47 # LATIN SMALL LETTER N WITH DOT BELOW + : "Ṉ" U1E48 # LATIN CAPITAL LETTER N WITH LINE BELOW + : "ṉ" U1E49 # LATIN SMALL LETTER N WITH LINE BELOW + : "Ṋ" U1E4A # LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW + : "ṋ" U1E4B # LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW + : "Ṍ" U1E4C # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE + : "Ṍ" U1E4C # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE + : "Ṍ" U1E4C # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE + : "Ṍ" U1E4C # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE + : "Ṍ" U1E4C # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE + : "Ṍ" U1E4C # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE + : "Ṍ" U1E4C # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE + : "Ṍ" U1E4C # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE + : "Ṍ" U1E4C # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE + : "ṍ" U1E4D # LATIN SMALL LETTER O WITH TILDE AND ACUTE + : "ṍ" U1E4D # LATIN SMALL LETTER O WITH TILDE AND ACUTE + : "ṍ" U1E4D # LATIN SMALL LETTER O WITH TILDE AND ACUTE + : "ṍ" U1E4D # LATIN SMALL LETTER O WITH TILDE AND ACUTE + : "ṍ" U1E4D # LATIN SMALL LETTER O WITH TILDE AND ACUTE + : "ṍ" U1E4D # LATIN SMALL LETTER O WITH TILDE AND ACUTE + : "ṍ" U1E4D # LATIN SMALL LETTER O WITH TILDE AND ACUTE + : "ṍ" U1E4D # LATIN SMALL LETTER O WITH TILDE AND ACUTE + : "ṍ" U1E4D # LATIN SMALL LETTER O WITH TILDE AND ACUTE + : "Ṏ" U1E4E # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS + : "Ṏ" U1E4E # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS + : "Ṏ" U1E4E # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS + : "Ṏ" U1E4E # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS + : "Ṏ" U1E4E # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS + : "Ṏ" U1E4E # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS + : "ṏ" U1E4F # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS + : "ṏ" U1E4F # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS + : "ṏ" U1E4F # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS + : "ṏ" U1E4F # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS + : "ṏ" U1E4F # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS + : "ṏ" U1E4F # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS + : "Ṑ" U1E50 # LATIN CAPITAL LETTER O WITH MACRON AND GRAVE + : "Ṑ" U1E50 # LATIN CAPITAL LETTER O WITH MACRON AND GRAVE + : "Ṑ" U1E50 # LATIN CAPITAL LETTER O WITH MACRON AND GRAVE + : "Ṑ" U1E50 # LATIN CAPITAL LETTER O WITH MACRON AND GRAVE + : "Ṑ" U1E50 # LATIN CAPITAL LETTER O WITH MACRON AND GRAVE + : "Ṑ" U1E50 # LATIN CAPITAL LETTER O WITH MACRON AND GRAVE + : "Ṑ" U1E50 # LATIN CAPITAL LETTER O WITH MACRON AND GRAVE + : "Ṑ" U1E50 # LATIN CAPITAL LETTER O WITH MACRON AND GRAVE + : "ṑ" U1E51 # LATIN SMALL LETTER O WITH MACRON AND GRAVE + : "ṑ" U1E51 # LATIN SMALL LETTER O WITH MACRON AND GRAVE + : "ṑ" U1E51 # LATIN SMALL LETTER O WITH MACRON AND GRAVE + : "ṑ" U1E51 # LATIN SMALL LETTER O WITH MACRON AND GRAVE + : "ṑ" U1E51 # LATIN SMALL LETTER O WITH MACRON AND GRAVE + : "ṑ" U1E51 # LATIN SMALL LETTER O WITH MACRON AND GRAVE + : "ṑ" U1E51 # LATIN SMALL LETTER O WITH MACRON AND GRAVE + : "ṑ" U1E51 # LATIN SMALL LETTER O WITH MACRON AND GRAVE + : "Ṓ" U1E52 # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE + : "Ṓ" U1E52 # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE + : "Ṓ" U1E52 # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE + : "Ṓ" U1E52 # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE + : "Ṓ" U1E52 # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE + : "Ṓ" U1E52 # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE + : "Ṓ" U1E52 # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE + : "Ṓ" U1E52 # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE + : "Ṓ" U1E52 # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE + : "Ṓ" U1E52 # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE + : "Ṓ" U1E52 # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE + : "Ṓ" U1E52 # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE + : "ṓ" U1E53 # LATIN SMALL LETTER O WITH MACRON AND ACUTE + : "ṓ" U1E53 # LATIN SMALL LETTER O WITH MACRON AND ACUTE + : "ṓ" U1E53 # LATIN SMALL LETTER O WITH MACRON AND ACUTE + : "ṓ" U1E53 # LATIN SMALL LETTER O WITH MACRON AND ACUTE + : "ṓ" U1E53 # LATIN SMALL LETTER O WITH MACRON AND ACUTE + : "ṓ" U1E53 # LATIN SMALL LETTER O WITH MACRON AND ACUTE + : "ṓ" U1E53 # LATIN SMALL LETTER O WITH MACRON AND ACUTE + : "ṓ" U1E53 # LATIN SMALL LETTER O WITH MACRON AND ACUTE + : "ṓ" U1E53 # LATIN SMALL LETTER O WITH MACRON AND ACUTE + : "ṓ" U1E53 # LATIN SMALL LETTER O WITH MACRON AND ACUTE + : "ṓ" U1E53 # LATIN SMALL LETTER O WITH MACRON AND ACUTE + : "ṓ" U1E53 # LATIN SMALL LETTER O WITH MACRON AND ACUTE +

: "Ṕ" U1E54 # LATIN CAPITAL LETTER P WITH ACUTE +

: "Ṕ" U1E54 # LATIN CAPITAL LETTER P WITH ACUTE +

: "Ṕ" U1E54 # LATIN CAPITAL LETTER P WITH ACUTE +

: "ṕ" U1E55 # LATIN SMALL LETTER P WITH ACUTE +

: "ṕ" U1E55 # LATIN SMALL LETTER P WITH ACUTE +

: "ṕ" U1E55 # LATIN SMALL LETTER P WITH ACUTE +

: "Ṗ" U1E56 # LATIN CAPITAL LETTER P WITH DOT ABOVE +

: "Ṗ" U1E56 # LATIN CAPITAL LETTER P WITH DOT ABOVE +

: "Ṗ" U1E56 # LATIN CAPITAL LETTER P WITH DOT ABOVE +

: "ṗ" U1E57 # LATIN SMALL LETTER P WITH DOT ABOVE +

: "ṗ" U1E57 # LATIN SMALL LETTER P WITH DOT ABOVE +

: "ṗ" U1E57 # LATIN SMALL LETTER P WITH DOT ABOVE + : "Ṙ" U1E58 # LATIN CAPITAL LETTER R WITH DOT ABOVE + : "Ṙ" U1E58 # LATIN CAPITAL LETTER R WITH DOT ABOVE + : "ṙ" U1E59 # LATIN SMALL LETTER R WITH DOT ABOVE + : "ṙ" U1E59 # LATIN SMALL LETTER R WITH DOT ABOVE + : "Ṛ" U1E5A # LATIN CAPITAL LETTER R WITH DOT BELOW + : "Ṛ" U1E5A # LATIN CAPITAL LETTER R WITH DOT BELOW + : "ṛ" U1E5B # LATIN SMALL LETTER R WITH DOT BELOW + : "ṛ" U1E5B # LATIN SMALL LETTER R WITH DOT BELOW + : "Ṝ" U1E5C # LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON + : "Ṝ" U1E5C # LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON + : "Ṝ" U1E5C # LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON + : "Ṝ" U1E5C # LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON + : "Ṝ" U1E5C # LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON + : "Ṝ" U1E5C # LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON + : "Ṝ" U1E5C # LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON + : "Ṝ" U1E5C # LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON + : "Ṝ" U1E5C # LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON + : "ṝ" U1E5D # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON + : "ṝ" U1E5D # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON + : "ṝ" U1E5D # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON + : "ṝ" U1E5D # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON + : "ṝ" U1E5D # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON + : "ṝ" U1E5D # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON + : "ṝ" U1E5D # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON + : "ṝ" U1E5D # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON + : "ṝ" U1E5D # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON + : "Ṟ" U1E5E # LATIN CAPITAL LETTER R WITH LINE BELOW + : "ṟ" U1E5F # LATIN SMALL LETTER R WITH LINE BELOW + : "Ṡ" U1E60 # LATIN CAPITAL LETTER S WITH DOT ABOVE + : "Ṡ" U1E60 # LATIN CAPITAL LETTER S WITH DOT ABOVE + : "Ṡ" U1E60 # LATIN CAPITAL LETTER S WITH DOT ABOVE + : "ṡ" U1E61 # LATIN SMALL LETTER S WITH DOT ABOVE + : "ṡ" U1E61 # LATIN SMALL LETTER S WITH DOT ABOVE + : "ṡ" U1E61 # LATIN SMALL LETTER S WITH DOT ABOVE + : "Ṣ" U1E62 # LATIN CAPITAL LETTER S WITH DOT BELOW + : "Ṣ" U1E62 # LATIN CAPITAL LETTER S WITH DOT BELOW + : "ṣ" U1E63 # LATIN SMALL LETTER S WITH DOT BELOW + : "ṣ" U1E63 # LATIN SMALL LETTER S WITH DOT BELOW + : "Ṥ" U1E64 # LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE + : "Ṥ" U1E64 # LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE + : "Ṥ" U1E64 # LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE + : "Ṥ" U1E64 # LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE + : "Ṥ" U1E64 # LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE + : "Ṥ" U1E64 # LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE + : "Ṥ" U1E64 # LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE + : "Ṥ" U1E64 # LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE + : "ṥ" U1E65 # LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE + : "ṥ" U1E65 # LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE + : "ṥ" U1E65 # LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE + : "ṥ" U1E65 # LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE + : "ṥ" U1E65 # LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE + : "ṥ" U1E65 # LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE + : "ṥ" U1E65 # LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE + : "ṥ" U1E65 # LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE + : "Ṧ" U1E66 # LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE + : "Ṧ" U1E66 # LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE + : "Ṧ" U1E66 # LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE + : "Ṧ" U1E66 # LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE + : "Ṧ" U1E66 # LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE + : "ṧ" U1E67 # LATIN SMALL LETTER S WITH CARON AND DOT ABOVE + : "ṧ" U1E67 # LATIN SMALL LETTER S WITH CARON AND DOT ABOVE + : "ṧ" U1E67 # LATIN SMALL LETTER S WITH CARON AND DOT ABOVE + : "ṧ" U1E67 # LATIN SMALL LETTER S WITH CARON AND DOT ABOVE + : "ṧ" U1E67 # LATIN SMALL LETTER S WITH CARON AND DOT ABOVE + : "Ṩ" U1E68 # LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE + : "Ṩ" U1E68 # LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE + : "Ṩ" U1E68 # LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE + : "Ṩ" U1E68 # LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE + : "Ṩ" U1E68 # LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE + : "Ṩ" U1E68 # LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE + : "ṩ" U1E69 # LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE + : "ṩ" U1E69 # LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE + : "ṩ" U1E69 # LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE + : "ṩ" U1E69 # LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE + : "ṩ" U1E69 # LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE + : "ṩ" U1E69 # LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE + : "Ṫ" U1E6A # LATIN CAPITAL LETTER T WITH DOT ABOVE + : "Ṫ" U1E6A # LATIN CAPITAL LETTER T WITH DOT ABOVE + : "Ṫ" U1E6A # LATIN CAPITAL LETTER T WITH DOT ABOVE + : "ṫ" U1E6B # LATIN SMALL LETTER T WITH DOT ABOVE + : "ṫ" U1E6B # LATIN SMALL LETTER T WITH DOT ABOVE + : "ṫ" U1E6B # LATIN SMALL LETTER T WITH DOT ABOVE + : "Ṭ" U1E6C # LATIN CAPITAL LETTER T WITH DOT BELOW + : "Ṭ" U1E6C # LATIN CAPITAL LETTER T WITH DOT BELOW + : "ṭ" U1E6D # LATIN SMALL LETTER T WITH DOT BELOW + : "ṭ" U1E6D # LATIN SMALL LETTER T WITH DOT BELOW + : "Ṯ" U1E6E # LATIN CAPITAL LETTER T WITH LINE BELOW + : "ṯ" U1E6F # LATIN SMALL LETTER T WITH LINE BELOW + : "Ṱ" U1E70 # LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW + : "ṱ" U1E71 # LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW + : "Ṳ" U1E72 # LATIN CAPITAL LETTER U WITH DIAERESIS BELOW + : "ṳ" U1E73 # LATIN SMALL LETTER U WITH DIAERESIS BELOW + : "Ṵ" U1E74 # LATIN CAPITAL LETTER U WITH TILDE BELOW + : "ṵ" U1E75 # LATIN SMALL LETTER U WITH TILDE BELOW + : "Ṷ" U1E76 # LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW + : "ṷ" U1E77 # LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW + : "Ṹ" U1E78 # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE + : "Ṹ" U1E78 # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE + : "Ṹ" U1E78 # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE + : "Ṹ" U1E78 # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE + : "Ṹ" U1E78 # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE + : "Ṹ" U1E78 # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE + : "Ṹ" U1E78 # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE + : "Ṹ" U1E78 # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE + : "Ṹ" U1E78 # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE + : "ṹ" U1E79 # LATIN SMALL LETTER U WITH TILDE AND ACUTE + : "ṹ" U1E79 # LATIN SMALL LETTER U WITH TILDE AND ACUTE + : "ṹ" U1E79 # LATIN SMALL LETTER U WITH TILDE AND ACUTE + : "ṹ" U1E79 # LATIN SMALL LETTER U WITH TILDE AND ACUTE + : "ṹ" U1E79 # LATIN SMALL LETTER U WITH TILDE AND ACUTE + : "ṹ" U1E79 # LATIN SMALL LETTER U WITH TILDE AND ACUTE + : "ṹ" U1E79 # LATIN SMALL LETTER U WITH TILDE AND ACUTE + : "ṹ" U1E79 # LATIN SMALL LETTER U WITH TILDE AND ACUTE + : "ṹ" U1E79 # LATIN SMALL LETTER U WITH TILDE AND ACUTE + : "Ṻ" U1E7A # LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS + : "Ṻ" U1E7A # LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS + : "Ṻ" U1E7A # LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS + : "Ṻ" U1E7A # LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS + : "Ṻ" U1E7A # LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS + : "Ṻ" U1E7A # LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS + : "Ṻ" U1E7A # LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS + : "Ṻ" U1E7A # LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS + : "ṻ" U1E7B # LATIN SMALL LETTER U WITH MACRON AND DIAERESIS + : "ṻ" U1E7B # LATIN SMALL LETTER U WITH MACRON AND DIAERESIS + : "ṻ" U1E7B # LATIN SMALL LETTER U WITH MACRON AND DIAERESIS + : "ṻ" U1E7B # LATIN SMALL LETTER U WITH MACRON AND DIAERESIS + : "ṻ" U1E7B # LATIN SMALL LETTER U WITH MACRON AND DIAERESIS + : "ṻ" U1E7B # LATIN SMALL LETTER U WITH MACRON AND DIAERESIS + : "ṻ" U1E7B # LATIN SMALL LETTER U WITH MACRON AND DIAERESIS + : "ṻ" U1E7B # LATIN SMALL LETTER U WITH MACRON AND DIAERESIS + : "Ṽ" U1E7C # LATIN CAPITAL LETTER V WITH TILDE + : "Ṽ" U1E7C # LATIN CAPITAL LETTER V WITH TILDE + : "ṽ" U1E7D # LATIN SMALL LETTER V WITH TILDE + : "ṽ" U1E7D # LATIN SMALL LETTER V WITH TILDE + : "Ṿ" U1E7E # LATIN CAPITAL LETTER V WITH DOT BELOW + : "Ṿ" U1E7E # LATIN CAPITAL LETTER V WITH DOT BELOW + : "ṿ" U1E7F # LATIN SMALL LETTER V WITH DOT BELOW + : "ṿ" U1E7F # LATIN SMALL LETTER V WITH DOT BELOW + : "Ẁ" U1E80 # LATIN CAPITAL LETTER W WITH GRAVE + : "Ẁ" U1E80 # LATIN CAPITAL LETTER W WITH GRAVE + : "ẁ" U1E81 # LATIN SMALL LETTER W WITH GRAVE + : "ẁ" U1E81 # LATIN SMALL LETTER W WITH GRAVE + : "Ẃ" U1E82 # LATIN CAPITAL LETTER W WITH ACUTE + : "Ẃ" U1E82 # LATIN CAPITAL LETTER W WITH ACUTE + : "Ẃ" U1E82 # LATIN CAPITAL LETTER W WITH ACUTE + : "ẃ" U1E83 # LATIN SMALL LETTER W WITH ACUTE + : "ẃ" U1E83 # LATIN SMALL LETTER W WITH ACUTE + : "ẃ" U1E83 # LATIN SMALL LETTER W WITH ACUTE + : "Ẅ" U1E84 # LATIN CAPITAL LETTER W WITH DIAERESIS + : "Ẅ" U1E84 # LATIN CAPITAL LETTER W WITH DIAERESIS + : "ẅ" U1E85 # LATIN SMALL LETTER W WITH DIAERESIS + : "ẅ" U1E85 # LATIN SMALL LETTER W WITH DIAERESIS + : "Ẇ" U1E86 # LATIN CAPITAL LETTER W WITH DOT ABOVE + : "Ẇ" U1E86 # LATIN CAPITAL LETTER W WITH DOT ABOVE + : "ẇ" U1E87 # LATIN SMALL LETTER W WITH DOT ABOVE + : "ẇ" U1E87 # LATIN SMALL LETTER W WITH DOT ABOVE + : "Ẉ" U1E88 # LATIN CAPITAL LETTER W WITH DOT BELOW + : "Ẉ" U1E88 # LATIN CAPITAL LETTER W WITH DOT BELOW + : "ẉ" U1E89 # LATIN SMALL LETTER W WITH DOT BELOW + : "ẉ" U1E89 # LATIN SMALL LETTER W WITH DOT BELOW + : "Ẋ" U1E8A # LATIN CAPITAL LETTER X WITH DOT ABOVE + : "Ẋ" U1E8A # LATIN CAPITAL LETTER X WITH DOT ABOVE + : "ẋ" U1E8B # LATIN SMALL LETTER X WITH DOT ABOVE + : "ẋ" U1E8B # LATIN SMALL LETTER X WITH DOT ABOVE + : "Ẍ" U1E8C # LATIN CAPITAL LETTER X WITH DIAERESIS + : "Ẍ" U1E8C # LATIN CAPITAL LETTER X WITH DIAERESIS + : "ẍ" U1E8D # LATIN SMALL LETTER X WITH DIAERESIS + : "ẍ" U1E8D # LATIN SMALL LETTER X WITH DIAERESIS + : "Ẏ" U1E8E # LATIN CAPITAL LETTER Y WITH DOT ABOVE + : "Ẏ" U1E8E # LATIN CAPITAL LETTER Y WITH DOT ABOVE + : "ẏ" U1E8F # LATIN SMALL LETTER Y WITH DOT ABOVE + : "ẏ" U1E8F # LATIN SMALL LETTER Y WITH DOT ABOVE + : "Ẑ" U1E90 # LATIN CAPITAL LETTER Z WITH CIRCUMFLEX + : "Ẑ" U1E90 # LATIN CAPITAL LETTER Z WITH CIRCUMFLEX + : "ẑ" U1E91 # LATIN SMALL LETTER Z WITH CIRCUMFLEX + : "ẑ" U1E91 # LATIN SMALL LETTER Z WITH CIRCUMFLEX + : "Ẓ" U1E92 # LATIN CAPITAL LETTER Z WITH DOT BELOW + : "Ẓ" U1E92 # LATIN CAPITAL LETTER Z WITH DOT BELOW + : "ẓ" U1E93 # LATIN SMALL LETTER Z WITH DOT BELOW + : "ẓ" U1E93 # LATIN SMALL LETTER Z WITH DOT BELOW + : "Ẕ" U1E94 # LATIN CAPITAL LETTER Z WITH LINE BELOW + : "ẕ" U1E95 # LATIN SMALL LETTER Z WITH LINE BELOW + : "ẖ" U1E96 # LATIN SMALL LETTER H WITH LINE BELOW + : "ẗ" U1E97 # LATIN SMALL LETTER T WITH DIAERESIS + : "ẗ" U1E97 # LATIN SMALL LETTER T WITH DIAERESIS + : "ẘ" U1E98 # LATIN SMALL LETTER W WITH RING ABOVE + : "ẘ" U1E98 # LATIN SMALL LETTER W WITH RING ABOVE + : "ẙ" U1E99 # LATIN SMALL LETTER Y WITH RING ABOVE + : "ẙ" U1E99 # LATIN SMALL LETTER Y WITH RING ABOVE + : "ẛ" U1E9B # LATIN SMALL LETTER LONG S WITH DOT ABOVE + : "ẛ" U1E9B # LATIN SMALL LETTER LONG S WITH DOT ABOVE + : "Ạ" U1EA0 # LATIN CAPITAL LETTER A WITH DOT BELOW + : "Ạ" U1EA0 # LATIN CAPITAL LETTER A WITH DOT BELOW + : "ạ" U1EA1 # LATIN SMALL LETTER A WITH DOT BELOW + : "ạ" U1EA1 # LATIN SMALL LETTER A WITH DOT BELOW + : "Ả" U1EA2 # LATIN CAPITAL LETTER A WITH HOOK ABOVE + : "Ả" U1EA2 # LATIN CAPITAL LETTER A WITH HOOK ABOVE + : "ả" U1EA3 # LATIN SMALL LETTER A WITH HOOK ABOVE + : "ả" U1EA3 # LATIN SMALL LETTER A WITH HOOK ABOVE + : "Ấ" U1EA4 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE + : "Ấ" U1EA4 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE + : "Ấ" U1EA4 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE + : "Ấ" U1EA4 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE + : "Ấ" U1EA4 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE + : "Ấ" U1EA4 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE + : "Ấ" U1EA4 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE + : "Ấ" U1EA4 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE + : "Ấ" U1EA4 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE + : "ấ" U1EA5 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE + : "ấ" U1EA5 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE + : "ấ" U1EA5 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE + : "ấ" U1EA5 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE + : "ấ" U1EA5 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE + : "ấ" U1EA5 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE + : "ấ" U1EA5 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE + : "ấ" U1EA5 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE + : "ấ" U1EA5 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE + : "Ầ" U1EA6 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE + : "Ầ" U1EA6 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE + : "Ầ" U1EA6 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE + : "Ầ" U1EA6 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE + : "Ầ" U1EA6 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE + : "Ầ" U1EA6 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE + : "ầ" U1EA7 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE + : "ầ" U1EA7 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE + : "ầ" U1EA7 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE + : "ầ" U1EA7 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE + : "ầ" U1EA7 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE + : "ầ" U1EA7 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE + : "Ẩ" U1EA8 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE + : "Ẩ" U1EA8 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE + : "Ẩ" U1EA8 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE + : "Ẩ" U1EA8 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE + : "Ẩ" U1EA8 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE + : "Ẩ" U1EA8 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE + : "ẩ" U1EA9 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE + : "ẩ" U1EA9 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE + : "ẩ" U1EA9 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE + : "ẩ" U1EA9 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE + : "ẩ" U1EA9 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE + : "ẩ" U1EA9 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE + : "Ẫ" U1EAA # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE + : "Ẫ" U1EAA # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE + : "Ẫ" U1EAA # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE + : "Ẫ" U1EAA # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE + : "Ẫ" U1EAA # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE + : "Ẫ" U1EAA # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE + : "ẫ" U1EAB # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE + : "ẫ" U1EAB # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE + : "ẫ" U1EAB # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE + : "ẫ" U1EAB # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE + : "ẫ" U1EAB # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE + : "ẫ" U1EAB # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE + : "Ậ" U1EAC # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW + : "Ậ" U1EAC # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW + : "Ậ" U1EAC # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW + : "Ậ" U1EAC # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW + : "Ậ" U1EAC # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW + : "Ậ" U1EAC # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW + : "Ậ" U1EAC # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW + : "ậ" U1EAD # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW + : "ậ" U1EAD # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW + : "ậ" U1EAD # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW + : "ậ" U1EAD # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW + : "ậ" U1EAD # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW + : "ậ" U1EAD # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW + : "ậ" U1EAD # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW + : "Ắ" U1EAE # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE + : "Ắ" U1EAE # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE + : "Ắ" U1EAE # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE + : "Ắ" U1EAE # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE + : "Ắ" U1EAE # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE + : "Ắ" U1EAE # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE + : "Ắ" U1EAE # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE + : "Ắ" U1EAE # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE + : "Ắ" U1EAE # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE + : "Ắ" U1EAE # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE + : "ắ" U1EAF # LATIN SMALL LETTER A WITH BREVE AND ACUTE + : "ắ" U1EAF # LATIN SMALL LETTER A WITH BREVE AND ACUTE + : "ắ" U1EAF # LATIN SMALL LETTER A WITH BREVE AND ACUTE + : "ắ" U1EAF # LATIN SMALL LETTER A WITH BREVE AND ACUTE + : "ắ" U1EAF # LATIN SMALL LETTER A WITH BREVE AND ACUTE + : "ắ" U1EAF # LATIN SMALL LETTER A WITH BREVE AND ACUTE + : "ắ" U1EAF # LATIN SMALL LETTER A WITH BREVE AND ACUTE + : "ắ" U1EAF # LATIN SMALL LETTER A WITH BREVE AND ACUTE + : "ắ" U1EAF # LATIN SMALL LETTER A WITH BREVE AND ACUTE + : "ắ" U1EAF # LATIN SMALL LETTER A WITH BREVE AND ACUTE + : "Ằ" U1EB0 # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE + : "Ằ" U1EB0 # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE + : "Ằ" U1EB0 # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE + : "Ằ" U1EB0 # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE + : "Ằ" U1EB0 # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE + : "Ằ" U1EB0 # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE + : "Ằ" U1EB0 # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE + : "ằ" U1EB1 # LATIN SMALL LETTER A WITH BREVE AND GRAVE + : "ằ" U1EB1 # LATIN SMALL LETTER A WITH BREVE AND GRAVE + : "ằ" U1EB1 # LATIN SMALL LETTER A WITH BREVE AND GRAVE + : "ằ" U1EB1 # LATIN SMALL LETTER A WITH BREVE AND GRAVE + : "ằ" U1EB1 # LATIN SMALL LETTER A WITH BREVE AND GRAVE + : "ằ" U1EB1 # LATIN SMALL LETTER A WITH BREVE AND GRAVE + : "ằ" U1EB1 # LATIN SMALL LETTER A WITH BREVE AND GRAVE + : "Ẳ" U1EB2 # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE + : "Ẳ" U1EB2 # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE + : "Ẳ" U1EB2 # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE + : "Ẳ" U1EB2 # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE + : "Ẳ" U1EB2 # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE + : "Ẳ" U1EB2 # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE + : "Ẳ" U1EB2 # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE + : "ẳ" U1EB3 # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE + : "ẳ" U1EB3 # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE + : "ẳ" U1EB3 # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE + : "ẳ" U1EB3 # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE + : "ẳ" U1EB3 # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE + : "ẳ" U1EB3 # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE + : "ẳ" U1EB3 # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE + : "Ẵ" U1EB4 # LATIN CAPITAL LETTER A WITH BREVE AND TILDE + : "Ẵ" U1EB4 # LATIN CAPITAL LETTER A WITH BREVE AND TILDE + : "Ẵ" U1EB4 # LATIN CAPITAL LETTER A WITH BREVE AND TILDE + : "Ẵ" U1EB4 # LATIN CAPITAL LETTER A WITH BREVE AND TILDE + : "Ẵ" U1EB4 # LATIN CAPITAL LETTER A WITH BREVE AND TILDE + : "Ẵ" U1EB4 # LATIN CAPITAL LETTER A WITH BREVE AND TILDE + : "Ẵ" U1EB4 # LATIN CAPITAL LETTER A WITH BREVE AND TILDE + : "ẵ" U1EB5 # LATIN SMALL LETTER A WITH BREVE AND TILDE + : "ẵ" U1EB5 # LATIN SMALL LETTER A WITH BREVE AND TILDE + : "ẵ" U1EB5 # LATIN SMALL LETTER A WITH BREVE AND TILDE + : "ẵ" U1EB5 # LATIN SMALL LETTER A WITH BREVE AND TILDE + : "ẵ" U1EB5 # LATIN SMALL LETTER A WITH BREVE AND TILDE + : "ẵ" U1EB5 # LATIN SMALL LETTER A WITH BREVE AND TILDE + : "ẵ" U1EB5 # LATIN SMALL LETTER A WITH BREVE AND TILDE + : "Ặ" U1EB6 # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW + : "Ặ" U1EB6 # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW + : "Ặ" U1EB6 # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW + : "Ặ" U1EB6 # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW + : "Ặ" U1EB6 # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW + : "Ặ" U1EB6 # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW + : "Ặ" U1EB6 # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW + : "Ặ" U1EB6 # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW + : "Ặ" U1EB6 # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW + : "Ặ" U1EB6 # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW + : "ặ" U1EB7 # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW + : "ặ" U1EB7 # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW + : "ặ" U1EB7 # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW + : "ặ" U1EB7 # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW + : "ặ" U1EB7 # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW + : "ặ" U1EB7 # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW + : "ặ" U1EB7 # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW + : "ặ" U1EB7 # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW + : "ặ" U1EB7 # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW + : "ặ" U1EB7 # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW + : "Ẹ" U1EB8 # LATIN CAPITAL LETTER E WITH DOT BELOW + : "Ẹ" U1EB8 # LATIN CAPITAL LETTER E WITH DOT BELOW + : "ẹ" U1EB9 # LATIN SMALL LETTER E WITH DOT BELOW + : "ẹ" U1EB9 # LATIN SMALL LETTER E WITH DOT BELOW + : "Ẻ" U1EBA # LATIN CAPITAL LETTER E WITH HOOK ABOVE + : "Ẻ" U1EBA # LATIN CAPITAL LETTER E WITH HOOK ABOVE + : "ẻ" U1EBB # LATIN SMALL LETTER E WITH HOOK ABOVE + : "ẻ" U1EBB # LATIN SMALL LETTER E WITH HOOK ABOVE + : "Ẽ" U1EBC # LATIN CAPITAL LETTER E WITH TILDE + : "Ẽ" U1EBC # LATIN CAPITAL LETTER E WITH TILDE + : "ẽ" U1EBD # LATIN SMALL LETTER E WITH TILDE + : "ẽ" U1EBD # LATIN SMALL LETTER E WITH TILDE + : "Ế" U1EBE # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE + : "Ế" U1EBE # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE + : "Ế" U1EBE # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE + : "Ế" U1EBE # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE + : "Ế" U1EBE # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE + : "Ế" U1EBE # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE + : "Ế" U1EBE # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE + : "Ế" U1EBE # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE + : "Ế" U1EBE # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE + : "ế" U1EBF # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE + : "ế" U1EBF # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE + : "ế" U1EBF # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE + : "ế" U1EBF # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE + : "ế" U1EBF # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE + : "ế" U1EBF # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE + : "ế" U1EBF # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE + : "ế" U1EBF # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE + : "ế" U1EBF # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE + : "Ề" U1EC0 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE + : "Ề" U1EC0 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE + : "Ề" U1EC0 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE + : "Ề" U1EC0 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE + : "Ề" U1EC0 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE + : "Ề" U1EC0 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE + : "ề" U1EC1 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE + : "ề" U1EC1 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE + : "ề" U1EC1 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE + : "ề" U1EC1 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE + : "ề" U1EC1 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE + : "ề" U1EC1 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE + : "Ể" U1EC2 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE + : "Ể" U1EC2 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE + : "Ể" U1EC2 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE + : "Ể" U1EC2 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE + : "Ể" U1EC2 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE + : "Ể" U1EC2 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE + : "ể" U1EC3 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE + : "ể" U1EC3 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE + : "ể" U1EC3 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE + : "ể" U1EC3 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE + : "ể" U1EC3 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE + : "ể" U1EC3 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE + : "Ễ" U1EC4 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE + : "Ễ" U1EC4 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE + : "Ễ" U1EC4 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE + : "Ễ" U1EC4 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE + : "Ễ" U1EC4 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE + : "Ễ" U1EC4 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE + : "ễ" U1EC5 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE + : "ễ" U1EC5 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE + : "ễ" U1EC5 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE + : "ễ" U1EC5 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE + : "ễ" U1EC5 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE + : "ễ" U1EC5 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE + : "Ệ" U1EC6 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW + : "Ệ" U1EC6 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW + : "Ệ" U1EC6 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW + : "Ệ" U1EC6 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW + : "Ệ" U1EC6 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW + : "Ệ" U1EC6 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW + : "Ệ" U1EC6 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW + : "ệ" U1EC7 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW + : "ệ" U1EC7 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW + : "ệ" U1EC7 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW + : "ệ" U1EC7 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW + : "ệ" U1EC7 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW + : "ệ" U1EC7 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW + : "ệ" U1EC7 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW + : "Ỉ" U1EC8 # LATIN CAPITAL LETTER I WITH HOOK ABOVE + : "Ỉ" U1EC8 # LATIN CAPITAL LETTER I WITH HOOK ABOVE + : "ỉ" U1EC9 # LATIN SMALL LETTER I WITH HOOK ABOVE + : "ỉ" U1EC9 # LATIN SMALL LETTER I WITH HOOK ABOVE + : "Ị" U1ECA # LATIN CAPITAL LETTER I WITH DOT BELOW + : "Ị" U1ECA # LATIN CAPITAL LETTER I WITH DOT BELOW + : "ị" U1ECB # LATIN SMALL LETTER I WITH DOT BELOW + : "ị" U1ECB # LATIN SMALL LETTER I WITH DOT BELOW + : "Ọ" U1ECC # LATIN CAPITAL LETTER O WITH DOT BELOW + : "Ọ" U1ECC # LATIN CAPITAL LETTER O WITH DOT BELOW + : "ọ" U1ECD # LATIN SMALL LETTER O WITH DOT BELOW + : "ọ" U1ECD # LATIN SMALL LETTER O WITH DOT BELOW + : "Ỏ" U1ECE # LATIN CAPITAL LETTER O WITH HOOK ABOVE + : "Ỏ" U1ECE # LATIN CAPITAL LETTER O WITH HOOK ABOVE + : "ỏ" U1ECF # LATIN SMALL LETTER O WITH HOOK ABOVE + : "ỏ" U1ECF # LATIN SMALL LETTER O WITH HOOK ABOVE + : "Ố" U1ED0 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE + : "Ố" U1ED0 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE + : "Ố" U1ED0 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE + : "Ố" U1ED0 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE + : "Ố" U1ED0 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE + : "Ố" U1ED0 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE + : "Ố" U1ED0 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE + : "Ố" U1ED0 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE + : "Ố" U1ED0 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE + : "ố" U1ED1 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE + : "ố" U1ED1 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE + : "ố" U1ED1 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE + : "ố" U1ED1 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE + : "ố" U1ED1 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE + : "ố" U1ED1 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE + : "ố" U1ED1 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE + : "ố" U1ED1 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE + : "ố" U1ED1 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE + : "Ồ" U1ED2 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE + : "Ồ" U1ED2 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE + : "Ồ" U1ED2 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE + : "Ồ" U1ED2 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE + : "Ồ" U1ED2 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE + : "Ồ" U1ED2 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE + : "ồ" U1ED3 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE + : "ồ" U1ED3 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE + : "ồ" U1ED3 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE + : "ồ" U1ED3 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE + : "ồ" U1ED3 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE + : "ồ" U1ED3 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE + : "Ổ" U1ED4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE + : "Ổ" U1ED4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE + : "Ổ" U1ED4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE + : "Ổ" U1ED4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE + : "Ổ" U1ED4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE + : "Ổ" U1ED4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE + : "ổ" U1ED5 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE + : "ổ" U1ED5 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE + : "ổ" U1ED5 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE + : "ổ" U1ED5 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE + : "ổ" U1ED5 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE + : "ổ" U1ED5 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE + : "Ỗ" U1ED6 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE + : "Ỗ" U1ED6 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE + : "Ỗ" U1ED6 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE + : "Ỗ" U1ED6 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE + : "Ỗ" U1ED6 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE + : "Ỗ" U1ED6 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE + : "ỗ" U1ED7 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE + : "ỗ" U1ED7 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE + : "ỗ" U1ED7 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE + : "ỗ" U1ED7 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE + : "ỗ" U1ED7 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE + : "ỗ" U1ED7 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE + : "Ộ" U1ED8 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW + : "Ộ" U1ED8 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW + : "Ộ" U1ED8 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW + : "Ộ" U1ED8 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW + : "Ộ" U1ED8 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW + : "Ộ" U1ED8 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW + : "Ộ" U1ED8 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW + : "ộ" U1ED9 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW + : "ộ" U1ED9 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW + : "ộ" U1ED9 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW + : "ộ" U1ED9 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW + : "ộ" U1ED9 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW + : "ộ" U1ED9 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW + : "ộ" U1ED9 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW + : "Ớ" U1EDA # LATIN CAPITAL LETTER O WITH HORN AND ACUTE + : "Ớ" U1EDA # LATIN CAPITAL LETTER O WITH HORN AND ACUTE + : "Ớ" U1EDA # LATIN CAPITAL LETTER O WITH HORN AND ACUTE + : "Ớ" U1EDA # LATIN CAPITAL LETTER O WITH HORN AND ACUTE + : "Ớ" U1EDA # LATIN CAPITAL LETTER O WITH HORN AND ACUTE + : "Ớ" U1EDA # LATIN CAPITAL LETTER O WITH HORN AND ACUTE + : "Ớ" U1EDA # LATIN CAPITAL LETTER O WITH HORN AND ACUTE + : "Ớ" U1EDA # LATIN CAPITAL LETTER O WITH HORN AND ACUTE + : "Ớ" U1EDA # LATIN CAPITAL LETTER O WITH HORN AND ACUTE + : "ớ" U1EDB # LATIN SMALL LETTER O WITH HORN AND ACUTE + : "ớ" U1EDB # LATIN SMALL LETTER O WITH HORN AND ACUTE + : "ớ" U1EDB # LATIN SMALL LETTER O WITH HORN AND ACUTE + : "ớ" U1EDB # LATIN SMALL LETTER O WITH HORN AND ACUTE + : "ớ" U1EDB # LATIN SMALL LETTER O WITH HORN AND ACUTE + : "ớ" U1EDB # LATIN SMALL LETTER O WITH HORN AND ACUTE + : "ớ" U1EDB # LATIN SMALL LETTER O WITH HORN AND ACUTE + : "ớ" U1EDB # LATIN SMALL LETTER O WITH HORN AND ACUTE + : "ớ" U1EDB # LATIN SMALL LETTER O WITH HORN AND ACUTE + : "Ờ" U1EDC # LATIN CAPITAL LETTER O WITH HORN AND GRAVE + : "Ờ" U1EDC # LATIN CAPITAL LETTER O WITH HORN AND GRAVE + : "Ờ" U1EDC # LATIN CAPITAL LETTER O WITH HORN AND GRAVE + : "Ờ" U1EDC # LATIN CAPITAL LETTER O WITH HORN AND GRAVE + : "Ờ" U1EDC # LATIN CAPITAL LETTER O WITH HORN AND GRAVE + : "Ờ" U1EDC # LATIN CAPITAL LETTER O WITH HORN AND GRAVE + : "ờ" U1EDD # LATIN SMALL LETTER O WITH HORN AND GRAVE + : "ờ" U1EDD # LATIN SMALL LETTER O WITH HORN AND GRAVE + : "ờ" U1EDD # LATIN SMALL LETTER O WITH HORN AND GRAVE + : "ờ" U1EDD # LATIN SMALL LETTER O WITH HORN AND GRAVE + : "ờ" U1EDD # LATIN SMALL LETTER O WITH HORN AND GRAVE + : "ờ" U1EDD # LATIN SMALL LETTER O WITH HORN AND GRAVE + : "Ở" U1EDE # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE + : "Ở" U1EDE # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE + : "Ở" U1EDE # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE + : "Ở" U1EDE # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE + : "Ở" U1EDE # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE + : "Ở" U1EDE # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE + : "ở" U1EDF # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE + : "ở" U1EDF # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE + : "ở" U1EDF # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE + : "ở" U1EDF # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE + : "ở" U1EDF # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE + : "ở" U1EDF # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE + : "Ỡ" U1EE0 # LATIN CAPITAL LETTER O WITH HORN AND TILDE + : "Ỡ" U1EE0 # LATIN CAPITAL LETTER O WITH HORN AND TILDE + : "Ỡ" U1EE0 # LATIN CAPITAL LETTER O WITH HORN AND TILDE + : "Ỡ" U1EE0 # LATIN CAPITAL LETTER O WITH HORN AND TILDE + : "Ỡ" U1EE0 # LATIN CAPITAL LETTER O WITH HORN AND TILDE + : "Ỡ" U1EE0 # LATIN CAPITAL LETTER O WITH HORN AND TILDE + : "ỡ" U1EE1 # LATIN SMALL LETTER O WITH HORN AND TILDE + : "ỡ" U1EE1 # LATIN SMALL LETTER O WITH HORN AND TILDE + : "ỡ" U1EE1 # LATIN SMALL LETTER O WITH HORN AND TILDE + : "ỡ" U1EE1 # LATIN SMALL LETTER O WITH HORN AND TILDE + : "ỡ" U1EE1 # LATIN SMALL LETTER O WITH HORN AND TILDE + : "ỡ" U1EE1 # LATIN SMALL LETTER O WITH HORN AND TILDE + : "Ợ" U1EE2 # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW + : "Ợ" U1EE2 # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW + : "Ợ" U1EE2 # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW + : "Ợ" U1EE2 # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW + : "Ợ" U1EE2 # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW + : "Ợ" U1EE2 # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW + : "ợ" U1EE3 # LATIN SMALL LETTER O WITH HORN AND DOT BELOW + : "ợ" U1EE3 # LATIN SMALL LETTER O WITH HORN AND DOT BELOW + : "ợ" U1EE3 # LATIN SMALL LETTER O WITH HORN AND DOT BELOW + : "ợ" U1EE3 # LATIN SMALL LETTER O WITH HORN AND DOT BELOW + : "ợ" U1EE3 # LATIN SMALL LETTER O WITH HORN AND DOT BELOW + : "ợ" U1EE3 # LATIN SMALL LETTER O WITH HORN AND DOT BELOW + : "Ụ" U1EE4 # LATIN CAPITAL LETTER U WITH DOT BELOW + : "Ụ" U1EE4 # LATIN CAPITAL LETTER U WITH DOT BELOW + : "ụ" U1EE5 # LATIN SMALL LETTER U WITH DOT BELOW + : "ụ" U1EE5 # LATIN SMALL LETTER U WITH DOT BELOW + : "Ủ" U1EE6 # LATIN CAPITAL LETTER U WITH HOOK ABOVE + : "Ủ" U1EE6 # LATIN CAPITAL LETTER U WITH HOOK ABOVE + : "ủ" U1EE7 # LATIN SMALL LETTER U WITH HOOK ABOVE + : "ủ" U1EE7 # LATIN SMALL LETTER U WITH HOOK ABOVE + : "Ứ" U1EE8 # LATIN CAPITAL LETTER U WITH HORN AND ACUTE + : "Ứ" U1EE8 # LATIN CAPITAL LETTER U WITH HORN AND ACUTE + : "Ứ" U1EE8 # LATIN CAPITAL LETTER U WITH HORN AND ACUTE + : "Ứ" U1EE8 # LATIN CAPITAL LETTER U WITH HORN AND ACUTE + : "Ứ" U1EE8 # LATIN CAPITAL LETTER U WITH HORN AND ACUTE + : "Ứ" U1EE8 # LATIN CAPITAL LETTER U WITH HORN AND ACUTE + : "Ứ" U1EE8 # LATIN CAPITAL LETTER U WITH HORN AND ACUTE + : "Ứ" U1EE8 # LATIN CAPITAL LETTER U WITH HORN AND ACUTE + : "Ứ" U1EE8 # LATIN CAPITAL LETTER U WITH HORN AND ACUTE + : "ứ" U1EE9 # LATIN SMALL LETTER U WITH HORN AND ACUTE + : "ứ" U1EE9 # LATIN SMALL LETTER U WITH HORN AND ACUTE + : "ứ" U1EE9 # LATIN SMALL LETTER U WITH HORN AND ACUTE + : "ứ" U1EE9 # LATIN SMALL LETTER U WITH HORN AND ACUTE + : "ứ" U1EE9 # LATIN SMALL LETTER U WITH HORN AND ACUTE + : "ứ" U1EE9 # LATIN SMALL LETTER U WITH HORN AND ACUTE + : "ứ" U1EE9 # LATIN SMALL LETTER U WITH HORN AND ACUTE + : "ứ" U1EE9 # LATIN SMALL LETTER U WITH HORN AND ACUTE + : "ứ" U1EE9 # LATIN SMALL LETTER U WITH HORN AND ACUTE + : "Ừ" U1EEA # LATIN CAPITAL LETTER U WITH HORN AND GRAVE + : "Ừ" U1EEA # LATIN CAPITAL LETTER U WITH HORN AND GRAVE + : "Ừ" U1EEA # LATIN CAPITAL LETTER U WITH HORN AND GRAVE + : "Ừ" U1EEA # LATIN CAPITAL LETTER U WITH HORN AND GRAVE + : "Ừ" U1EEA # LATIN CAPITAL LETTER U WITH HORN AND GRAVE + : "Ừ" U1EEA # LATIN CAPITAL LETTER U WITH HORN AND GRAVE + : "ừ" U1EEB # LATIN SMALL LETTER U WITH HORN AND GRAVE + : "ừ" U1EEB # LATIN SMALL LETTER U WITH HORN AND GRAVE + : "ừ" U1EEB # LATIN SMALL LETTER U WITH HORN AND GRAVE + : "ừ" U1EEB # LATIN SMALL LETTER U WITH HORN AND GRAVE + : "ừ" U1EEB # LATIN SMALL LETTER U WITH HORN AND GRAVE + : "ừ" U1EEB # LATIN SMALL LETTER U WITH HORN AND GRAVE + : "Ử" U1EEC # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE + : "Ử" U1EEC # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE + : "Ử" U1EEC # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE + : "Ử" U1EEC # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE + : "Ử" U1EEC # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE + : "Ử" U1EEC # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE + : "ử" U1EED # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE + : "ử" U1EED # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE + : "ử" U1EED # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE + : "ử" U1EED # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE + : "ử" U1EED # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE + : "ử" U1EED # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE + : "Ữ" U1EEE # LATIN CAPITAL LETTER U WITH HORN AND TILDE + : "Ữ" U1EEE # LATIN CAPITAL LETTER U WITH HORN AND TILDE + : "Ữ" U1EEE # LATIN CAPITAL LETTER U WITH HORN AND TILDE + : "Ữ" U1EEE # LATIN CAPITAL LETTER U WITH HORN AND TILDE + : "Ữ" U1EEE # LATIN CAPITAL LETTER U WITH HORN AND TILDE + : "Ữ" U1EEE # LATIN CAPITAL LETTER U WITH HORN AND TILDE + : "ữ" U1EEF # LATIN SMALL LETTER U WITH HORN AND TILDE + : "ữ" U1EEF # LATIN SMALL LETTER U WITH HORN AND TILDE + : "ữ" U1EEF # LATIN SMALL LETTER U WITH HORN AND TILDE + : "ữ" U1EEF # LATIN SMALL LETTER U WITH HORN AND TILDE + : "ữ" U1EEF # LATIN SMALL LETTER U WITH HORN AND TILDE + : "ữ" U1EEF # LATIN SMALL LETTER U WITH HORN AND TILDE + : "Ự" U1EF0 # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW + : "Ự" U1EF0 # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW + : "Ự" U1EF0 # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW + : "Ự" U1EF0 # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW + : "Ự" U1EF0 # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW + : "Ự" U1EF0 # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW + : "ự" U1EF1 # LATIN SMALL LETTER U WITH HORN AND DOT BELOW + : "ự" U1EF1 # LATIN SMALL LETTER U WITH HORN AND DOT BELOW + : "ự" U1EF1 # LATIN SMALL LETTER U WITH HORN AND DOT BELOW + : "ự" U1EF1 # LATIN SMALL LETTER U WITH HORN AND DOT BELOW + : "ự" U1EF1 # LATIN SMALL LETTER U WITH HORN AND DOT BELOW + : "ự" U1EF1 # LATIN SMALL LETTER U WITH HORN AND DOT BELOW + : "Ỳ" U1EF2 # LATIN CAPITAL LETTER Y WITH GRAVE + : "Ỳ" U1EF2 # LATIN CAPITAL LETTER Y WITH GRAVE + : "ỳ" U1EF3 # LATIN SMALL LETTER Y WITH GRAVE + : "ỳ" U1EF3 # LATIN SMALL LETTER Y WITH GRAVE + : "Ỵ" U1EF4 # LATIN CAPITAL LETTER Y WITH DOT BELOW + : "Ỵ" U1EF4 # LATIN CAPITAL LETTER Y WITH DOT BELOW + : "ỵ" U1EF5 # LATIN SMALL LETTER Y WITH DOT BELOW + : "ỵ" U1EF5 # LATIN SMALL LETTER Y WITH DOT BELOW + : "Ỷ" U1EF6 # LATIN CAPITAL LETTER Y WITH HOOK ABOVE + : "Ỷ" U1EF6 # LATIN CAPITAL LETTER Y WITH HOOK ABOVE + : "ỷ" U1EF7 # LATIN SMALL LETTER Y WITH HOOK ABOVE + : "ỷ" U1EF7 # LATIN SMALL LETTER Y WITH HOOK ABOVE + : "Ỹ" U1EF8 # LATIN CAPITAL LETTER Y WITH TILDE + : "Ỹ" U1EF8 # LATIN CAPITAL LETTER Y WITH TILDE + : "ỹ" U1EF9 # LATIN SMALL LETTER Y WITH TILDE + : "ỹ" U1EF9 # LATIN SMALL LETTER Y WITH TILDE + : "ἀ" U1F00 # GREEK SMALL LETTER ALPHA WITH PSILI + : "ἀ" U1F00 # GREEK SMALL LETTER ALPHA WITH PSILI + : "ἁ" U1F01 # GREEK SMALL LETTER ALPHA WITH DASIA + : "ἁ" U1F01 # GREEK SMALL LETTER ALPHA WITH DASIA + : "ἂ" U1F02 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA + : "ἂ" U1F02 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA + : "ἂ" U1F02 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA + : "ἂ" U1F02 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA + : "ἂ" U1F02 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA + : "ἂ" U1F02 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA + : "ἃ" U1F03 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA + : "ἃ" U1F03 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA + : "ἃ" U1F03 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA + : "ἃ" U1F03 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA + : "ἃ" U1F03 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA + : "ἃ" U1F03 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA + : "ἄ" U1F04 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA + : "ἄ" U1F04 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA + : "ἄ" U1F04 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA + : "ἄ" U1F04 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA + : "ἄ" U1F04 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA + : "ἄ" U1F04 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA + : "ἄ" U1F04 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA + : "ἄ" U1F04 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA + : "ἄ" U1F04 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA + : "ἅ" U1F05 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA + : "ἅ" U1F05 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA + : "ἅ" U1F05 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA + : "ἅ" U1F05 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA + : "ἅ" U1F05 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA + : "ἅ" U1F05 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA + : "ἅ" U1F05 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA + : "ἅ" U1F05 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA + : "ἅ" U1F05 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA + : "ἆ" U1F06 # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI + : "ἆ" U1F06 # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI + : "ἆ" U1F06 # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI + : "ἆ" U1F06 # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI + : "ἆ" U1F06 # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI + : "ἆ" U1F06 # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI + : "ἇ" U1F07 # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI + : "ἇ" U1F07 # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI + : "ἇ" U1F07 # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI + : "ἇ" U1F07 # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI + : "ἇ" U1F07 # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI + : "ἇ" U1F07 # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI + : "Ἀ" U1F08 # GREEK CAPITAL LETTER ALPHA WITH PSILI + : "Ἀ" U1F08 # GREEK CAPITAL LETTER ALPHA WITH PSILI + : "Ἁ" U1F09 # GREEK CAPITAL LETTER ALPHA WITH DASIA + : "Ἁ" U1F09 # GREEK CAPITAL LETTER ALPHA WITH DASIA + : "Ἂ" U1F0A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA + : "Ἂ" U1F0A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA + : "Ἂ" U1F0A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA + : "Ἂ" U1F0A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA + : "Ἂ" U1F0A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA + : "Ἂ" U1F0A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA + : "Ἃ" U1F0B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA + : "Ἃ" U1F0B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA + : "Ἃ" U1F0B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA + : "Ἃ" U1F0B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA + : "Ἃ" U1F0B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA + : "Ἃ" U1F0B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA + : "Ἄ" U1F0C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA + : "Ἄ" U1F0C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA + : "Ἄ" U1F0C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA + : "Ἄ" U1F0C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA + : "Ἄ" U1F0C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA + : "Ἄ" U1F0C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA + : "Ἄ" U1F0C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA + : "Ἄ" U1F0C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA + : "Ἄ" U1F0C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA + : "Ἅ" U1F0D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA + : "Ἅ" U1F0D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA + : "Ἅ" U1F0D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA + : "Ἅ" U1F0D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA + : "Ἅ" U1F0D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA + : "Ἅ" U1F0D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA + : "Ἅ" U1F0D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA + : "Ἅ" U1F0D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA + : "Ἅ" U1F0D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA + : "Ἆ" U1F0E # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI + : "Ἆ" U1F0E # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI + : "Ἆ" U1F0E # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI + : "Ἆ" U1F0E # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI + : "Ἆ" U1F0E # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI + : "Ἆ" U1F0E # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI + : "Ἇ" U1F0F # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI + : "Ἇ" U1F0F # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI + : "Ἇ" U1F0F # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI + : "Ἇ" U1F0F # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI + : "Ἇ" U1F0F # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI + : "Ἇ" U1F0F # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI + : "ἐ" U1F10 # GREEK SMALL LETTER EPSILON WITH PSILI + : "ἐ" U1F10 # GREEK SMALL LETTER EPSILON WITH PSILI + : "ἑ" U1F11 # GREEK SMALL LETTER EPSILON WITH DASIA + : "ἑ" U1F11 # GREEK SMALL LETTER EPSILON WITH DASIA + : "ἒ" U1F12 # GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA + : "ἒ" U1F12 # GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA + : "ἒ" U1F12 # GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA + : "ἒ" U1F12 # GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA + : "ἒ" U1F12 # GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA + : "ἒ" U1F12 # GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA + : "ἓ" U1F13 # GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA + : "ἓ" U1F13 # GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA + : "ἓ" U1F13 # GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA + : "ἓ" U1F13 # GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA + : "ἓ" U1F13 # GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA + : "ἓ" U1F13 # GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA + : "ἔ" U1F14 # GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA + : "ἔ" U1F14 # GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA + : "ἔ" U1F14 # GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA + : "ἔ" U1F14 # GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA + : "ἔ" U1F14 # GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA + : "ἔ" U1F14 # GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA + : "ἔ" U1F14 # GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA + : "ἔ" U1F14 # GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA + : "ἔ" U1F14 # GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA + : "ἕ" U1F15 # GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA + : "ἕ" U1F15 # GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA + : "ἕ" U1F15 # GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA + : "ἕ" U1F15 # GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA + : "ἕ" U1F15 # GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA + : "ἕ" U1F15 # GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA + : "ἕ" U1F15 # GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA + : "ἕ" U1F15 # GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA + : "ἕ" U1F15 # GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA + : "Ἐ" U1F18 # GREEK CAPITAL LETTER EPSILON WITH PSILI + : "Ἐ" U1F18 # GREEK CAPITAL LETTER EPSILON WITH PSILI + : "Ἑ" U1F19 # GREEK CAPITAL LETTER EPSILON WITH DASIA + : "Ἑ" U1F19 # GREEK CAPITAL LETTER EPSILON WITH DASIA + : "Ἒ" U1F1A # GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA + : "Ἒ" U1F1A # GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA + : "Ἒ" U1F1A # GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA + : "Ἒ" U1F1A # GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA + : "Ἒ" U1F1A # GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA + : "Ἒ" U1F1A # GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA + : "Ἓ" U1F1B # GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA + : "Ἓ" U1F1B # GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA + : "Ἓ" U1F1B # GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA + : "Ἓ" U1F1B # GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA + : "Ἓ" U1F1B # GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA + : "Ἓ" U1F1B # GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA + : "Ἔ" U1F1C # GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA + : "Ἔ" U1F1C # GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA + : "Ἔ" U1F1C # GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA + : "Ἔ" U1F1C # GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA + : "Ἔ" U1F1C # GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA + : "Ἔ" U1F1C # GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA + : "Ἔ" U1F1C # GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA + : "Ἔ" U1F1C # GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA + : "Ἔ" U1F1C # GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA + : "Ἕ" U1F1D # GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA + : "Ἕ" U1F1D # GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA + : "Ἕ" U1F1D # GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA + : "Ἕ" U1F1D # GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA + : "Ἕ" U1F1D # GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA + : "Ἕ" U1F1D # GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA + : "Ἕ" U1F1D # GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA + : "Ἕ" U1F1D # GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA + : "Ἕ" U1F1D # GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA + : "ἠ" U1F20 # GREEK SMALL LETTER ETA WITH PSILI + : "ἠ" U1F20 # GREEK SMALL LETTER ETA WITH PSILI + : "ἡ" U1F21 # GREEK SMALL LETTER ETA WITH DASIA + : "ἡ" U1F21 # GREEK SMALL LETTER ETA WITH DASIA + : "ἢ" U1F22 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA + : "ἢ" U1F22 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA + : "ἢ" U1F22 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA + : "ἢ" U1F22 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA + : "ἢ" U1F22 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA + : "ἢ" U1F22 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA + : "ἣ" U1F23 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA + : "ἣ" U1F23 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA + : "ἣ" U1F23 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA + : "ἣ" U1F23 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA + : "ἣ" U1F23 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA + : "ἣ" U1F23 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA + : "ἤ" U1F24 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA + : "ἤ" U1F24 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA + : "ἤ" U1F24 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA + : "ἤ" U1F24 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA + : "ἤ" U1F24 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA + : "ἤ" U1F24 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA + : "ἤ" U1F24 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA + : "ἤ" U1F24 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA + : "ἤ" U1F24 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA + : "ἥ" U1F25 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA + : "ἥ" U1F25 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA + : "ἥ" U1F25 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA + : "ἥ" U1F25 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA + : "ἥ" U1F25 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA + : "ἥ" U1F25 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA + : "ἥ" U1F25 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA + : "ἥ" U1F25 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA + : "ἥ" U1F25 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA + : "ἦ" U1F26 # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI + : "ἦ" U1F26 # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI + : "ἦ" U1F26 # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI + : "ἦ" U1F26 # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI + : "ἦ" U1F26 # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI + : "ἦ" U1F26 # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI + : "ἧ" U1F27 # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI + : "ἧ" U1F27 # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI + : "ἧ" U1F27 # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI + : "ἧ" U1F27 # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI + : "ἧ" U1F27 # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI + : "ἧ" U1F27 # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI + : "Ἠ" U1F28 # GREEK CAPITAL LETTER ETA WITH PSILI + : "Ἠ" U1F28 # GREEK CAPITAL LETTER ETA WITH PSILI + : "Ἡ" U1F29 # GREEK CAPITAL LETTER ETA WITH DASIA + : "Ἡ" U1F29 # GREEK CAPITAL LETTER ETA WITH DASIA + : "Ἢ" U1F2A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA + : "Ἢ" U1F2A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA + : "Ἢ" U1F2A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA + : "Ἢ" U1F2A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA + : "Ἢ" U1F2A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA + : "Ἢ" U1F2A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA + : "Ἣ" U1F2B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA + : "Ἣ" U1F2B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA + : "Ἣ" U1F2B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA + : "Ἣ" U1F2B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA + : "Ἣ" U1F2B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA + : "Ἣ" U1F2B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA + : "Ἤ" U1F2C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA + : "Ἤ" U1F2C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA + : "Ἤ" U1F2C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA + : "Ἤ" U1F2C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA + : "Ἤ" U1F2C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA + : "Ἤ" U1F2C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA + : "Ἤ" U1F2C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA + : "Ἤ" U1F2C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA + : "Ἤ" U1F2C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA + : "Ἥ" U1F2D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA + : "Ἥ" U1F2D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA + : "Ἥ" U1F2D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA + : "Ἥ" U1F2D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA + : "Ἥ" U1F2D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA + : "Ἥ" U1F2D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA + : "Ἥ" U1F2D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA + : "Ἥ" U1F2D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA + : "Ἥ" U1F2D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA + : "Ἦ" U1F2E # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI + : "Ἦ" U1F2E # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI + : "Ἦ" U1F2E # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI + : "Ἦ" U1F2E # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI + : "Ἦ" U1F2E # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI + : "Ἦ" U1F2E # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI + : "Ἧ" U1F2F # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI + : "Ἧ" U1F2F # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI + : "Ἧ" U1F2F # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI + : "Ἧ" U1F2F # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI + : "Ἧ" U1F2F # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI + : "Ἧ" U1F2F # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI + : "ἰ" U1F30 # GREEK SMALL LETTER IOTA WITH PSILI + : "ἰ" U1F30 # GREEK SMALL LETTER IOTA WITH PSILI + : "ἱ" U1F31 # GREEK SMALL LETTER IOTA WITH DASIA + : "ἱ" U1F31 # GREEK SMALL LETTER IOTA WITH DASIA + : "ἲ" U1F32 # GREEK SMALL LETTER IOTA WITH PSILI AND VARIA + : "ἲ" U1F32 # GREEK SMALL LETTER IOTA WITH PSILI AND VARIA + : "ἲ" U1F32 # GREEK SMALL LETTER IOTA WITH PSILI AND VARIA + : "ἲ" U1F32 # GREEK SMALL LETTER IOTA WITH PSILI AND VARIA + : "ἲ" U1F32 # GREEK SMALL LETTER IOTA WITH PSILI AND VARIA + : "ἲ" U1F32 # GREEK SMALL LETTER IOTA WITH PSILI AND VARIA + : "ἳ" U1F33 # GREEK SMALL LETTER IOTA WITH DASIA AND VARIA + : "ἳ" U1F33 # GREEK SMALL LETTER IOTA WITH DASIA AND VARIA + : "ἳ" U1F33 # GREEK SMALL LETTER IOTA WITH DASIA AND VARIA + : "ἳ" U1F33 # GREEK SMALL LETTER IOTA WITH DASIA AND VARIA + : "ἳ" U1F33 # GREEK SMALL LETTER IOTA WITH DASIA AND VARIA + : "ἳ" U1F33 # GREEK SMALL LETTER IOTA WITH DASIA AND VARIA + : "ἴ" U1F34 # GREEK SMALL LETTER IOTA WITH PSILI AND OXIA + : "ἴ" U1F34 # GREEK SMALL LETTER IOTA WITH PSILI AND OXIA + : "ἴ" U1F34 # GREEK SMALL LETTER IOTA WITH PSILI AND OXIA + : "ἴ" U1F34 # GREEK SMALL LETTER IOTA WITH PSILI AND OXIA + : "ἴ" U1F34 # GREEK SMALL LETTER IOTA WITH PSILI AND OXIA + : "ἴ" U1F34 # GREEK SMALL LETTER IOTA WITH PSILI AND OXIA + : "ἴ" U1F34 # GREEK SMALL LETTER IOTA WITH PSILI AND OXIA + : "ἴ" U1F34 # GREEK SMALL LETTER IOTA WITH PSILI AND OXIA + : "ἴ" U1F34 # GREEK SMALL LETTER IOTA WITH PSILI AND OXIA + : "ἵ" U1F35 # GREEK SMALL LETTER IOTA WITH DASIA AND OXIA + : "ἵ" U1F35 # GREEK SMALL LETTER IOTA WITH DASIA AND OXIA + : "ἵ" U1F35 # GREEK SMALL LETTER IOTA WITH DASIA AND OXIA + : "ἵ" U1F35 # GREEK SMALL LETTER IOTA WITH DASIA AND OXIA + : "ἵ" U1F35 # GREEK SMALL LETTER IOTA WITH DASIA AND OXIA + : "ἵ" U1F35 # GREEK SMALL LETTER IOTA WITH DASIA AND OXIA + : "ἵ" U1F35 # GREEK SMALL LETTER IOTA WITH DASIA AND OXIA + : "ἵ" U1F35 # GREEK SMALL LETTER IOTA WITH DASIA AND OXIA + : "ἵ" U1F35 # GREEK SMALL LETTER IOTA WITH DASIA AND OXIA + : "ἶ" U1F36 # GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI + : "ἶ" U1F36 # GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI + : "ἶ" U1F36 # GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI + : "ἶ" U1F36 # GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI + : "ἶ" U1F36 # GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI + : "ἶ" U1F36 # GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI + : "ἷ" U1F37 # GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI + : "ἷ" U1F37 # GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI + : "ἷ" U1F37 # GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI + : "ἷ" U1F37 # GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI + : "ἷ" U1F37 # GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI + : "ἷ" U1F37 # GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI + : "Ἰ" U1F38 # GREEK CAPITAL LETTER IOTA WITH PSILI + : "Ἰ" U1F38 # GREEK CAPITAL LETTER IOTA WITH PSILI + : "Ἱ" U1F39 # GREEK CAPITAL LETTER IOTA WITH DASIA + : "Ἱ" U1F39 # GREEK CAPITAL LETTER IOTA WITH DASIA + : "Ἲ" U1F3A # GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA + : "Ἲ" U1F3A # GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA + : "Ἲ" U1F3A # GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA + : "Ἲ" U1F3A # GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA + : "Ἲ" U1F3A # GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA + : "Ἲ" U1F3A # GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA + : "Ἳ" U1F3B # GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA + : "Ἳ" U1F3B # GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA + : "Ἳ" U1F3B # GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA + : "Ἳ" U1F3B # GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA + : "Ἳ" U1F3B # GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA + : "Ἳ" U1F3B # GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA + : "Ἴ" U1F3C # GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA + : "Ἴ" U1F3C # GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA + : "Ἴ" U1F3C # GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA + : "Ἴ" U1F3C # GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA + : "Ἴ" U1F3C # GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA + : "Ἴ" U1F3C # GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA + : "Ἴ" U1F3C # GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA + : "Ἴ" U1F3C # GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA + : "Ἴ" U1F3C # GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA + : "Ἵ" U1F3D # GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA + : "Ἵ" U1F3D # GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA + : "Ἵ" U1F3D # GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA + : "Ἵ" U1F3D # GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA + : "Ἵ" U1F3D # GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA + : "Ἵ" U1F3D # GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA + : "Ἵ" U1F3D # GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA + : "Ἵ" U1F3D # GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA + : "Ἵ" U1F3D # GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA + : "Ἶ" U1F3E # GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI + : "Ἶ" U1F3E # GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI + : "Ἶ" U1F3E # GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI + : "Ἶ" U1F3E # GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI + : "Ἶ" U1F3E # GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI + : "Ἶ" U1F3E # GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI + : "Ἷ" U1F3F # GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI + : "Ἷ" U1F3F # GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI + : "Ἷ" U1F3F # GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI + : "Ἷ" U1F3F # GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI + : "Ἷ" U1F3F # GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI + : "Ἷ" U1F3F # GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI + : "ὀ" U1F40 # GREEK SMALL LETTER OMICRON WITH PSILI + : "ὀ" U1F40 # GREEK SMALL LETTER OMICRON WITH PSILI + : "ὁ" U1F41 # GREEK SMALL LETTER OMICRON WITH DASIA + : "ὁ" U1F41 # GREEK SMALL LETTER OMICRON WITH DASIA + : "ὂ" U1F42 # GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA + : "ὂ" U1F42 # GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA + : "ὂ" U1F42 # GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA + : "ὂ" U1F42 # GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA + : "ὂ" U1F42 # GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA + : "ὂ" U1F42 # GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA + : "ὃ" U1F43 # GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA + : "ὃ" U1F43 # GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA + : "ὃ" U1F43 # GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA + : "ὃ" U1F43 # GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA + : "ὃ" U1F43 # GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA + : "ὃ" U1F43 # GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA + : "ὄ" U1F44 # GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA + : "ὄ" U1F44 # GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA + : "ὄ" U1F44 # GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA + : "ὄ" U1F44 # GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA + : "ὄ" U1F44 # GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA + : "ὄ" U1F44 # GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA + : "ὄ" U1F44 # GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA + : "ὄ" U1F44 # GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA + : "ὄ" U1F44 # GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA + : "ὅ" U1F45 # GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA + : "ὅ" U1F45 # GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA + : "ὅ" U1F45 # GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA + : "ὅ" U1F45 # GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA + : "ὅ" U1F45 # GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA + : "ὅ" U1F45 # GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA + : "ὅ" U1F45 # GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA + : "ὅ" U1F45 # GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA + : "ὅ" U1F45 # GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA + : "Ὀ" U1F48 # GREEK CAPITAL LETTER OMICRON WITH PSILI + : "Ὀ" U1F48 # GREEK CAPITAL LETTER OMICRON WITH PSILI + : "Ὁ" U1F49 # GREEK CAPITAL LETTER OMICRON WITH DASIA + : "Ὁ" U1F49 # GREEK CAPITAL LETTER OMICRON WITH DASIA + : "Ὂ" U1F4A # GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA + : "Ὂ" U1F4A # GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA + : "Ὂ" U1F4A # GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA + : "Ὂ" U1F4A # GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA + : "Ὂ" U1F4A # GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA + : "Ὂ" U1F4A # GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA + : "Ὃ" U1F4B # GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA + : "Ὃ" U1F4B # GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA + : "Ὃ" U1F4B # GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA + : "Ὃ" U1F4B # GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA + : "Ὃ" U1F4B # GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA + : "Ὃ" U1F4B # GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA + : "Ὄ" U1F4C # GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA + : "Ὄ" U1F4C # GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA + : "Ὄ" U1F4C # GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA + : "Ὄ" U1F4C # GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA + : "Ὄ" U1F4C # GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA + : "Ὄ" U1F4C # GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA + : "Ὄ" U1F4C # GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA + : "Ὄ" U1F4C # GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA + : "Ὄ" U1F4C # GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA + : "Ὅ" U1F4D # GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA + : "Ὅ" U1F4D # GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA + : "Ὅ" U1F4D # GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA + : "Ὅ" U1F4D # GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA + : "Ὅ" U1F4D # GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA + : "Ὅ" U1F4D # GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA + : "Ὅ" U1F4D # GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA + : "Ὅ" U1F4D # GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA + : "Ὅ" U1F4D # GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA + : "ὐ" U1F50 # GREEK SMALL LETTER UPSILON WITH PSILI + : "ὐ" U1F50 # GREEK SMALL LETTER UPSILON WITH PSILI + : "ὑ" U1F51 # GREEK SMALL LETTER UPSILON WITH DASIA + : "ὑ" U1F51 # GREEK SMALL LETTER UPSILON WITH DASIA + : "ὒ" U1F52 # GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA + : "ὒ" U1F52 # GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA + : "ὒ" U1F52 # GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA + : "ὒ" U1F52 # GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA + : "ὒ" U1F52 # GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA + : "ὒ" U1F52 # GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA + : "ὓ" U1F53 # GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA + : "ὓ" U1F53 # GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA + : "ὓ" U1F53 # GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA + : "ὓ" U1F53 # GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA + : "ὓ" U1F53 # GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA + : "ὓ" U1F53 # GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA + : "ὔ" U1F54 # GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA + : "ὔ" U1F54 # GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA + : "ὔ" U1F54 # GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA + : "ὔ" U1F54 # GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA + : "ὔ" U1F54 # GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA + : "ὔ" U1F54 # GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA + : "ὔ" U1F54 # GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA + : "ὔ" U1F54 # GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA + : "ὔ" U1F54 # GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA + : "ὕ" U1F55 # GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA + : "ὕ" U1F55 # GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA + : "ὕ" U1F55 # GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA + : "ὕ" U1F55 # GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA + : "ὕ" U1F55 # GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA + : "ὕ" U1F55 # GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA + : "ὕ" U1F55 # GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA + : "ὕ" U1F55 # GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA + : "ὕ" U1F55 # GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA + : "ὖ" U1F56 # GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI + : "ὖ" U1F56 # GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI + : "ὖ" U1F56 # GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI + : "ὖ" U1F56 # GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI + : "ὖ" U1F56 # GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI + : "ὖ" U1F56 # GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI + : "ὗ" U1F57 # GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI + : "ὗ" U1F57 # GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI + : "ὗ" U1F57 # GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI + : "ὗ" U1F57 # GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI + : "ὗ" U1F57 # GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI + : "ὗ" U1F57 # GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI + : "Ὑ" U1F59 # GREEK CAPITAL LETTER UPSILON WITH DASIA + : "Ὑ" U1F59 # GREEK CAPITAL LETTER UPSILON WITH DASIA + : "Ὓ" U1F5B # GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA + : "Ὓ" U1F5B # GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA + : "Ὓ" U1F5B # GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA + : "Ὓ" U1F5B # GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA + : "Ὓ" U1F5B # GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA + : "Ὓ" U1F5B # GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA + : "Ὕ" U1F5D # GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA + : "Ὕ" U1F5D # GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA + : "Ὕ" U1F5D # GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA + : "Ὕ" U1F5D # GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA + : "Ὕ" U1F5D # GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA + : "Ὕ" U1F5D # GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA + : "Ὕ" U1F5D # GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA + : "Ὕ" U1F5D # GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA + : "Ὕ" U1F5D # GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA + : "Ὗ" U1F5F # GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI + : "Ὗ" U1F5F # GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI + : "Ὗ" U1F5F # GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI + : "Ὗ" U1F5F # GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI + : "Ὗ" U1F5F # GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI + : "Ὗ" U1F5F # GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI + : "ὠ" U1F60 # GREEK SMALL LETTER OMEGA WITH PSILI + : "ὠ" U1F60 # GREEK SMALL LETTER OMEGA WITH PSILI + : "ὡ" U1F61 # GREEK SMALL LETTER OMEGA WITH DASIA + : "ὡ" U1F61 # GREEK SMALL LETTER OMEGA WITH DASIA + : "ὢ" U1F62 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA + : "ὢ" U1F62 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA + : "ὢ" U1F62 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA + : "ὢ" U1F62 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA + : "ὢ" U1F62 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA + : "ὢ" U1F62 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA + : "ὣ" U1F63 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA + : "ὣ" U1F63 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA + : "ὣ" U1F63 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA + : "ὣ" U1F63 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA + : "ὣ" U1F63 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA + : "ὣ" U1F63 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA + : "ὤ" U1F64 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA + : "ὤ" U1F64 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA + : "ὤ" U1F64 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA + : "ὤ" U1F64 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA + : "ὤ" U1F64 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA + : "ὤ" U1F64 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA + : "ὤ" U1F64 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA + : "ὤ" U1F64 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA + : "ὤ" U1F64 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA + : "ὥ" U1F65 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA + : "ὥ" U1F65 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA + : "ὥ" U1F65 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA + : "ὥ" U1F65 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA + : "ὥ" U1F65 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA + : "ὥ" U1F65 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA + : "ὥ" U1F65 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA + : "ὥ" U1F65 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA + : "ὥ" U1F65 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA + : "ὦ" U1F66 # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI + : "ὦ" U1F66 # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI + : "ὦ" U1F66 # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI + : "ὦ" U1F66 # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI + : "ὦ" U1F66 # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI + : "ὦ" U1F66 # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI + : "ὧ" U1F67 # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI + : "ὧ" U1F67 # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI + : "ὧ" U1F67 # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI + : "ὧ" U1F67 # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI + : "ὧ" U1F67 # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI + : "ὧ" U1F67 # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI + : "Ὠ" U1F68 # GREEK CAPITAL LETTER OMEGA WITH PSILI + : "Ὠ" U1F68 # GREEK CAPITAL LETTER OMEGA WITH PSILI + : "Ὡ" U1F69 # GREEK CAPITAL LETTER OMEGA WITH DASIA + : "Ὡ" U1F69 # GREEK CAPITAL LETTER OMEGA WITH DASIA + : "Ὢ" U1F6A # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA + : "Ὢ" U1F6A # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA + : "Ὢ" U1F6A # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA + : "Ὢ" U1F6A # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA + : "Ὢ" U1F6A # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA + : "Ὢ" U1F6A # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA + : "Ὣ" U1F6B # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA + : "Ὣ" U1F6B # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA + : "Ὣ" U1F6B # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA + : "Ὣ" U1F6B # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA + : "Ὣ" U1F6B # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA + : "Ὣ" U1F6B # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA + : "Ὤ" U1F6C # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA + : "Ὤ" U1F6C # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA + : "Ὤ" U1F6C # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA + : "Ὤ" U1F6C # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA + : "Ὤ" U1F6C # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA + : "Ὤ" U1F6C # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA + : "Ὤ" U1F6C # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA + : "Ὤ" U1F6C # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA + : "Ὤ" U1F6C # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA + : "Ὥ" U1F6D # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA + : "Ὥ" U1F6D # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA + : "Ὥ" U1F6D # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA + : "Ὥ" U1F6D # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA + : "Ὥ" U1F6D # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA + : "Ὥ" U1F6D # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA + : "Ὥ" U1F6D # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA + : "Ὥ" U1F6D # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA + : "Ὥ" U1F6D # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA + : "Ὦ" U1F6E # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI + : "Ὦ" U1F6E # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI + : "Ὦ" U1F6E # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI + : "Ὦ" U1F6E # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI + : "Ὦ" U1F6E # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI + : "Ὦ" U1F6E # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI + : "Ὧ" U1F6F # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI + : "Ὧ" U1F6F # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI + : "Ὧ" U1F6F # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI + : "Ὧ" U1F6F # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI + : "Ὧ" U1F6F # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI + : "Ὧ" U1F6F # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI + : "ὰ" U1F70 # GREEK SMALL LETTER ALPHA WITH VARIA + : "ὰ" U1F70 # GREEK SMALL LETTER ALPHA WITH VARIA + : "ὲ" U1F72 # GREEK SMALL LETTER EPSILON WITH VARIA + : "ὲ" U1F72 # GREEK SMALL LETTER EPSILON WITH VARIA + : "ὴ" U1F74 # GREEK SMALL LETTER ETA WITH VARIA + : "ὴ" U1F74 # GREEK SMALL LETTER ETA WITH VARIA + : "ὶ" U1F76 # GREEK SMALL LETTER IOTA WITH VARIA + : "ὶ" U1F76 # GREEK SMALL LETTER IOTA WITH VARIA + : "ὸ" U1F78 # GREEK SMALL LETTER OMICRON WITH VARIA + : "ὸ" U1F78 # GREEK SMALL LETTER OMICRON WITH VARIA + : "ὺ" U1F7A # GREEK SMALL LETTER UPSILON WITH VARIA + : "ὺ" U1F7A # GREEK SMALL LETTER UPSILON WITH VARIA + : "ὼ" U1F7C # GREEK SMALL LETTER OMEGA WITH VARIA + : "ὼ" U1F7C # GREEK SMALL LETTER OMEGA WITH VARIA + : "ᾀ" U1F80 # GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI + : "ᾀ" U1F80 # GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI + : "ᾀ" U1F80 # GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI + : "ᾀ" U1F80 # GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI + : "ᾀ" U1F80 # GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI + : "ᾀ" U1F80 # GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI + : "ᾁ" U1F81 # GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI + : "ᾁ" U1F81 # GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI + : "ᾁ" U1F81 # GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI + : "ᾁ" U1F81 # GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI + : "ᾁ" U1F81 # GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI + : "ᾁ" U1F81 # GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI + : "ᾂ" U1F82 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾂ" U1F82 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾂ" U1F82 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾂ" U1F82 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾂ" U1F82 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾂ" U1F82 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾂ" U1F82 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾂ" U1F82 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾂ" U1F82 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾂ" U1F82 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾂ" U1F82 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾂ" U1F82 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾂ" U1F82 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾂ" U1F82 # GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾃ" U1F83 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾃ" U1F83 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾃ" U1F83 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾃ" U1F83 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾃ" U1F83 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾃ" U1F83 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾃ" U1F83 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾃ" U1F83 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾃ" U1F83 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾃ" U1F83 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾃ" U1F83 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾃ" U1F83 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾃ" U1F83 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾃ" U1F83 # GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾄ" U1F84 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾄ" U1F84 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾄ" U1F84 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾄ" U1F84 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾄ" U1F84 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾄ" U1F84 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾄ" U1F84 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾄ" U1F84 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾄ" U1F84 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾄ" U1F84 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾄ" U1F84 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾄ" U1F84 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾄ" U1F84 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾄ" U1F84 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾄ" U1F84 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾄ" U1F84 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾄ" U1F84 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾄ" U1F84 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾄ" U1F84 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾄ" U1F84 # GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾅ" U1F85 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾅ" U1F85 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾅ" U1F85 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾅ" U1F85 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾅ" U1F85 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾅ" U1F85 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾅ" U1F85 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾅ" U1F85 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾅ" U1F85 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾅ" U1F85 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾅ" U1F85 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾅ" U1F85 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾅ" U1F85 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾅ" U1F85 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾅ" U1F85 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾅ" U1F85 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾅ" U1F85 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾅ" U1F85 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾅ" U1F85 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾅ" U1F85 # GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾆ" U1F86 # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾆ" U1F86 # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾆ" U1F86 # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾆ" U1F86 # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾆ" U1F86 # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾆ" U1F86 # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾆ" U1F86 # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾆ" U1F86 # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾆ" U1F86 # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾆ" U1F86 # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾆ" U1F86 # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾆ" U1F86 # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾆ" U1F86 # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾆ" U1F86 # GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾇ" U1F87 # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾇ" U1F87 # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾇ" U1F87 # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾇ" U1F87 # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾇ" U1F87 # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾇ" U1F87 # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾇ" U1F87 # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾇ" U1F87 # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾇ" U1F87 # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾇ" U1F87 # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾇ" U1F87 # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾇ" U1F87 # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾇ" U1F87 # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾇ" U1F87 # GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾈ" U1F88 # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI + : "ᾈ" U1F88 # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI + : "ᾈ" U1F88 # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI + : "ᾈ" U1F88 # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI + : "ᾈ" U1F88 # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI + : "ᾈ" U1F88 # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI + : "ᾉ" U1F89 # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI + : "ᾉ" U1F89 # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI + : "ᾉ" U1F89 # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI + : "ᾉ" U1F89 # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI + : "ᾉ" U1F89 # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI + : "ᾉ" U1F89 # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI + : "ᾊ" U1F8A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾊ" U1F8A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾊ" U1F8A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾊ" U1F8A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾊ" U1F8A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾊ" U1F8A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾊ" U1F8A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾊ" U1F8A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾊ" U1F8A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾊ" U1F8A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾊ" U1F8A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾊ" U1F8A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾊ" U1F8A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾊ" U1F8A # GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾋ" U1F8B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾋ" U1F8B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾋ" U1F8B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾋ" U1F8B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾋ" U1F8B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾋ" U1F8B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾋ" U1F8B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾋ" U1F8B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾋ" U1F8B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾋ" U1F8B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾋ" U1F8B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾋ" U1F8B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾋ" U1F8B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾋ" U1F8B # GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾌ" U1F8C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾌ" U1F8C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾌ" U1F8C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾌ" U1F8C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾌ" U1F8C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾌ" U1F8C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾌ" U1F8C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾌ" U1F8C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾌ" U1F8C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾌ" U1F8C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾌ" U1F8C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾌ" U1F8C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾌ" U1F8C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾌ" U1F8C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾌ" U1F8C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾌ" U1F8C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾌ" U1F8C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾌ" U1F8C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾌ" U1F8C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾌ" U1F8C # GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾍ" U1F8D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾍ" U1F8D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾍ" U1F8D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾍ" U1F8D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾍ" U1F8D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾍ" U1F8D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾍ" U1F8D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾍ" U1F8D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾍ" U1F8D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾍ" U1F8D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾍ" U1F8D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾍ" U1F8D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾍ" U1F8D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾍ" U1F8D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾍ" U1F8D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾍ" U1F8D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾍ" U1F8D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾍ" U1F8D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾍ" U1F8D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾍ" U1F8D # GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾎ" U1F8E # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾎ" U1F8E # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾎ" U1F8E # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾎ" U1F8E # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾎ" U1F8E # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾎ" U1F8E # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾎ" U1F8E # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾎ" U1F8E # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾎ" U1F8E # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾎ" U1F8E # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾎ" U1F8E # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾎ" U1F8E # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾎ" U1F8E # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾎ" U1F8E # GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾏ" U1F8F # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾏ" U1F8F # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾏ" U1F8F # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾏ" U1F8F # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾏ" U1F8F # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾏ" U1F8F # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾏ" U1F8F # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾏ" U1F8F # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾏ" U1F8F # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾏ" U1F8F # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾏ" U1F8F # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾏ" U1F8F # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾏ" U1F8F # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾏ" U1F8F # GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾐ" U1F90 # GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI + : "ᾐ" U1F90 # GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI + : "ᾐ" U1F90 # GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI + : "ᾐ" U1F90 # GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI + : "ᾐ" U1F90 # GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI + : "ᾐ" U1F90 # GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI + : "ᾑ" U1F91 # GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI + : "ᾑ" U1F91 # GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI + : "ᾑ" U1F91 # GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI + : "ᾑ" U1F91 # GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI + : "ᾑ" U1F91 # GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI + : "ᾑ" U1F91 # GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI + : "ᾒ" U1F92 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾒ" U1F92 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾒ" U1F92 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾒ" U1F92 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾒ" U1F92 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾒ" U1F92 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾒ" U1F92 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾒ" U1F92 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾒ" U1F92 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾒ" U1F92 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾒ" U1F92 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾒ" U1F92 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾒ" U1F92 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾒ" U1F92 # GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾓ" U1F93 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾓ" U1F93 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾓ" U1F93 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾓ" U1F93 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾓ" U1F93 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾓ" U1F93 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾓ" U1F93 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾓ" U1F93 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾓ" U1F93 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾓ" U1F93 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾓ" U1F93 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾓ" U1F93 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾓ" U1F93 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾓ" U1F93 # GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾔ" U1F94 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾔ" U1F94 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾔ" U1F94 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾔ" U1F94 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾔ" U1F94 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾔ" U1F94 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾔ" U1F94 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾔ" U1F94 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾔ" U1F94 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾔ" U1F94 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾔ" U1F94 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾔ" U1F94 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾔ" U1F94 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾔ" U1F94 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾔ" U1F94 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾔ" U1F94 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾔ" U1F94 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾔ" U1F94 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾔ" U1F94 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾔ" U1F94 # GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾕ" U1F95 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾕ" U1F95 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾕ" U1F95 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾕ" U1F95 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾕ" U1F95 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾕ" U1F95 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾕ" U1F95 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾕ" U1F95 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾕ" U1F95 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾕ" U1F95 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾕ" U1F95 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾕ" U1F95 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾕ" U1F95 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾕ" U1F95 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾕ" U1F95 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾕ" U1F95 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾕ" U1F95 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾕ" U1F95 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾕ" U1F95 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾕ" U1F95 # GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾖ" U1F96 # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾖ" U1F96 # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾖ" U1F96 # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾖ" U1F96 # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾖ" U1F96 # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾖ" U1F96 # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾖ" U1F96 # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾖ" U1F96 # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾖ" U1F96 # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾖ" U1F96 # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾖ" U1F96 # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾖ" U1F96 # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾖ" U1F96 # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾖ" U1F96 # GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾗ" U1F97 # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾗ" U1F97 # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾗ" U1F97 # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾗ" U1F97 # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾗ" U1F97 # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾗ" U1F97 # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾗ" U1F97 # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾗ" U1F97 # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾗ" U1F97 # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾗ" U1F97 # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾗ" U1F97 # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾗ" U1F97 # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾗ" U1F97 # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾗ" U1F97 # GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾘ" U1F98 # GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI + : "ᾘ" U1F98 # GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI + : "ᾘ" U1F98 # GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI + : "ᾘ" U1F98 # GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI + : "ᾘ" U1F98 # GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI + : "ᾘ" U1F98 # GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI + : "ᾙ" U1F99 # GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI + : "ᾙ" U1F99 # GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI + : "ᾙ" U1F99 # GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI + : "ᾙ" U1F99 # GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI + : "ᾙ" U1F99 # GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI + : "ᾙ" U1F99 # GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI + : "ᾚ" U1F9A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾚ" U1F9A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾚ" U1F9A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾚ" U1F9A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾚ" U1F9A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾚ" U1F9A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾚ" U1F9A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾚ" U1F9A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾚ" U1F9A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾚ" U1F9A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾚ" U1F9A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾚ" U1F9A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾚ" U1F9A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾚ" U1F9A # GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾛ" U1F9B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾛ" U1F9B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾛ" U1F9B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾛ" U1F9B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾛ" U1F9B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾛ" U1F9B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾛ" U1F9B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾛ" U1F9B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾛ" U1F9B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾛ" U1F9B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾛ" U1F9B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾛ" U1F9B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾛ" U1F9B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾛ" U1F9B # GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾜ" U1F9C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾜ" U1F9C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾜ" U1F9C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾜ" U1F9C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾜ" U1F9C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾜ" U1F9C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾜ" U1F9C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾜ" U1F9C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾜ" U1F9C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾜ" U1F9C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾜ" U1F9C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾜ" U1F9C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾜ" U1F9C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾜ" U1F9C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾜ" U1F9C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾜ" U1F9C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾜ" U1F9C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾜ" U1F9C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾜ" U1F9C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾜ" U1F9C # GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾝ" U1F9D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾝ" U1F9D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾝ" U1F9D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾝ" U1F9D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾝ" U1F9D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾝ" U1F9D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾝ" U1F9D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾝ" U1F9D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾝ" U1F9D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾝ" U1F9D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾝ" U1F9D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾝ" U1F9D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾝ" U1F9D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾝ" U1F9D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾝ" U1F9D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾝ" U1F9D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾝ" U1F9D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾝ" U1F9D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾝ" U1F9D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾝ" U1F9D # GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾞ" U1F9E # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾞ" U1F9E # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾞ" U1F9E # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾞ" U1F9E # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾞ" U1F9E # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾞ" U1F9E # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾞ" U1F9E # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾞ" U1F9E # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾞ" U1F9E # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾞ" U1F9E # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾞ" U1F9E # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾞ" U1F9E # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾞ" U1F9E # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾞ" U1F9E # GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾟ" U1F9F # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾟ" U1F9F # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾟ" U1F9F # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾟ" U1F9F # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾟ" U1F9F # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾟ" U1F9F # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾟ" U1F9F # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾟ" U1F9F # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾟ" U1F9F # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾟ" U1F9F # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾟ" U1F9F # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾟ" U1F9F # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾟ" U1F9F # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾟ" U1F9F # GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾠ" U1FA0 # GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI + : "ᾠ" U1FA0 # GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI + : "ᾠ" U1FA0 # GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI + : "ᾠ" U1FA0 # GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI + : "ᾠ" U1FA0 # GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI + : "ᾠ" U1FA0 # GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI + : "ᾡ" U1FA1 # GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI + : "ᾡ" U1FA1 # GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI + : "ᾡ" U1FA1 # GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI + : "ᾡ" U1FA1 # GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI + : "ᾡ" U1FA1 # GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI + : "ᾡ" U1FA1 # GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI + : "ᾢ" U1FA2 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾢ" U1FA2 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾢ" U1FA2 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾢ" U1FA2 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾢ" U1FA2 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾢ" U1FA2 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾢ" U1FA2 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾢ" U1FA2 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾢ" U1FA2 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾢ" U1FA2 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾢ" U1FA2 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾢ" U1FA2 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾢ" U1FA2 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾢ" U1FA2 # GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI + : "ᾣ" U1FA3 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾣ" U1FA3 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾣ" U1FA3 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾣ" U1FA3 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾣ" U1FA3 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾣ" U1FA3 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾣ" U1FA3 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾣ" U1FA3 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾣ" U1FA3 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾣ" U1FA3 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾣ" U1FA3 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾣ" U1FA3 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾣ" U1FA3 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾣ" U1FA3 # GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI + : "ᾤ" U1FA4 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾤ" U1FA4 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾤ" U1FA4 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾤ" U1FA4 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾤ" U1FA4 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾤ" U1FA4 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾤ" U1FA4 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾤ" U1FA4 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾤ" U1FA4 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾤ" U1FA4 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾤ" U1FA4 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾤ" U1FA4 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾤ" U1FA4 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾤ" U1FA4 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾤ" U1FA4 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾤ" U1FA4 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾤ" U1FA4 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾤ" U1FA4 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾤ" U1FA4 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾤ" U1FA4 # GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI + : "ᾥ" U1FA5 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾥ" U1FA5 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾥ" U1FA5 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾥ" U1FA5 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾥ" U1FA5 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾥ" U1FA5 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾥ" U1FA5 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾥ" U1FA5 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾥ" U1FA5 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾥ" U1FA5 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾥ" U1FA5 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾥ" U1FA5 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾥ" U1FA5 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾥ" U1FA5 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾥ" U1FA5 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾥ" U1FA5 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾥ" U1FA5 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾥ" U1FA5 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾥ" U1FA5 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾥ" U1FA5 # GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI + : "ᾦ" U1FA6 # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾦ" U1FA6 # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾦ" U1FA6 # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾦ" U1FA6 # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾦ" U1FA6 # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾦ" U1FA6 # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾦ" U1FA6 # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾦ" U1FA6 # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾦ" U1FA6 # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾦ" U1FA6 # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾦ" U1FA6 # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾦ" U1FA6 # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾦ" U1FA6 # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾦ" U1FA6 # GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾧ" U1FA7 # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾧ" U1FA7 # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾧ" U1FA7 # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾧ" U1FA7 # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾧ" U1FA7 # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾧ" U1FA7 # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾧ" U1FA7 # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾧ" U1FA7 # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾧ" U1FA7 # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾧ" U1FA7 # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾧ" U1FA7 # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾧ" U1FA7 # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾧ" U1FA7 # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾧ" U1FA7 # GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI + : "ᾨ" U1FA8 # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI + : "ᾨ" U1FA8 # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI + : "ᾨ" U1FA8 # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI + : "ᾨ" U1FA8 # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI + : "ᾨ" U1FA8 # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI + : "ᾨ" U1FA8 # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI + : "ᾩ" U1FA9 # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI + : "ᾩ" U1FA9 # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI + : "ᾩ" U1FA9 # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI + : "ᾩ" U1FA9 # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI + : "ᾩ" U1FA9 # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI + : "ᾩ" U1FA9 # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI + : "ᾪ" U1FAA # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾪ" U1FAA # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾪ" U1FAA # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾪ" U1FAA # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾪ" U1FAA # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾪ" U1FAA # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾪ" U1FAA # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾪ" U1FAA # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾪ" U1FAA # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾪ" U1FAA # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾪ" U1FAA # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾪ" U1FAA # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾪ" U1FAA # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾪ" U1FAA # GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI + : "ᾫ" U1FAB # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾫ" U1FAB # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾫ" U1FAB # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾫ" U1FAB # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾫ" U1FAB # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾫ" U1FAB # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾫ" U1FAB # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾫ" U1FAB # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾫ" U1FAB # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾫ" U1FAB # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾫ" U1FAB # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾫ" U1FAB # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾫ" U1FAB # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾫ" U1FAB # GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI + : "ᾬ" U1FAC # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾬ" U1FAC # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾬ" U1FAC # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾬ" U1FAC # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾬ" U1FAC # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾬ" U1FAC # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾬ" U1FAC # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾬ" U1FAC # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾬ" U1FAC # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾬ" U1FAC # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾬ" U1FAC # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾬ" U1FAC # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾬ" U1FAC # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾬ" U1FAC # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾬ" U1FAC # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾬ" U1FAC # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾬ" U1FAC # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾬ" U1FAC # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾬ" U1FAC # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾬ" U1FAC # GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI + : "ᾭ" U1FAD # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾭ" U1FAD # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾭ" U1FAD # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾭ" U1FAD # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾭ" U1FAD # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾭ" U1FAD # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾭ" U1FAD # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾭ" U1FAD # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾭ" U1FAD # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾭ" U1FAD # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾭ" U1FAD # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾭ" U1FAD # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾭ" U1FAD # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾭ" U1FAD # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾭ" U1FAD # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾭ" U1FAD # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾭ" U1FAD # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾭ" U1FAD # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾭ" U1FAD # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾭ" U1FAD # GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI + : "ᾮ" U1FAE # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾮ" U1FAE # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾮ" U1FAE # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾮ" U1FAE # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾮ" U1FAE # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾮ" U1FAE # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾮ" U1FAE # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾮ" U1FAE # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾮ" U1FAE # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾮ" U1FAE # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾮ" U1FAE # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾮ" U1FAE # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾮ" U1FAE # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾮ" U1FAE # GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾯ" U1FAF # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾯ" U1FAF # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾯ" U1FAF # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾯ" U1FAF # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾯ" U1FAF # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾯ" U1FAF # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾯ" U1FAF # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾯ" U1FAF # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾯ" U1FAF # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾯ" U1FAF # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾯ" U1FAF # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾯ" U1FAF # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾯ" U1FAF # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾯ" U1FAF # GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI + : "ᾰ" U1FB0 # GREEK SMALL LETTER ALPHA WITH VRACHY + : "ᾰ" U1FB0 # GREEK SMALL LETTER ALPHA WITH VRACHY + : "ᾰ" U1FB0 # GREEK SMALL LETTER ALPHA WITH VRACHY + : "ᾱ" U1FB1 # GREEK SMALL LETTER ALPHA WITH MACRON + : "ᾱ" U1FB1 # GREEK SMALL LETTER ALPHA WITH MACRON + : "ᾱ" U1FB1 # GREEK SMALL LETTER ALPHA WITH MACRON + : "ᾲ" U1FB2 # GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI + : "ᾲ" U1FB2 # GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI + : "ᾲ" U1FB2 # GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI + : "ᾲ" U1FB2 # GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI + : "ᾲ" U1FB2 # GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI + : "ᾲ" U1FB2 # GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI + : "ᾳ" U1FB3 # GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI + : "ᾳ" U1FB3 # GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI + : "ᾴ" U1FB4 # GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI + : "ᾴ" U1FB4 # GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI + : "ᾴ" U1FB4 # GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI + : "ᾴ" U1FB4 # GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI + : "ᾴ" U1FB4 # GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI + : "ᾴ" U1FB4 # GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI + : "ᾴ" U1FB4 # GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI + : "ᾴ" U1FB4 # GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI + : "ᾶ" U1FB6 # GREEK SMALL LETTER ALPHA WITH PERISPOMENI + : "ᾶ" U1FB6 # GREEK SMALL LETTER ALPHA WITH PERISPOMENI + : "ᾷ" U1FB7 # GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI + : "ᾷ" U1FB7 # GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI + : "ᾷ" U1FB7 # GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI + : "ᾷ" U1FB7 # GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI + : "ᾷ" U1FB7 # GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI + : "ᾷ" U1FB7 # GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI + : "Ᾰ" U1FB8 # GREEK CAPITAL LETTER ALPHA WITH VRACHY + : "Ᾰ" U1FB8 # GREEK CAPITAL LETTER ALPHA WITH VRACHY + : "Ᾰ" U1FB8 # GREEK CAPITAL LETTER ALPHA WITH VRACHY + : "Ᾱ" U1FB9 # GREEK CAPITAL LETTER ALPHA WITH MACRON + : "Ᾱ" U1FB9 # GREEK CAPITAL LETTER ALPHA WITH MACRON + : "Ᾱ" U1FB9 # GREEK CAPITAL LETTER ALPHA WITH MACRON + : "Ὰ" U1FBA # GREEK CAPITAL LETTER ALPHA WITH VARIA + : "Ὰ" U1FBA # GREEK CAPITAL LETTER ALPHA WITH VARIA + : "ᾼ" U1FBC # GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI + : "ᾼ" U1FBC # GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI + : "῁" U1FC1 # GREEK DIALYTIKA AND PERISPOMENI + : "῁" U1FC1 # GREEK DIALYTIKA AND PERISPOMENI + : "ῂ" U1FC2 # GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI + : "ῂ" U1FC2 # GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI + : "ῂ" U1FC2 # GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI + : "ῂ" U1FC2 # GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI + : "ῂ" U1FC2 # GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI + : "ῂ" U1FC2 # GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI + : "ῃ" U1FC3 # GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI + : "ῃ" U1FC3 # GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI + : "ῄ" U1FC4 # GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI + : "ῄ" U1FC4 # GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI + : "ῄ" U1FC4 # GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI + : "ῄ" U1FC4 # GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI + : "ῄ" U1FC4 # GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI + : "ῄ" U1FC4 # GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI + : "ῄ" U1FC4 # GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI + : "ῄ" U1FC4 # GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI + : "ῆ" U1FC6 # GREEK SMALL LETTER ETA WITH PERISPOMENI + : "ῆ" U1FC6 # GREEK SMALL LETTER ETA WITH PERISPOMENI + : "ῇ" U1FC7 # GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI + : "ῇ" U1FC7 # GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI + : "ῇ" U1FC7 # GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI + : "ῇ" U1FC7 # GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI + : "ῇ" U1FC7 # GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI + : "ῇ" U1FC7 # GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI + : "Ὲ" U1FC8 # GREEK CAPITAL LETTER EPSILON WITH VARIA + : "Ὲ" U1FC8 # GREEK CAPITAL LETTER EPSILON WITH VARIA + : "Ὴ" U1FCA # GREEK CAPITAL LETTER ETA WITH VARIA + : "Ὴ" U1FCA # GREEK CAPITAL LETTER ETA WITH VARIA + : "ῌ" U1FCC # GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI + : "ῌ" U1FCC # GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI + : "῍" U1FCD # GREEK PSILI AND VARIA + : "῍" U1FCD # GREEK PSILI AND VARIA + : "῎" U1FCE # GREEK PSILI AND OXIA + : "῎" U1FCE # GREEK PSILI AND OXIA + : "῎" U1FCE # GREEK PSILI AND OXIA + : "῏" U1FCF # GREEK PSILI AND PERISPOMENI + : "῏" U1FCF # GREEK PSILI AND PERISPOMENI + : "ῐ" U1FD0 # GREEK SMALL LETTER IOTA WITH VRACHY + : "ῐ" U1FD0 # GREEK SMALL LETTER IOTA WITH VRACHY + : "ῐ" U1FD0 # GREEK SMALL LETTER IOTA WITH VRACHY + : "ῑ" U1FD1 # GREEK SMALL LETTER IOTA WITH MACRON + : "ῑ" U1FD1 # GREEK SMALL LETTER IOTA WITH MACRON + : "ῑ" U1FD1 # GREEK SMALL LETTER IOTA WITH MACRON + : "ῒ" U1FD2 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA + : "ῒ" U1FD2 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA + : "ῒ" U1FD2 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA + : "ῒ" U1FD2 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA + : "ῒ" U1FD2 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA + : "ῒ" U1FD2 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA + : "ῖ" U1FD6 # GREEK SMALL LETTER IOTA WITH PERISPOMENI + : "ῖ" U1FD6 # GREEK SMALL LETTER IOTA WITH PERISPOMENI + : "ῗ" U1FD7 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI + : "ῗ" U1FD7 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI + : "ῗ" U1FD7 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI + : "ῗ" U1FD7 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI + : "ῗ" U1FD7 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI + : "ῗ" U1FD7 # GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI + : "Ῐ" U1FD8 # GREEK CAPITAL LETTER IOTA WITH VRACHY + : "Ῐ" U1FD8 # GREEK CAPITAL LETTER IOTA WITH VRACHY + : "Ῐ" U1FD8 # GREEK CAPITAL LETTER IOTA WITH VRACHY + : "Ῑ" U1FD9 # GREEK CAPITAL LETTER IOTA WITH MACRON + : "Ῑ" U1FD9 # GREEK CAPITAL LETTER IOTA WITH MACRON + : "Ῑ" U1FD9 # GREEK CAPITAL LETTER IOTA WITH MACRON + : "Ὶ" U1FDA # GREEK CAPITAL LETTER IOTA WITH VARIA + : "Ὶ" U1FDA # GREEK CAPITAL LETTER IOTA WITH VARIA + : "῝" U1FDD # GREEK DASIA AND VARIA + : "῝" U1FDD # GREEK DASIA AND VARIA + : "῞" U1FDE # GREEK DASIA AND OXIA + : "῞" U1FDE # GREEK DASIA AND OXIA + : "῞" U1FDE # GREEK DASIA AND OXIA + : "῟" U1FDF # GREEK DASIA AND PERISPOMENI + : "῟" U1FDF # GREEK DASIA AND PERISPOMENI + : "ῠ" U1FE0 # GREEK SMALL LETTER UPSILON WITH VRACHY + : "ῠ" U1FE0 # GREEK SMALL LETTER UPSILON WITH VRACHY + : "ῠ" U1FE0 # GREEK SMALL LETTER UPSILON WITH VRACHY + : "ῡ" U1FE1 # GREEK SMALL LETTER UPSILON WITH MACRON + : "ῡ" U1FE1 # GREEK SMALL LETTER UPSILON WITH MACRON + : "ῡ" U1FE1 # GREEK SMALL LETTER UPSILON WITH MACRON + : "ῢ" U1FE2 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA + : "ῢ" U1FE2 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA + : "ῢ" U1FE2 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA + : "ῢ" U1FE2 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA + : "ῢ" U1FE2 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA + : "ῢ" U1FE2 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA + : "ῤ" U1FE4 # GREEK SMALL LETTER RHO WITH PSILI + : "ῤ" U1FE4 # GREEK SMALL LETTER RHO WITH PSILI + : "ῥ" U1FE5 # GREEK SMALL LETTER RHO WITH DASIA + : "ῥ" U1FE5 # GREEK SMALL LETTER RHO WITH DASIA + : "ῦ" U1FE6 # GREEK SMALL LETTER UPSILON WITH PERISPOMENI + : "ῦ" U1FE6 # GREEK SMALL LETTER UPSILON WITH PERISPOMENI + : "ῧ" U1FE7 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI + : "ῧ" U1FE7 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI + : "ῧ" U1FE7 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI + : "ῧ" U1FE7 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI + : "ῧ" U1FE7 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI + : "ῧ" U1FE7 # GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI + : "Ῠ" U1FE8 # GREEK CAPITAL LETTER UPSILON WITH VRACHY + : "Ῠ" U1FE8 # GREEK CAPITAL LETTER UPSILON WITH VRACHY + : "Ῠ" U1FE8 # GREEK CAPITAL LETTER UPSILON WITH VRACHY + : "Ῡ" U1FE9 # GREEK CAPITAL LETTER UPSILON WITH MACRON + : "Ῡ" U1FE9 # GREEK CAPITAL LETTER UPSILON WITH MACRON + : "Ῡ" U1FE9 # GREEK CAPITAL LETTER UPSILON WITH MACRON + : "Ὺ" U1FEA # GREEK CAPITAL LETTER UPSILON WITH VARIA + : "Ὺ" U1FEA # GREEK CAPITAL LETTER UPSILON WITH VARIA + : "Ῥ" U1FEC # GREEK CAPITAL LETTER RHO WITH DASIA + : "Ῥ" U1FEC # GREEK CAPITAL LETTER RHO WITH DASIA + : "῭" U1FED # GREEK DIALYTIKA AND VARIA + : "῭" U1FED # GREEK DIALYTIKA AND VARIA + : "ῲ" U1FF2 # GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI + : "ῲ" U1FF2 # GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI + : "ῲ" U1FF2 # GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI + : "ῲ" U1FF2 # GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI + : "ῲ" U1FF2 # GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI + : "ῲ" U1FF2 # GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI + : "ῳ" U1FF3 # GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI + : "ῳ" U1FF3 # GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI + : "ῴ" U1FF4 # GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI + : "ῴ" U1FF4 # GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI + : "ῴ" U1FF4 # GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI + : "ῴ" U1FF4 # GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI + : "ῴ" U1FF4 # GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI + : "ῴ" U1FF4 # GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI + : "ῴ" U1FF4 # GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI + : "ῴ" U1FF4 # GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI + : "ῶ" U1FF6 # GREEK SMALL LETTER OMEGA WITH PERISPOMENI + : "ῶ" U1FF6 # GREEK SMALL LETTER OMEGA WITH PERISPOMENI + : "ῷ" U1FF7 # GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI + : "ῷ" U1FF7 # GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI + : "ῷ" U1FF7 # GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI + : "ῷ" U1FF7 # GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI + : "ῷ" U1FF7 # GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI + : "ῷ" U1FF7 # GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI + : "Ὸ" U1FF8 # GREEK CAPITAL LETTER OMICRON WITH VARIA + : "Ὸ" U1FF8 # GREEK CAPITAL LETTER OMICRON WITH VARIA + : "Ὼ" U1FFA # GREEK CAPITAL LETTER OMEGA WITH VARIA + : "Ὼ" U1FFA # GREEK CAPITAL LETTER OMEGA WITH VARIA + : "ῼ" U1FFC # GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI + : "ῼ" U1FFC # GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI + <0> : "⁰" U2070 # SUPERSCRIPT ZERO + <0> : "⁰" U2070 # SUPERSCRIPT ZERO + : "⁰" U2070 # SUPERSCRIPT ZERO + : "⁰" U2070 # SUPERSCRIPT ZERO + : "ⁱ" U2071 # SUPERSCRIPT LATIN SMALL LETTER I + : "ⁱ" U2071 # SUPERSCRIPT LATIN SMALL LETTER I + : "ⁱ" U2071 # SUPERSCRIPT LATIN SMALL LETTER I + : "ⁱ" U2071 # SUPERSCRIPT LATIN SMALL LETTER I + <4> : "⁴" U2074 # SUPERSCRIPT FOUR + <4> : "⁴" U2074 # SUPERSCRIPT FOUR + : "⁴" U2074 # SUPERSCRIPT FOUR + : "⁴" U2074 # SUPERSCRIPT FOUR + <5> : "⁵" U2075 # SUPERSCRIPT FIVE + <5> : "⁵" U2075 # SUPERSCRIPT FIVE + : "⁵" U2075 # SUPERSCRIPT FIVE + : "⁵" U2075 # SUPERSCRIPT FIVE + <6> : "⁶" U2076 # SUPERSCRIPT SIX + <6> : "⁶" U2076 # SUPERSCRIPT SIX + : "⁶" U2076 # SUPERSCRIPT SIX + : "⁶" U2076 # SUPERSCRIPT SIX + <7> : "⁷" U2077 # SUPERSCRIPT SEVEN + <7> : "⁷" U2077 # SUPERSCRIPT SEVEN + : "⁷" U2077 # SUPERSCRIPT SEVEN + : "⁷" U2077 # SUPERSCRIPT SEVEN + <8> : "⁸" U2078 # SUPERSCRIPT EIGHT + <8> : "⁸" U2078 # SUPERSCRIPT EIGHT + : "⁸" U2078 # SUPERSCRIPT EIGHT + : "⁸" U2078 # SUPERSCRIPT EIGHT + <9> : "⁹" U2079 # SUPERSCRIPT NINE + <9> : "⁹" U2079 # SUPERSCRIPT NINE + : "⁹" U2079 # SUPERSCRIPT NINE + : "⁹" U2079 # SUPERSCRIPT NINE + : "⁺" U207A # SUPERSCRIPT PLUS SIGN + : "⁺" U207A # SUPERSCRIPT PLUS SIGN + : "⁺" U207A # SUPERSCRIPT PLUS SIGN + : "⁺" U207A # SUPERSCRIPT PLUS SIGN + : "⁻" U207B # SUPERSCRIPT MINUS + : "⁻" U207B # SUPERSCRIPT MINUS + : "⁻" U207B # SUPERSCRIPT MINUS + : "⁼" U207C # SUPERSCRIPT EQUALS SIGN + : "⁼" U207C # SUPERSCRIPT EQUALS SIGN + : "⁼" U207C # SUPERSCRIPT EQUALS SIGN + : "⁼" U207C # SUPERSCRIPT EQUALS SIGN + : "⁽" U207D # SUPERSCRIPT LEFT PARENTHESIS + : "⁽" U207D # SUPERSCRIPT LEFT PARENTHESIS + : "⁾" U207E # SUPERSCRIPT RIGHT PARENTHESIS + : "⁾" U207E # SUPERSCRIPT RIGHT PARENTHESIS + : "ⁿ" U207F # SUPERSCRIPT LATIN SMALL LETTER N + : "ⁿ" U207F # SUPERSCRIPT LATIN SMALL LETTER N + : "ⁿ" U207F # SUPERSCRIPT LATIN SMALL LETTER N + : "ⁿ" U207F # SUPERSCRIPT LATIN SMALL LETTER N + <0> : "₀" U2080 # SUBSCRIPT ZERO + : "₀" U2080 # SUBSCRIPT ZERO + <0> : "₀" U2080 # SUBSCRIPT ZERO + : "₀" U2080 # SUBSCRIPT ZERO + <1> : "₁" U2081 # SUBSCRIPT ONE + : "₁" U2081 # SUBSCRIPT ONE + <1> : "₁" U2081 # SUBSCRIPT ONE + : "₁" U2081 # SUBSCRIPT ONE + <2> : "₂" U2082 # SUBSCRIPT TWO + : "₂" U2082 # SUBSCRIPT TWO + : "₂" U2082 # SUBSCRIPT TWO + <2> : "₂" U2082 # SUBSCRIPT TWO + : "₂" U2082 # SUBSCRIPT TWO + : "₂" U2082 # SUBSCRIPT TWO + <3> : "₃" U2083 # SUBSCRIPT THREE + : "₃" U2083 # SUBSCRIPT THREE + <3> : "₃" U2083 # SUBSCRIPT THREE + : "₃" U2083 # SUBSCRIPT THREE + <4> : "₄" U2084 # SUBSCRIPT FOUR + : "₄" U2084 # SUBSCRIPT FOUR + <4> : "₄" U2084 # SUBSCRIPT FOUR + : "₄" U2084 # SUBSCRIPT FOUR + <5> : "₅" U2085 # SUBSCRIPT FIVE + : "₅" U2085 # SUBSCRIPT FIVE + <5> : "₅" U2085 # SUBSCRIPT FIVE + : "₅" U2085 # SUBSCRIPT FIVE + <6> : "₆" U2086 # SUBSCRIPT SIX + : "₆" U2086 # SUBSCRIPT SIX + <6> : "₆" U2086 # SUBSCRIPT SIX + : "₆" U2086 # SUBSCRIPT SIX + <7> : "₇" U2087 # SUBSCRIPT SEVEN + : "₇" U2087 # SUBSCRIPT SEVEN + <7> : "₇" U2087 # SUBSCRIPT SEVEN + : "₇" U2087 # SUBSCRIPT SEVEN + <8> : "₈" U2088 # SUBSCRIPT EIGHT + : "₈" U2088 # SUBSCRIPT EIGHT + <8> : "₈" U2088 # SUBSCRIPT EIGHT + : "₈" U2088 # SUBSCRIPT EIGHT + <9> : "₉" U2089 # SUBSCRIPT NINE + : "₉" U2089 # SUBSCRIPT NINE + <9> : "₉" U2089 # SUBSCRIPT NINE + : "₉" U2089 # SUBSCRIPT NINE + : "₊" U208A # SUBSCRIPT PLUS SIGN + : "₊" U208A # SUBSCRIPT PLUS SIGN + : "₊" U208A # SUBSCRIPT PLUS SIGN + : "₊" U208A # SUBSCRIPT PLUS SIGN + : "₋" U208B # SUBSCRIPT MINUS + : "₋" U208B # SUBSCRIPT MINUS + : "₌" U208C # SUBSCRIPT EQUALS SIGN + : "₌" U208C # SUBSCRIPT EQUALS SIGN + : "₌" U208C # SUBSCRIPT EQUALS SIGN + : "₌" U208C # SUBSCRIPT EQUALS SIGN + : "₍" U208D # SUBSCRIPT LEFT PARENTHESIS + : "₍" U208D # SUBSCRIPT LEFT PARENTHESIS + : "₎" U208E # SUBSCRIPT RIGHT PARENTHESIS + : "₎" U208E # SUBSCRIPT RIGHT PARENTHESIS + : "℠" U2120 # SERVICE MARK + : "℠" U2120 # SERVICE MARK + : "℠" U2120 # SERVICE MARK + : "℠" U2120 # SERVICE MARK + : "℠" U2120 # SERVICE MARK + : "℠" U2120 # SERVICE MARK + : "℠" U2120 # SERVICE MARK + : "℠" U2120 # SERVICE MARK + : "™" U2122 # TRADE MARK SIGN + : "™" U2122 # TRADE MARK SIGN + : "™" U2122 # TRADE MARK SIGN + : "™" U2122 # TRADE MARK SIGN + : "™" U2122 # TRADE MARK SIGN + : "™" U2122 # TRADE MARK SIGN + : "™" U2122 # TRADE MARK SIGN + : "™" U2122 # TRADE MARK SIGN + <1> <7> : "⅐" U2150 # VULGAR FRACTION ONE SEVENTH + <1> <9> : "⅑" U2151 # VULGAR FRACTION ONE NINTH + <1> <1> <0> : "⅒" U2152 # VULGAR FRACTION ONE TENTH + <1> <3> : "⅓" U2153 # VULGAR FRACTION ONE THIRD + <2> <3> : "⅔" U2154 # VULGAR FRACTION TWO THIRDS + <1> <5> : "⅕" U2155 # VULGAR FRACTION ONE FIFTH + <2> <5> : "⅖" U2156 # VULGAR FRACTION TWO FIFTHS + <3> <5> : "⅗" U2157 # VULGAR FRACTION THREE FIFTHS + <4> <5> : "⅘" U2158 # VULGAR FRACTION FOUR FIFTHS + <1> <6> : "⅙" U2159 # VULGAR FRACTION ONE SIXTH + <5> <6> : "⅚" U215A # VULGAR FRACTION FIVE SIXTHS + <1> <8> : "⅛" U215B # VULGAR FRACTION ONE EIGHTH + <3> <8> : "⅜" U215C # VULGAR FRACTION THREE EIGHTHS + <5> <8> : "⅝" U215D # VULGAR FRACTION FIVE EIGHTHS + <7> <8> : "⅞" U215E # VULGAR FRACTION SEVEN EIGHTHS + <0> <3> : "↉" U2189 # VULGAR FRACTION ZERO THIRDS + : "↚" U219A # LEFTWARDS ARROW WITH STROKE + : "↚" U219A # LEFTWARDS ARROW WITH STROKE + : "↛" U219B # RIGHTWARDS ARROW WITH STROKE + : "↛" U219B # RIGHTWARDS ARROW WITH STROKE + : "↮" U21AE # LEFT RIGHT ARROW WITH STROKE + : "↮" U21AE # LEFT RIGHT ARROW WITH STROKE + : "←" U2190 # LEFTWARDS ARROW + : "↑" U2191 # UPWARDS ARROW + : "↑" U2191 # UPWARDS ARROW + : "→" U2192 # RIGHTWARDS ARROW + : "↓" U2193 # DOWNWARDS ARROW + : "↓" U2193 # DOWNWARDS ARROW + : "⇒" U21D2 # RIGHTWARDS DOUBLE ARROW + : "∄" U2204 # THERE DOES NOT EXIST + : "∅" U2205 # EMPTY SET + : "∉" U2209 # NOT AN ELEMENT OF + : "∌" U220C # DOES NOT CONTAIN AS MEMBER + : "∤" U2224 # DOES NOT DIVIDE + : "∦" U2226 # NOT PARALLEL TO + : "≁" U2241 # NOT TILDE + : "≄" U2244 # NOT ASYMPTOTICALLY EQUAL TO + : "≇" U2247 # NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO + : "≉" U2249 # NOT ALMOST EQUAL TO + : "≠" U2260 # NOT EQUAL TO + : "≠" U2260 # NOT EQUAL TO + : "≠" U2260 # NOT EQUAL TO + : "≠" U2260 # NOT EQUAL TO + : "≢" U2262 # NOT IDENTICAL TO + : "≤" U2264 # LESS-THAN OR EQUAL TO + : "≥" U2265 # GREATER-THAN OR EQUAL TO + : "≭" U226D # NOT EQUIVALENT TO + : "≮" U226E # NOT LESS-THAN + : "≮" U226E # NOT LESS-THAN + : "≯" U226F # NOT GREATER-THAN + : "≯" U226F # NOT GREATER-THAN + : "≰" U2270 # NEITHER LESS-THAN NOR EQUAL TO + : "≱" U2271 # NEITHER GREATER-THAN NOR EQUAL TO + : "≴" U2274 # NEITHER LESS-THAN NOR EQUIVALENT TO + : "≵" U2275 # NEITHER GREATER-THAN NOR EQUIVALENT TO + : "≸" U2278 # NEITHER LESS-THAN NOR GREATER-THAN + : "≹" U2279 # NEITHER GREATER-THAN NOR LESS-THAN + : "⊀" U2280 # DOES NOT PRECEDE + : "⊁" U2281 # DOES NOT SUCCEED + : "⊄" U2284 # NOT A SUBSET OF + : "⊄" U2284 # NOT A SUBSET OF + : "⊅" U2285 # NOT A SUPERSET OF + : "⊅" U2285 # NOT A SUPERSET OF + : "⊈" U2288 # NEITHER A SUBSET OF NOR EQUAL TO + : "⊉" U2289 # NEITHER A SUPERSET OF NOR EQUAL TO + : "⊬" U22AC # DOES NOT PROVE + : "⊭" U22AD # NOT TRUE + : "⊮" U22AE # DOES NOT FORCE + : "⊯" U22AF # NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE + : "⋠" U22E0 # DOES NOT PRECEDE OR EQUAL + : "⋡" U22E1 # DOES NOT SUCCEED OR EQUAL + : "⋢" U22E2 # NOT SQUARE IMAGE OF OR EQUAL TO + : "⋣" U22E3 # NOT SQUARE ORIGINAL OF OR EQUAL TO + : "⋪" U22EA # NOT NORMAL SUBGROUP OF + : "⋫" U22EB # DOES NOT CONTAIN AS NORMAL SUBGROUP + : "⋬" U22EC # NOT NORMAL SUBGROUP OF OR EQUAL TO + : "⋭" U22ED # DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL + : "⌀" U2300 # DIAMETER SIGN + <1> : "①" U2460 # CIRCLED DIGIT ONE + : "①" U2460 # CIRCLED DIGIT ONE + <2> : "②" U2461 # CIRCLED DIGIT TWO + : "②" U2461 # CIRCLED DIGIT TWO + : "②" U2461 # CIRCLED DIGIT TWO + <3> : "③" U2462 # CIRCLED DIGIT THREE + : "③" U2462 # CIRCLED DIGIT THREE + <4> : "④" U2463 # CIRCLED DIGIT FOUR + : "④" U2463 # CIRCLED DIGIT FOUR + <5> : "⑤" U2464 # CIRCLED DIGIT FIVE + : "⑤" U2464 # CIRCLED DIGIT FIVE + <6> : "⑥" U2465 # CIRCLED DIGIT SIX + : "⑥" U2465 # CIRCLED DIGIT SIX + <7> : "⑦" U2466 # CIRCLED DIGIT SEVEN + : "⑦" U2466 # CIRCLED DIGIT SEVEN + <8> : "⑧" U2467 # CIRCLED DIGIT EIGHT + : "⑧" U2467 # CIRCLED DIGIT EIGHT + <9> : "⑨" U2468 # CIRCLED DIGIT NINE + : "⑨" U2468 # CIRCLED DIGIT NINE + <1> <0> : "⑩" U2469 # CIRCLED NUMBER TEN + <1> : "⑩" U2469 # CIRCLED NUMBER TEN + <0> : "⑩" U2469 # CIRCLED NUMBER TEN + : "⑩" U2469 # CIRCLED NUMBER TEN + <1> <1> : "⑪" U246A # CIRCLED NUMBER ELEVEN + <1> : "⑪" U246A # CIRCLED NUMBER ELEVEN + <1> : "⑪" U246A # CIRCLED NUMBER ELEVEN + : "⑪" U246A # CIRCLED NUMBER ELEVEN + <1> <2> : "⑫" U246B # CIRCLED NUMBER TWELVE + <1> : "⑫" U246B # CIRCLED NUMBER TWELVE + <1> : "⑫" U246B # CIRCLED NUMBER TWELVE + <2> : "⑫" U246B # CIRCLED NUMBER TWELVE + : "⑫" U246B # CIRCLED NUMBER TWELVE + : "⑫" U246B # CIRCLED NUMBER TWELVE + <1> <3> : "⑬" U246C # CIRCLED NUMBER THIRTEEN + <1> : "⑬" U246C # CIRCLED NUMBER THIRTEEN + <3> : "⑬" U246C # CIRCLED NUMBER THIRTEEN + : "⑬" U246C # CIRCLED NUMBER THIRTEEN + <1> <4> : "⑭" U246D # CIRCLED NUMBER FOURTEEN + <1> : "⑭" U246D # CIRCLED NUMBER FOURTEEN + <4> : "⑭" U246D # CIRCLED NUMBER FOURTEEN + : "⑭" U246D # CIRCLED NUMBER FOURTEEN + <1> <5> : "⑮" U246E # CIRCLED NUMBER FIFTEEN + <1> : "⑮" U246E # CIRCLED NUMBER FIFTEEN + <5> : "⑮" U246E # CIRCLED NUMBER FIFTEEN + : "⑮" U246E # CIRCLED NUMBER FIFTEEN + <1> <6> : "⑯" U246F # CIRCLED NUMBER SIXTEEN + <1> : "⑯" U246F # CIRCLED NUMBER SIXTEEN + <6> : "⑯" U246F # CIRCLED NUMBER SIXTEEN + : "⑯" U246F # CIRCLED NUMBER SIXTEEN + <1> <7> : "⑰" U2470 # CIRCLED NUMBER SEVENTEEN + <1> : "⑰" U2470 # CIRCLED NUMBER SEVENTEEN + <7> : "⑰" U2470 # CIRCLED NUMBER SEVENTEEN + : "⑰" U2470 # CIRCLED NUMBER SEVENTEEN + <1> <8> : "⑱" U2471 # CIRCLED NUMBER EIGHTEEN + <1> : "⑱" U2471 # CIRCLED NUMBER EIGHTEEN + <8> : "⑱" U2471 # CIRCLED NUMBER EIGHTEEN + : "⑱" U2471 # CIRCLED NUMBER EIGHTEEN + <1> <9> : "⑲" U2472 # CIRCLED NUMBER NINETEEN + <1> : "⑲" U2472 # CIRCLED NUMBER NINETEEN + <9> : "⑲" U2472 # CIRCLED NUMBER NINETEEN + : "⑲" U2472 # CIRCLED NUMBER NINETEEN + <2> <0> : "⑳" U2473 # CIRCLED NUMBER TWENTY + <2> : "⑳" U2473 # CIRCLED NUMBER TWENTY + <0> : "⑳" U2473 # CIRCLED NUMBER TWENTY + : "⑳" U2473 # CIRCLED NUMBER TWENTY + <0> : "⑳" U2473 # CIRCLED NUMBER TWENTY + : "⑳" U2473 # CIRCLED NUMBER TWENTY + : "Ⓐ" U24B6 # CIRCLED LATIN CAPITAL LETTER A + : "Ⓑ" U24B7 # CIRCLED LATIN CAPITAL LETTER B + : "Ⓒ" U24B8 # CIRCLED LATIN CAPITAL LETTER C + : "Ⓓ" U24B9 # CIRCLED LATIN CAPITAL LETTER D + : "Ⓔ" U24BA # CIRCLED LATIN CAPITAL LETTER E + : "Ⓕ" U24BB # CIRCLED LATIN CAPITAL LETTER F + : "Ⓖ" U24BC # CIRCLED LATIN CAPITAL LETTER G + : "Ⓗ" U24BD # CIRCLED LATIN CAPITAL LETTER H + : "Ⓘ" U24BE # CIRCLED LATIN CAPITAL LETTER I + : "Ⓙ" U24BF # CIRCLED LATIN CAPITAL LETTER J + : "Ⓚ" U24C0 # CIRCLED LATIN CAPITAL LETTER K + : "Ⓛ" U24C1 # CIRCLED LATIN CAPITAL LETTER L + : "Ⓜ" U24C2 # CIRCLED LATIN CAPITAL LETTER M + : "Ⓝ" U24C3 # CIRCLED LATIN CAPITAL LETTER N + : "Ⓞ" U24C4 # CIRCLED LATIN CAPITAL LETTER O +

: "Ⓟ" U24C5 # CIRCLED LATIN CAPITAL LETTER P + : "Ⓠ" U24C6 # CIRCLED LATIN CAPITAL LETTER Q + : "Ⓡ" U24C7 # CIRCLED LATIN CAPITAL LETTER R + : "Ⓢ" U24C8 # CIRCLED LATIN CAPITAL LETTER S + : "Ⓣ" U24C9 # CIRCLED LATIN CAPITAL LETTER T + : "Ⓤ" U24CA # CIRCLED LATIN CAPITAL LETTER U + : "Ⓥ" U24CB # CIRCLED LATIN CAPITAL LETTER V + : "Ⓦ" U24CC # CIRCLED LATIN CAPITAL LETTER W + : "Ⓧ" U24CD # CIRCLED LATIN CAPITAL LETTER X + : "Ⓨ" U24CE # CIRCLED LATIN CAPITAL LETTER Y + : "Ⓩ" U24CF # CIRCLED LATIN CAPITAL LETTER Z + : "ⓐ" U24D0 # CIRCLED LATIN SMALL LETTER A + : "ⓑ" U24D1 # CIRCLED LATIN SMALL LETTER B + : "ⓒ" U24D2 # CIRCLED LATIN SMALL LETTER C + : "ⓓ" U24D3 # CIRCLED LATIN SMALL LETTER D + : "ⓔ" U24D4 # CIRCLED LATIN SMALL LETTER E + : "ⓕ" U24D5 # CIRCLED LATIN SMALL LETTER F + : "ⓖ" U24D6 # CIRCLED LATIN SMALL LETTER G + : "ⓗ" U24D7 # CIRCLED LATIN SMALL LETTER H + : "ⓘ" U24D8 # CIRCLED LATIN SMALL LETTER I + : "ⓙ" U24D9 # CIRCLED LATIN SMALL LETTER J + : "ⓚ" U24DA # CIRCLED LATIN SMALL LETTER K + : "ⓛ" U24DB # CIRCLED LATIN SMALL LETTER L + : "ⓜ" U24DC # CIRCLED LATIN SMALL LETTER M + : "ⓝ" U24DD # CIRCLED LATIN SMALL LETTER N + : "ⓞ" U24DE # CIRCLED LATIN SMALL LETTER O +

: "ⓟ" U24DF # CIRCLED LATIN SMALL LETTER P + : "ⓠ" U24E0 # CIRCLED LATIN SMALL LETTER Q + : "ⓡ" U24E1 # CIRCLED LATIN SMALL LETTER R + : "ⓢ" U24E2 # CIRCLED LATIN SMALL LETTER S + : "ⓣ" U24E3 # CIRCLED LATIN SMALL LETTER T + : "ⓤ" U24E4 # CIRCLED LATIN SMALL LETTER U + : "ⓥ" U24E5 # CIRCLED LATIN SMALL LETTER V + : "ⓦ" U24E6 # CIRCLED LATIN SMALL LETTER W + : "ⓧ" U24E7 # CIRCLED LATIN SMALL LETTER X + : "ⓨ" U24E8 # CIRCLED LATIN SMALL LETTER Y + : "ⓩ" U24E9 # CIRCLED LATIN SMALL LETTER Z + <0> : "⓪" U24EA # CIRCLED DIGIT ZERO + : "⓪" U24EA # CIRCLED DIGIT ZERO + : "⨥" U2A25 # PLUS SIGN WITH DOT BELOW + : "⨦" U2A26 # PLUS SIGN WITH TILDE BELOW + : "⨪" U2A2A # MINUS SIGN WITH DOT BELOW + : "⩦" U2A66 # EQUALS SIGN WITH DOT BELOW + : "⩷" U2A77 # EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW + : "⩷" U2A77 # EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW + : "⫝̸" U2ADC # FORKING + : "⫰" U2AF0 # VERTICAL LINE WITH CIRCLE BELOW + : "が" U304C # HIRAGANA LETTER GA + : "ぎ" U304E # HIRAGANA LETTER GI + : "ぐ" U3050 # HIRAGANA LETTER GU + : "げ" U3052 # HIRAGANA LETTER GE + : "ご" U3054 # HIRAGANA LETTER GO + : "ざ" U3056 # HIRAGANA LETTER ZA + : "じ" U3058 # HIRAGANA LETTER ZI + : "ず" U305A # HIRAGANA LETTER ZU + : "ぜ" U305C # HIRAGANA LETTER ZE + : "ぞ" U305E # HIRAGANA LETTER ZO + : "だ" U3060 # HIRAGANA LETTER DA + : "ぢ" U3062 # HIRAGANA LETTER DI + : "づ" U3065 # HIRAGANA LETTER DU + : "で" U3067 # HIRAGANA LETTER DE + : "ど" U3069 # HIRAGANA LETTER DO + : "ば" U3070 # HIRAGANA LETTER BA + : "ぱ" U3071 # HIRAGANA LETTER PA + : "び" U3073 # HIRAGANA LETTER BI + : "ぴ" U3074 # HIRAGANA LETTER PI + : "ぶ" U3076 # HIRAGANA LETTER BU + : "ぷ" U3077 # HIRAGANA LETTER PU + : "べ" U3079 # HIRAGANA LETTER BE + : "ぺ" U307A # HIRAGANA LETTER PE + : "ぼ" U307C # HIRAGANA LETTER BO + : "ぽ" U307D # HIRAGANA LETTER PO + : "ゔ" U3094 # HIRAGANA LETTER VU + : "ゞ" U309E # HIRAGANA VOICED ITERATION MARK + : "ガ" U30AC # KATAKANA LETTER GA + : "ギ" U30AE # KATAKANA LETTER GI + : "グ" U30B0 # KATAKANA LETTER GU + : "ゲ" U30B2 # KATAKANA LETTER GE + : "ゴ" U30B4 # KATAKANA LETTER GO + : "ザ" U30B6 # KATAKANA LETTER ZA + : "ジ" U30B8 # KATAKANA LETTER ZI + : "ズ" U30BA # KATAKANA LETTER ZU + : "ゼ" U30BC # KATAKANA LETTER ZE + : "ゾ" U30BE # KATAKANA LETTER ZO + : "ダ" U30C0 # KATAKANA LETTER DA + : "ヂ" U30C2 # KATAKANA LETTER DI + : "ヅ" U30C5 # KATAKANA LETTER DU + : "デ" U30C7 # KATAKANA LETTER DE + : "ド" U30C9 # KATAKANA LETTER DO + : "バ" U30D0 # KATAKANA LETTER BA + : "パ" U30D1 # KATAKANA LETTER PA + : "ビ" U30D3 # KATAKANA LETTER BI + : "ピ" U30D4 # KATAKANA LETTER PI + : "ブ" U30D6 # KATAKANA LETTER BU + : "プ" U30D7 # KATAKANA LETTER PU + : "ベ" U30D9 # KATAKANA LETTER BE + : "ペ" U30DA # KATAKANA LETTER PE + : "ボ" U30DC # KATAKANA LETTER BO + : "ポ" U30DD # KATAKANA LETTER PO + : "ヴ" U30F4 # KATAKANA LETTER VU + : "ヷ" U30F7 # KATAKANA LETTER VA + : "ヸ" U30F8 # KATAKANA LETTER VI + : "ヹ" U30F9 # KATAKANA LETTER VE + : "ヺ" U30FA # KATAKANA LETTER VO + : "ヾ" U30FE # KATAKANA VOICED ITERATION MARK + : "㆒" U3192 # IDEOGRAPHIC ANNOTATION ONE MARK + : "㆒" U3192 # IDEOGRAPHIC ANNOTATION ONE MARK + : "㆓" U3193 # IDEOGRAPHIC ANNOTATION TWO MARK + : "㆓" U3193 # IDEOGRAPHIC ANNOTATION TWO MARK + : "㆔" U3194 # IDEOGRAPHIC ANNOTATION THREE MARK + : "㆔" U3194 # IDEOGRAPHIC ANNOTATION THREE MARK + : "㆕" U3195 # IDEOGRAPHIC ANNOTATION FOUR MARK + : "㆕" U3195 # IDEOGRAPHIC ANNOTATION FOUR MARK + : "㆖" U3196 # IDEOGRAPHIC ANNOTATION TOP MARK + : "㆖" U3196 # IDEOGRAPHIC ANNOTATION TOP MARK + : "㆗" U3197 # IDEOGRAPHIC ANNOTATION MIDDLE MARK + : "㆗" U3197 # IDEOGRAPHIC ANNOTATION MIDDLE MARK + : "㆘" U3198 # IDEOGRAPHIC ANNOTATION BOTTOM MARK + : "㆘" U3198 # IDEOGRAPHIC ANNOTATION BOTTOM MARK + : "㆙" U3199 # IDEOGRAPHIC ANNOTATION FIRST MARK + : "㆙" U3199 # IDEOGRAPHIC ANNOTATION FIRST MARK + : "㆚" U319A # IDEOGRAPHIC ANNOTATION SECOND MARK + : "㆚" U319A # IDEOGRAPHIC ANNOTATION SECOND MARK + : "㆛" U319B # IDEOGRAPHIC ANNOTATION THIRD MARK + : "㆛" U319B # IDEOGRAPHIC ANNOTATION THIRD MARK + : "㆜" U319C # IDEOGRAPHIC ANNOTATION FOURTH MARK + : "㆜" U319C # IDEOGRAPHIC ANNOTATION FOURTH MARK + : "㆝" U319D # IDEOGRAPHIC ANNOTATION HEAVEN MARK + : "㆝" U319D # IDEOGRAPHIC ANNOTATION HEAVEN MARK + : "㆞" U319E # IDEOGRAPHIC ANNOTATION EARTH MARK + : "㆞" U319E # IDEOGRAPHIC ANNOTATION EARTH MARK + : "㆟" U319F # IDEOGRAPHIC ANNOTATION MAN MARK + : "㆟" U319F # IDEOGRAPHIC ANNOTATION MAN MARK + <2> <1> : "㉑" U3251 # CIRCLED NUMBER TWENTY ONE + <2> : "㉑" U3251 # CIRCLED NUMBER TWENTY ONE + <1> : "㉑" U3251 # CIRCLED NUMBER TWENTY ONE + : "㉑" U3251 # CIRCLED NUMBER TWENTY ONE + <1> : "㉑" U3251 # CIRCLED NUMBER TWENTY ONE + : "㉑" U3251 # CIRCLED NUMBER TWENTY ONE + <2> <2> : "㉒" U3252 # CIRCLED NUMBER TWENTY TWO + <2> : "㉒" U3252 # CIRCLED NUMBER TWENTY TWO + <2> : "㉒" U3252 # CIRCLED NUMBER TWENTY TWO + <2> : "㉒" U3252 # CIRCLED NUMBER TWENTY TWO + : "㉒" U3252 # CIRCLED NUMBER TWENTY TWO + : "㉒" U3252 # CIRCLED NUMBER TWENTY TWO + <2> : "㉒" U3252 # CIRCLED NUMBER TWENTY TWO + : "㉒" U3252 # CIRCLED NUMBER TWENTY TWO + : "㉒" U3252 # CIRCLED NUMBER TWENTY TWO + <2> <3> : "㉓" U3253 # CIRCLED NUMBER TWENTY THREE + <2> : "㉓" U3253 # CIRCLED NUMBER TWENTY THREE + <3> : "㉓" U3253 # CIRCLED NUMBER TWENTY THREE + : "㉓" U3253 # CIRCLED NUMBER TWENTY THREE + <3> : "㉓" U3253 # CIRCLED NUMBER TWENTY THREE + : "㉓" U3253 # CIRCLED NUMBER TWENTY THREE + <2> <4> : "㉔" U3254 # CIRCLED NUMBER TWENTY FOUR + <2> : "㉔" U3254 # CIRCLED NUMBER TWENTY FOUR + <4> : "㉔" U3254 # CIRCLED NUMBER TWENTY FOUR + : "㉔" U3254 # CIRCLED NUMBER TWENTY FOUR + <4> : "㉔" U3254 # CIRCLED NUMBER TWENTY FOUR + : "㉔" U3254 # CIRCLED NUMBER TWENTY FOUR + <2> <5> : "㉕" U3255 # CIRCLED NUMBER TWENTY FIVE + <2> : "㉕" U3255 # CIRCLED NUMBER TWENTY FIVE + <5> : "㉕" U3255 # CIRCLED NUMBER TWENTY FIVE + : "㉕" U3255 # CIRCLED NUMBER TWENTY FIVE + <5> : "㉕" U3255 # CIRCLED NUMBER TWENTY FIVE + : "㉕" U3255 # CIRCLED NUMBER TWENTY FIVE + <2> <6> : "㉖" U3256 # CIRCLED NUMBER TWENTY SIX + <2> : "㉖" U3256 # CIRCLED NUMBER TWENTY SIX + <6> : "㉖" U3256 # CIRCLED NUMBER TWENTY SIX + : "㉖" U3256 # CIRCLED NUMBER TWENTY SIX + <6> : "㉖" U3256 # CIRCLED NUMBER TWENTY SIX + : "㉖" U3256 # CIRCLED NUMBER TWENTY SIX + <2> <7> : "㉗" U3257 # CIRCLED NUMBER TWENTY SEVEN + <2> : "㉗" U3257 # CIRCLED NUMBER TWENTY SEVEN + <7> : "㉗" U3257 # CIRCLED NUMBER TWENTY SEVEN + : "㉗" U3257 # CIRCLED NUMBER TWENTY SEVEN + <7> : "㉗" U3257 # CIRCLED NUMBER TWENTY SEVEN + : "㉗" U3257 # CIRCLED NUMBER TWENTY SEVEN + <2> <8> : "㉘" U3258 # CIRCLED NUMBER TWENTY EIGHT + <2> : "㉘" U3258 # CIRCLED NUMBER TWENTY EIGHT + <8> : "㉘" U3258 # CIRCLED NUMBER TWENTY EIGHT + : "㉘" U3258 # CIRCLED NUMBER TWENTY EIGHT + <8> : "㉘" U3258 # CIRCLED NUMBER TWENTY EIGHT + : "㉘" U3258 # CIRCLED NUMBER TWENTY EIGHT + <2> <9> : "㉙" U3259 # CIRCLED NUMBER TWENTY NINE + <2> : "㉙" U3259 # CIRCLED NUMBER TWENTY NINE + <9> : "㉙" U3259 # CIRCLED NUMBER TWENTY NINE + : "㉙" U3259 # CIRCLED NUMBER TWENTY NINE + <9> : "㉙" U3259 # CIRCLED NUMBER TWENTY NINE + : "㉙" U3259 # CIRCLED NUMBER TWENTY NINE + <3> <0> : "㉚" U325A # CIRCLED NUMBER THIRTY + <3> : "㉚" U325A # CIRCLED NUMBER THIRTY + <0> : "㉚" U325A # CIRCLED NUMBER THIRTY + : "㉚" U325A # CIRCLED NUMBER THIRTY + <3> <1> : "㉛" U325B # CIRCLED NUMBER THIRTY ONE + <3> : "㉛" U325B # CIRCLED NUMBER THIRTY ONE + <1> : "㉛" U325B # CIRCLED NUMBER THIRTY ONE + : "㉛" U325B # CIRCLED NUMBER THIRTY ONE + <3> <2> : "㉜" U325C # CIRCLED NUMBER THIRTY TWO + <3> : "㉜" U325C # CIRCLED NUMBER THIRTY TWO + <3> : "㉜" U325C # CIRCLED NUMBER THIRTY TWO + <2> : "㉜" U325C # CIRCLED NUMBER THIRTY TWO + : "㉜" U325C # CIRCLED NUMBER THIRTY TWO + : "㉜" U325C # CIRCLED NUMBER THIRTY TWO + <3> <3> : "㉝" U325D # CIRCLED NUMBER THIRTY THREE + <3> : "㉝" U325D # CIRCLED NUMBER THIRTY THREE + <3> : "㉝" U325D # CIRCLED NUMBER THIRTY THREE + : "㉝" U325D # CIRCLED NUMBER THIRTY THREE + <3> <4> : "㉞" U325E # CIRCLED NUMBER THIRTY FOUR + <3> : "㉞" U325E # CIRCLED NUMBER THIRTY FOUR + <4> : "㉞" U325E # CIRCLED NUMBER THIRTY FOUR + : "㉞" U325E # CIRCLED NUMBER THIRTY FOUR + <3> <5> : "㉟" U325F # CIRCLED NUMBER THIRTY FIVE + <3> : "㉟" U325F # CIRCLED NUMBER THIRTY FIVE + <5> : "㉟" U325F # CIRCLED NUMBER THIRTY FIVE + : "㉟" U325F # CIRCLED NUMBER THIRTY FIVE + : "㉠" U3260 # CIRCLED HANGUL KIYEOK + : "㉡" U3261 # CIRCLED HANGUL NIEUN + : "㉢" U3262 # CIRCLED HANGUL TIKEUT + : "㉣" U3263 # CIRCLED HANGUL RIEUL + : "㉤" U3264 # CIRCLED HANGUL MIEUM + : "㉥" U3265 # CIRCLED HANGUL PIEUP + : "㉦" U3266 # CIRCLED HANGUL SIOS + : "㉧" U3267 # CIRCLED HANGUL IEUNG + : "㉨" U3268 # CIRCLED HANGUL CIEUC + : "㉩" U3269 # CIRCLED HANGUL CHIEUCH + : "㉪" U326A # CIRCLED HANGUL KHIEUKH + : "㉫" U326B # CIRCLED HANGUL THIEUTH + : "㉬" U326C # CIRCLED HANGUL PHIEUPH + : "㉭" U326D # CIRCLED HANGUL HIEUH + : "㉮" U326E # CIRCLED HANGUL KIYEOK A + : "㉯" U326F # CIRCLED HANGUL NIEUN A + : "㉰" U3270 # CIRCLED HANGUL TIKEUT A + : "㉱" U3271 # CIRCLED HANGUL RIEUL A + : "㉲" U3272 # CIRCLED HANGUL MIEUM A + : "㉳" U3273 # CIRCLED HANGUL PIEUP A + : "㉴" U3274 # CIRCLED HANGUL SIOS A + : "㉵" U3275 # CIRCLED HANGUL IEUNG A + : "㉶" U3276 # CIRCLED HANGUL CIEUC A + : "㉷" U3277 # CIRCLED HANGUL CHIEUCH A + : "㉸" U3278 # CIRCLED HANGUL KHIEUKH A + : "㉹" U3279 # CIRCLED HANGUL THIEUTH A + : "㉺" U327A # CIRCLED HANGUL PHIEUPH A + : "㉻" U327B # CIRCLED HANGUL HIEUH A + : "㊀" U3280 # CIRCLED IDEOGRAPH ONE + : "㊁" U3281 # CIRCLED IDEOGRAPH TWO + : "㊂" U3282 # CIRCLED IDEOGRAPH THREE + : "㊃" U3283 # CIRCLED IDEOGRAPH FOUR + : "㊄" U3284 # CIRCLED IDEOGRAPH FIVE + : "㊅" U3285 # CIRCLED IDEOGRAPH SIX + : "㊆" U3286 # CIRCLED IDEOGRAPH SEVEN + : "㊇" U3287 # CIRCLED IDEOGRAPH EIGHT + : "㊈" U3288 # CIRCLED IDEOGRAPH NINE + : "㊉" U3289 # CIRCLED IDEOGRAPH TEN + : "㊊" U328A # CIRCLED IDEOGRAPH MOON + : "㊋" U328B # CIRCLED IDEOGRAPH FIRE + : "㊌" U328C # CIRCLED IDEOGRAPH WATER + : "㊍" U328D # CIRCLED IDEOGRAPH WOOD + : "㊎" U328E # CIRCLED IDEOGRAPH METAL + : "㊏" U328F # CIRCLED IDEOGRAPH EARTH + : "㊐" U3290 # CIRCLED IDEOGRAPH SUN + : "㊑" U3291 # CIRCLED IDEOGRAPH STOCK + : "㊒" U3292 # CIRCLED IDEOGRAPH HAVE + : "㊓" U3293 # CIRCLED IDEOGRAPH SOCIETY + : "㊔" U3294 # CIRCLED IDEOGRAPH NAME + : "㊕" U3295 # CIRCLED IDEOGRAPH SPECIAL + : "㊖" U3296 # CIRCLED IDEOGRAPH FINANCIAL + : "㊗" U3297 # CIRCLED IDEOGRAPH CONGRATULATION + : "㊘" U3298 # CIRCLED IDEOGRAPH LABOR + : "㊙" U3299 # CIRCLED IDEOGRAPH SECRET + : "㊚" U329A # CIRCLED IDEOGRAPH MALE + : "㊛" U329B # CIRCLED IDEOGRAPH FEMALE + : "㊜" U329C # CIRCLED IDEOGRAPH SUITABLE + : "㊝" U329D # CIRCLED IDEOGRAPH EXCELLENT + : "㊞" U329E # CIRCLED IDEOGRAPH PRINT + : "㊟" U329F # CIRCLED IDEOGRAPH ATTENTION + : "㊠" U32A0 # CIRCLED IDEOGRAPH ITEM + : "㊡" U32A1 # CIRCLED IDEOGRAPH REST + : "㊢" U32A2 # CIRCLED IDEOGRAPH COPY + : "㊣" U32A3 # CIRCLED IDEOGRAPH CORRECT + : "㊤" U32A4 # CIRCLED IDEOGRAPH HIGH + : "㊥" U32A5 # CIRCLED IDEOGRAPH CENTRE + : "㊦" U32A6 # CIRCLED IDEOGRAPH LOW + : "㊧" U32A7 # CIRCLED IDEOGRAPH LEFT + : "㊨" U32A8 # CIRCLED IDEOGRAPH RIGHT + : "㊩" U32A9 # CIRCLED IDEOGRAPH MEDICINE + : "㊪" U32AA # CIRCLED IDEOGRAPH RELIGION + : "㊫" U32AB # CIRCLED IDEOGRAPH STUDY + : "㊬" U32AC # CIRCLED IDEOGRAPH SUPERVISE + : "㊭" U32AD # CIRCLED IDEOGRAPH ENTERPRISE + : "㊮" U32AE # CIRCLED IDEOGRAPH RESOURCE + : "㊯" U32AF # CIRCLED IDEOGRAPH ALLIANCE + : "㊰" U32B0 # CIRCLED IDEOGRAPH NIGHT + <3> <6> : "㊱" U32B1 # CIRCLED NUMBER THIRTY SIX + <3> : "㊱" U32B1 # CIRCLED NUMBER THIRTY SIX + <6> : "㊱" U32B1 # CIRCLED NUMBER THIRTY SIX + : "㊱" U32B1 # CIRCLED NUMBER THIRTY SIX + <3> <7> : "㊲" U32B2 # CIRCLED NUMBER THIRTY SEVEN + <3> : "㊲" U32B2 # CIRCLED NUMBER THIRTY SEVEN + <7> : "㊲" U32B2 # CIRCLED NUMBER THIRTY SEVEN + : "㊲" U32B2 # CIRCLED NUMBER THIRTY SEVEN + <3> <8> : "㊳" U32B3 # CIRCLED NUMBER THIRTY EIGHT + <3> : "㊳" U32B3 # CIRCLED NUMBER THIRTY EIGHT + <8> : "㊳" U32B3 # CIRCLED NUMBER THIRTY EIGHT + : "㊳" U32B3 # CIRCLED NUMBER THIRTY EIGHT + <3> <9> : "㊴" U32B4 # CIRCLED NUMBER THIRTY NINE + <3> : "㊴" U32B4 # CIRCLED NUMBER THIRTY NINE + <9> : "㊴" U32B4 # CIRCLED NUMBER THIRTY NINE + : "㊴" U32B4 # CIRCLED NUMBER THIRTY NINE + <4> <0> : "㊵" U32B5 # CIRCLED NUMBER FORTY + <4> : "㊵" U32B5 # CIRCLED NUMBER FORTY + <0> : "㊵" U32B5 # CIRCLED NUMBER FORTY + : "㊵" U32B5 # CIRCLED NUMBER FORTY + <4> <1> : "㊶" U32B6 # CIRCLED NUMBER FORTY ONE + <4> : "㊶" U32B6 # CIRCLED NUMBER FORTY ONE + <1> : "㊶" U32B6 # CIRCLED NUMBER FORTY ONE + : "㊶" U32B6 # CIRCLED NUMBER FORTY ONE + <4> <2> : "㊷" U32B7 # CIRCLED NUMBER FORTY TWO + <4> : "㊷" U32B7 # CIRCLED NUMBER FORTY TWO + <4> : "㊷" U32B7 # CIRCLED NUMBER FORTY TWO + <2> : "㊷" U32B7 # CIRCLED NUMBER FORTY TWO + : "㊷" U32B7 # CIRCLED NUMBER FORTY TWO + : "㊷" U32B7 # CIRCLED NUMBER FORTY TWO + <4> <3> : "㊸" U32B8 # CIRCLED NUMBER FORTY THREE + <4> : "㊸" U32B8 # CIRCLED NUMBER FORTY THREE + <3> : "㊸" U32B8 # CIRCLED NUMBER FORTY THREE + : "㊸" U32B8 # CIRCLED NUMBER FORTY THREE + <4> <4> : "㊹" U32B9 # CIRCLED NUMBER FORTY FOUR + <4> : "㊹" U32B9 # CIRCLED NUMBER FORTY FOUR + <4> : "㊹" U32B9 # CIRCLED NUMBER FORTY FOUR + : "㊹" U32B9 # CIRCLED NUMBER FORTY FOUR + <4> <5> : "㊺" U32BA # CIRCLED NUMBER FORTY FIVE + <4> : "㊺" U32BA # CIRCLED NUMBER FORTY FIVE + <5> : "㊺" U32BA # CIRCLED NUMBER FORTY FIVE + : "㊺" U32BA # CIRCLED NUMBER FORTY FIVE + <4> <6> : "㊻" U32BB # CIRCLED NUMBER FORTY SIX + <4> : "㊻" U32BB # CIRCLED NUMBER FORTY SIX + <6> : "㊻" U32BB # CIRCLED NUMBER FORTY SIX + : "㊻" U32BB # CIRCLED NUMBER FORTY SIX + <4> <7> : "㊼" U32BC # CIRCLED NUMBER FORTY SEVEN + <4> : "㊼" U32BC # CIRCLED NUMBER FORTY SEVEN + <7> : "㊼" U32BC # CIRCLED NUMBER FORTY SEVEN + : "㊼" U32BC # CIRCLED NUMBER FORTY SEVEN + <4> <8> : "㊽" U32BD # CIRCLED NUMBER FORTY EIGHT + <4> : "㊽" U32BD # CIRCLED NUMBER FORTY EIGHT + <8> : "㊽" U32BD # CIRCLED NUMBER FORTY EIGHT + : "㊽" U32BD # CIRCLED NUMBER FORTY EIGHT + <4> <9> : "㊾" U32BE # CIRCLED NUMBER FORTY NINE + <4> : "㊾" U32BE # CIRCLED NUMBER FORTY NINE + <9> : "㊾" U32BE # CIRCLED NUMBER FORTY NINE + : "㊾" U32BE # CIRCLED NUMBER FORTY NINE + <5> <0> : "㊿" U32BF # CIRCLED NUMBER FIFTY + <5> : "㊿" U32BF # CIRCLED NUMBER FIFTY + <0> : "㊿" U32BF # CIRCLED NUMBER FIFTY + : "㊿" U32BF # CIRCLED NUMBER FIFTY + : "㋐" U32D0 # CIRCLED KATAKANA A + : "㋑" U32D1 # CIRCLED KATAKANA I + : "㋒" U32D2 # CIRCLED KATAKANA U + : "㋓" U32D3 # CIRCLED KATAKANA E + : "㋔" U32D4 # CIRCLED KATAKANA O + : "㋕" U32D5 # CIRCLED KATAKANA KA + : "㋖" U32D6 # CIRCLED KATAKANA KI + : "㋗" U32D7 # CIRCLED KATAKANA KU + : "㋘" U32D8 # CIRCLED KATAKANA KE + : "㋙" U32D9 # CIRCLED KATAKANA KO + : "㋚" U32DA # CIRCLED KATAKANA SA + : "㋛" U32DB # CIRCLED KATAKANA SI + : "㋜" U32DC # CIRCLED KATAKANA SU + : "㋝" U32DD # CIRCLED KATAKANA SE + : "㋞" U32DE # CIRCLED KATAKANA SO + : "㋟" U32DF # CIRCLED KATAKANA TA + : "㋠" U32E0 # CIRCLED KATAKANA TI + : "㋡" U32E1 # CIRCLED KATAKANA TU + : "㋢" U32E2 # CIRCLED KATAKANA TE + : "㋣" U32E3 # CIRCLED KATAKANA TO + : "㋤" U32E4 # CIRCLED KATAKANA NA + : "㋥" U32E5 # CIRCLED KATAKANA NI + : "㋦" U32E6 # CIRCLED KATAKANA NU + : "㋧" U32E7 # CIRCLED KATAKANA NE + : "㋨" U32E8 # CIRCLED KATAKANA NO + : "㋩" U32E9 # CIRCLED KATAKANA HA + : "㋪" U32EA # CIRCLED KATAKANA HI + : "㋫" U32EB # CIRCLED KATAKANA HU + : "㋬" U32EC # CIRCLED KATAKANA HE + : "㋭" U32ED # CIRCLED KATAKANA HO + : "㋮" U32EE # CIRCLED KATAKANA MA + : "㋯" U32EF # CIRCLED KATAKANA MI + : "㋰" U32F0 # CIRCLED KATAKANA MU + : "㋱" U32F1 # CIRCLED KATAKANA ME + : "㋲" U32F2 # CIRCLED KATAKANA MO + : "㋳" U32F3 # CIRCLED KATAKANA YA + : "㋴" U32F4 # CIRCLED KATAKANA YU + : "㋵" U32F5 # CIRCLED KATAKANA YO + : "㋶" U32F6 # CIRCLED KATAKANA RA + : "㋷" U32F7 # CIRCLED KATAKANA RI + : "㋸" U32F8 # CIRCLED KATAKANA RU + : "㋹" U32F9 # CIRCLED KATAKANA RE + : "㋺" U32FA # CIRCLED KATAKANA RO + : "㋻" U32FB # CIRCLED KATAKANA WA + : "㋼" U32FC # CIRCLED KATAKANA WI + : "㋽" U32FD # CIRCLED KATAKANA WE + : "㋾" U32FE # CIRCLED KATAKANA WO + +# +# Hebrew letters with accents +# + + : "יִ" UFB1D # HEBREW LETTER YOD WITH HIRIQ + : "ײַ" UFB1F # HEBREW LIGATURE YIDDISH YOD YOD PATAH + : "שׁ" UFB2A # HEBREW LETTER SHIN WITH SHIN DOT + : "שׂ" UFB2B # HEBREW LETTER SHIN WITH SIN DOT + : "שּׁ" UFB2C # HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT + : "שּׁ" UFB2C # HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT + : "שּׂ" UFB2D # HEBREW LETTER SHIN WITH DAGESH AND SIN DOT + : "שּׂ" UFB2D # HEBREW LETTER SHIN WITH DAGESH AND SIN DOT + : "אַ" UFB2E # HEBREW LETTER ALEF WITH PATAH + : "אָ" UFB2F # HEBREW LETTER ALEF WITH QAMATS + : "אּ" UFB30 # HEBREW LETTER ALEF WITH MAPIQ + : "בּ" UFB31 # HEBREW LETTER BET WITH DAGESH + : "בּ" UFB31 # HEBREW LETTER BET WITH DAGESH + : "גּ" UFB32 # HEBREW LETTER GIMEL WITH DAGESH + : "גּ" UFB32 # HEBREW LETTER GIMEL WITH DAGESH + : "דּ" UFB33 # HEBREW LETTER DALET WITH DAGESH + : "דּ" UFB33 # HEBREW LETTER DALET WITH DAGESH + : "הּ" UFB34 # HEBREW LETTER HE WITH MAPIQ + : "וּ" UFB35 # HEBREW LETTER VAV WITH DAGESH + : "זּ" UFB36 # HEBREW LETTER ZAYIN WITH DAGESH + : "זּ" UFB36 # HEBREW LETTER ZAYIN WITH DAGESH + : "טּ" UFB38 # HEBREW LETTER TET WITH DAGESH + : "טּ" UFB38 # HEBREW LETTER TET WITH DAGESH + : "יּ" UFB39 # HEBREW LETTER YOD WITH DAGESH + : "ךּ" UFB3A # HEBREW LETTER FINAL KAF WITH DAGESH + : "כּ" UFB3B # HEBREW LETTER KAF WITH DAGESH + : "לּ" UFB3C # HEBREW LETTER LAMED WITH DAGESH + : "מּ" UFB3E # HEBREW LETTER MEM WITH DAGESH + : "נּ" UFB40 # HEBREW LETTER NUN WITH DAGESH + : "סּ" UFB41 # HEBREW LETTER SAMEKH WITH DAGESH + : "סּ" UFB41 # HEBREW LETTER SAMEKH WITH DAGESH + : "ףּ" UFB43 # HEBREW LETTER FINAL PE WITH DAGESH + : "פּ" UFB44 # HEBREW LETTER PE WITH DAGESH + : "צּ" UFB46 # HEBREW LETTER TSADI WITH DAGESH + : "צּ" UFB46 # HEBREW LETTER TSADI WITH DAGESH + : "קּ" UFB47 # HEBREW LETTER QOF WITH DAGESH + : "קּ" UFB47 # HEBREW LETTER QOF WITH DAGESH + : "רּ" UFB48 # HEBREW LETTER RESH WITH DAGESH + : "שּ" UFB49 # HEBREW LETTER SHIN WITH DAGESH + : "תּ" UFB4A # HEBREW LETTER TAV WITH DAGESH + : "תּ" UFB4A # HEBREW LETTER TAV WITH DAGESH + : "וֹ" UFB4B # HEBREW LETTER VAV WITH HOLAM + : "בֿ" UFB4C # HEBREW LETTER BET WITH RAFE + : "בֿ" UFB4C # HEBREW LETTER BET WITH RAFE + : "כֿ" UFB4D # HEBREW LETTER KAF WITH RAFE + : "פֿ" UFB4E # HEBREW LETTER PE WITH RAFE + : "𝅗𝅥" U1D15E # MUSICAL SYMBOL HALF NOTE + : "𝅘𝅥" U1D15F # MUSICAL SYMBOL QUARTER NOTE + : "𝅘𝅥𝅮" U1D160 # MUSICAL SYMBOL EIGHTH NOTE + + : "𝅘𝅥𝅯" U1D161 # MUSICAL SYMBOL SIXTEENTH NOTE + + : "𝅘𝅥𝅰" U1D162 # MUSICAL SYMBOL THIRTY-SECOND NOTE + + : "𝅘𝅥𝅱" U1D163 # MUSICAL SYMBOL SIXTY-FOURTH NOTE + + : "𝅘𝅥𝅲" U1D164 # MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE + + : "𝆹𝅥" U1D1BB # MUSICAL SYMBOL MINIMA + : "𝆺𝅥" U1D1BC # MUSICAL SYMBOL MINIMA BLACK + : "𝆹𝅥𝅮" U1D1BD # MUSICAL SYMBOL SEMIMINIMA WHITE + + : "𝆺𝅥𝅮" U1D1BE # MUSICAL SYMBOL SEMIMINIMA BLACK + + : "𝆹𝅥𝅯" U1D1BF # MUSICAL SYMBOL FUSA WHITE + + : "𝆺𝅥𝅯" U1D1C0 # MUSICAL SYMBOL FUSA BLACK + + +# +# Khmer digraphs +# + + : "ាំ" + : "ោះ" + : "េះ" + : "ុំ" + : "ុះ" + +# +# Arabic Lam-Alef ligatures +# + + : "لا" # ARABIC LIGATURE LAM WITH ALEF + : "لأ" # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE + : "لإ" # ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW + : "لآ" # ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE + +# +# French-Dvorak Bépo compositions +# + + : "Ǡ" U01E0 # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON + : "ǡ" U01E1 # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON + : "ȷ" U0237 # LATIN SMALL LETTER DOTLESS J + : "Ŀ" U013F # LATIN CAPITAL LETTER L WITH MIDDLE DOT + : "ŀ" U0140 # LATIN SMALL LETTER L WITH MIDDLE DOT + : "Ȱ" U0230 # LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON + : "ȱ" U0231 # LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON + : "̇" U0307 # COMBINING DOT ABOVE + : "Ṥ" U1E64 # LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE + : "ṥ" U1E65 # LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE + : "Ǘ" U01D7 # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE + : "ǘ" U01D8 # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE + : "́" U0301 # COMBINING ACUTE ACCENT + : "Ṩ" U1E68 # LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE + : "ṩ" U1E69 # LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE + : "̣" U0323 # COMBINING DOT BELOW + : "̣" U0323 # COMBINING DOT BELOW + : "̣" U0323 # COMBINING DOT BELOW + : "Ắ" Abreveacute # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE + : "Ằ" Abrevegrave # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE + : "Ẳ" Abrevehook # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE + : "Ẵ" Abrevetilde # LATIN CAPITAL LETTER A WITH BREVE AND TILDE + : "ắ" abreveacute # LATIN SMALL LETTER A WITH BREVE AND ACUTE + : "ằ" abrevegrave # LATIN SMALL LETTER A WITH BREVE AND GRAVE + : "ẳ" abrevehook # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE + : "ẵ" abrevetilde # LATIN SMALL LETTER A WITH BREVE AND TILDE + : "̆" U0306 # COMBINING BREVE + : "₍" U208D # SUBSCRIPT LEFT PARENTHESIS + : "₎" U208E # SUBSCRIPT RIGHT PARENTHESIS + : "₊" U208A # SUBSCRIPT PLUS SIGN + : "₋" U208B # SUBSCRIPT MINUS + <0> : "₀" zerosubscript # SUBSCRIPT ZERO + <1> : "₁" onesubscript # SUBSCRIPT ONE + <2> : "₂" twosubscript # SUBSCRIPT TWO + <3> : "₃" threesubscript # SUBSCRIPT THREE + <4> : "₄" foursubscript # SUBSCRIPT FOUR + <5> : "₅" fivesubscript # SUBSCRIPT FIVE + <6> : "₆" sixsubscript # SUBSCRIPT SIX + <7> : "₇" sevensubscript # SUBSCRIPT SEVEN + <8> : "₈" eightsubscript # SUBSCRIPT EIGHT + <9> : "₉" ninesubscript # SUBSCRIPT NINE + : "₌" U208C # SUBSCRIPT EQUALS SIGN + : "Dž" U01C5 # LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON + : "Ṧ" U1E66 # LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE + : "ṧ" U1E67 # LATIN SMALL LETTER S WITH CARON AND DOT ABOVE + : "Ǚ" U01D9 # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON + : "ǚ" U01DA # LATIN SMALL LETTER U WITH DIAERESIS AND CARON + : "̌" U030C # COMBINING CARON + : "Ḉ" U1E08 # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE + : "₵" U20B5 # CEDI SIGN + : "ḉ" U1E09 # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE + : "₵" U20B5 # CEDI SIGN + : "Ḝ" U1E1C # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE + : "ḝ" U1E1D # LATIN SMALL LETTER E WITH CEDILLA AND BREVE + : "̧" U0327 # COMBINING CEDILLA + : "Ấ" Acircumflexacute # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE + : "Ầ" Acircumflexgrave # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE + : "Ẩ" Acircumflexhook # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE + : "Ẫ" Acircumflextilde # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE + : "ấ" acircumflexacute # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE + : "ầ" acircumflexgrave # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE + : "ẩ" acircumflexhook # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE + : "ẫ" acircumflextilde # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE + : "Ế" Ecircumflexacute # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE + : "Ề" Ecircumflexgrave # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE + : "Ể" Ecircumflexhook # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE + : "Ễ" Ecircumflextilde # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE + : "ế" ecircumflexacute # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE + : "ề" ecircumflexgrave # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE + : "ể" ecircumflexhook # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE + : "ễ" ecircumflextilde # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE + : "Ố" Ocircumflexacute # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE + : "Ồ" Ocircumflexgrave # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE + : "Ổ" Ocircumflexhook # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE + : "Ỗ" Ocircumflextilde # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE + : "ố" ocircumflexacute # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE + : "ồ" ocircumflexgrave # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE + : "ổ" ocircumflexhook # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE + : "ỗ" ocircumflextilde # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE + : "̂" U0302 # COMBINING CIRCUMFLEX ACCENT + : "Ș" U0218 # LATIN CAPITAL LETTER S WITH COMMA BELOW + : "Ș" U0218 # LATIN CAPITAL LETTER S WITH COMMA BELOW + : "Ș" U0218 # LATIN CAPITAL LETTER S WITH COMMA BELOW + : "ș" U0219 # LATIN SMALL LETTER S WITH COMMA BELOW + : "ș" U0219 # LATIN SMALL LETTER S WITH COMMA BELOW + : "ș" U0219 # LATIN SMALL LETTER S WITH COMMA BELOW + : "Ț" U021A # LATIN CAPITAL LETTER T WITH COMMA BELOW + : "Ț" U021A # LATIN CAPITAL LETTER T WITH COMMA BELOW + : "Ț" U021A # LATIN CAPITAL LETTER T WITH COMMA BELOW + : "ț" U021B # LATIN SMALL LETTER T WITH COMMA BELOW + : "ț" U021B # LATIN SMALL LETTER T WITH COMMA BELOW + : "ț" U021B # LATIN SMALL LETTER T WITH COMMA BELOW + : "," comma # COMMA + : "̦" U0326 # COMBINING COMMA BELOW + : "," comma # COMMA + : "₳" U20B3 # AUSTRAL SIGN + : "؋" U060B # AFGHANI SIGN + : "₱" U20B1 # PESO SIGN + : "฿" Thai_baht # THAI CURRENCY SYMBOL BAHT + : "₵" U20B5 # CEDI SIGN + : "₡" ColonSign # COLON SIGN + : "₵" U20B5 # CEDI SIGN + : "¢" cent # CENT SIGN + : "₯" U20AF # DRACHMA SIGN + : "₫" DongSign # DONG SIGN + : "₠" EcuSign # EURO-CURRENCY SIGN + : "€" EuroSign # EURO SIGN + : "₣" FFrancSign # FRENCH FRANC SIGN + : "ƒ" function # LATIN SMALL LETTER F WITH HOOK + : "₲" U20B2 # GUARANI SIGN + : "₲" U20B2 # GUARANI SIGN + : "₴" U20B4 # HRYVNIA SIGN + : "₴" U20B4 # HRYVNIA SIGN + : "៛" U17DB # KHMER CURRENCY SYMBOL RIEL + : "﷼" UFDFC # RIAL SIGN + : "₭" U20AD # KIP SIGN + : "₭" U20AD # KIP SIGN + : "₤" LiraSign # LIRA SIGN + : "£" sterling # POUND SIGN + : "ℳ" U2133 # SCRIPT CAPITAL M + : "₥" MillSign # MILL SIGN + : "₦" NairaSign # NAIRA SIGN + : "₦" NairaSign # NAIRA SIGN + : "૱" U0AF1 # GUJARATI RUPEE SIGN + : "௹" U0BF9 # TAMIL RUPEE SIGN +

: "₧" PesetaSign # PESETA SIGN +

: "₰" U20B0 # GERMAN PENNY SIGN + : "₢" CruzeiroSign # CRUZEIRO SIGN + : "₨" RupeeSign # RUPEE SIGN + : "$" dollar # DOLLAR SIGN + : "₪" NewSheqelSign # NEW SHEQEL SIGN + : "₮" U20AE # TUGRIK SIGN + : "৳" U09F3 # BENGALI RUPEE SIGN + : "৲" U09F2 # BENGALI RUPEE MARK + : "৲" U09F2 # BENGALI RUPEE MARK + : "圓" U5713 # YUAN / WEN + : "元" U5143 # YUAN / WEN + : "₩" WonSign # WON SIGN + : "₩" WonSign # WON SIGN + : "円" U5186 # YEN + : "¥" yen # YEN SIGN + : "¤" currency # CURRENCY SIGN + : "¤" currency # CURRENCY SIGN + : "¤" currency # CURRENCY SIGN + : "Ǟ" U01DE # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON + : "ǟ" U01DF # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON + : "Ḯ" U1E2E # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE + : "ḯ" U1E2F # LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE + : "Ȫ" U022A # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON + : "ȫ" U022B # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON + : "Ǘ" U01D7 # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE + : "Ǚ" U01D9 # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON + : "Ǜ" U01DB # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE + : "ǘ" U01D8 # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE + : "ǚ" U01DA # LATIN SMALL LETTER U WITH DIAERESIS AND CARON + : "ǜ" U01DC # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE + : "̈" U0308 # COMBINING DIAERESIS + : "̋" U030B # COMBINING DOUBLE ACUTE ACCENT + : "Ǜ" U01DB # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE + : "ǜ" U01DC # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE + : "̀" U0300 # COMBINING GRAVE ACCENT + : "Α" U0391 # GREEK CAPITAL LETTER ALPHA + : "α" U03B1 # GREEK SMALL LETTER ALPHA + : "Β" U0392 # GREEK CAPITAL LETTER BETA + : "β" U03B2 # GREEK SMALL LETTER BETA + : "Δ" U0394 # GREEK CAPITAL LETTER DELTA + : "δ" U03B4 # GREEK SMALL LETTER DELTA + : "Ε" U0395 # GREEK CAPITAL LETTER EPSILON + : "ε" U03B5 # GREEK SMALL LETTER EPSILON + : "Φ" U03A6 # GREEK CAPITAL LETTER PHI + : "φ" U03C6 # GREEK SMALL LETTER PHI + : "Γ" U0393 # GREEK CAPITAL LETTER GAMMA + : "γ" U03B3 # GREEK SMALL LETTER GAMMA + : "Η" U0397 # GREEK CAPITAL LETTER ETA + : "η" U03B7 # GREEK SMALL LETTER ETA + : "Ι" U0399 # GREEK CAPITAL LETTER IOTA + : "ι" U03B9 # GREEK SMALL LETTER IOTA + : "Θ" U0398 # GREEK CAPITAL LETTER THETA + : "θ" U03B8 # GREEK SMALL LETTER THETA + : "Κ" U039A # GREEK CAPITAL LETTER KAPPA + : "κ" U03BA # GREEK SMALL LETTER KAPPA + : "Λ" U039B # GREEK CAPITAL LETTER LAMDA + : "λ" U03BB # GREEK SMALL LETTER LAMDA + : "Μ" U039C # GREEK CAPITAL LETTER MU + : "μ" U03BC # GREEK SMALL LETTER MU + : "Ν" U039D # GREEK CAPITAL LETTER NU + : "ν" U03BD # GREEK SMALL LETTER NU + : "Ο" U039F # GREEK CAPITAL LETTER OMICRON + : "ο" U03BF # GREEK SMALL LETTER OMICRON +

: "Π" U03A0 # GREEK CAPITAL LETTER PI +

: "π" U03C0 # GREEK SMALL LETTER PI + : "Χ" U03A7 # GREEK CAPITAL LETTER CHI + : "χ" U03C7 # GREEK SMALL LETTER CHI + : "Ρ" U03A1 # GREEK CAPITAL LETTER RHO + : "ρ" U03C1 # GREEK SMALL LETTER RHO + : "Σ" U03A3 # GREEK CAPITAL LETTER SIGMA + : "σ" U03C3 # GREEK SMALL LETTER SIGMA + : "Τ" U03A4 # GREEK CAPITAL LETTER TAU + : "τ" U03C4 # GREEK SMALL LETTER TAU + : "Υ" U03A5 # GREEK CAPITAL LETTER UPSILON + : "υ" U03C5 # GREEK SMALL LETTER UPSILON + : "Ω" U03A9 # GREEK CAPITAL LETTER OMEGA + : "ω" U03C9 # GREEK SMALL LETTER OMEGA + : "Ξ" U039E # GREEK CAPITAL LETTER XI + : "ξ" U03BE # GREEK SMALL LETTER XI + : "Ψ" U03A8 # GREEK CAPITAL LETTER PSI + : "ψ" U03C8 # GREEK SMALL LETTER PSI + : "Ζ" U0396 # GREEK CAPITAL LETTER ZETA + : "ζ" U03B6 # GREEK SMALL LETTER ZETA + : "µ" U00B5 # MICRO SIGN + : "µ" U00B5 # MICRO SIGN + : "µ" U00B5 # MICRO SIGN + : "Ɓ" U0181 # LATIN CAPITAL LETTER B WITH HOOK + : "ɓ" U0253 # LATIN SMALL LETTER B WITH HOOK + : "Ƈ" U0187 # LATIN CAPITAL LETTER C WITH HOOK + : "ƈ" U0188 # LATIN SMALL LETTER C WITH HOOK + : "Ɗ" U018A # LATIN CAPITAL LETTER D WITH HOOK + : "ɗ" U0257 # LATIN SMALL LETTER D WITH HOOK + : "ᶑ" U1D91 # LATIN SMALL LETTER D WITH HOOK AND TAIL + : "Ƒ" U0191 # LATIN CAPITAL LETTER F WITH HOOK + : "ƒ" function # LATIN SMALL LETTER F WITH HOOK + : "Ɠ" U0193 # LATIN CAPITAL LETTER G WITH HOOK + : "ɠ" U0260 # LATIN SMALL LETTER G WITH HOOK + : "ɦ" U0266 # LATIN SMALL LETTER H WITH HOOK + : "ʄ" U0284 # LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK + : "Ƙ" U0198 # LATIN CAPITAL LETTER K WITH HOOK + : "ƙ" U0199 # LATIN SMALL LETTER K WITH HOOK + : "Ɱ" U2C6E # LATIN CAPITAL LETTER M WITH HOOK + : "ɱ" U0271 # LATIN SMALL LETTER M WITH HOOK + : "Ɲ" U019D # LATIN CAPITAL LETTER N WITH LEFT HOOK + : "ɲ" U0272 # LATIN SMALL LETTER N WITH LEFT HOOK +

: "Ƥ" U01A4 # LATIN CAPITAL LETTER P WITH HOOK +

: "ƥ" U01A5 # LATIN SMALL LETTER P WITH HOOK + : "ʠ" U02A0 # LATIN SMALL LETTER Q WITH HOOK + : "ɝ" U025D # LATIN SMALL LETTER REVERSED OPEN E WITH HOOK + : "ɼ" U027C # LATIN SMALL LETTER R WITH LONG LEG + : "ʂ" U0282 # LATIN SMALL LETTER S WITH HOOK + : "ɚ" U025A # LATIN SMALL LETTER SCHWA WITH HOOK + : "Ƭ" U01AC # LATIN CAPITAL LETTER T WITH HOOK + : "ƭ" U01AD # LATIN SMALL LETTER T WITH HOOK + : "ɻ" U027B # LATIN SMALL LETTER TURNED R WITH HOOK + : "Ʋ" U01B2 # LATIN CAPITAL LETTER V WITH HOOK + : "ʋ" U028B # LATIN SMALL LETTER V WITH HOOK + : "Ⱳ" U2C72 # LATIN CAPITAL LETTER W WITH HOOK + : "ⱳ" U2C73 # LATIN SMALL LETTER W WITH HOOK + : "Ȥ" U0224 # LATIN CAPITAL LETTER Z WITH HOOK + : "ȥ" U0225 # LATIN SMALL LETTER Z WITH HOOK + : "̉" U0309 # COMBINING HOOK ABOVE + : "̉" U0309 # COMBINING HOOK ABOVE + : "̉" U0309 # COMBINING HOOK ABOVE + : "Ớ" Ohornacute # LATIN CAPITAL LETTER O WITH HORN AND ACUTE + : "Ợ" Ohornbelowdot # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW + : "Ờ" Ohorngrave # LATIN CAPITAL LETTER O WITH HORN AND GRAVE + : "Ở" Ohornhook # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE + : "Ỡ" Ohorntilde # LATIN CAPITAL LETTER O WITH HORN AND TILDE + : "ớ" ohornacute # LATIN SMALL LETTER O WITH HORN AND ACUTE + : "ợ" ohornbelowdot # LATIN SMALL LETTER O WITH HORN AND DOT BELOW + : "ờ" ohorngrave # LATIN SMALL LETTER O WITH HORN AND GRAVE + : "ở" ohornhook # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE + : "ỡ" ohorntilde # LATIN SMALL LETTER O WITH HORN AND TILDE + : "Ứ" Uhornacute # LATIN CAPITAL LETTER U WITH HORN AND ACUTE + : "Ự" Uhornbelowdot # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW + : "Ừ" Uhorngrave # LATIN CAPITAL LETTER U WITH HORN AND GRAVE + : "Ử" Uhornhook # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE + : "Ữ" Uhorntilde # LATIN CAPITAL LETTER U WITH HORN AND TILDE + : "ứ" uhornacute # LATIN SMALL LETTER U WITH HORN AND ACUTE + : "ự" uhornbelowdot # LATIN SMALL LETTER U WITH HORN AND DOT BELOW + : "ừ" uhorngrave # LATIN SMALL LETTER U WITH HORN AND GRAVE + : "ử" uhornhook # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE + : "ữ" uhorntilde # LATIN SMALL LETTER U WITH HORN AND TILDE + : "̛" U031B # COMBINING HORN + : "̛" U031B # COMBINING HORN + : "̛" U031B # COMBINING HORN + : "Ḗ" U1E16 # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE + : "Ḕ" U1E14 # LATIN CAPITAL LETTER E WITH MACRON AND GRAVE + : "ḗ" U1E17 # LATIN SMALL LETTER E WITH MACRON AND ACUTE + : "ḕ" U1E15 # LATIN SMALL LETTER E WITH MACRON AND GRAVE + : "Ṓ" U1E52 # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE + : "Ṑ" U1E50 # LATIN CAPITAL LETTER O WITH MACRON AND GRAVE + : "ṓ" U1E53 # LATIN SMALL LETTER O WITH MACRON AND ACUTE + : "ṑ" U1E51 # LATIN SMALL LETTER O WITH MACRON AND GRAVE + : "Ǖ" U01D5 # LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON + : "ǖ" U01D6 # LATIN SMALL LETTER U WITH DIAERESIS AND MACRON + : "̄" U0304 # COMBINING MACRON + : "Ǭ" U01EC # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON + : "ǭ" U01ED # LATIN SMALL LETTER O WITH OGONEK AND MACRON + : "̨" U0328 # COMBINING OGONEK + : "Ǻ" U01FA # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE + : "ǻ" U01FB # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE + : "̊" U030A # COMBINING RING ABOVE + <2> : "ƻ" U01BB # LATIN LETTER TWO WITH STROKE + : "≠" notequal # NOT EQUAL TO + : "Ⱥ" U023A # LATIN CAPITAL LETTER A WITH STROKE + : "ⱥ" U2C65 # LATIN SMALL LETTER A WITH STROKE + : "Ƀ" U0243 # LATIN CAPITAL LETTER B WITH STROKE + : "Ȼ" U023B # LATIN CAPITAL LETTER C WITH STROKE + : "ȼ" U023C # LATIN SMALL LETTER C WITH STROKE + : "Ɇ" U0246 # LATIN CAPITAL LETTER E WITH STROKE + : "ɇ" U0247 # LATIN SMALL LETTER E WITH STROKE + : "≯" U226F # NOT GREATER-THAN + : "≱" U2271 # NEITHER GREATER-THAN NOR EQUAL TO + : "Ɉ" U0248 # LATIN CAPITAL LETTER J WITH STROKE + : "ɉ" U0249 # LATIN SMALL LETTER J WITH STROKE + : "ᵼ" U1D7C # LATIN SMALL LETTER IOTA WITH STROKE + : "ɟ" U025F # LATIN SMALL LETTER DOTLESS J WITH STROKE + : "≮" U226E # NOT LESS-THAN + : "≰" U2270 # NEITHER LESS-THAN NOR EQUAL TO + : "Ǿ" U01FE # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE + : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE +

: "Ᵽ" U2C63 # LATIN CAPITAL LETTER P WITH STROKE +

: "ᵽ" U1D7D # LATIN SMALL LETTER P WITH STROKE + : "Ɍ" U024C # LATIN CAPITAL LETTER R WITH STROKE + : "ɍ" U024D # LATIN SMALL LETTER R WITH STROKE + : "Ʉ" U0244 # LATIN CAPITAL LETTER U BAR + : "ʉ" U0289 # LATIN SMALL LETTER U BAR + : "Ɏ" U024E # LATIN CAPITAL LETTER Y WITH STROKE + : "ɏ" U024F # LATIN SMALL LETTER Y WITH STROKE + : "/" slash # SOLIDUS + : "̸" U0338 # COMBINING LONG SOLIDUS OVERLAY + : "/" slash # SOLIDUS + : "Ṍ" U1E4C # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE + : "Ṏ" U1E4E # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS + : "Ȭ" U022C # LATIN CAPITAL LETTER O WITH TILDE AND MACRON + : "ṍ" U1E4D # LATIN SMALL LETTER O WITH TILDE AND ACUTE + : "ṏ" U1E4F # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS + : "ȭ" U022D # LATIN SMALL LETTER O WITH TILDE AND MACRON + : "Ṹ" U1E78 # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE + : "ṹ" U1E79 # LATIN SMALL LETTER U WITH TILDE AND ACUTE + : "≃" similarequal # ASYMPTOTICALLY EQUAL TO + : "≲" U2272 # LESS-THAN OR EQUIVALENT TO + : "≳" U2273 # GREATER-THAN OR EQUIVALENT TO + : "̃" U0303 # COMBINING TILDE + : "Ṥ" U1E64 # LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE + : "ṥ" U1E65 # LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE + : "Ṩ" U1E68 # LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE + : "ṩ" U1E69 # LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE + : "Ṧ" U1E66 # LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE + : "ṧ" U1E67 # LATIN SMALL LETTER S WITH CARON AND DOT ABOVE + : "Ǡ" U01E0 # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON + : "ǡ" U01E1 # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON + : "Ȱ" U0230 # LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON + : "ȱ" U0231 # LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON + : "ɟ" U025F # LATIN SMALL LETTER DOTLESS J WITH STROKE + : "ɟ" U025F # LATIN SMALL LETTER DOTLESS J WITH STROKE + : "Ắ" Abreveacute # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE + : "ắ" abreveacute # LATIN SMALL LETTER A WITH BREVE AND ACUTE + : "Ḉ" U1E08 # LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE + : "ḉ" U1E09 # LATIN SMALL LETTER C WITH CEDILLA AND ACUTE + : "Ấ" Acircumflexacute # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE + : "ấ" acircumflexacute # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE + : "Ế" Ecircumflexacute # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE + : "ế" ecircumflexacute # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE + : "Ố" Ocircumflexacute # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE + : "ố" ocircumflexacute # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE + : "Ḯ" U1E2E # LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE + : "ḯ" U1E2F # LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE + : "Ǘ" U01D7 # LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE + : "ǘ" U01D8 # LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE + : "Ớ" Ohornacute # LATIN CAPITAL LETTER O WITH HORN AND ACUTE + : "ớ" ohornacute # LATIN SMALL LETTER O WITH HORN AND ACUTE + : "Ứ" Uhornacute # LATIN CAPITAL LETTER U WITH HORN AND ACUTE + : "ứ" uhornacute # LATIN SMALL LETTER U WITH HORN AND ACUTE + : "Ḗ" U1E16 # LATIN CAPITAL LETTER E WITH MACRON AND ACUTE + : "ḗ" U1E17 # LATIN SMALL LETTER E WITH MACRON AND ACUTE + : "Ṓ" U1E52 # LATIN CAPITAL LETTER O WITH MACRON AND ACUTE + : "ṓ" U1E53 # LATIN SMALL LETTER O WITH MACRON AND ACUTE + : "Ǻ" U01FA # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE + : "ǻ" U01FB # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE + : "Ṍ" U1E4C # LATIN CAPITAL LETTER O WITH TILDE AND ACUTE + : "ṍ" U1E4D # LATIN SMALL LETTER O WITH TILDE AND ACUTE + : "Ṹ" U1E78 # LATIN CAPITAL LETTER U WITH TILDE AND ACUTE + : "ṹ" U1E79 # LATIN SMALL LETTER U WITH TILDE AND ACUTE + : "Ặ" Abrevebelowdot # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW + : "ặ" abrevebelowdot # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW + : "Ậ" Acircumflexbelowdot # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW + : "ậ" acircumflexbelowdot # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW + : "Ệ" Ecircumflexbelowdot # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW + : "ệ" ecircumflexbelowdot # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW + : "Ộ" Ocircumflexbelowdot # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW + : "ộ" ocircumflexbelowdot # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW + : "Ợ" Ohornbelowdot # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW + : "ợ" ohornbelowdot # LATIN SMALL LETTER O WITH HORN AND DOT BELOW + : "Ự" Uhornbelowdot # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW + : "ự" uhornbelowdot # LATIN SMALL LETTER U WITH HORN AND DOT BELOW + : "Ḹ" U1E38 # LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON + : "ḹ" U1E39 # LATIN SMALL LETTER L WITH DOT BELOW AND MACRON + : "Ṝ" U1E5C # LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON + : "ṝ" U1E5D # LATIN SMALL LETTER R WITH DOT BELOW AND MACRON + : "Ḝ" U1E1C # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE + : "ḝ" U1E1D # LATIN SMALL LETTER E WITH CEDILLA AND BREVE + : "Ằ" Abrevegrave # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE + : "ằ" abrevegrave # LATIN SMALL LETTER A WITH BREVE AND GRAVE + : "Ẳ" Abrevehook # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE + : "ẳ" abrevehook # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE + : "Ẵ" Abrevetilde # LATIN CAPITAL LETTER A WITH BREVE AND TILDE + : "ẵ" abrevetilde # LATIN SMALL LETTER A WITH BREVE AND TILDE + : "Ǚ" U01D9 # LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON + : "ǚ" U01DA # LATIN SMALL LETTER U WITH DIAERESIS AND CARON + : "₵" U20B5 # CEDI SIGN + : "₵" U20B5 # CEDI SIGN + : "₵" U20B5 # CEDI SIGN + : "₵" U20B5 # CEDI SIGN + : "Ầ" Acircumflexgrave # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE + : "ầ" acircumflexgrave # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE + : "Ề" Ecircumflexgrave # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE + : "ề" ecircumflexgrave # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE + : "Ồ" Ocircumflexgrave # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE + : "ồ" ocircumflexgrave # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE + : "Ẩ" Acircumflexhook # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE + : "ẩ" acircumflexhook # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE + : "Ể" Ecircumflexhook # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE + : "ể" ecircumflexhook # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE + : "Ổ" Ocircumflexhook # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE + : "ổ" ocircumflexhook # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE + : "Ẫ" Acircumflextilde # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE + : "ẫ" acircumflextilde # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE + : "Ễ" Ecircumflextilde # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE + : "ễ" ecircumflextilde # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE + : "Ỗ" Ocircumflextilde # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE + : "ỗ" ocircumflextilde # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE + : "Ǜ" U01DB # LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE + : "ǜ" U01DC # LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE + : "Ǟ" U01DE # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON + : "ǟ" U01DF # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON + : "Ȫ" U022A # LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON + : "ȫ" U022B # LATIN SMALL LETTER O WITH DIAERESIS AND MACRON + : "Ṏ" U1E4E # LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS + : "ṏ" U1E4F # LATIN SMALL LETTER O WITH TILDE AND DIAERESIS + : "Ờ" Ohorngrave # LATIN CAPITAL LETTER O WITH HORN AND GRAVE + : "ờ" ohorngrave # LATIN SMALL LETTER O WITH HORN AND GRAVE + : "Ừ" Uhorngrave # LATIN CAPITAL LETTER U WITH HORN AND GRAVE + : "ừ" uhorngrave # LATIN SMALL LETTER U WITH HORN AND GRAVE + : "Ḕ" U1E14 # LATIN CAPITAL LETTER E WITH MACRON AND GRAVE + : "ḕ" U1E15 # LATIN SMALL LETTER E WITH MACRON AND GRAVE + : "Ṑ" U1E50 # LATIN CAPITAL LETTER O WITH MACRON AND GRAVE + : "ṑ" U1E51 # LATIN SMALL LETTER O WITH MACRON AND GRAVE + : "Ở" Ohornhook # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE + : "ở" ohornhook # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE + : "Ử" Uhornhook # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE + : "ử" uhornhook # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE + : "Ỡ" Ohorntilde # LATIN CAPITAL LETTER O WITH HORN AND TILDE + : "ỡ" ohorntilde # LATIN SMALL LETTER O WITH HORN AND TILDE + : "Ữ" Uhorntilde # LATIN CAPITAL LETTER U WITH HORN AND TILDE + : "ữ" uhorntilde # LATIN SMALL LETTER U WITH HORN AND TILDE + : "Ǭ" U01EC # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON + : "ǭ" U01ED # LATIN SMALL LETTER O WITH OGONEK AND MACRON + : "Ȭ" U022C # LATIN CAPITAL LETTER O WITH TILDE AND MACRON + : "ȭ" U022D # LATIN SMALL LETTER O WITH TILDE AND MACRON + : "ϒ" U03D2 # GREEK UPSILON WITH HOOK SYMBOL + : "ϒ" U03D2 # GREEK UPSILON WITH HOOK SYMBOL + : "Ᾱ" U1FB9 # GREEK CAPITAL LETTER ALPHA WITH MACRON + : "Ᾱ" U1FB9 # GREEK CAPITAL LETTER ALPHA WITH MACRON + : "ᾱ" U1FB1 # GREEK SMALL LETTER ALPHA WITH MACRON + : "ᾱ" U1FB1 # GREEK SMALL LETTER ALPHA WITH MACRON + : "Ῑ" U1FD9 # GREEK CAPITAL LETTER IOTA WITH MACRON + : "Ῑ" U1FD9 # GREEK CAPITAL LETTER IOTA WITH MACRON + : "ῑ" U1FD1 # GREEK SMALL LETTER IOTA WITH MACRON + : "ῑ" U1FD1 # GREEK SMALL LETTER IOTA WITH MACRON + : "Ῡ" U1FE9 # GREEK CAPITAL LETTER UPSILON WITH MACRON + : "Ῡ" U1FE9 # GREEK CAPITAL LETTER UPSILON WITH MACRON + : "ῡ" U1FE1 # GREEK SMALL LETTER UPSILON WITH MACRON + : "ῡ" U1FE1 # GREEK SMALL LETTER UPSILON WITH MACRON + : "ϼ" U03FC # GREEK RHO WITH STROKE SYMBOL + : "ϼ" U03FC # GREEK RHO WITH STROKE SYMBOL + +# +# Cyrillic NFDs +# + + : "а̏" # CYRILLIC SMALL LETTER A WITH COMBINING DOUBLE GRAVE ACCENT + : "а̏" # CYRILLIC SMALL LETTER A WITH COMBINING DOUBLE GRAVE ACCENT + + : "а̑" # CYRILLIC SMALL LETTER A WITH COMBINING INVERTED BREVE + + : "а̀" # CYRILLIC SMALL LETTER A WITH COMBINING GRAVE ACCENT + : "а̀" # CYRILLIC SMALL LETTER A WITH COMBINING GRAVE ACCENT + + : "а́" # CYRILLIC SMALL LETTER A WITH COMBINING ACUTE ACCENT + : "а́" # CYRILLIC SMALL LETTER A WITH COMBINING ACUTE ACCENT + : "а́" # CYRILLIC SMALL LETTER A WITH COMBINING ACUTE ACCENT + + : "а̄" # CYRILLIC SMALL LETTER A WITH COMBINING MACRON + : "а̄" # CYRILLIC SMALL LETTER A WITH COMBINING MACRON + : "а̄" # CYRILLIC SMALL LETTER A WITH COMBINING MACRON + + : "а̂" # CYRILLIC SMALL LETTER A WITH COMBINING CIRCUMFLEX ACCENT + : "а̂" # CYRILLIC SMALL LETTER A WITH COMBINING CIRCUMFLEX ACCENT + + : "А̏" # CYRILLIC CAPITAL LETTER A WITH COMBINING DOUBLE GRAVE ACCENT + : "А̏" # CYRILLIC CAPITAL LETTER A WITH COMBINING DOUBLE GRAVE ACCENT + + : "А̑" # CYRILLIC CAPITAL LETTER A WITH COMBINING INVERTED BREVE + + : "А̀" # CYRILLIC CAPITAL LETTER A WITH COMBINING GRAVE ACCENT + : "А̀" # CYRILLIC CAPITAL LETTER A WITH COMBINING GRAVE ACCENT + + : "А́" # CYRILLIC CAPITAL LETTER A WITH COMBINING ACUTE ACCENT + : "А́" # CYRILLIC CAPITAL LETTER A WITH COMBINING ACUTE ACCENT + : "А́" # CYRILLIC CAPITAL LETTER A WITH COMBINING ACUTE ACCENT + + : "А̄" # CYRILLIC CAPITAL LETTER A WITH COMBINING MACRON + : "А̄" # CYRILLIC CAPITAL LETTER A WITH COMBINING MACRON + : "А̄" # CYRILLIC CAPITAL LETTER A WITH COMBINING MACRON + + : "А̂" # CYRILLIC CAPITAL LETTER A WITH COMBINING CIRCUMFLEX ACCENT + : "А̂" # CYRILLIC CAPITAL LETTER A WITH COMBINING CIRCUMFLEX ACCENT + + : "е̏" # CYRILLIC SMALL LETTER IE WITH COMBINING DOUBLE GRAVE ACCENT + : "е̏" # CYRILLIC SMALL LETTER IE WITH COMBINING DOUBLE GRAVE ACCENT + + : "е̑" # CYRILLIC SMALL LETTER IE WITH COMBINING INVERTED BREVE + + : "е́" # CYRILLIC SMALL LETTER IE WITH COMBINING ACUTE ACCENT + : "е́" # CYRILLIC SMALL LETTER IE WITH COMBINING ACUTE ACCENT + : "е́" # CYRILLIC SMALL LETTER IE WITH COMBINING ACUTE ACCENT + + : "е̄" # CYRILLIC SMALL LETTER IE WITH COMBINING MACRON + : "е̄" # CYRILLIC SMALL LETTER IE WITH COMBINING MACRON + : "е̄" # CYRILLIC SMALL LETTER IE WITH COMBINING MACRON + + : "е̂" # CYRILLIC SMALL LETTER IE WITH COMBINING CIRCUMFLEX ACCENT + : "е̂" # CYRILLIC SMALL LETTER IE WITH COMBINING CIRCUMFLEX ACCENT + + : "Е̏" # CYRILLIC CAPITAL LETTER IE WITH COMBINING DOUBLE GRAVE ACCENT + : "Е̏" # CYRILLIC CAPITAL LETTER IE WITH COMBINING DOUBLE GRAVE ACCENT + + : "Е̑" # CYRILLIC CAPITAL LETTER IE WITH COMBINING INVERTED BREVE + + : "Е́" # CYRILLIC CAPITAL LETTER IE WITH COMBINING ACUTE ACCENT + : "Е́" # CYRILLIC CAPITAL LETTER IE WITH COMBINING ACUTE ACCENT + : "Е́" # CYRILLIC CAPITAL LETTER IE WITH COMBINING ACUTE ACCENT + + : "Е̄" # CYRILLIC CAPITAL LETTER IE WITH COMBINING MACRON + : "Е̄" # CYRILLIC CAPITAL LETTER IE WITH COMBINING MACRON + : "Е̄" # CYRILLIC CAPITAL LETTER IE WITH COMBINING MACRON + + : "Е̂" # CYRILLIC CAPITAL LETTER IE WITH COMBINING CIRCUMFLEX ACCENT + : "Е̂" # CYRILLIC CAPITAL LETTER IE WITH COMBINING CIRCUMFLEX ACCENT + + : "и̏" # CYRILLIC SMALL LETTER I WITH COMBINING DOUBLE GRAVE ACCENT + : "и̏" # CYRILLIC SMALL LETTER I WITH COMBINING DOUBLE GRAVE ACCENT + + : "и̑" # CYRILLIC SMALL LETTER I WITH COMBINING INVERTED BREVE + + : "и́" # CYRILLIC SMALL LETTER I WITH COMBINING ACUTE ACCENT + : "и́" # CYRILLIC SMALL LETTER I WITH COMBINING ACUTE ACCENT + : "и́" # CYRILLIC SMALL LETTER I WITH COMBINING ACUTE ACCENT + + : "и̂" # CYRILLIC SMALL LETTER I WITH COMBINING CIRCUMFLEX ACCENT + : "и̂" # CYRILLIC SMALL LETTER I WITH COMBINING CIRCUMFLEX ACCENT + + : "И̏" # CYRILLIC CAPITAL LETTER I WITH COMBINING DOUBLE GRAVE ACCENT + : "И̏" # CYRILLIC CAPITAL LETTER I WITH COMBINING DOUBLE GRAVE ACCENT + + : "И̑" # CYRILLIC CAPITAL LETTER I WITH COMBINING INVERTED BREVE + + : "И́" # CYRILLIC CAPITAL LETTER I WITH COMBINING ACUTE ACCENT + : "И́" # CYRILLIC CAPITAL LETTER I WITH COMBINING ACUTE ACCENT + : "И́" # CYRILLIC CAPITAL LETTER I WITH COMBINING ACUTE ACCENT + + : "И̂" # CYRILLIC CAPITAL LETTER I WITH COMBINING CIRCUMFLEX ACCENT + : "И̂" # CYRILLIC CAPITAL LETTER I WITH COMBINING CIRCUMFLEX ACCENT + + : "о̏" # CYRILLIC SMALL LETTER O WITH COMBINING DOUBLE GRAVE ACCENT + : "о̏" # CYRILLIC SMALL LETTER O WITH COMBINING DOUBLE GRAVE ACCENT + + : "о̑" # CYRILLIC SMALL LETTER O WITH COMBINING INVERTED BREVE + + : "о̀" # CYRILLIC SMALL LETTER O WITH COMBINING GRAVE ACCENT + : "о̀" # CYRILLIC SMALL LETTER O WITH COMBINING GRAVE ACCENT + + : "о́" # CYRILLIC SMALL LETTER O WITH COMBINING ACUTE ACCENT + : "о́" # CYRILLIC SMALL LETTER O WITH COMBINING ACUTE ACCENT + : "о́" # CYRILLIC SMALL LETTER O WITH COMBINING ACUTE ACCENT + + : "о̄" # CYRILLIC SMALL LETTER O WITH COMBINING MACRON + : "о̄" # CYRILLIC SMALL LETTER O WITH COMBINING MACRON + : "о̄" # CYRILLIC SMALL LETTER O WITH COMBINING MACRON + + : "о̂" # CYRILLIC SMALL LETTER O WITH COMBINING CIRCUMFLEX ACCENT + : "о̂" # CYRILLIC SMALL LETTER O WITH COMBINING CIRCUMFLEX ACCENT + + : "О̏" # CYRILLIC CAPITAL LETTER O WITH COMBINING DOUBLE GRAVE ACCENT + : "О̏" # CYRILLIC CAPITAL LETTER O WITH COMBINING DOUBLE GRAVE ACCENT + + : "О̑" # CYRILLIC CAPITAL LETTER O WITH COMBINING INVERTED BREVE + + : "О̀" # CYRILLIC CAPITAL LETTER O WITH COMBINING GRAVE ACCENT + : "О̀" # CYRILLIC CAPITAL LETTER O WITH COMBINING GRAVE ACCENT + + : "О́" # CYRILLIC CAPITAL LETTER O WITH COMBINING ACUTE ACCENT + : "О́" # CYRILLIC CAPITAL LETTER O WITH COMBINING ACUTE ACCENT + : "О́" # CYRILLIC CAPITAL LETTER O WITH COMBINING ACUTE ACCENT + + : "О̄" # CYRILLIC CAPITAL LETTER O WITH COMBINING MACRON + : "О̄" # CYRILLIC CAPITAL LETTER O WITH COMBINING MACRON + : "О̄" # CYRILLIC CAPITAL LETTER O WITH COMBINING MACRON + + : "О̂" # CYRILLIC CAPITAL LETTER O WITH COMBINING CIRCUMFLEX ACCENT + : "О̂" # CYRILLIC CAPITAL LETTER O WITH COMBINING CIRCUMFLEX ACCENT + + : "у̏" # CYRILLIC SMALL LETTER U WITH COMBINING DOUBLE GRAVE ACCENT + : "у̏" # CYRILLIC SMALL LETTER U WITH COMBINING DOUBLE GRAVE ACCENT + + : "у̑" # CYRILLIC SMALL LETTER U WITH COMBINING INVERTED BREVE + + : "у̀" # CYRILLIC SMALL LETTER U WITH COMBINING GRAVE ACCENT + : "у̀" # CYRILLIC SMALL LETTER U WITH COMBINING GRAVE ACCENT + + : "у́" # CYRILLIC SMALL LETTER U WITH COMBINING ACUTE ACCENT + : "у́" # CYRILLIC SMALL LETTER U WITH COMBINING ACUTE ACCENT + : "у́" # CYRILLIC SMALL LETTER U WITH COMBINING ACUTE ACCENT + + : "у̂" # CYRILLIC SMALL LETTER U WITH COMBINING CIRCUMFLEX ACCENT + : "у̂" # CYRILLIC SMALL LETTER U WITH COMBINING CIRCUMFLEX ACCENT + + : "У̏" # CYRILLIC CAPITAL LETTER U WITH COMBINING DOUBLE GRAVE ACCENT + : "У̏" # CYRILLIC CAPITAL LETTER U WITH COMBINING DOUBLE GRAVE ACCENT + + : "У̑" # CYRILLIC CAPITAL LETTER U WITH COMBINING INVERTED BREVE + + : "У̀" # CYRILLIC CAPITAL LETTER U WITH COMBINING GRAVE ACCENT + : "У̀" # CYRILLIC CAPITAL LETTER U WITH COMBINING GRAVE ACCENT + + : "У́" # CYRILLIC CAPITAL LETTER U WITH COMBINING ACUTE ACCENT + : "У́" # CYRILLIC CAPITAL LETTER U WITH COMBINING ACUTE ACCENT + : "У́" # CYRILLIC CAPITAL LETTER U WITH COMBINING ACUTE ACCENT + + : "У̂" # CYRILLIC CAPITAL LETTER U WITH COMBINING CIRCUMFLEX ACCENT + : "У̂" # CYRILLIC CAPITAL LETTER U WITH COMBINING CIRCUMFLEX ACCENT + + : "р̏" # CYRILLIC SMALL LETTER ER WITH COMBINING DOUBLE GRAVE ACCENT + : "р̏" # CYRILLIC SMALL LETTER ER WITH COMBINING DOUBLE GRAVE ACCENT + + : "р̑" # CYRILLIC SMALL LETTER ER WITH COMBINING INVERTED BREVE + + : "р̀" # CYRILLIC SMALL LETTER ER WITH COMBINING GRAVE ACCENT + : "р̀" # CYRILLIC SMALL LETTER ER WITH COMBINING GRAVE ACCENT + + : "р́" # CYRILLIC SMALL LETTER ER WITH COMBINING ACUTE ACCENT + : "р́" # CYRILLIC SMALL LETTER ER WITH COMBINING ACUTE ACCENT + : "р́" # CYRILLIC SMALL LETTER ER WITH COMBINING ACUTE ACCENT + + : "р̄" # CYRILLIC SMALL LETTER ER WITH COMBINING MACRON + : "р̄" # CYRILLIC SMALL LETTER ER WITH COMBINING MACRON + : "р̄" # CYRILLIC SMALL LETTER ER WITH COMBINING MACRON + + : "р̂" # CYRILLIC SMALL LETTER ER WITH COMBINING CIRCUMFLEX ACCENT + : "р̂" # CYRILLIC SMALL LETTER ER WITH COMBINING CIRCUMFLEX ACCENT + + : "Р̏" # CYRILLIC CAPITAL LETTER ER WITH COMBINING DOUBLE GRAVE ACCENT + : "Р̏" # CYRILLIC CAPITAL LETTER ER WITH COMBINING DOUBLE GRAVE ACCENT + + : "Р̑" # CYRILLIC CAPITAL LETTER ER WITH COMBINING INVERTED BREVE + + : "Р̀" # CYRILLIC CAPITAL LETTER ER WITH COMBINING GRAVE ACCENT + : "Р̀" # CYRILLIC CAPITAL LETTER ER WITH COMBINING GRAVE ACCENT + + : "Р́" # CYRILLIC CAPITAL LETTER ER WITH COMBINING ACUTE ACCENT + : "Р́" # CYRILLIC CAPITAL LETTER ER WITH COMBINING ACUTE ACCENT + : "Р́" # CYRILLIC CAPITAL LETTER ER WITH COMBINING ACUTE ACCENT + + : "Р̄" # CYRILLIC CAPITAL LETTER ER WITH COMBINING MACRON + : "Р̄" # CYRILLIC CAPITAL LETTER ER WITH COMBINING MACRON + : "Р̄" # CYRILLIC CAPITAL LETTER ER WITH COMBINING MACRON + + : "Р̂" # CYRILLIC CAPITAL LETTER ER WITH COMBINING CIRCUMFLEX ACCENT + : "Р̂" # CYRILLIC CAPITAL LETTER ER WITH COMBINING CIRCUMFLEX ACCENT + + : "ы́" # CYRILLIC SMALL LETTER YERU WITH COMBINING ACUTE ACCENT + : "ы́" # CYRILLIC SMALL LETTER YERU WITH COMBINING ACUTE ACCENT + : "ы́" # CYRILLIC SMALL LETTER YERU WITH COMBINING ACUTE ACCENT + + : "Ы́" # CYRILLIC CAPITAL LETTER YERU WITH COMBINING ACUTE ACCENT + : "Ы́" # CYRILLIC CAPITAL LETTER YERU WITH COMBINING ACUTE ACCENT + : "Ы́" # CYRILLIC CAPITAL LETTER YERU WITH COMBINING ACUTE ACCENT + + : "э́" # CYRILLIC SMALL LETTER E WITH COMBINING ACUTE ACCENT + : "э́" # CYRILLIC SMALL LETTER E WITH COMBINING ACUTE ACCENT + : "э́" # CYRILLIC SMALL LETTER E WITH COMBINING ACUTE ACCENT + + : "Э́" # CYRILLIC CAPITAL LETTER E WITH COMBINING ACUTE ACCENT + : "Э́" # CYRILLIC CAPITAL LETTER E WITH COMBINING ACUTE ACCENT + : "Э́" # CYRILLIC CAPITAL LETTER E WITH COMBINING ACUTE ACCENT + + : "ю́" # CYRILLIC SMALL LETTER YU WITH COMBINING ACUTE ACCENT + : "ю́" # CYRILLIC SMALL LETTER YU WITH COMBINING ACUTE ACCENT + : "ю́" # CYRILLIC SMALL LETTER YU WITH COMBINING ACUTE ACCENT + + : "Ю́́" # CYRILLIC CAPITAL LETTER YU WITH COMBINING ACUTE ACCENT + : "Ю́́" # CYRILLIC CAPITAL LETTER YU WITH COMBINING ACUTE ACCENT + : "Ю́́" # CYRILLIC CAPITAL LETTER YU WITH COMBINING ACUTE ACCENT + + : "я́" # CYRILLIC SMALL LETTER YA WITH COMBINING ACUTE ACCENT + : "я́" # CYRILLIC SMALL LETTER YA WITH COMBINING ACUTE ACCENT + : "я́" # CYRILLIC SMALL LETTER YA WITH COMBINING ACUTE ACCENT + + : "Я́" # CYRILLIC CAPITAL LETTER YA WITH COMBINING ACUTE ACCENT + : "Я́" # CYRILLIC CAPITAL LETTER YA WITH COMBINING ACUTE ACCENT + : "Я́" # CYRILLIC CAPITAL LETTER YA WITH COMBINING ACUTE ACCENT + + +# APL support Geoff Streeter 2012-01-04 + +# APL was initially an overstruck language. The original APL terminal was an IBM golfball +# with a specially designed golfball. This meant that characters could be overstruck to +# produce other characters. This gave APL a richness of primitives which is still powerful +# today. Overstrikes were always independent of order. + +# APLs have extended this into a number of dialects. Let us try to support lots of them. +# Together with some that have not been used yet. Some traditional ones are not included. + +# Characters from "Mathematical Operators" + + : "√" U221a # v / SQUARE ROOT + : "√" U221a # / v SQUARE ROOT + <8> <8> : "∞" U221e # 8 8 INFINITY + : "≈" U2248 # ~ ~ ALMOST EQUAL TO + : "≡" U2261 # = _ IDENTICAL TO + : "≢" U2262 # _ ≠ NOT IDENTICAL TO + : "≢" U2262 # ≠ _ NOT IDENTICAL TO + : "≤" U2264 # < _ LESS-THAN OR EQUAL TO + : "≤" U2264 # _ < LESS-THAN OR EQUAL TO + : "≥" U2265 # > _ GREATER-THAN OR EQUAL TO + : "≥" U2265 # _ > GREATER-THAN OR EQUAL TO + : "⊆" U2286 # _ ⊂ SUBSET OF OR EQUAL TO + : "⊆" U2286 # ⊂ _ SUBSET OF OR EQUAL TO + : "⊇" U2287 # _ ⊃ SUPERSET OF OR EQUAL TO + : "⊇" U2287 # ⊃ _ SUPERSET OF OR EQUAL TO + : "⊖" U2296 # ○ - CIRCLED MINUS + : "⊖" U2296 # - ○ CIRCLED MINUS + : "⊙" U2299 # ○ - CIRCLED DOT + : "⊙" U2299 # - ○ CIRCLED DOT + : "⋄" U22c4 # < > DIAMOND OPERATOR + : "⋄" U22c4 # > < DIAMOND OPERATOR + : "⋄" U22c4 # ∧ ∨ DIAMOND OPERATOR + : "⋄" U22c4 # ∨ ∧ DIAMOND OPERATOR + : "∴" therefore # : . THEREFORE + : "∵" because # . : BECAUSE + +# Characters from "Miscellaneous Technical" + + : "⌶" U2336 # ⊥ ⊤ APL FUNCTIONAL SYMBOL I-BEAM + : "⌶" U2336 # ⊥ ⊤ APL FUNCTIONAL SYMBOL I-BEAM + : "⌷" U2337 # [ ] APL FUNCTIONAL SYMBOL SQUISH QUAD + : "⌷" U2337 # ] [ APL FUNCTIONAL SYMBOL SQUISH QUAD + : "⌸" U2338 # ⎕ = APL FUNCTIONAL SYMBOL QUAD EQUAL + : "⌸" U2338 # = ⎕ APL FUNCTIONAL SYMBOL QUAD EQUAL + : "⌹" U2339 # ⎕ ÷ APL FUNCTIONAL SYMBOL QUAD DIVIDE + : "⌹" U2339 # ÷ ⎕ APL FUNCTIONAL SYMBOL QUAD DIVIDE + : "⌺" U233a # ⎕ ⋄ APL FUNCTIONAL SYMBOL QUAD DIAMOND + : "⌺" U233a # ⋄ ⎕ APL FUNCTIONAL SYMBOL QUAD DIAMOND + : "⌻" U233b # ⎕ ∘ APL FUNCTIONAL SYMBOL QUAD JOT + : "⌻" U233b # ∘ ⎕ APL FUNCTIONAL SYMBOL QUAD JOT + : "⌼" U233c # ⎕ ○ APL FUNCTIONAL SYMBOL QUAD CIRCLE + : "⌼" U233c # ○ ⎕ APL FUNCTIONAL SYMBOL QUAD CIRCLE + : "⌽" U233d # ○ | APL FUNCTIONAL SYMBOL CIRCLE STILE + : "⌽" U233d # | ○ APL FUNCTIONAL SYMBOL CIRCLE STILE + : "⌾" U233e # ○ ∘ APL FUNCTIONAL SYMBOL CIRCLE JOT + : "⌾" U233e # ∘ ○ APL FUNCTIONAL SYMBOL CIRCLE JOT + : "⌿" U233f # / - APL FUNCTIONAL SYMBOL SLASH BAR + : "⌿" U233f # - / APL FUNCTIONAL SYMBOL SLASH BAR + : "⍀" U2340 # \ - APL FUNCTIONAL SYMBOL BACKSLASH BAR + : "⍀" U2340 # - \ APL FUNCTIONAL SYMBOL BACKSLASH BAR + : "⍁" U2341 # / ⎕ APL FUNCTIONAL SYMBOL QUAD SLASH + : "⍁" U2341 # ⎕ / APL FUNCTIONAL SYMBOL QUAD SLASH + : "⍂" U2342 # \ ⎕ APL FUNCTIONAL SYMBOL QUAD BACKSLASH + : "⍂" U2342 # ⎕ \ APL FUNCTIONAL SYMBOL QUAD BACKSLASH + : "⍃" U2343 # < ⎕ APL FUNCTIONAL SYMBOL QUAD LESS-THAN + : "⍃" U2343 # ⎕ < APL FUNCTIONAL SYMBOL QUAD LESS-THAN + : "⍄" U2344 # > ⎕ APL FUNCTIONAL SYMBOL QUAD GREATER-THAN + : "⍄" U2344 # ⎕ > APL FUNCTIONAL SYMBOL QUAD GREATER-THAN + : "⍅" U2345 # ← | APL FUNCTIONAL SYMBOL LEFTWARDS VANE + : "⍅" U2345 # | ← APL FUNCTIONAL SYMBOL LEFTWARDS VANE + : "⍆" U2346 # → | APL FUNCTIONAL SYMBOL RIGHTWARDS VANE + : "⍆" U2346 # | → APL FUNCTIONAL SYMBOL RIGHTWARDS VANE + : "⍇" U2347 # ← ⎕ APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW + : "⍇" U2347 # ⎕ ← APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW + : "⍈" U2348 # → ⎕ APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW + : "⍈" U2348 # ⎕ → APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW + : "⍉" U2349 # ○ \ APL FUNCTIONAL SYMBOL CIRCLE SLOPE + : "⍉" U2349 # \ ○ APL FUNCTIONAL SYMBOL CIRCLE SLOPE + : "⍊" U234a # _ ⊥ APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR + : "⍊" U234a # ⊥ _ APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR + : "⍋" U234b # ∆ | APL FUNCTIONAL SYMBOL DELTA STILE + : "⍋" U234b # | ∆ APL FUNCTIONAL SYMBOL DELTA STILE + : "⍌" U234c # ∨ ⎕ APL FUNCTIONAL SYMBOL QUAD DOWN CARET + : "⍌" U234c # ⎕ ∨ APL FUNCTIONAL SYMBOL QUAD DOWN CARET + : "⍍" U234d # ∆ ⎕ APL FUNCTIONAL SYMBOL QUAD DELTA + : "⍍" U234d # ⎕ ∆ APL FUNCTIONAL SYMBOL QUAD DELTA + : "⍎" U234e # ∘ ⊥ APL FUNCTIONAL SYMBOL DOWN TACK JOT + : "⍎" U234e # ⊥ ∘ APL FUNCTIONAL SYMBOL DOWN TACK JOT + : "⍏" U234f # ↑ - APL FUNCTIONAL SYMBOL UPWARDS VANE + : "⍏" U234f # - ↑ APL FUNCTIONAL SYMBOL UPWARDS VANE + : "⍐" U2350 # ↑ ⎕ APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW + : "⍐" U2350 # ⎕ ↑ APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW +# The next two somehow don't work. However, no extant APL uses "⍑". + : "⍑" U2351 # ¯ ⊤ APL FUNCTIONAL SYMBOL UP TACK OVERBAR + : "⍑" U2351 # ⊤ ¯ APL FUNCTIONAL SYMBOL UP TACK OVERBAR + : "⍒" U2352 # ∇ | APL FUNCTIONAL SYMBOL DEL STILE + : "⍒" U2352 # | ∇ APL FUNCTIONAL SYMBOL DEL STILE + : "⍓" U2353 # ∧ ⎕ APL FUNCTIONAL SYMBOL QUAD UP CARET + : "⍓" U2353 # ⎕ ∧ APL FUNCTIONAL SYMBOL QUAD UP CARET + : "⍔" U2354 # ∇ ⎕ APL FUNCTIONAL SYMBOL QUAD DEL + : "⍔" U2354 # ⎕ ∇ APL FUNCTIONAL SYMBOL QUAD DEL + : "⍕" U2355 # ∘ ⊤ APL FUNCTIONAL SYMBOL UP TACK JOT + : "⍕" U2355 # ⊤ ∘ APL FUNCTIONAL SYMBOL UP TACK JOT + : "⍖" U2356 # ↓ - APL FUNCTIONAL SYMBOL DOWNWARDS VANE + : "⍖" U2356 # - ↓ APL FUNCTIONAL SYMBOL DOWNWARDS VANE + : "⍗" U2357 # ↓ ⎕ APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW + : "⍗" U2357 # ⎕ ↓ APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW +# The is used elsewhere. However, no extant APL uses "⍘". + : "⍘" U2358 # _ ' APL FUNCTIONAL SYMBOL QUOTE UNDERBAR + : "⍙" U2359 # ∆ _ APL FUNCTIONAL SYMBOL DELTA UNDERBAR + : "⍙" U2359 # _ ∆ APL FUNCTIONAL SYMBOL DELTA UNDERBAR + : "⍚" U235a # ⋄ _ APL FUNCTIONAL SYMBOL DIAMOND UNDERBAR + : "⍚" U235a # _ ⋄ APL FUNCTIONAL SYMBOL DIAMOND UNDERBAR + : "⍛" U235b # ∘ _ APL FUNCTIONAL SYMBOL JOT UNDERBAR + : "⍛" U235b # _ ∘ APL FUNCTIONAL SYMBOL JOT UNDERBAR + : "⍜" U235c # ○ _ APL FUNCTIONAL SYMBOL CIRCLE UNDERBAR + : "⍜" U235c # _ ○ APL FUNCTIONAL SYMBOL CIRCLE UNDERBAR + : "⍝" U235d # ∘ ∩ APL FUNCTIONAL SYMBOL UP SHOE JOT + : "⍝" U235d # ∩ ∘ APL FUNCTIONAL SYMBOL UP SHOE JOT + : "⍞" U235e # * ¨ APL FUNCTIONAL SYMBOL QUOTE QUAD + : "⍞" U235e # ¨ * APL FUNCTIONAL SYMBOL QUOTE QUAD + : "⍟" U235f # ○ * APL FUNCTIONAL SYMBOL CIRCLE STAR + : "⍟" U235f # * ○ APL FUNCTIONAL SYMBOL CIRCLE STAR + : "⍠" U2360 # : ⎕ APL FUNCTIONAL SYMBOL QUAD COLON + : "⍠" U2360 # ⎕ : APL FUNCTIONAL SYMBOL QUAD COLON + : "⍡" U2361 # ¨ ⊤ APL FUNCTIONAL SYMBOL UP TACK DIAERESIS + : "⍡" U2361 # ⊤ ¨ APL FUNCTIONAL SYMBOL UP TACK DIAERESIS + : "⍢" U2362 # ¨ ∇ APL FUNCTIONAL SYMBOL DEL DIAERESIS + : "⍢" U2362 # ∇ ¨ APL FUNCTIONAL SYMBOL DEL DIAERESIS + : "⍣" U2363 # * ¨ APL FUNCTIONAL SYMBOL STAR DIAERESIS + : "⍣" U2363 # ¨ * APL FUNCTIONAL SYMBOL STAR DIAERESIS + : "⍤" U2364 # ∘ ¨ APL FUNCTIONAL SYMBOL JOT DIAERESIS + : "⍤" U2364 # ¨ ∘ APL FUNCTIONAL SYMBOL JOT DIAERESIS + : "⍥" U2365 # ○ ¨ APL FUNCTIONAL SYMBOL CIRCLE DIAERESIS + : "⍥" U2365 # ¨ ○ APL FUNCTIONAL SYMBOL CIRCLE DIAERESIS + : "⍦" U2366 # ∪ | APL FUNCTIONAL SYMBOL DOWN SHOE STILE + : "⍦" U2366 # | ∪ APL FUNCTIONAL SYMBOL DOWN SHOE STILE + : "⍧" U2367 # ⊂ | APL FUNCTIONAL SYMBOL LEFT SHOE STILE + : "⍧" U2367 # | ⊂ APL FUNCTIONAL SYMBOL LEFT SHOE STILE + : "⍨" U2368 # ~ ¨ APL FUNCTIONAL SYMBOL TILDE DIAERESIS + : "⍩" U2369 # ¨ > APL FUNCTIONAL SYMBOL GREATER-THAN DIAERESIS + : "⍩" U2369 # > ¨ APL FUNCTIONAL SYMBOL GREATER-THAN DIAERESIS + : "⍫" U236b # ∇ ~ APL FUNCTIONAL SYMBOL DEL TILDE + : "⍫" U236b # ~ ∇ APL FUNCTIONAL SYMBOL DEL TILDE + <0> : "⍬" U236c # 0 ~ APL FUNCTIONAL SYMBOL ZILDE + <0> : "⍬" U236c # ~ 0 APL FUNCTIONAL SYMBOL ZILDE + : "⍭" U236d # | ~ APL FUNCTIONAL SYMBOL STILE TILDE + : "⍭" U236d # ~ | APL FUNCTIONAL SYMBOL STILE TILDE +# The is used elsewhere. However, no extant APL uses "⍮". + : "⍮" U236e # ; _ APL FUNCTIONAL SYMBOL SEMICOLON UNDERBAR + : "⍯" U236f # ≠ ⎕ APL FUNCTIONAL SYMBOL QUAD NOT EQUAL + : "⍯" U236f # ⎕ ≠ APL FUNCTIONAL SYMBOL QUAD NOT EQUAL + : "⍰" U2370 # ? ⎕ APL FUNCTIONAL SYMBOL QUAD QUESTION + : "⍰" U2370 # ⎕ ? APL FUNCTIONAL SYMBOL QUAD QUESTION + : "⍱" U2371 # ∨ ~ APL FUNCTIONAL SYMBOL DOWN CARET TILDE + : "⍱" U2371 # ~ ∨ APL FUNCTIONAL SYMBOL DOWN CARET TILDE + : "⍲" U2372 # ∧ ~ APL FUNCTIONAL SYMBOL UP CARET TILDE + : "⍲" U2372 # ~ ∧ APL FUNCTIONAL SYMBOL UP CARET TILDE + : "⍶" U2376 # ⍺ _ APL FUNCTIONAL SYMBOL ALPHA UNDERBAR + : "⍶" U2376 # _ ⍺ APL FUNCTIONAL SYMBOL ALPHA UNDERBAR + : "⍷" U2377 # ∊ _ APL FUNCTIONAL SYMBOL EPSILON UNDERBAR + : "⍷" U2377 # _ ∊ APL FUNCTIONAL SYMBOL EPSILON UNDERBAR + : "⍸" U2378 # ⍳ _ APL FUNCTIONAL SYMBOL IOTA UNDERBAR + : "⍸" U2378 # _ ⍳ APL FUNCTIONAL SYMBOL IOTA UNDERBAR + : "⍹" U2379 # ⍵ _ APL FUNCTIONAL SYMBOL OMEGA UNDERBAR + : "⍹" U2379 # _ ⍵ APL FUNCTIONAL SYMBOL OMEGA UNDERBAR + +# Diacritics used in African languages + : "ɛ́" # LATIN SMALL LETTER EPSILON WITH ACUTE + : "ɛ̀" # LATIN SMALL LETTER EPSILON WITH GRAVE + : "ɛ̂" # LATIN SMALL LETTER EPSILON WITH CIRCUMFLEX + : "ɛ̌" # LATIN SMALL LETTER EPSILON WITH CARON + : "ɛ̄" # LATIN SMALL LETTER EPSILON WITH MACRON + : "ɛ̃" # LATIN SMALL LETTER EPSILON WITH TILDE + : "ɛ̃́" # LATIN SMALL LETTER EPSILON WITH TILDE AND ACUTE + : "ɛ̃̀" # LATIN SMALL LETTER EPSILON WITH TILDE AND GRAVE + : "Ɛ́" # LATIN CAPITAL LETTER EPSILON WITH ACUTE + : "Ɛ̀" # LATIN CAPITAL LETTER EPSILON WITH GRAVE + : "Ɛ̂" # LATIN CAPITAL LETTER EPSILON WITH CIRCUMFLEX + : "Ɛ̌" # LATIN CAPITAL LETTER EPSILON WITH CARON + : "Ɛ̄" # LATIN CAPITAL LETTER EPSILON WITH MACRON + : "Ɛ̃" # LATIN CAPITAL LETTER EPSILON WITH TILDE + : "Ɛ̃́" # LATIN CAPITAL LETTER EPSILON WITH TILDE AND ACUTE + : "Ɛ̃̀" # LATIN CAPITAL LETTER EPSILON WITH TILDE AND GRAVE + : "ɩ́" # LATIN SMALL LETTER IOTA WITH ACUTE + : "ɩ̀" # LATIN SMALL LETTER IOTA WITH GRAVE + : "ɩ̂" # LATIN SMALL LETTER IOTA WITH CIRCUMFLEX + : "ɩ̌" # LATIN SMALL LETTER IOTA WITH CARON + : "ɩ̄" # LATIN SMALL LETTER IOTA WITH MACRON + : "Ɩ́" # LATIN CAPITAL LETTER IOTA WITH ACUTE + : "Ɩ̀" # LATIN CAPITAL LETTER IOTA WITH GRAVE + : "Ɩ̂" # LATIN CAPITAL LETTER IOTA WITH CIRCUMFLEX + : "Ɩ̌" # LATIN CAPITAL LETTER IOTA WITH CARON + : "Ɩ̄" # LATIN CAPITAL LETTER IOTA WITH MACRON + : "ɔ́" # LATIN SMALL LETTER OPEN O WITH ACUTE + : "ɔ̀" # LATIN SMALL LETTER OPEN O WITH GRAVE + : "ɔ̂" # LATIN SMALL LETTER OPEN O WITH CIRCUMFLEX + : "ɔ̌" # LATIN SMALL LETTER OPEN O WITH CARON + : "ɔ̄" # LATIN SMALL LETTER OPEN O WITH MACRON + : "ɔ̃" # LATIN SMALL LETTER OPEN O WITH TILDE + : "ɔ̃́" # LATIN SMALL LETTER OPEN O WITH TILDE AND ACUTE + : "ɔ̃̀" # LATIN SMALL LETTER OPEN O WITH TILDE AND GRAVE + : "Ɔ́" # LATIN CAPITAL LETTER OPEN O WITH ACUTE + : "Ɔ̀" # LATIN CAPITAL LETTER OPEN O WITH GRAVE + : "Ɔ̂" # LATIN CAPITAL LETTER OPEN O WITH CIRCUMFLEX + : "Ɔ̌" # LATIN CAPITAL LETTER OPEN O WITH CARON + : "Ɔ̄" # LATIN CAPITAL LETTER OPEN O WITH MACRON + : "Ɔ̃" # LATIN CAPITAL LETTER OPEN O WITH TILDE + : "Ɔ̃́" # LATIN CAPITAL LETTER OPEN O WITH TILDE AND ACUTE + : "Ɔ̃̀" # LATIN CAPITAL LETTER OPEN O WITH TILDE AND GRAVE + : "ǝ́" # LATIN SMALL LETTER TURNED E WITH ACUTE + : "ǝ̀" # LATIN SMALL LETTER TURNED E WITH GRAVE + : "ǝ̂" # LATIN SMALL LETTER TURNED E WITH CIRCUMFLEX + : "ǝ̌" # LATIN SMALL LETTER TURNED E WITH CARON + : "ǝ̄" # LATIN SMALL LETTER TURNED E WITH MACRON + : "ǝ̃" # LATIN SMALL LETTER TURNED E WITH TILDE + : "ǝ̃́" # LATIN SMALL LETTER TURNED E WITH TILDE AND ACUTE + : "ǝ̃̀" # LATIN SMALL LETTER TURNED E WITH TILDE AND GRAVE + : "Ǝ́" # LATIN CAPITAL LETTER TURNED E WITH ACUTE + : "Ǝ̀" # LATIN CAPITAL LETTER TURNED E WITH GRAVE + : "Ǝ̂" # LATIN CAPITAL LETTER TURNED E WITH CIRCUMFLEX + : "Ǝ̌" # LATIN CAPITAL LETTER TURNED E WITH CARON + : "Ǝ̄" # LATIN CAPITAL LETTER TURNED E WITH MACRON + : "Ǝ̃" # LATIN CAPITAL LETTER TURNED E WITH TILDE + : "Ǝ̃́" # LATIN CAPITAL LETTER TURNED E WITH TILDE AND ACUTE + : "Ǝ̃̀" # LATIN CAPITAL LETTER TURNED E WITH TILDE AND GRAVE + : "ʋ́" # LATIN SMALL LETTER V WITH HOOK WITH ACUTE + : "ʋ̀" # LATIN SMALL LETTER V WITH HOOK WITH GRAVE + : "ʋ̂" # LATIN SMALL LETTER V WITH HOOK WITH CIRCUMFLEX + : "ʋ̌" # LATIN SMALL LETTER V WITH HOOK WITH CARON + : "ʋ̄" # LATIN SMALL LETTER V WITH HOOK WITH MACRON + : "Ʋ́" # LATIN CAPITAL LETTER V WITH HOOK WITH ACUTE + : "Ʋ̀" # LATIN CAPITAL LETTER V WITH HOOK WITH GRAVE + : "Ʋ̂" # LATIN CAPITAL LETTER V WITH HOOK WITH CIRCUMFLEX + : "Ʋ̌" # LATIN CAPITAL LETTER V WITH HOOK WITH CARON + : "Ʋ̄" # LATIN CAPITAL LETTER V WITH HOOK WITH MACRON + : "ʊ́" # LATIN SMALL LETTER UPSILON WITH ACUTE + : "ʊ̀" # LATIN SMALL LETTER UPSILONK WITH GRAVE + : "ʊ̂" # LATIN SMALL LETTER UPSILON WITH CIRCUMFLEX + : "ʊ̌" # LATIN SMALL LETTER UPSILON WITH CARON + : "ʊ̄" # LATIN SMALL LETTER UPSILON WITH MACRON + : "Ʊ́" # LATIN CAPITAL LETTER UPSILON WITH ACUTE + : "Ʊ̀" # LATIN CAPITAL LETTER UPSILONK WITH GRAVE + : "Ʊ̂" # LATIN CAPITAL LETTER UPSILON WITH CIRCUMFLEX + : "Ʊ̌" # LATIN CAPITAL LETTER UPSILON WITH CARON + : "Ʊ̄" # LATIN CAPITAL LETTER UPSILON WITH MACRON + : "ã́" # LATIN SMALL LETTER A WITH TILDE AND ACUTE + : "ã̀" # LATIN SMALL LETTER A WITH TILDE AND GRAVE + : "Ã́" # LATIN CAPITAL LETTER A WITH TILDE AND ACUTE + : "Ã̀" # LATIN CAPITAL LETTER A WITH TILDE AND GRAVE + : "ẽ́" # LATIN SMALL LETTER E WITH TILDE AND ACUTE + : "ẽ̀" # LATIN SMALL LETTER E WITH TILDE AND GRAVE + : "Ẽ́" # LATIN CAPITAL LETTER E WITH TILDE AND ACUTE + : "Ẽ̀" # LATIN CAPITAL LETTER E WITH TILDE AND GRAVE + : "ĩ́" # LATIN SMALL LETTER I WITH TILDE AND ACUTE + : "ĩ̀" # LATIN SMALL LETTER I WITH TILDE AND GRAVE + : "Ĩ́" # LATIN CAPITAL LETTER I WITH TILDE AND ACUTE + : "Ĩ̀" # LATIN CAPITAL LETTER I WITH TILDE AND GRAVE + : "õ̀" # LATIN SMALL LETTER O WITH TILDE AND GRAVE + : "Õ̀" # LATIN CAPITAL LETTER O WITH TILDE AND GRAVE + : "ũ̀" # LATIN SMALL LETTER U WITH TILDE AND GRAVE + : "Ũ̀" # LATIN CAPITAL LETTER U WITH TILDE AND GRAVE + : "m̀" # LATIN SMALL LETTER M WITH GRAVE + : "M̀" # LATIN CAPITAL LETTER M WITH GRAVE + : "ŋ́" # LATIN SMALL LETTER ENG WITH ACUTE + : "ŋ̀" # LATIN SMALL LETTER ENG WITH GRAVE + : "Ŋ́" # LATIN CAPITAL LETTER ENG WITH ACUTE + : "Ŋ̀" # LATIN CAPITAL LETTER ENG WITH GRAVE diff --git a/locale/en_US.UTF-8/XI18N_OBJS b/locale/en_US.UTF-8/XI18N_OBJS new file mode 100644 index 0000000..97b30b9 --- /dev/null +++ b/locale/en_US.UTF-8/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for euro locales +# +XLC common/xlcUTF8Load _XlcUtf8Loader # XLC_open +XOM common/xomGeneric _XomGenericOpenOM # XOM_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister diff --git a/locale/en_US.UTF-8/XLC_LOCALE b/locale/en_US.UTF-8/XLC_LOCALE new file mode 100644 index 0000000..1eccdac --- /dev/null +++ b/locale/en_US.UTF-8/XLC_LOCALE @@ -0,0 +1,301 @@ + +# XLocale Database Sample for en_US.UTF-8 +# + +# +# XLC_FONTSET category +# +XLC_FONTSET + +on_demand_loading True + +object_name generic + +# fs0 class (7 bit ASCII) +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary ISO8859-1:GL + vertical_rotate all + } +} +# fs1 class (ISO8859 families) +fs1 { + charset { + name ISO8859-1:GR + } + font { + primary ISO8859-1:GR + } +} +# fs2 class (ISO8859 families) +fs2 { + charset { + name ISO8859-2:GR + } + font { + primary ISO8859-2:GR + } +} +# fs3 class (ISO8859 families) +fs3 { + charset { + name ISO8859-3:GR + } + font { + primary ISO8859-3:GR + } +} +# fs4 class (ISO8859 families) +fs4 { + charset { + name ISO8859-4:GR + } + font { + primary ISO8859-4:GR + } +} +# fs5 class (ISO8859 families) +fs5 { + charset { + name ISO8859-5:GR + } + font { + primary ISO8859-5:GR + } +} +# fs6 class (koi8-r) +fs6 { + charset { + name KOI8-R:GR + } + font { + primary KOI8-R:GR + } +} +# fs7 class (ISO8859 families) +fs7 { + charset { + name ISO8859-7:GR + } + font { + primary ISO8859-7:GR + } +} +# fs9 class (ISO8859 families) +fs8 { + charset { + name ISO8859-9:GR + } + font { + primary ISO8859-9:GR + } +} +# fs13 class (ISO8859 families) +fs9 { + charset { + name ISO8859-13:GR + } + font { + primary ISO8859-13:GR + } +} +# fs14 class (ISO8859 families) +fs10 { + charset { + name ISO8859-14:GR + } + font { + primary ISO8859-14:GR + } +} +# fs15 class (ISO8859 families) +fs11 { + charset { + name ISO8859-15:GR + } + font { + primary ISO8859-15:GR + } +} +# fs16 class (Kanji) +fs12 { + charset { + name JISX0208.1983-0:GL + } + font { + primary JISX0208.1983-0:GL + } +} +# fs17 class (Korean Character) +fs13 { + charset { + name KSC5601.1987-0:GL + } + font { + primary KSC5601.1987-0:GL + } +} +# fs18 class (Chinese Han Character) +fs14 { + charset { + name GB2312.1980-0:GL + } + font { + primary GB2312.1980-0:GL + } +} +# fs20 class (Half Kana) +fs15 { + charset { + name JISX0201.1976-0:GR + } + font { + primary JISX0201.1976-0:GR + vertical_rotate all + } +} +# ISO10646 should come last so the fonts above will actually be used +# fs24 class +fs16 { + charset { + name ISO10646-1 + } + font { + primary ISO10646-1 + } +} +END XLC_FONTSET + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name UTF-8 +mb_cur_max 6 +state_depend_encoding False + +# cs0 class +cs0 { + side GL:Default + length 1 + ct_encoding ISO8859-1:GL +} + +# cs1 class +cs1 { + side GR:Default + length 1 + ct_encoding ISO8859-1:GR +} + +# cs2 class +cs2 { + side GR + length 1 + ct_encoding ISO8859-2:GR +} + +# cs3 class +cs3 { + side GR + length 1 + ct_encoding ISO8859-3:GR +} + +# cs4 class +cs4 { + side GR + length 1 + ct_encoding ISO8859-4:GR +} + +# cs5 class +cs5 { + side GR + length 1 + ct_encoding ISO8859-5:GR +} + +# cs6 class +cs6 { + side GR + length 1 + ct_encoding KOI8-R:GR +} + +# cs7 class +cs7 { + side GR + length 1 + ct_encoding ISO8859-7:GR +} + +# cs9 class +cs8 { + side GR + length 1 + ct_encoding ISO8859-9:GR +} + +# cs13 class +cs9 { + side GR + length 1 + ct_encoding ISO8859-13:GR +} + +# cs14 class +cs10 { + side GR + length 1 + ct_encoding ISO8859-14:GR +} + +# cs15 class +cs11 { + side GR + length 1 + ct_encoding ISO8859-15:GR +} + +# cs16 class +cs12 { + side GR + length 2 + ct_encoding JISX0208.1983-0:GL; JISX0208.1983-0:GR;\ + JISX0208.1983-1:GL; JISX0208.1983-1:GR +} + +# cs17 class +cs13 { + side GL + length 2 + ct_encoding KSC5601.1987-0:GL; KSC5601.1987-0:GR;\ + KSC5601.1987-1:GL; KSC5601.1987-1:GR +} + +# cs18 class +cs14 { + side GR + length 2 + ct_encoding GB2312.1980-0:GL; GB2312.1980-0:GR +} + +# cs20 class +cs15 { + side GR + length 1 + ct_encoding JISX0201.1976-0:GR +} + +# cs24 class +cs16 { + side none + ct_encoding ISO10646-1 +} + +END XLC_XLOCALE diff --git a/locale/fi_FI.UTF-8/Compose b/locale/fi_FI.UTF-8/Compose new file mode 100644 index 0000000..38f41cc --- /dev/null +++ b/locale/fi_FI.UTF-8/Compose @@ -0,0 +1,430 @@ + +# +# Official compose sequences for Finland based on SFS 5966:2019 standard +# +# This compose sequence map implements all the functionality of Annex 3 +# and Annex 4 of the standard and additionally defines the sequences +# provided in en_US.UTF-8/Compose. SFS 5966 sequences override any +# conflicting rules from en_US.UTF-8/Compose. +# +# Annex 1 of the standard is implemented in the keymap symbols/fi +# +# Complete rewrite by Marko Myllynen +# Original version by Troy Korjuslommi +# + +# Use en_US.UTF-8/Compose as the base compose sequence definition set +include "X11_LOCALEDATADIR/en_US.UTF-8/Compose" + +# Define all the sequences of the standard overriding any sequence +# from en_US.UTF-8/Compose if such a sequence was provided already + +# Sequences from Annex 3 + +# Sequences with COMBINING ACUTE ACCENT / + : "´" U00B4 # ACUTE ACCENT + : "á" U00E1 # LATIN SMALL LETTER A WITH ACUTE + : "Á" U00C1 # LATIN CAPITAL LETTER A WITH ACUTE + : "ć" U0107 # LATIN SMALL LETTER C WITH ACUTE + : "Ć" U0106 # LATIN CAPITAL LETTER C WITH ACUTE + : "é" U00E9 # LATIN SMALL LETTER E WITH ACUTE + : "É" U00C9 # LATIN CAPITAL LETTER E WITH ACUTE + : "í" U00ED # LATIN SMALL LETTER I WITH ACUTE + : "Í" U00CD # LATIN CAPITAL LETTER I WITH ACUTE + : "ĺ" U013A # LATIN SMALL LETTER L WITH ACUTE + : "Ĺ" U0139 # LATIN CAPITAL LETTER L WITH ACUTE + : "ń" U0144 # LATIN SMALL LETTER N WITH ACUTE + : "Ń" U0143 # LATIN CAPITAL LETTER N WITH ACUTE + : "ó" U00F3 # LATIN SMALL LETTER O WITH ACUTE + : "Ó" U00D3 # LATIN CAPITAL LETTER O WITH ACUTE + : "ŕ" U0155 # LATIN SMALL LETTER R WITH ACUTE + : "Ŕ" U0154 # LATIN CAPITAL LETTER R WITH ACUTE + : "ś" U015B # LATIN SMALL LETTER S WITH ACUTE + : "Ś" U015A # LATIN CAPITAL LETTER S WITH ACUTE + : "ú" U00FA # LATIN SMALL LETTER U WITH ACUTE + : "Ú" U00DA # LATIN CAPITAL LETTER U WITH ACUTE + : "ẃ" U1E83 # LATIN SMALL LETTER W WITH ACUTE + : "Ẃ" U1E82 # LATIN CAPITAL LETTER W WITH ACUTE + : "ý" U00FD # LATIN SMALL LETTER Y WITH ACUTE + : "Ý" U00DD # LATIN CAPITAL LETTER Y WITH ACUTE + : "ź" U017A # LATIN SMALL LETTER Z WITH ACUTE + : "Ź" U0179 # LATIN CAPITAL LETTER Z WITH ACUTE + : "ǽ" U01FD # LATIN SMALL LETTER AE WITH ACUTE + : "Ǽ" U01FC # LATIN CAPITAL LETTER AE WITH ACUTE + : "ǿ" U01FF # LATIN SMALL LETTER O WITH STROKE AND ACUTE + : "Ǿ" U01FE # LATIN CAPITAL LETTER O WITH STROKE AND ACUTE + : "ǻ" U01FB # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE + : "Ǻ" U01FA # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE + +# Sequences with COMBINING BREVE / + : "˘" U02D8 # BREVE + : "ă" U0103 # LATIN SMALL LETTER A WITH BREVE + : "Ă" U0102 # LATIN CAPITAL LETTER A WITH BREVE + : "ĕ" U0115 # LATIN SMALL LETTER E WITH BREVE + : "Ĕ" U0114 # LATIN CAPITAL LETTER E WITH BREVE + : "ğ" U011F # LATIN SMALL LETTER G WITH BREVE + : "Ğ" U011E # LATIN CAPITAL LETTER G WITH BREVE + : "ĭ" U012D # LATIN SMALL LETTER I WITH BREVE + : "Ĭ" U012C # LATIN CAPITAL LETTER I WITH BREVE + : "ŏ" U014F # LATIN SMALL LETTER O WITH BREVE + : "Ŏ" U014E # LATIN CAPITAL LETTER O WITH BREVE + : "ŭ" U016D # LATIN SMALL LETTER U WITH BREVE + : "Ŭ" U016C # LATIN CAPITAL LETTER U WITH BREVE + +# Sequences with COMBINING CARON / + : "ˇ" U02C7 # CARON + : "ǎ" U01CE # LATIN SMALL LETTER A WITH CARON + : "Ǎ" U01CD # LATIN CAPITAL LETTER A WITH CARON + : "č" U010D # LATIN SMALL LETTER C WITH CARON + : "Č" U010C # LATIN CAPITAL LETTER C WITH CARON + : "ď" U010F # LATIN SMALL LETTER D WITH CARON + : "Ď" U010E # LATIN CAPITAL LETTER D WITH CARON + : "ě" U011B # LATIN SMALL LETTER E WITH CARON + : "Ě" U011A # LATIN CAPITAL LETTER E WITH CARON + : "ǧ" U01E7 # LATIN SMALL LETTER G WITH CARON + : "Ǧ" U01E6 # LATIN CAPITAL LETTER G WITH CARON + : "ȟ" U021F # LATIN SMALL LETTER H WITH CARON + : "Ȟ" U021E # LATIN CAPITAL LETTER H WITH CARON + : "ǐ" U01D0 # LATIN SMALL LETTER I WITH CARON + : "Ǐ" U01CF # LATIN CAPITAL LETTER I WITH CARON + : "ǩ" U01E9 # LATIN SMALL LETTER K WITH CARON + : "Ǩ" U01E8 # LATIN CAPITAL LETTER K WITH CARON + : "ľ" U013E # LATIN SMALL LETTER L WITH CARON + : "Ľ" U013D # LATIN CAPITAL LETTER L WITH CARON + : "ň" U0148 # LATIN SMALL LETTER N WITH CARON + : "Ň" U0147 # LATIN CAPITAL LETTER N WITH CARON + : "ǒ" U01D2 # LATIN SMALL LETTER O WITH CARON + : "Ǒ" U01D1 # LATIN CAPITAL LETTER O WITH CARON + : "ř" U0159 # LATIN SMALL LETTER R WITH CARON + : "Ř" U0158 # LATIN CAPITAL LETTER R WITH CARON + : "š" U0161 # LATIN SMALL LETTER S WITH CARON + : "Š" U0160 # LATIN CAPITAL LETTER S WITH CARON + : "ť" U0165 # LATIN SMALL LETTER T WITH CARON + : "Ť" U0164 # LATIN CAPITAL LETTER T WITH CARON + : "ǔ" U01D4 # LATIN SMALL LETTER U WITH CARON + : "Ǔ" U01D3 # LATIN CAPITAL LETTER U WITH CARON + : "ž" U017E # LATIN SMALL LETTER Z WITH CARON + : "Ž" U017D # LATIN CAPITAL LETTER Z WITH CARON + : "ǯ" U01EF # LATIN SMALL LETTER EZH WITH CARON + : "Ǯ" U01EE # LATIN CAPITAL LETTER EZH WITH CARON + +# Sequences with COMBINING CEDILLA / + : "¸" U00B8 # CEDILLA + : "ç" U00E7 # LATIN SMALL LETTER C WITH CEDILLA + : "Ç" U00C7 # LATIN CAPITAL LETTER C WITH CEDILLA + : "ģ" U0123 # LATIN SMALL LETTER G WITH CEDILLA + : "Ģ" U0122 # LATIN CAPITAL LETTER G WITH CEDILLA + : "ķ" U0137 # LATIN SMALL LETTER K WITH CEDILLA + : "Ķ" U0136 # LATIN CAPITAL LETTER K WITH CEDILLA + : "ļ" U013C # LATIN SMALL LETTER L WITH CEDILLA + : "Ļ" U013B # LATIN CAPITAL LETTER L WITH CEDILLA + : "ņ" U0146 # LATIN SMALL LETTER N WITH CEDILLA + : "Ņ" U0145 # LATIN CAPITAL LETTER N WITH CEDILLA + : "ŗ" U0157 # LATIN SMALL LETTER R WITH CEDILLA + : "Ŗ" U0156 # LATIN CAPITAL LETTER R WITH CEDILLA + : "ş" U015F # LATIN SMALL LETTER S WITH CEDILLA + : "Ş" U015E # LATIN CAPITAL LETTER S WITH CEDILLA + : "ţ" U0163 # LATIN SMALL LETTER T WITH CEDILLA + : "Ţ" U0162 # LATIN CAPITAL LETTER T WITH CEDILLA + +# Sequences with COMBINING CIRCUMFLEX ACCENT / + : "^" U005E # CIRCUMFLEX + : "â" U00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX + : "Â" U00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX + : "ĉ" U0109 # LATIN SMALL LETTER C WITH CIRCUMFLEX + : "Ĉ" U0108 # LATIN CAPITAL LETTER C WITH CIRCUMFLEX + : "ê" U00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX + : "Ê" U00CA # LATIN CAPITAL LETTER E WITH CIRCUMFLEX + : "ĝ" U011D # LATIN SMALL LETTER G WITH CIRCUMFLEX + : "Ĝ" U011C # LATIN CAPITAL LETTER G WITH CIRCUMFLEX + : "ĥ" U0125 # LATIN SMALL LETTER H WITH CIRCUMFLEX + : "Ĥ" U0124 # LATIN CAPITAL LETTER H WITH CIRCUMFLEX + : "î" U00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX + : "Î" U00CE # LATIN CAPITAL LETTER I WITH CIRCUMFLEX + : "ĵ" U0135 # LATIN SMALL LETTER J WITH CIRCUMFLEX + : "Ĵ" U0134 # LATIN CAPITAL LETTER J WITH CIRCUMFLEX + : "ô" U00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX + : "Ô" U00D4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX + : "ŝ" U015D # LATIN SMALL LETTER S WITH CIRCUMFLEX + : "Ŝ" U015C # LATIN CAPITAL LETTER S WITH CIRCUMFLEX + : "û" U00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX + : "Û" U00DB # LATIN CAPITAL LETTER U WITH CIRCUMFLEX + : "ŵ" U0175 # LATIN SMALL LETTER W WITH CIRCUMFLEX + : "Ŵ" U0174 # LATIN CAPITAL LETTER W WITH CIRCUMFLEX + : "ŷ" U0177 # LATIN SMALL LETTER Y WITH CIRCUMFLEX + : "Ŷ" U0176 # LATIN CAPITAL LETTER Y WITH CIRCUMFLEX + +# Sequences with COMBINING COMMA BELOW / + : "ș" U0219 # LATIN SMALL LETTER S WITH COMMA BELOW + : "Ș" U0218 # LATIN CAPITAL LETTER S WITH COMMA BELOW + : "ț" U021B # LATIN SMALL LETTER T WITH COMMA BELOW + : "Ț" U021A # LATIN CAPITAL LETTER T WITH COMMA BELOW + +# Sequences with COMBINING DIAERESIS / + : "¨" U00A8 # DIAERESIS + : "ä" U00E4 # LATIN SMALL LETTER A WITH DIAERESIS + : "Ä" U00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS + : "ë" U00EB # LATIN SMALL LETTER E WITH DIAERESIS + : "Ë" U00CB # LATIN CAPITAL LETTER E WITH DIAERESIS + : "ï" U00EF # LATIN SMALL LETTER I WITH DIAERESIS + : "Ï" U00CF # LATIN CAPITAL LETTER I WITH DIAERESIS + : "ö" U00F6 # LATIN SMALL LETTER O WITH DIAERESIS + : "Ö" U00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS + : "ü" U00FC # LATIN SMALL LETTER U WITH DIAERESIS + : "Ü" U00DC # LATIN CAPITAL LETTER U WITH DIAERESIS + : "ẅ" U1E85 # LATIN SMALL LETTER W WITH DIAERESIS + : "Ẅ" U1E84 # LATIN CAPITAL LETTER W WITH DIAERESIS + : "ÿ" U00FF # LATIN SMALL LETTER Y WITH DIAERESIS + : "Ÿ" U0178 # LATIN CAPITAL LETTER Y WITH DIAERESIS + +# Sequences with COMBINING DOT ABOVE / + : "˙" U02D9 # DOT ABOVE + : "ḃ" U1E03 # LATIN SMALL LETTER B WITH DOT ABOVE + : "Ḃ" U1E02 # LATIN CAPITAL LETTER B WITH DOT ABOVE + : "ċ" U010B # LATIN SMALL LETTER C WITH DOT ABOVE + : "Ċ" U010A # LATIN CAPITAL LETTER C WITH DOT ABOVE + : "ḋ" U1E0B # LATIN SMALL LETTER D WITH DOT ABOVE + : "Ḋ" U1E0A # LATIN CAPITAL LETTER D WITH DOT ABOVE + : "ė" U0117 # LATIN SMALL LETTER E WITH DOT ABOVE + : "Ė" U0116 # LATIN CAPITAL LETTER E WITH DOT ABOVE + : "ḟ" U1E1F # LATIN SMALL LETTER F WITH DOT ABOVE + : "Ḟ" U1E1E # LATIN CAPITAL LETTER F WITH DOT ABOVE + : "ġ" U0121 # LATIN SMALL LETTER G WITH DOT ABOVE + : "Ġ" U0120 # LATIN CAPITAL LETTER G WITH DOT ABOVE + : "İ" U0130 # LATIN CAPITAL LETTER I WITH DOT ABOVE + : "ṁ" U1E41 # LATIN SMALL LETTER M WITH DOT ABOVE + : "Ṁ" U1E40 # LATIN CAPITAL LETTER M WITH DOT ABOVE +

: "ṗ" U1E57 # LATIN SMALL LETTER P WITH DOT ABOVE +

: "Ṗ" U1E56 # LATIN CAPITAL LETTER P WITH DOT ABOVE + : "ṡ" U1E61 # LATIN SMALL LETTER S WITH DOT ABOVE + : "Ṡ" U1E60 # LATIN CAPITAL LETTER S WITH DOT ABOVE + : "ṫ" U1E6B # LATIN SMALL LETTER T WITH DOT ABOVE + : "Ṫ" U1E6A # LATIN CAPITAL LETTER T WITH DOT ABOVE + : "ż" U017C # LATIN SMALL LETTER Z WITH DOT ABOVE + : "Ż" U017B # LATIN CAPITAL LETTER Z WITH DOT ABOVE + +# Sequences with COMBINING DOT BELOW / +# : " " U.... # DOT BELOW + : "ạ" U1EA1 # LATIN SMALL LETTER A WITH DOT BELOW + : "Ạ" U1EA0 # LATIN CAPITAL LETTER A WITH DOT BELOW + : "ẹ" U1EB9 # LATIN SMALL LETTER E WITH DOT BELOW + : "Ẹ" U1EB8 # LATIN CAPITAL LETTER E WITH DOT BELOW + : "ị" U1ECB # LATIN SMALL LETTER I WITH DOT BELOW + : "Ị" U1ECA # LATIN CAPITAL LETTER I WITH DOT BELOW + : "ọ" U1ECD # LATIN SMALL LETTER O WITH DOT BELOW + : "Ọ" U1ECC # LATIN CAPITAL LETTER O WITH DOT BELOW + : "ụ" U1EE5 # LATIN SMALL LETTER U WITH DOT BELOW + : "Ụ" U1EE4 # LATIN CAPITAL LETTER U WITH DOT BELOW + : "ỵ" U1EF5 # LATIN SMALL LETTER Y WITH DOT BELOW + : "Ỵ" U1EF4 # LATIN CAPITAL LETTER Y WITH DOT BELOW + +# Sequences with COMBINING DOUBLE ACUTE ACCENT / + : "˝" U02DD # DOUBLE ACUTE ACCENT + : "ő" U0151 # LATIN SMALL LETTER O WITH DOUBLE ACUTE + : "Ő" U0150 # LATIN CAPITAL LETTER O WITH DOUBLE ACUTE + : "ű" U0171 # LATIN SMALL LETTER U WITH DOUBLE ACUTE + : "Ű" U0170 # LATIN CAPITAL LETTER U WITH DOUBLE ACUTE + +# Sequences with COMBINING GRAVE ACCENT / + : "`" U0060 # GRAVE ACCENT + : "à" U00E0 # LATIN SMALL LETTER A WITH GRAVE + : "À" U00C0 # LATIN CAPITAL LETTER A WITH GRAVE + : "è" U00E8 # LATIN SMALL LETTER E WITH GRAVE + : "È" U00C8 # LATIN CAPITAL LETTER E WITH GRAVE + : "ì" U00EC # LATIN SMALL LETTER I WITH GRAVE + : "Ì" U00CC # LATIN CAPITAL LETTER I WITH GRAVE + : "ò" U00F2 # LATIN SMALL LETTER O WITH GRAVE + : "Ò" U00D2 # LATIN CAPITAL LETTER O WITH GRAVE + : "ù" U00F9 # LATIN SMALL LETTER U WITH GRAVE + : "Ù" U00D9 # LATIN CAPITAL LETTER U WITH GRAVE + : "ẁ" U1E81 # LATIN SMALL LETTER W WITH GRAVE + : "Ẁ" U1E80 # LATIN CAPITAL LETTER W WITH GRAVE + : "ỳ" U1EF3 # LATIN SMALL LETTER Y WITH GRAVE + : "Ỳ" U1EF2 # LATIN CAPITAL LETTER Y WITH GRAVE + +# Sequences with COMBINING MACRON / + : "¯" U00AF # MACRON + : "ā" U0101 # LATIN SMALL LETTER A WITH MACRON + : "Ā" U0100 # LATIN CAPITAL LETTER A WITH MACRON + : "ē" U0113 # LATIN SMALL LETTER E WITH MACRON + : "Ē" U0112 # LATIN CAPITAL LETTER E WITH MACRON + : "ī" U012B # LATIN SMALL LETTER I WITH MACRON + : "Ī" U012A # LATIN CAPITAL LETTER I WITH MACRON + : "ō" U014D # LATIN SMALL LETTER O WITH MACRON + : "Ō" U014C # LATIN CAPITAL LETTER O WITH MACRON + : "ū" U016B # LATIN SMALL LETTER U WITH MACRON + : "Ū" U016A # LATIN CAPITAL LETTER U WITH MACRON + : "ǣ" U01E3 # LATIN SMALL LETTER AE WITH MACRON + : "Ǣ" U01E2 # LATIN CAPITAL LETTER AE WITH MACRON + : "ǟ" U01DF # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON + : "Ǟ" U01DE # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON + +# Sequences with COMBINING OGONEK / + : "˛" U02DB # OGONEK + : "ą" U0105 # LATIN SMALL LETTER A WITH OGONEK + : "Ą" U0104 # LATIN CAPITAL LETTER A WITH OGONEK + : "ę" U0119 # LATIN SMALL LETTER E WITH OGONEK + : "Ę" U0118 # LATIN CAPITAL LETTER E WITH OGONEK + : "į" U012F # LATIN SMALL LETTER I WITH OGONEK + : "Į" U012E # LATIN CAPITAL LETTER I WITH OGONEK + : "ǫ" U01EB # LATIN SMALL LETTER O WITH OGONEK + : "Ǫ" U01EA # LATIN CAPITAL LETTER O WITH OGONEK + : "ų" U0173 # LATIN SMALL LETTER U WITH OGONEK + : "Ų" U0172 # LATIN CAPITAL LETTER U WITH OGONEK + +# Sequences with COMBINING RING ABOVE / + : "˚" U02DA # RING ABOVE + : "å" U00E5 # LATIN SMALL LETTER A WITH RING ABOVE + : "Å" U00C5 # LATIN CAPITAL LETTER A WITH RING ABOVE + : "ů" U016F # LATIN SMALL LETTER U WITH RING ABOVE + : "Ů" U016E # LATIN CAPITAL LETTER U WITH RING ABOVE + +# Sequences with COMBINING TILDE / + : "~" U007E # TILDE + : "ã" U00E3 # LATIN SMALL LETTER A WITH TILDE + : "Ã" U00C3 # LATIN CAPITAL LETTER A WITH TILDE + : "ẽ" U1EBD # LATIN SMALL LETTER E WITH TILDE + : "Ẽ" U1EBC # LATIN CAPITAL LETTER E WITH TILDE + : "ĩ" U0129 # LATIN SMALL LETTER I WITH TILDE + : "Ĩ" U0128 # LATIN CAPITAL LETTER I WITH TILDE + : "ñ" U00F1 # LATIN SMALL LETTER N WITH TILDE + : "Ñ" U00D1 # LATIN CAPITAL LETTER N WITH TILDE + : "õ" U00F5 # LATIN SMALL LETTER O WITH TILDE + : "Õ" U00D5 # LATIN CAPITAL LETTER O WITH TILDE + : "ũ" U0169 # LATIN SMALL LETTER U WITH TILDE + : "Ũ" U0168 # LATIN CAPITAL LETTER U WITH TILDE + : "ỹ" U1EF9 # LATIN SMALL LETTER Y WITH TILDE + : "Ỹ" U1EF8 # LATIN CAPITAL LETTER Y WITH TILDE + +# Sequences with AUXILIARY STROKE / + : "đ" U0111 # LATIN SMALL LETTER D WITH STROKE + : "Đ" U0110 # LATIN CAPITAL LETTER D WITH STROKE + : "ǥ" U01E5 # LATIN SMALL LETTER G WITH STROKE + : "Ǥ" U01E4 # LATIN CAPITAL LETTER G WITH STROKE + : "ħ" U0127 # LATIN SMALL LETTER H WITH STROKE + : "Ħ" U0126 # LATIN CAPITAL LETTER H WITH STROKE + : "ł" U0142 # LATIN SMALL LETTER L WITH STROKE + : "Ł" U0141 # LATIN CAPITAL LETTER L WITH STROKE + : "ø" U00F8 # LATIN SMALL LETTER O WITH STROKE + : "Ø" U00D8 # LATIN CAPITAL LETTER O WITH STROKE + : "ŧ" U0167 # LATIN SMALL LETTER T WITH STROKE + : "Ŧ" U0166 # LATIN CAPITAL LETTER T WITH STROKE + +# Sequences from Annex 4 + +# Sequences with COMBINING BREVE / + : "ắ" U1EAF # LATIN SMALL LETTER A WITH BREVE AND ACUTE + : "ặ" U1EB7 # LATIN SMALL LETTER A WITH BREVE AND DOT BELOW + : "ằ" U1EB1 # LATIN SMALL LETTER A WITH BREVE AND GRAVE + : "ẳ" U1EB3 # LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE + : "ẵ" U1EB5 # LATIN SMALL LETTER A WITH BREVE AND TILDE + : "Ắ" U1EAE # LATIN CAPITAL LETTER A WITH BREVE AND ACUTE + : "Ặ" U1EB6 # LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW + : "Ằ" U1EB0 # LATIN CAPITAL LETTER A WITH BREVE AND GRAVE + : "Ẳ" U1EB2 # LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE + : "Ẵ" U1EB4 # LATIN CAPITAL LETTER A WITH BREVE AND TILDE + +# Sequences with COMBINING CIRCUMFLEX ACCENT / + : "ấ" U1EA5 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE + : "ậ" U1EAD # LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW + : "ầ" U1EA7 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE + : "ẩ" U1EA9 # LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE + : "ẫ" U1EAB # LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE + : "Ấ" U1EA4 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE + : "Ậ" U1EAC # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW + : "Ầ" U1EA6 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE + : "Ẩ" U1EA8 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE + : "Ẫ" U1EAA # LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE + : "ế" U1EBF # LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE + : "ệ" U1EC7 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW + : "ề" U1EC1 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE + : "ể" U1EC3 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE + : "ễ" U1EC5 # LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE + : "Ế" U1EBE # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE + : "Ệ" U1EC6 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW + : "Ề" U1EC0 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE + : "Ể" U1EC2 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE + : "Ễ" U1EC4 # LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE + : "ố" U1ED1 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE + : "ộ" U1ED9 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW + : "ồ" U1ED3 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE + : "ổ" U1ED5 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE + : "ỗ" U1ED7 # LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE + : "Ố" U1ED0 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE + : "Ộ" U1ED8 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW + : "Ồ" U1ED2 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE + : "Ổ" U1ED4 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE + : "Ỗ" U1ED6 # LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE + +# Sequences with COMBINING DIAERESIS / + : "ǟ" U01DF # LATIN SMALL LETTER A WITH DIAERESIS AND MACRON + : "Ǟ" U01DE # LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON + +# Sequences with COMBINING DOT ABOVE / + : "ȧ" U0227 # LATIN SMALL LETTER A WITH DOT ABOVE + : "ǡ" U01E1 # LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON + : "Ȧ" U0226 # LATIN CAPITAL LETTER A WITH DOT ABOVE + : "Ǡ" U01E0 # LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON + +# Sequences with COMBINING HOOK ABOVE / + : "ả" U1EA3 # LATIN SMALL LETTER A WITH HOOK ABOVE + : "Ả" U1EA2 # LATIN CAPITAL LETTER A WITH HOOK ABOVE + : "ẻ" U1EBB # LATIN SMALL LETTER E WITH HOOK ABOVE + : "Ẻ" U1EBA # LATIN CAPITAL LETTER E WITH HOOK ABOVE + : "ỉ" U1EC9 # LATIN SMALL LETTER I WITH HOOK ABOVE + : "Ỉ" U1EC8 # LATIN CAPITAL LETTER I WITH HOOK ABOVE + : "ỏ" U1ECF # LATIN SMALL LETTER O WITH HOOK ABOVE + : "Ỏ" U1ECE # LATIN CAPITAL LETTER O WITH HOOK ABOVE + : "ủ" U1EE7 # LATIN SMALL LETTER U WITH HOOK ABOVE + : "Ủ" U1EE6 # LATIN CAPITAL LETTER U WITH HOOK ABOVE + : "ỷ" U1EF7 # LATIN SMALL LETTER Y WITH HOOK ABOVE + : "Ỷ" U1EF6 # LATIN CAPITAL LETTER Y WITH HOOK ABOVE + +# Sequences with COMBINING HORN / + : "ơ" U01A1 # LATIN SMALL LETTER O WITH HORN + : "ớ" U1EDB # LATIN SMALL LETTER O WITH HORN AND ACUTE + : "ợ" U1EE3 # LATIN SMALL LETTER O WITH HORN AND DOT BELOW + : "ờ" U1EDD # LATIN SMALL LETTER O WITH HORN AND GRAVE + : "ờ" U1EDD # LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE + : "ỡ" U1EE1 # LATIN SMALL LETTER O WITH HORN AND TILDE + : "Ơ" U01A0 # LATIN CAPITAL LETTER O WITH HORN + : "Ớ" U1EDA # LATIN CAPITAL LETTER O WITH HORN AND ACUTE + : "Ợ" U1EE2 # LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW + : "Ờ" U1EDC # LATIN CAPITAL LETTER O WITH HORN AND GRAVE + : "Ở" U1EDE # LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE + : "Ỡ" U1EE0 # LATIN CAPITAL LETTER O WITH HORN AND TILDE + : "ư" U01B0 # LATIN SMALL LETTER U WITH HORN + : "ứ" U1EE9 # LATIN SMALL LETTER U WITH HORN AND ACUTE + : "ự" U1EF1 # LATIN SMALL LETTER U WITH HORN AND DOT BELOW + : "ừ" U1EEB # LATIN SMALL LETTER U WITH HORN AND GRAVE + : "ử" U1EED # LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE + : "ữ" U1EEF # LATIN SMALL LETTER U WITH HORN AND TILDE + : "Ư" U01AF # LATIN CAPITAL LETTER U WITH HORN + : "Ứ" U1EE8 # LATIN CAPITAL LETTER U WITH HORN AND ACUTE + : "Ự" U1EF0 # LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW + : "Ừ" U1EEA # LATIN CAPITAL LETTER U WITH HORN AND GRAVE + : "Ử" U1EEC # LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE + : "Ữ" U1EEE # LATIN CAPITAL LETTER U WITH HORN AND TILDE + +# Sequences with COMBINING OGONEK / + : "ǭ" U01ED # LATIN SMALL LETTER O WITH OGONEK AND MACRON + : "Ǭ" U01EC # LATIN CAPITAL LETTER O WITH OGONEK AND MACRON + +# Sequences with COMBINING RING ABOVE / + : "ǻ" U01FB # LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE + : "Ǻ" U01FA # LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE + +# Additional sequences from Annex 5 for the reportoire of the MES-2 +# (Multilingual European Subset No. 2 in ISO/IEC 10646, Collection 282) + : "ƒ" U0192 # LATIN SMALL LETTER F WITH HOOK + : "fi" UFB01 # LATIN SMALL LIGATURE FI + : "fl" UFB02 # LATIN SMALL LIGATURE FL + : "ij" U0133 # LATIN SMALL LIGATURE IJ + : "IJ" U0132 # LATIN CAPITAL LIGATURE IJ + : "ŀ" U0140 # LATIN SMALL LETTER L WITH MIDDLE DOT + : "Ŀ" U013F # LATIN CAPITAL LETTER L WITH MIDDLE DOT + : "ʼn" U0149 # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE + : "ɼ" U027C # LATIN SMALL LETTER R WITH LONG LEG + : "ſ" U017F # LATIN SMALL LETTER LONG S + : "ẛ" U1E9B # LATIN SMALL LETTER LONG S WITH DOT ABOVE + : "ẛ" U1E9B # LATIN SMALL LETTER LONG S WITH DOT ABOVE diff --git a/locale/fi_FI.UTF-8/XI18N_OBJS b/locale/fi_FI.UTF-8/XI18N_OBJS new file mode 100644 index 0000000..e69de29 diff --git a/locale/fi_FI.UTF-8/XLC_LOCALE b/locale/fi_FI.UTF-8/XLC_LOCALE new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/locale/fi_FI.UTF-8/XLC_LOCALE @@ -0,0 +1 @@ + diff --git a/locale/georgian-academy/Compose b/locale/georgian-academy/Compose new file mode 100644 index 0000000..b6d3a8a --- /dev/null +++ b/locale/georgian-academy/Compose @@ -0,0 +1,15 @@ + +# +# georgian-academy Compose Sequence +# +# Sequence Definition +# +# +# This file currently has no entries. It appears that a compose file (even +# just an empty one) is required for the appropriate keysyms to work for +# this encoding. +# +# Means +# Special Character + +# End of Sequence Definition diff --git a/locale/georgian-academy/XI18N_OBJS b/locale/georgian-academy/XI18N_OBJS new file mode 100644 index 0000000..c4f7ffa --- /dev/null +++ b/locale/georgian-academy/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for georgian-academy locale +# +XLC common/xlcDef _XlcDefaultLoader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/georgian-academy/XLC_LOCALE b/locale/georgian-academy/XLC_LOCALE new file mode 100644 index 0000000..98e2966 --- /dev/null +++ b/locale/georgian-academy/XLC_LOCALE @@ -0,0 +1,78 @@ + +# XLocale Database Sample for georgian-academy +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class (7 bit ASCII) +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary GEORGIAN-ACADEMY:GL + substitute ISO8859-1:GL + } +} +# fs1 class +fs1 { + charset GEORGIAN-ACADEMY:GR + font GEORGIAN-ACADEMY:GR +} +END XLC_FONTSET + +# +# XLC_CHARSET_DEFINE category +# +XLC_CHARSET_DEFINE +csd0 { + charset_name GEORGIAN-ACADEMY + side GR + length 1 + string_encoding False + sequence \x1b%/1 +} +END XLC_CHARSET_DEFINE + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name GEORGIAN-ACADEMY +mb_cur_max 1 +state_depend_encoding False + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding GEORGIAN-ACADEMY:GL; ISO8859-1:GL +} + + +# cs1 class +cs1 { + side GR:Default + length 1 + + + + wc_encoding \x00008080 + + ct_encoding GEORGIAN-ACADEMY:GR +} + +END XLC_XLOCALE diff --git a/locale/georgian-ps/Compose b/locale/georgian-ps/Compose new file mode 100644 index 0000000..297e5a3 --- /dev/null +++ b/locale/georgian-ps/Compose @@ -0,0 +1,15 @@ + +# +# georgian-ps Compose Sequence +# +# Sequence Definition +# +# +# This file currently has no entries. It appears that a compose file (even +# just an empty one) is required for the appropriate keysyms to work for +# this encoding. +# +# Means +# Special Character + +# End of Sequence Definition diff --git a/locale/georgian-ps/XI18N_OBJS b/locale/georgian-ps/XI18N_OBJS new file mode 100644 index 0000000..558452d --- /dev/null +++ b/locale/georgian-ps/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for georgian-ps locale +# +XLC common/xlcDef _XlcDefaultLoader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/georgian-ps/XLC_LOCALE b/locale/georgian-ps/XLC_LOCALE new file mode 100644 index 0000000..7e13893 --- /dev/null +++ b/locale/georgian-ps/XLC_LOCALE @@ -0,0 +1,78 @@ + +# XLocale Database Sample for georgian-ps +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class (7 bit ASCII) +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary GEORGIAN-PS:GL + substitute ISO8859-1:GL + } +} +# fs1 class +fs1 { + charset GEORGIAN-PS:GR + font GEORGIAN-PS:GR +} +END XLC_FONTSET + +# +# XLC_CHARSET_DEFINE category +# +XLC_CHARSET_DEFINE +csd0 { + charset_name GEORGIAN-PS + side GR + length 1 + string_encoding False + sequence \x1b%/1 +} +END XLC_CHARSET_DEFINE + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name GEORGIAN-PS +mb_cur_max 1 +state_depend_encoding False + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding GEORGIAN-PS:GL; ISO8859-1:GL +} + + +# cs1 class +cs1 { + side GR:Default + length 1 + + + + wc_encoding \x00008080 + + ct_encoding GEORGIAN-PS:GR +} + +END XLC_XLOCALE diff --git a/locale/ibm-cp1133/Compose b/locale/ibm-cp1133/Compose new file mode 100644 index 0000000..0bd9fb6 --- /dev/null +++ b/locale/ibm-cp1133/Compose @@ -0,0 +1,15 @@ + +# +# ibm-cp1133 Compose Sequence +# +# Sequence Definition +# +# +# This file currently has no entries. It appears that a compose file (even +# just an empty one) is required for the appropriate keysyms to work for +# this encoding. +# +# Means +# Special Character + +# End of Sequence Definition diff --git a/locale/ibm-cp1133/XI18N_OBJS b/locale/ibm-cp1133/XI18N_OBJS new file mode 100644 index 0000000..02ca83b --- /dev/null +++ b/locale/ibm-cp1133/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for ibm-cp1133 locale +# +XLC common/xlcDef _XlcDefaultLoader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/ibm-cp1133/XLC_LOCALE b/locale/ibm-cp1133/XLC_LOCALE new file mode 100644 index 0000000..69d0b70 --- /dev/null +++ b/locale/ibm-cp1133/XLC_LOCALE @@ -0,0 +1,78 @@ + +# XLocale Database Sample for ibm-cp1133. +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class (7 bit ASCII) +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary IBM-CP1133:GL + substitute ISO8859-1:GL + } +} +# fs1 class +fs1 { + charset IBM-CP1133:GR + font IBM-CP1133:GR +} +END XLC_FONTSET + +# +# XLC_CHARSET_DEFINE category +# +XLC_CHARSET_DEFINE +csd0 { + charset_name IBM-CP1133 + side GR + length 1 + string_encoding False + sequence \x1b%/1 +} +END XLC_CHARSET_DEFINE + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name IBM-CP1133 +mb_cur_max 1 +state_depend_encoding False + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding IBM-CP1133:GL; ISO8859-1:GL +} + + +# cs1 class +cs1 { + side GR:Default + length 1 + + + + wc_encoding \x00008080 + + ct_encoding IBM-CP1133:GR +} + +END XLC_XLOCALE diff --git a/locale/iscii-dev/Compose b/locale/iscii-dev/Compose new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/locale/iscii-dev/Compose @@ -0,0 +1 @@ + diff --git a/locale/iscii-dev/XI18N_OBJS b/locale/iscii-dev/XI18N_OBJS new file mode 100644 index 0000000..0dbaed5 --- /dev/null +++ b/locale/iscii-dev/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for iscii-dev locale +# +XLC common/xlcDef _XlcDefaultLoader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/iscii-dev/XLC_LOCALE b/locale/iscii-dev/XLC_LOCALE new file mode 100644 index 0000000..ad35926 --- /dev/null +++ b/locale/iscii-dev/XLC_LOCALE @@ -0,0 +1,78 @@ + +# XLocale Database Sample for mulelao-1. +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class (7 bit ASCII) +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary ISCII-DEV:GL + substitute ISO8859-1:GL + } +} +# fs1 class +fs1 { + charset ISCII-DEV:GR + font ISCII-DEV:GR +} +END XLC_FONTSET + +# +# XLC_CHARSET_DEFINE category +# +XLC_CHARSET_DEFINE +csd0 { + charset_name ISCII-DEV + side GR + length 1 + string_encoding False + sequence \x1b%/1 +} +END XLC_CHARSET_DEFINE + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name ISCII-DEV +mb_cur_max 1 +state_depend_encoding False + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding ISCII-DEV:GL; ISO8859-1:GL +} + + +# cs1 class +cs1 { + side GR:Default + length 1 + + + + wc_encoding \x00008080 + + ct_encoding ISCII-DEV:GR +} + +END XLC_XLOCALE diff --git a/locale/isiri-3342/Compose b/locale/isiri-3342/Compose new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/locale/isiri-3342/Compose @@ -0,0 +1 @@ + diff --git a/locale/isiri-3342/XI18N_OBJS b/locale/isiri-3342/XI18N_OBJS new file mode 100644 index 0000000..028d847 --- /dev/null +++ b/locale/isiri-3342/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for isiri-3342 locale +# +XLC common/xlcDef _XlcDefaultLoader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/isiri-3342/XLC_LOCALE b/locale/isiri-3342/XLC_LOCALE new file mode 100644 index 0000000..4775fd7 --- /dev/null +++ b/locale/isiri-3342/XLC_LOCALE @@ -0,0 +1,78 @@ + +# XLocale Database Sample for mulelao-1. +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class (7 bit ASCII) +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary ISIRI-3342:GL + substitute ISO8859-1:GL + } +} +# fs1 class +fs1 { + charset ISIRI-3342:GR + font ISIRI-3342:GR +} +END XLC_FONTSET + +# +# XLC_CHARSET_DEFINE category +# +XLC_CHARSET_DEFINE +csd0 { + charset_name ISIRI-3342 + side GR + length 1 + string_encoding False + sequence \x1b%/1 +} +END XLC_CHARSET_DEFINE + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name ISIRI-3342 +mb_cur_max 1 +state_depend_encoding False + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding ISIRI-3342:GL; ISO8859-1:GL +} + + +# cs1 class +cs1 { + side GR:Default + length 1 + + + + wc_encoding \x00008080 + + ct_encoding ISIRI-3342:GR +} + +END XLC_XLOCALE diff --git a/locale/iso8859-1/Compose b/locale/iso8859-1/Compose new file mode 100644 index 0000000..4c42206 --- /dev/null +++ b/locale/iso8859-1/Compose @@ -0,0 +1,844 @@ + +# +# ISO 8859-1 (Latin1) Compose Sequence +# +# +# +# Sequence Definition +# +# Means +# Special Character + : "#" numbersign + : "'" apostrophe + : "'" apostrophe + : "@" at + : "[" bracketleft + : "\\" backslash + : "\\" backslash + : "\\" backslash + : "]" bracketright + : "^" asciicircum + : "^" asciicircum + : "^" asciicircum + : "^" asciicircum + : "`" grave + : "`" grave + : "{" braceleft + : "{" braceleft + : "|" bar + : "|" bar + : "|" bar + : "|" bar + : "|" bar + : "|" bar + : "}" braceright + : "}" braceright + : "~" asciitilde + : "~" asciitilde + : "~" asciitilde + : "~" asciitilde + : "\241" exclamdown + : "\242" cent + : "\242" cent + : "\242" cent + : "\242" cent + : "\242" cent + : "\242" cent + : "\242" cent + : "\242" cent + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\245" yen + : "\245" yen + : "\245" yen + : "\245" yen + : "\245" yen + : "\245" yen + : "\245" yen + : "\245" yen + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + <0> : "\247" section + <0> : "\247" section + <0> : "\247" section + <0> : "\247" section + : "\244" currency + : "\244" currency + : "\244" currency + : "\244" currency + : "\244" currency + : "\244" currency + : "\244" currency + : "\244" currency + <0> : "\244" currency + <0> : "\244" currency + <0> : "\244" currency + <0> : "\244" currency + : "\251" copyright + : "\251" copyright + : "\251" copyright + : "\251" copyright + : "\251" copyright + : "\251" copyright + : "\251" copyright + : "\251" copyright + <0> : "\251" copyright + <0> : "\251" copyright + <0> : "\251" copyright + <0> : "\251" copyright + : "\251" copyright + : "\252" ordfeminine + : "\252" ordfeminine + : "\252" ordfeminine + : "\252" ordfeminine + : "\272" masculine + : "\272" masculine + : "\272" masculine + : "\272" masculine + : "\253" guillemotleft + : "\273" guillemotright + <0> : "\260" degree + <0> : "\260" degree + <0> : "\260" degree + <0> : "\260" degree + : "\261" plusminus + : "\261" plusminus + : "\265" mu + : "\265" mu + : "\265" mu + : "\265" mu + <1> : "\271" onesuperior + <1> : "\271" onesuperior + <1> : "\271" onesuperior + <1> : "\271" onesuperior + <1> : "\271" onesuperior + <1> : "\271" onesuperior + <2> : "\262" twosuperior + <2> : "\262" twosuperior + <2> : "\262" twosuperior + <2> : "\262" twosuperior + <2> : "\262" twosuperior + <2> : "\262" twosuperior + <3> : "\263" threesuperior + <3> : "\263" threesuperior + <3> : "\263" threesuperior + <3> : "\263" threesuperior + <3> : "\263" threesuperior + <3> : "\263" threesuperior +

: "\266" paragraph +

: "\266" paragraph +

: "\266" paragraph +

: "\266" paragraph + : "\267" periodcentered + : "\267" periodcentered + : "\267" periodcentered + <1> <4> : "\274" onequarter + <1> <2> : "\275" onehalf + <3> <4> : "\276" threequarters + : "\277" questiondown + : "\240" nobreakspace + : "\246" brokenbar + : "\246" brokenbar + : "\246" brokenbar + : "\246" brokenbar + : "\246" brokenbar + : "\246" brokenbar + : "\246" brokenbar + : "\254" notsign + : "\254" notsign + : "\255" hyphen + : "\256" registered + : "\256" registered + : "\256" registered + : "\257" macron + : "\257" macron + : "\257" macron + : "\257" macron + : "\257" macron + : "\367" division + : "\367" division + : "\327" multiply + : "\264" acute + : "\270" cedilla + : "\250" diaeresis +# Accented Alphabet + : "\300" Agrave + : "\300" Agrave + : "\301" Aacute + : "\301" Aacute + : "\301" Aacute + : "\301" Aacute + : "\302" Acircumflex + : "\302" Acircumflex + : "\302" Acircumflex + : "\302" Acircumflex + : "\303" Atilde + : "\303" Atilde + : "\303" Atilde + : "\303" Atilde + : "\304" Adiaeresis + : "\304" Adiaeresis + : "\304" Adiaeresis + : "\304" Adiaeresis + : "\305" Aring + : "\305" Aring + : "\305" Aring + : "\305" Aring + : "\306" AE + : "\340" agrave + : "\340" agrave + : "\341" aacute + : "\341" aacute + : "\341" aacute + : "\341" aacute + : "\342" acircumflex + : "\342" acircumflex + : "\342" acircumflex + : "\342" acircumflex + : "\343" atilde + : "\343" atilde + : "\343" atilde + : "\343" atilde + : "\344" adiaeresis + : "\344" adiaeresis + : "\344" adiaeresis + : "\344" adiaeresis + : "\345" aring + : "\345" aring + : "\345" aring + : "\345" aring + : "\346" ae + : "\307" Ccedilla + : "\347" ccedilla + : "\307" Ccedilla + : "\307" Ccedilla + : "\307" Ccedilla + : "\307" Ccedilla + : "\347" ccedilla + : "\347" ccedilla + : "\347" ccedilla + : "\347" ccedilla + : "\320" ETH + : "\320" ETH + : "\360" eth + : "\360" eth + : "\310" Egrave + : "\310" Egrave + : "\311" Eacute + : "\311" Eacute + : "\311" Eacute + : "\311" Eacute + : "\312" Ecircumflex + : "\312" Ecircumflex + : "\312" Ecircumflex + : "\312" Ecircumflex + : "\313" Ediaeresis + : "\313" Ediaeresis + : "\313" Ediaeresis + : "\313" Ediaeresis + : "\350" egrave + : "\350" egrave + : "\351" eacute + : "\351" eacute + : "\351" eacute + : "\351" eacute + : "\352" ecircumflex + : "\352" ecircumflex + : "\352" ecircumflex + : "\352" ecircumflex + : "\353" ediaeresis + : "\353" ediaeresis + : "\353" ediaeresis + : "\353" ediaeresis + : "\314" Igrave + : "\314" Igrave + : "\315" Iacute + : "\315" Iacute + : "\315" Iacute + : "\315" Iacute + : "\316" Icircumflex + : "\316" Icircumflex + : "\316" Icircumflex + : "\316" Icircumflex + : "\317" Idiaeresis + : "\317" Idiaeresis + : "\317" Idiaeresis + : "\317" Idiaeresis + : "\354" igrave + : "\354" igrave + : "\355" iacute + : "\355" iacute + : "\355" iacute + : "\355" iacute + : "\356" icircumflex + : "\356" icircumflex + : "\356" icircumflex + : "\356" icircumflex + : "\357" idiaeresis + : "\357" idiaeresis + : "\357" idiaeresis + : "\357" idiaeresis + : "\321" Ntilde + : "\321" Ntilde + : "\321" Ntilde + : "\321" Ntilde + : "\361" ntilde + : "\361" ntilde + : "\361" ntilde + : "\361" ntilde + : "\322" Ograve + : "\322" Ograve + : "\323" Oacute + : "\323" Oacute + : "\323" Oacute + : "\323" Oacute + : "\324" Ocircumflex + : "\324" Ocircumflex + : "\324" Ocircumflex + : "\324" Ocircumflex + : "\325" Otilde + : "\325" Otilde + : "\325" Otilde + : "\325" Otilde + : "\326" Odiaeresis + : "\326" Odiaeresis + : "\326" Odiaeresis + : "\326" Odiaeresis + : "\330" Ooblique + : "\330" Ooblique + : "\362" ograve + : "\362" ograve + : "\363" oacute + : "\363" oacute + : "\363" oacute + : "\363" oacute + : "\364" ocircumflex + : "\364" ocircumflex + : "\364" ocircumflex + : "\364" ocircumflex + : "\365" otilde + : "\365" otilde + : "\365" otilde + : "\365" otilde + : "\366" odiaeresis + : "\366" odiaeresis + : "\366" odiaeresis + : "\366" odiaeresis + : "\370" oslash + : "\370" oslash + : "\331" Ugrave + : "\331" Ugrave + : "\332" Uacute + : "\332" Uacute + : "\332" Uacute + : "\332" Uacute + : "\333" Ucircumflex + : "\333" Ucircumflex + : "\333" Ucircumflex + : "\333" Ucircumflex + : "\334" Udiaeresis + : "\334" Udiaeresis + : "\334" Udiaeresis + : "\334" Udiaeresis + : "\371" ugrave + : "\371" ugrave + : "\372" uacute + : "\372" uacute + : "\372" uacute + : "\372" uacute + : "\373" ucircumflex + : "\373" ucircumflex + : "\373" ucircumflex + : "\373" ucircumflex + : "\374" udiaeresis + : "\374" udiaeresis + : "\374" udiaeresis + : "\374" udiaeresis + : "\337" ssharp + : "\336" THORN + : "\376" thorn + : "\335" Yacute + : "\335" Yacute + : "\335" Yacute + : "\335" Yacute + : "\375" yacute + : "\375" yacute + : "\375" yacute + : "\375" yacute + : "\377" ydiaeresis + : "\377" ydiaeresis + : "\377" ydiaeresis + : "\377" ydiaeresis +# +# +# dead key accent keysyms +# Special Character + : "|" bar + : "^" asciicircum + : "^" asciicircum + : "~" asciitilde + : "~" asciitilde + : "`" grave + : "`" grave +# These are for us_intl, that does not have diaeresis, etc + : "'" apostrophe + : "\264" acute + : "\"" quotedbl + : "\250" diaeresis + : "\"" quotedbl + : "\260" degree + : "\260" degree + <0> : "\260" degree + <1> : "\271" onesuperior + <2> : "\262" twosuperior + <3> : "\263" threesuperior + : "\267" periodcentered + : "\246" brokenbar + : "\254" notsign + : "\257" macron + : "\257" macron + : "\264" acute + : "\270" cedilla + : "\250" diaeresis +# Accented Alphabet + : "\305" Aring + : "\300" Agrave + : "\301" Aacute + : "\302" Acircumflex + : "\303" Atilde + : "\304" Adiaeresis + : "\345" aring + : "\340" agrave + : "\341" aacute + : "\342" acircumflex + : "\343" atilde + : "\344" adiaeresis + : "\307" Ccedilla + : "\347" ccedilla + : "\310" Egrave + : "\311" Eacute + : "\312" Ecircumflex + : "\313" Ediaeresis + : "\350" egrave + : "\351" eacute + : "\352" ecircumflex + : "\353" ediaeresis + : "\314" Igrave + : "\315" Iacute + : "\316" Icircumflex + : "\317" Idiaeresis + : "\354" igrave + : "\355" iacute + : "\356" icircumflex + : "\357" idiaeresis + : "\321" Ntilde + : "\361" ntilde + : "\322" Ograve + : "\323" Oacute + : "\324" Ocircumflex + : "\325" Otilde + : "\326" Odiaeresis + : "\362" ograve + : "\363" oacute + : "\364" ocircumflex + : "\365" otilde + : "\366" odiaeresis + : "\331" Ugrave + : "\332" Uacute + : "\333" Ucircumflex + : "\334" Udiaeresis + : "\334" Udiaeresis + : "\371" ugrave + : "\372" uacute + : "\373" ucircumflex + : "\374" udiaeresis + : "\374" udiaeresis + : "\335" Yacute + : "\375" yacute + : "\377" ydiaeresis +# Useful for portuguese language + : "\307" Ccedilla + : "\347" ccedilla +# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# End of Sequence Definition diff --git a/locale/iso8859-1/XI18N_OBJS b/locale/iso8859-1/XI18N_OBJS new file mode 100644 index 0000000..3a9a1bb --- /dev/null +++ b/locale/iso8859-1/XI18N_OBJS @@ -0,0 +1,8 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for euro locales +# +XLC common/xlibi18n _XlcGenericLoader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open + diff --git a/locale/iso8859-1/XLC_LOCALE b/locale/iso8859-1/XLC_LOCALE new file mode 100644 index 0000000..68f6587 --- /dev/null +++ b/locale/iso8859-1/XLC_LOCALE @@ -0,0 +1,70 @@ + +# XLocale Database Sample for iso8859-1. +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary ISO8859-1:GL + vertical_rotate all + } +} +# fs1 class +fs1 { + charset { + name ISO8859-1:GR + } + font { + primary ISO8859-1:GR + } +} +END XLC_FONTSET + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name ISO8859-1 +mb_cur_max 1 +state_depend_encoding False + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True +force_convert_to_mb True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding ISO8859-1:GL +} + + +# cs1 class +cs1 { + side GR:Default + length 1 + + + + wc_encoding \x00008080 + + ct_encoding ISO8859-1:GR +} + +END XLC_XLOCALE diff --git a/locale/iso8859-10/Compose b/locale/iso8859-10/Compose new file mode 100644 index 0000000..be3ebec --- /dev/null +++ b/locale/iso8859-10/Compose @@ -0,0 +1,15 @@ + +# +# ISO 8859-10 Compose Sequence +# +# Sequence Definition +# +# +# This file currently has no entries. It appears that a compose file (even +# just an empty one) is required for the appropriate keysyms to work for +# this encoding. +# +# Means +# Special Character + +# End of Sequence Definition diff --git a/locale/iso8859-10/XI18N_OBJS b/locale/iso8859-10/XI18N_OBJS new file mode 100644 index 0000000..7e3b854 --- /dev/null +++ b/locale/iso8859-10/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for iso8859-10 locale +# +XLC common/xlcDef _XlcDefaultLoader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/iso8859-10/XLC_LOCALE b/locale/iso8859-10/XLC_LOCALE new file mode 100644 index 0000000..107523d --- /dev/null +++ b/locale/iso8859-10/XLC_LOCALE @@ -0,0 +1,71 @@ + +# XLocale Database Sample for iso8859-4. +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary ISO8859-10:GL + substitute ISO8859-1:GL + vertical_rotate all + } +} +# fs1 class +fs1 { + charset { + name ISO8859-10:GR + } + font { + primary ISO8859-10:GR + } +} +END XLC_FONTSET + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name ISO8859-10 +mb_cur_max 1 +state_depend_encoding False + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True +force_convert_to_mb True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding ISO8859-10:GL; ISO8859-1:GL +} + + +# cs1 class +cs1 { + side GR:Default + length 1 + + + + wc_encoding \x00008080 + + ct_encoding ISO8859-10:GR +} + +END XLC_XLOCALE diff --git a/locale/iso8859-11/Compose b/locale/iso8859-11/Compose new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/locale/iso8859-11/Compose @@ -0,0 +1 @@ + diff --git a/locale/iso8859-11/XI18N_OBJS b/locale/iso8859-11/XI18N_OBJS new file mode 100644 index 0000000..168ccc0 --- /dev/null +++ b/locale/iso8859-11/XI18N_OBJS @@ -0,0 +1,8 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for iso8859-11 locale +# +# +XLC common/xlcDef _XlcDefaultLoader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/iso8859-11/XLC_LOCALE b/locale/iso8859-11/XLC_LOCALE new file mode 100644 index 0000000..e94d9a3 --- /dev/null +++ b/locale/iso8859-11/XLC_LOCALE @@ -0,0 +1,71 @@ + +# XLocale Database Sample for iso8859-11. +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary ISO8859-11:GL + substitute ISO8859-1:GL + vertical_rotate all + } +} +# fs1 class +fs1 { + charset { + name ISO8859-11:GR + } + font { + primary ISO8859-11:GR + } +} +END XLC_FONTSET + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name ISO8859-11 +mb_cur_max 1 +state_depend_encoding False + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True +force_convert_to_mb True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding ISO8859-11:GL; ISO8859-1:GL +} + + +# cs1 class +cs1 { + side GR:Default + length 1 + + + + wc_encoding \x00008080 + + ct_encoding ISO8859-11:GR +} + +END XLC_XLOCALE diff --git a/locale/iso8859-13/Compose b/locale/iso8859-13/Compose new file mode 100644 index 0000000..7922d2e --- /dev/null +++ b/locale/iso8859-13/Compose @@ -0,0 +1,433 @@ + +# +# ISO 8859-13 (Latin7) Compose Sequence +# +# Sequence Definition +# +# Means +# Special Character +# Right-hand side (Accented Alphabet) +# These compose sequences are pure supposition on my part. +# It would be nice to know what the real cultural conventions +# are for compose sequences. + : "#" numbersign + : "'" apostrophe + : "'" apostrophe + : "@" at + : "[" bracketleft + : "\\" backslash + : "\\" backslash + : "\\" backslash + : "]" bracketright + : "^" asciicircum + : "^" asciicircum + : "^" asciicircum + : "^" asciicircum + : "`" grave + : "`" grave + : "`" grave + : "`" grave + : "{" braceleft + : "{" braceleft + : "|" bar + : "|" bar + : "}" braceright + : "}" braceright + : "~" asciitilde + : "~" asciitilde + : "~" asciitilde + : "~" asciitilde + : "\241" rightdoublequotemark + : "\241" rightdoublequotemark + : "\245" doublelowquotemark + : "\245" doublelowquotemark + : "\264" leftdoublequotemark + : "\264" leftdoublequotemark + : "\253" guillemotleft + : "\273" guillemotright + : "\377" rightsinglequotemark + : "\377" rightsinglequotemark + : "\377" rightsinglequotemark + : "\242" cent + : "\242" cent + : "\242" cent + : "\242" cent + : "\242" cent + : "\242" cent + : "\242" cent + : "\242" cent + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\251" copyright + : "\251" copyright + : "\251" copyright + : "\251" copyright + : "\251" copyright + : "\251" copyright + : "\251" copyright + : "\251" copyright + <0> : "\251" copyright + <0> : "\251" copyright + <0> : "\251" copyright + <0> : "\251" copyright + : "\251" copyright + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + <0> : "\247" section + <0> : "\247" section + <0> : "\247" section + <0> : "\247" section + : "\244" currency + : "\244" currency + : "\244" currency + : "\244" currency + : "\244" currency + : "\244" currency + : "\244" currency + : "\244" currency + <0> : "\244" currency + <0> : "\244" currency + <0> : "\244" currency + <0> : "\244" currency + <0> : "\260" degree + <0> : "\260" degree + <0> : "\260" degree + <0> : "\260" degree + : "\261" plusminus + : "\261" plusminus + : "\265" mu + : "\265" mu + : "\265" mu + : "\265" mu + : "\265" mu + <1> : "\271" onesuperior + <1> : "\271" onesuperior + <1> : "\271" onesuperior + <1> : "\271" onesuperior + <1> : "\271" onesuperior + <1> : "\271" onesuperior + <2> : "\262" twosuperior + <2> : "\262" twosuperior + <2> : "\262" twosuperior + <2> : "\262" twosuperior + <2> : "\262" twosuperior + <2> : "\262" twosuperior + <3> : "\263" threesuperior + <3> : "\263" threesuperior + <3> : "\263" threesuperior + <3> : "\263" threesuperior + <3> : "\263" threesuperior + <3> : "\263" threesuperior +

: "\266" paragraph +

: "\266" paragraph +

: "\266" paragraph +

: "\266" paragraph + : "\267" periodcentered + : "\267" periodcentered + : "\267" periodcentered + <1> <4> : "\274" onequarter + <1> <2> : "\275" onehalf + <3> <4> : "\276" threequarters + : "\277" questiondown + : "\240" nobreakspace + : "\246" brokenbar + : "\246" brokenbar + : "\246" brokenbar + : "\246" brokenbar + : "\246" brokenbar + : "\246" brokenbar + : "\246" brokenbar + : "\254" notsign + : "\254" notsign + : "\255" hyphen + : "\256" registered + : "\256" registered + : "\256" registered + : "\367" division + : "\367" division + : "\327" multiply +# Accented Alphabet + : "\300" Aogonek + : "\300" Aogonek + : "\300" Aogonek + : "\300" Aogonek + : "\252" Rcedilla + : "\252" Rcedilla + : "\252" Rcedilla + : "\252" Rcedilla + : "\317" Lcedilla + : "\317" Lcedilla + : "\317" Lcedilla + : "\317" Lcedilla + : "\320" Scaron + : "\320" Scaron + : "\307" Emacron + : "\307" Emacron + : "\307" Emacron + : "\307" Emacron + : "\314" Gcedilla + : "\314" Gcedilla + : "\314" Gcedilla + : "\314" Gcedilla + : "\336" Zcaron + : "\336" Zcaron + : "\340" aogonek + : "\340" aogonek + : "\340" aogonek + : "\340" aogonek + : "\272" rcedilla + : "\272" rcedilla + : "\272" rcedilla + : "\272" rcedilla + : "\357" lcedilla + : "\357" lcedilla + : "\357" lcedilla + : "\357" lcedilla + : "\360" scaron + : "\360" scaron + : "\347" emacron + : "\347" emacron + : "\347" emacron + : "\347" emacron + : "\354" gcedilla + : "\354" gcedilla + : "\354" gcedilla + : "\354" gcedilla + : "\376" zcaron + : "\376" zcaron + : "\302" Amacron + : "\302" Amacron + : "\302" Amacron + : "\302" Amacron + : "\304" Adiaeresis + : "\304" Adiaeresis + : "\305" Aring + : "\305" Aring + : "\305" Aring + : "\305" Aring + : "\257" AE + : "\301" Iogonek + : "\301" Iogonek + : "\301" Iogonek + : "\301" Iogonek + : "\310" Ccaron + : "\310" Ccaron + : "\311" Eacute + : "\311" Eacute + : "\311" Eacute + : "\311" Eacute + : "\306" Eogonek + : "\306" Eogonek + : "\306" Eogonek + : "\306" Eogonek + : "\313" Eabovedot + : "\313" Eabovedot + : "\316" Imacron + : "\316" Imacron + : "\316" Imacron + : "\316" Imacron + : "\322" Ncedilla + : "\322" Ncedilla + : "\322" Ncedilla + : "\322" Ncedilla + : "\324" Omacron + : "\324" Omacron + : "\324" Omacron + : "\324" Omacron + : "\315" Kcedilla + : "\315" Kcedilla + : "\315" Kcedilla + : "\315" Kcedilla + : "\325" Otilde + : "\325" Otilde + : "\326" Odiaeresis + : "\326" Odiaeresis + : "\250" Ooblique + : "\250" Ooblique + : "\330" Uogonek + : "\330" Uogonek + : "\330" Uogonek + : "\330" Uogonek + : "\334" Udiaeresis + : "\334" Udiaeresis + : "\333" Umacron + : "\333" Umacron + : "\333" Umacron + : "\333" Umacron + : "\337" ssharp + : "\342" amacron + : "\342" amacron + : "\342" amacron + : "\342" amacron + : "\344" adiaeresis + : "\344" adiaeresis + : "\345" aring + : "\345" aring + : "\345" aring + : "\345" aring + : "\277" ae + : "\341" iogonek + : "\341" iogonek + : "\341" iogonek + : "\341" iogonek + : "\350" ccaron + : "\350" ccaron + : "\351" eacute + : "\351" eacute + : "\351" eacute + : "\351" eacute + : "\346" eogonek + : "\346" eogonek + : "\346" eogonek + : "\346" eogonek + : "\353" eabovedot + : "\353" eabovedot + : "\356" imacron + : "\356" imacron + : "\356" imacron + : "\356" imacron + : "\362" ncedilla + : "\362" ncedilla + : "\362" ncedilla + : "\362" ncedilla + : "\364" omacron + : "\364" omacron + : "\364" omacron + : "\364" omacron + : "\355" kcedilla + : "\355" kcedilla + : "\355" kcedilla + : "\355" kcedilla + : "\365" otilde + : "\365" otilde + : "\366" odiaeresis + : "\366" odiaeresis + : "\270" ooblique + : "\270" ooblique + : "\370" uogonek + : "\370" uogonek + : "\370" uogonek + : "\370" uogonek + : "\374" udiaeresis + : "\374" udiaeresis + : "\373" umacron + : "\373" umacron + : "\373" umacron + : "\373" umacron + : "\303" Cacute + : "\303" Cacute + : "\343" cacute + : "\343" cacute + : "\323" Oacute + : "\323" Oacute + : "\363" oacute + : "\363" oacute + : "\312" Zacute + : "\312" Zacute + : "\352" zacute + : "\352" zacute + : "\321" Nacute + : "\321" Nacute + : "\361" nacute + : "\361" nacute + : "\331" Lstroke + : "\331" Lstroke + : "\331" Lstroke + : "\331" Lstroke + : "\371" lstroke + : "\371" lstroke + : "\371" lstroke + : "\371" lstroke + : "\332" Sacute + : "\332" Sacute + : "\372" sacute + : "\372" sacute + : "\335" Zabovedot + : "\335" Zabovedot + : "\375" zabovedot + : "\375" zabovedot + + : "\305" Aring + : "\345" aring + : "\313" Eabovedot + : "\353" eabovedot + : "\335" Zabovedot + : "\375" zabovedot + : "\267" abovedot + : "\305" Aring + : "\345" aring + : "\313" Eabovedot + : "\353" eabovedot + : "\335" Zabovedot + : "\375" zabovedot + : "\260" ring + : "\260" ring + : "\377" rightsinglequotemark + : "\303" Cacute + : "\311" Eacute + : "\312" Zacute + : "\321" Nacute + : "\323" Oacute + : "\332" Sacute + : "\343" cacute + : "\351" eacute + : "\352" zacute + : "\361" nacute + : "\363" oacute + : "\372" sacute + : "\310" Ccaron + : "\320" Scaron + : "\336" Zcaron + : "\350" ccaron + : "\360" scaron + : "\376" zcaron + : "\252" Rcedilla + : "\314" Gcedilla + : "\315" Kcedilla + : "\317" Lcedilla + : "\322" Ncedilla + : "\272" rcedilla + : "\354" gcedilla + : "\355" kcedilla + : "\357" lcedilla + : "\362" ncedilla + : "\304" Adiaeresis + : "\326" Odiaeresis + : "\334" Udiaeresis + : "\344" adiaeresis + : "\366" odiaeresis + : "\374" udiaeresis + : "\302" Amacron + : "\307" Emacron + : "\316" Imacron + : "\324" Omacron + : "\333" Umacron + : "\342" amacron + : "\347" emacron + : "\356" imacron + : "\364" omacron + : "\373" umacron + : "\255" macron + : "\255" macron + : "\300" Aogonek + : "\301" Iogonek + : "\306" Eogonek + : "\330" Uogonek + : "\340" aogonek + : "\341" iogonek + : "\346" eogonek + : "\370" uogonek + : "\325" Otilde + : "\365" otilde + : "~" asciitilde + : "~" asciitilde + +# End of Sequence Definition diff --git a/locale/iso8859-13/XI18N_OBJS b/locale/iso8859-13/XI18N_OBJS new file mode 100644 index 0000000..f20902a --- /dev/null +++ b/locale/iso8859-13/XI18N_OBJS @@ -0,0 +1,8 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for euro locales +# +XLC common/xlibi18n _XlcGenericLoader # XLC_open +XIM common/xiiimp _XimpLocalOpenIM # XIM_open +XOM common/xomGeneric _XomGenericOpenOM # XOM_open + diff --git a/locale/iso8859-13/XLC_LOCALE b/locale/iso8859-13/XLC_LOCALE new file mode 100644 index 0000000..37a8957 --- /dev/null +++ b/locale/iso8859-13/XLC_LOCALE @@ -0,0 +1,71 @@ + +# XLocale Database Sample for iso8859-13. +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary ISO8859-13:GL + substitute ISO8859-1:GL + vertical_rotate all + } +} +# fs1 class +fs1 { + charset { + name ISO8859-13:GR + } + font { + primary ISO8859-13:GR + } +} +END XLC_FONTSET + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name ISO8859-13 +mb_cur_max 1 +state_depend_encoding False + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True +force_convert_to_mb True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding ISO8859-13:GL; ISO8859-1:GL +} + + +# cs1 class +cs1 { + side GR:Default + length 1 + + + + wc_encoding \x00008080 + + ct_encoding ISO8859-13:GR +} + +END XLC_XLOCALE diff --git a/locale/iso8859-14/Compose b/locale/iso8859-14/Compose new file mode 100644 index 0000000..2fc1c5f --- /dev/null +++ b/locale/iso8859-14/Compose @@ -0,0 +1,510 @@ + +# ISO 8859-14 (Latin 8) Compose Sequences +# +# Original version by Alastair McKinstry, +# Fixed and tidied up by Seamus O Ciardhuain (Dec 2002) +# +# +# First part is taken from the Latin-1 definitions, +# i.e. characters the same in 8859-1 and 8859-14. +# +# Means +# Special Character + : "#" numbersign + : "'" apostrophe + : "'" apostrophe + : "@" at + : "[" bracketleft + : "\\" backslash + : "\\" backslash + : "\\" backslash + : "]" bracketright + : "^" asciicircum + : "^" asciicircum + : "^" asciicircum + : "^" asciicircum + : "`" grave + : "`" grave + : "{" braceleft + : "{" braceleft + : "|" bar + : "|" bar + : "|" bar + : "|" bar + : "|" bar + : "|" bar + : "}" braceright + : "}" braceright + : "~" asciitilde + : "~" asciitilde + : "~" asciitilde + : "~" asciitilde + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + <0> : "\247" section + <0> : "\247" section + <0> : "\247" section + <0> : "\247" section + : "\251" copyright + : "\251" copyright + : "\251" copyright + : "\251" copyright + : "\251" copyright + : "\251" copyright + : "\251" copyright + : "\251" copyright + <0> : "\251" copyright + <0> : "\251" copyright + <0> : "\251" copyright + <0> : "\251" copyright +

: "\266" paragraph +

: "\266" paragraph +

: "\266" paragraph +

: "\266" paragraph + : "\240" nobreakspace + : "\255" hyphen + : "\256" registered + : "\256" registered + : "\256" registered + : "\256" registered + <0> : "\256" registered + <0> : "\256" registered + <0> : "\256" registered + <0> : "\256" registered + +# Accented Alphabet + : "\300" Agrave + : "\300" Agrave + : "\301" Aacute + : "\301" Aacute + : "\301" Aacute + : "\301" Aacute + : "\302" Acircumflex + : "\302" Acircumflex + : "\302" Acircumflex + : "\302" Acircumflex + : "\303" Atilde + : "\303" Atilde + : "\303" Atilde + : "\303" Atilde + : "\304" Adiaeresis + : "\304" Adiaeresis + : "\304" Adiaeresis + : "\304" Adiaeresis + : "\305" Aring + : "\305" Aring + : "\306" AE + : "\340" agrave + : "\340" agrave + : "\341" aacute + : "\341" aacute + : "\341" aacute + : "\341" aacute + : "\342" acircumflex + : "\342" acircumflex + : "\342" acircumflex + : "\342" acircumflex + : "\343" atilde + : "\343" atilde + : "\343" atilde + : "\343" atilde + : "\344" adiaeresis + : "\344" adiaeresis + : "\344" adiaeresis + : "\344" adiaeresis + : "\345" aring + : "\345" aring + : "\346" ae + : "\307" Ccedilla + : "\307" Ccedilla + : "\307" Ccedilla + : "\307" Ccedilla + : "\347" ccedilla + : "\347" ccedilla + : "\347" ccedilla + : "\347" ccedilla + : "\310" Egrave + : "\310" Egrave + : "\311" Eacute + : "\311" Eacute + : "\311" Eacute + : "\311" Eacute + : "\312" Ecircumflex + : "\312" Ecircumflex + : "\312" Ecircumflex + : "\312" Ecircumflex + : "\313" Ediaeresis + : "\313" Ediaeresis + : "\313" Ediaeresis + : "\313" Ediaeresis + : "\350" egrave + : "\350" egrave + : "\351" eacute + : "\351" eacute + : "\351" eacute + : "\351" eacute + : "\352" ecircumflex + : "\352" ecircumflex + : "\352" ecircumflex + : "\352" ecircumflex + : "\353" ediaeresis + : "\353" ediaeresis + : "\353" ediaeresis + : "\353" ediaeresis + : "\314" Igrave + : "\314" Igrave + : "\315" Iacute + : "\315" Iacute + : "\315" Iacute + : "\315" Iacute + : "\316" Icircumflex + : "\316" Icircumflex + : "\316" Icircumflex + : "\316" Icircumflex + : "\317" Idiaeresis + : "\317" Idiaeresis + : "\317" Idiaeresis + : "\317" Idiaeresis + : "\354" igrave + : "\354" igrave + : "\355" iacute + : "\355" iacute + : "\355" iacute + : "\355" iacute + : "\356" icircumflex + : "\356" icircumflex + : "\356" icircumflex + : "\356" icircumflex + : "\357" idiaeresis + : "\357" idiaeresis + : "\357" idiaeresis + : "\357" idiaeresis + : "\321" Ntilde + : "\321" Ntilde + : "\321" Ntilde + : "\321" Ntilde + : "\361" ntilde + : "\361" ntilde + : "\361" ntilde + : "\361" ntilde + : "\322" Ograve + : "\322" Ograve + : "\323" Oacute + : "\323" Oacute + : "\323" Oacute + : "\323" Oacute + : "\324" Ocircumflex + : "\324" Ocircumflex + : "\324" Ocircumflex + : "\324" Ocircumflex + : "\325" Otilde + : "\325" Otilde + : "\325" Otilde + : "\325" Otilde + : "\326" Odiaeresis + : "\326" Odiaeresis + : "\326" Odiaeresis + : "\326" Odiaeresis + : "\330" Ooblique + : "\330" Ooblique + : "\362" ograve + : "\362" ograve + : "\363" oacute + : "\363" oacute + : "\363" oacute + : "\363" oacute + : "\364" ocircumflex + : "\364" ocircumflex + : "\364" ocircumflex + : "\364" ocircumflex + : "\365" otilde + : "\365" otilde + : "\365" otilde + : "\365" otilde + : "\366" odiaeresis + : "\366" odiaeresis + : "\366" odiaeresis + : "\366" odiaeresis + : "\370" oslash + : "\370" oslash + : "\331" Ugrave + : "\331" Ugrave + : "\332" Uacute + : "\332" Uacute + : "\332" Uacute + : "\332" Uacute + : "\333" Ucircumflex + : "\333" Ucircumflex + : "\333" Ucircumflex + : "\333" Ucircumflex + : "\334" Udiaeresis + : "\334" Udiaeresis + : "\334" Udiaeresis + : "\334" Udiaeresis + : "\371" ugrave + : "\371" ugrave + : "\372" uacute + : "\372" uacute + : "\372" uacute + : "\372" uacute + : "\373" ucircumflex + : "\373" ucircumflex + : "\373" ucircumflex + : "\373" ucircumflex + : "\374" udiaeresis + : "\374" udiaeresis + : "\374" udiaeresis + : "\374" udiaeresis + : "\337" ssharp + : "\335" Yacute + : "\335" Yacute + : "\335" Yacute + : "\335" Yacute + : "\375" yacute + : "\375" yacute + : "\375" yacute + : "\375" yacute + : "\377" ydiaeresis + : "\377" ydiaeresis + : "\377" ydiaeresis + : "\377" ydiaeresis + +# +# dead key accent keysyms +# Special Character + : "|" bar + : "`" grave + : "'" apostrophe + : "^" asciicircum + : "~" asciitilde + +# Accented Alphabet + : "\300" Agrave + : "\301" Aacute + : "\302" Acircumflex + : "\303" Atilde + : "\304" Adiaeresis + : "\340" agrave + : "\341" aacute + : "\342" acircumflex + : "\343" atilde + : "\344" adiaeresis + : "\307" Ccedilla + : "\347" ccedilla + : "\310" Egrave + : "\311" Eacute + : "\312" Ecircumflex + : "\313" Ediaeresis + : "\350" egrave + : "\351" eacute + : "\352" ecircumflex + : "\353" ediaeresis + : "\314" Igrave + : "\315" Iacute + : "\316" Icircumflex + : "\317" Idiaeresis + : "\354" igrave + : "\355" iacute + : "\356" icircumflex + : "\357" idiaeresis + : "\321" Ntilde + : "\361" ntilde + : "\322" Ograve + : "\323" Oacute + : "\324" Ocircumflex + : "\325" Otilde + : "\326" Odiaeresis + : "\362" ograve + : "\363" oacute + : "\364" ocircumflex + : "\365" otilde + : "\366" odiaeresis + : "\331" Ugrave + : "\332" Uacute + : "\333" Ucircumflex + : "\334" Udiaeresis + : "\371" ugrave + : "\372" uacute + : "\373" ucircumflex + : "\374" udiaeresis + : "\335" Yacute + : "\375" yacute + : "\377" ydiaeresis + + +# The following is Celtic character support, +# i.e. the characters in 8859-14 which differ from 8859-1. + + : "\242" babovedot + : "\241" Babovedot + : "\245" cabovedot + : "\245" Cabovedot + : "\253" dabovedot + : "\246" Dabovedot + : "\261" fabovedot + : "\260" Fabovedot + : "\263" gabovedot + : "\262" Gabovedot + : "\265" mabovedot + : "\264" Mabovedot +

: "\271" pabovedot +

: "\267" Pabovedot + : "\277" sabovedot + : "\273" Sabovedot + : "\367" tabovedot + : "\327" Tabovedot + + : "\242" babovedot + : "\241" Babovedot + : "\245" cabovedot + : "\245" Cabovedot + : "\253" dabovedot + : "\246" Dabovedot + : "\261" fabovedot + : "\260" Fabovedot + : "\263" gabovedot + : "\262" Gabovedot + : "\265" mabovedot + : "\264" Mabovedot +

: "\271" pabovedot +

: "\267" Pabovedot + : "\277" sabovedot + : "\273" Sabovedot + : "\367" tabovedot + : "\327" Tabovedot + + : "\376" ycircumflex + : "\376" ycircumflex + : "\336" Ycircumflex + : "\336" Ycircumflex + + : "\360" wcircumflex + : "\360" wcircumflex + : "\320" Wcircumflex + : "\320" Wcircumflex + + : "\257" Ydiaeresis + : "\257" Ydiaeresis + : "\257" Ydiaeresis + : "\257" Ydiaeresis + + : "\275" Wdiaeresis + : "\275" Wdiaeresis + : "\275" Wdiaeresis + : "\275" Wdiaeresis + : "\276" wdiaeresis + : "\276" wdiaeresis + : "\276" wdiaeresis + : "\276" wdiaeresis + + : "\254" Ygrave + : "\254" Ygrave + : "\274" ygrave + : "\274" ygrave + + : "\250" Wgrave + : "\250" Wgrave + : "\270" wgrave + : "\270" wgrave + + : "\252" Wacute + : "\252" Wacute + : "\252" Wacute + : "\252" Wacute + : "\272" wacute + : "\272" wacute + : "\272" wacute + : "\272" wacute + + : "\242" babovedot + : "\241" Babovedot + : "\245" cabovedot + : "\245" Cabovedot + : "\253" dabovedot + : "\246" Dabovedot + : "\261" fabovedot + : "\260" Fabovedot + : "\263" gabovedot + : "\262" Gabovedot + : "\265" mabovedot + : "\264" Mabovedot +

: "\271" pabovedot +

: "\267" Pabovedot + : "\277" sabovedot + : "\273" Sabovedot + : "\367" tabovedot + : "\327" Tabovedot + + : "\242" babovedot + : "\241" Babovedot + : "\245" cabovedot + : "\245" Cabovedot + : "\253" dabovedot + : "\246" Dabovedot + : "\261" fabovedot + : "\260" Fabovedot + : "\263" gabovedot + : "\262" Gabovedot + : "\265" mabovedot + : "\264" Mabovedot +

: "\271" pabovedot +

: "\267" Pabovedot + : "\277" sabovedot + : "\273" Sabovedot + : "\367" tabovedot + : "\327" Tabovedot + + : "\242" babovedot + : "\241" Babovedot + : "\245" cabovedot + : "\245" Cabovedot + : "\253" dabovedot + : "\246" Dabovedot + : "\261" fabovedot + : "\260" Fabovedot + : "\263" gabovedot + : "\262" Gabovedot + : "\265" mabovedot + : "\264" Mabovedot +

: "\271" pabovedot +

: "\267" Pabovedot + : "\277" sabovedot + : "\273" Sabovedot + : "\367" tabovedot + : "\327" Tabovedot + + : "\257" Ydiaeresis + + : "\254" Ygrave + : "\274" ygrave + + : "\376" ycircumflex + : "\336" Ycircumflex + + : "\360" wcircumflex + : "\320" Wcircumflex + + : "\276" wdiaeresis + : "\275" Wdiaeresis + + : "\272" wacute + : "\252" Wacute + + : "\250" Wgrave + : "\270" wgrave + +# End of Sequence Definition diff --git a/locale/iso8859-14/XI18N_OBJS b/locale/iso8859-14/XI18N_OBJS new file mode 100644 index 0000000..ebd00a6 --- /dev/null +++ b/locale/iso8859-14/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for iso8859-14 locale +# +XLC common/xlcDef _XlcDefaultLoader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/iso8859-14/XLC_LOCALE b/locale/iso8859-14/XLC_LOCALE new file mode 100644 index 0000000..f90a03c --- /dev/null +++ b/locale/iso8859-14/XLC_LOCALE @@ -0,0 +1,71 @@ + +# XLocale Database Sample for iso8859-14. +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary ISO8859-14:GL + substitute ISO8859-1:GL + vertical_rotate all + } +} +# fs1 class +fs1 { + charset { + name ISO8859-14:GR + } + font { + primary ISO8859-14:GR + } +} +END XLC_FONTSET + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name ISO8859-14 +mb_cur_max 1 +state_depend_encoding False + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True +force_convert_to_mb True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding ISO8859-14:GL; ISO8859-1:GL +} + + +# cs1 class +cs1 { + side GR:Default + length 1 + + + + wc_encoding \x00008080 + + ct_encoding ISO8859-14:GR +} + +END XLC_XLOCALE diff --git a/locale/iso8859-15/Compose b/locale/iso8859-15/Compose new file mode 100644 index 0000000..5192671 --- /dev/null +++ b/locale/iso8859-15/Compose @@ -0,0 +1,477 @@ + +# +# ISO 8859-15 (Latin1) Compose Sequence +# +# +# Sequence Definition +# +# Means +# Special Character + : "#" numbersign + : "'" apostrophe + : "'" apostrophe + : "@" at + : "[" bracketleft + : "\\" backslash + : "\\" backslash + : "\\" backslash + : "]" bracketright + : "^" asciicircum + : "^" asciicircum + : "^" asciicircum + : "^" asciicircum + : "`" grave + : "`" grave + : "{" braceleft + : "{" braceleft + : "|" bar + : "|" bar + : "|" bar + : "|" bar + : "|" bar + : "|" bar + : "}" braceright + : "}" braceright + : "~" asciitilde + : "~" asciitilde + : "~" asciitilde + : "~" asciitilde + : "\241" exclamdown + : "\242" cent + : "\242" cent + : "\242" cent + : "\242" cent + : "\242" cent + : "\242" cent + : "\242" cent + : "\242" cent + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\244" EuroSign + : "\244" EuroSign + : "\244" EuroSign + : "\244" EuroSign + : "\244" EuroSign + : "\244" EuroSign + : "\244" EuroSign + : "\244" EuroSign + : "\245" yen + : "\245" yen + : "\245" yen + : "\245" yen + : "\245" yen + : "\245" yen + : "\245" yen + : "\245" yen + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + <0> : "\247" section + <0> : "\247" section + <0> : "\247" section + <0> : "\247" section + : "\251" copyright + : "\251" copyright + : "\251" copyright + : "\251" copyright + : "\251" copyright + : "\251" copyright + : "\251" copyright + : "\251" copyright + <0> : "\251" copyright + <0> : "\251" copyright + <0> : "\251" copyright + <0> : "\251" copyright + : "\251" copyright + : "\251" copyright + : "\252" ordfeminine + : "\252" ordfeminine + : "\252" ordfeminine + : "\252" ordfeminine + : "\272" masculine + : "\272" masculine + : "\272" masculine + : "\272" masculine + : "\253" guillemotleft + : "\273" guillemotright + <0> : "\260" degree + <0> : "\260" degree + <0> : "\260" degree + <0> : "\260" degree + : "\261" plusminus + : "\261" plusminus + : "\265" mu + : "\265" mu + : "\265" mu + : "\265" mu + <1> : "\271" onesuperior + <1> : "\271" onesuperior + <1> : "\271" onesuperior + <1> : "\271" onesuperior + <1> : "\271" onesuperior + <1> : "\271" onesuperior + <2> : "\262" twosuperior + <2> : "\262" twosuperior + <2> : "\262" twosuperior + <2> : "\262" twosuperior + <2> : "\262" twosuperior + <2> : "\262" twosuperior + <3> : "\263" threesuperior + <3> : "\263" threesuperior + <3> : "\263" threesuperior + <3> : "\263" threesuperior + <3> : "\263" threesuperior + <3> : "\263" threesuperior +

: "\266" paragraph +

: "\266" paragraph +

: "\266" paragraph +

: "\266" paragraph + : "\267" periodcentered + : "\267" periodcentered + : "\267" periodcentered + : "\277" questiondown + : "\240" nobreakspace + : "\254" notsign + : "\254" notsign + : "\255" hyphen + : "\256" registered + : "\256" registered + : "\256" registered + : "\257" macron + : "\257" macron + : "\257" macron + : "\257" macron + : "\257" macron + : "\367" division + : "\367" division + : "\327" multiply + : "\264" acute + : "\270" cedilla + : "\"" quotedbl +# Accented Alphabet + : "\300" Agrave + : "\300" Agrave + : "\301" Aacute + : "\301" Aacute + : "\301" Aacute + : "\301" Aacute + : "\302" Acircumflex + : "\302" Acircumflex + : "\302" Acircumflex + : "\302" Acircumflex + : "\303" Atilde + : "\303" Atilde + : "\303" Atilde + : "\303" Atilde + : "\304" Adiaeresis + : "\304" Adiaeresis + : "\304" Adiaeresis + : "\304" Adiaeresis + : "\305" Aring + : "\305" Aring + : "\305" Aring + : "\305" Aring + : "\306" AE + : "\340" agrave + : "\340" agrave + : "\341" aacute + : "\341" aacute + : "\341" aacute + : "\341" aacute + : "\342" acircumflex + : "\342" acircumflex + : "\342" acircumflex + : "\342" acircumflex + : "\343" atilde + : "\343" atilde + : "\343" atilde + : "\343" atilde + : "\344" adiaeresis + : "\344" adiaeresis + : "\344" adiaeresis + : "\344" adiaeresis + : "\345" aring + : "\345" aring + : "\345" aring + : "\345" aring + : "\346" ae + : "\307" Ccedilla + : "\347" ccedilla + : "\307" Ccedilla + : "\307" Ccedilla + : "\307" Ccedilla + : "\307" Ccedilla + : "\347" ccedilla + : "\347" ccedilla + : "\347" ccedilla + : "\347" ccedilla + : "\320" ETH + : "\320" ETH + : "\360" eth + : "\360" eth + : "\310" Egrave + : "\310" Egrave + : "\311" Eacute + : "\311" Eacute + : "\311" Eacute + : "\311" Eacute + : "\312" Ecircumflex + : "\312" Ecircumflex + : "\312" Ecircumflex + : "\312" Ecircumflex + : "\313" Ediaeresis + : "\313" Ediaeresis + : "\313" Ediaeresis + : "\313" Ediaeresis + : "\350" egrave + : "\350" egrave + : "\351" eacute + : "\351" eacute + : "\351" eacute + : "\351" eacute + : "\352" ecircumflex + : "\352" ecircumflex + : "\352" ecircumflex + : "\352" ecircumflex + : "\353" ediaeresis + : "\353" ediaeresis + : "\353" ediaeresis + : "\353" ediaeresis + : "\314" Igrave + : "\314" Igrave + : "\315" Iacute + : "\315" Iacute + : "\315" Iacute + : "\315" Iacute + : "\316" Icircumflex + : "\316" Icircumflex + : "\316" Icircumflex + : "\316" Icircumflex + : "\317" Idiaeresis + : "\317" Idiaeresis + : "\317" Idiaeresis + : "\317" Idiaeresis + : "\354" igrave + : "\354" igrave + : "\355" iacute + : "\355" iacute + : "\355" iacute + : "\355" iacute + : "\356" icircumflex + : "\356" icircumflex + : "\356" icircumflex + : "\356" icircumflex + : "\357" idiaeresis + : "\357" idiaeresis + : "\357" idiaeresis + : "\357" idiaeresis + : "\321" Ntilde + : "\321" Ntilde + : "\321" Ntilde + : "\321" Ntilde + : "\361" ntilde + : "\361" ntilde + : "\361" ntilde + : "\361" ntilde + : "\322" Ograve + : "\322" Ograve + : "\323" Oacute + : "\323" Oacute + : "\323" Oacute + : "\323" Oacute + : "\324" Ocircumflex + : "\324" Ocircumflex + : "\324" Ocircumflex + : "\324" Ocircumflex + : "\325" Otilde + : "\325" Otilde + : "\325" Otilde + : "\325" Otilde + : "\326" Odiaeresis + : "\326" Odiaeresis + : "\326" Odiaeresis + : "\326" Odiaeresis + : "\330" Ooblique + : "\330" Ooblique + : "\274" OE + : "\362" ograve + : "\362" ograve + : "\363" oacute + : "\363" oacute + : "\363" oacute + : "\363" oacute + : "\364" ocircumflex + : "\364" ocircumflex + : "\364" ocircumflex + : "\364" ocircumflex + : "\365" otilde + : "\365" otilde + : "\365" otilde + : "\365" otilde + : "\366" odiaeresis + : "\366" odiaeresis + : "\366" odiaeresis + : "\366" odiaeresis + : "\370" oslash + : "\370" oslash + : "\275" oe + : "\246" Scaron + : "\246" Scaron + : "\250" scaron + : "\250" scaron + : "\331" Ugrave + : "\331" Ugrave + : "\332" Uacute + : "\332" Uacute + : "\332" Uacute + : "\332" Uacute + : "\333" Ucircumflex + : "\333" Ucircumflex + : "\333" Ucircumflex + : "\333" Ucircumflex + : "\334" Udiaeresis + : "\334" Udiaeresis + : "\334" Udiaeresis + : "\334" Udiaeresis + : "\371" ugrave + : "\371" ugrave + : "\372" uacute + : "\372" uacute + : "\372" uacute + : "\372" uacute + : "\373" ucircumflex + : "\373" ucircumflex + : "\373" ucircumflex + : "\373" ucircumflex + : "\374" udiaeresis + : "\374" udiaeresis + : "\374" udiaeresis + : "\374" udiaeresis + : "\337" ssharp + : "\336" THORN + : "\376" thorn + : "\335" Yacute + : "\335" Yacute + : "\335" Yacute + : "\335" Yacute + : "\276" Ydiaeresis + : "\276" Ydiaeresis + : "\276" Ydiaeresis + : "\276" Ydiaeresis + : "\375" yacute + : "\375" yacute + : "\375" yacute + : "\375" yacute + : "\377" ydiaeresis + : "\377" ydiaeresis + : "\377" ydiaeresis + : "\377" ydiaeresis + : "\264" Zcaron + : "\264" Zcaron + : "\270" zcaron + : "\270" zcaron +# +# dead key accent keysyms +# Special Character + : "|" bar + : "^" asciicircum + : "^" asciicircum + : "~" asciitilde + : "~" asciitilde + : "`" grave + : "`" grave +# These are for us_intl, that does not have diaeresis, etc + : "'" apostrophe + : "\264" acute + : "\"" quotedbl + : "\"" quotedbl + : "\"" quotedbl + <0> : "\260" degree + <1> : "\271" onesuperior + <2> : "\262" twosuperior + <3> : "\263" threesuperior + : "\267" periodcentered + : "\254" notsign + : "\257" macron + : "\257" macron + : "\264" acute + : "\270" cedilla + : "\"" quotedbl +# Accented Alphabet + : "\305" Aring + : "\300" Agrave + : "\301" Aacute + : "\302" Acircumflex + : "\303" Atilde + : "\304" Adiaeresis + : "\345" aring + : "\340" agrave + : "\341" aacute + : "\342" acircumflex + : "\343" atilde + : "\344" adiaeresis + : "\307" Ccedilla + : "\347" ccedilla + : "\310" Egrave + : "\311" Eacute + : "\312" Ecircumflex + : "\313" Ediaeresis + : "\350" egrave + : "\351" eacute + : "\352" ecircumflex + : "\353" ediaeresis + : "\314" Igrave + : "\315" Iacute + : "\316" Icircumflex + : "\317" Idiaeresis + : "\354" igrave + : "\355" iacute + : "\356" icircumflex + : "\357" idiaeresis + : "\321" Ntilde + : "\361" ntilde + : "\322" Ograve + : "\323" Oacute + : "\324" Ocircumflex + : "\325" Otilde + : "\326" Odiaeresis + : "\362" ograve + : "\363" oacute + : "\364" ocircumflex + : "\365" otilde + : "\366" odiaeresis + : "\246" Scaron + : "\250" scaron + : "\246" Scaron + : "\250" scaron + : "\331" Ugrave + : "\332" Uacute + : "\333" Ucircumflex + : "\334" Udiaeresis + : "\371" ugrave + : "\372" uacute + : "\373" ucircumflex + : "\374" udiaeresis + : "\335" Yacute + : "\276" Ydiaeresis + : "\375" yacute + : "\377" ydiaeresis + : "\264" Zcaron + : "\270" zcaron + : "\264" Zcaron + : "\270" zcaron +# Useful for portuguese language + : "\307" Ccedilla + : "\347" ccedilla +# End of Sequence Definition diff --git a/locale/iso8859-15/XI18N_OBJS b/locale/iso8859-15/XI18N_OBJS new file mode 100644 index 0000000..1e4f6cc --- /dev/null +++ b/locale/iso8859-15/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for iso8859-15 locale +# +XLC common/xlcDef _XlcDefaultLoader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/iso8859-15/XLC_LOCALE b/locale/iso8859-15/XLC_LOCALE new file mode 100644 index 0000000..7042d50 --- /dev/null +++ b/locale/iso8859-15/XLC_LOCALE @@ -0,0 +1,77 @@ + +# XLocale Database Sample for fcd/dis/iso 8859-15. +# When Final Committee Draft (FCD) 8859-15 is formalized +# then this file will be renamed iso8859-15. +# This file is provided as preliminary support for the Latin-9 +# (a.k.a. Latin-0) character set so that Europeans who want +# the Euro currency character can do so. +# +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary ISO8859-15:GL + substitute ISO8859-15:GL + vertical_rotate all + } +} +# fs1 class +fs1 { + charset { + name ISO8859-15:GR + } + font { + primary ISO8859-15:GR + } +} +END XLC_FONTSET + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name ISO8859-15 +mb_cur_max 1 +state_depend_encoding False + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True +force_convert_to_mb True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding ISO8859-15:GL; ISO8859-1:GL +} + + +# cs1 class +cs1 { + side GR:Default + length 1 + + + + wc_encoding \x00008080 + + ct_encoding ISO8859-15:GR +} + +END XLC_XLOCALE diff --git a/locale/iso8859-2/Compose b/locale/iso8859-2/Compose new file mode 100644 index 0000000..474384b --- /dev/null +++ b/locale/iso8859-2/Compose @@ -0,0 +1,536 @@ + +# +# ISO 8859-2 (Latin2) Compose Sequence +# +# +# Sequence Definition +# +# Means +# Special Character + : "#" numbersign + : "'" apostrophe + : "'" apostrophe + : "@" at + : "[" bracketleft + : "\\" backslash + : "\\" backslash + : "\\" backslash + : "]" bracketright + : "^" asciicircum + : "^" asciicircum + : "^" asciicircum + : "^" asciicircum + : "`" grave + : "`" grave + : "{" braceleft + : "{" braceleft + : "|" bar + : "|" bar + : "|" bar + : "|" bar + : "|" bar + : "|" bar + : "}" braceright + : "}" braceright + : "~" asciitilde + : "~" asciitilde + : "~" asciitilde + : "~" asciitilde + : "\244" currency + : "\244" currency + : "\244" currency + : "\244" currency + : "\244" currency + : "\244" currency + : "\244" currency + : "\244" currency + <0> : "\244" currency + <0> : "\244" currency + <0> : "\244" currency + <0> : "\244" currency +

: "\266" paragraph +

: "\266" paragraph +

: "\266" paragraph +

: "\266" paragraph +# Right-hand side (Accented Alphabet) +# These compose sequences are pure supposition on my part. +# It would be nice to know what the real cultural conventions +# are for compose sequences. + : "\241" Aogonek + : "\241" Aogonek + : "\241" Aogonek + : "\241" Aogonek + : "\242" breve + : "\243" Lstroke + : "\245" Lcaron + : "\245" Lcaron + : "\245" Lcaron + : "\245" Lcaron + : "\246" Sacute + : "\246" Sacute + : "\246" Sacute + : "\246" Sacute + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + <0> : "\247" section + <0> : "\247" section + <0> : "\247" section + <0> : "\247" section + : "\250" diaeresis + : "\251" Scaron + : "\251" Scaron + : "\251" Scaron + : "\251" Scaron + : "\252" Scedilla + : "\252" Scedilla + : "\252" Scedilla + : "\252" Scedilla + : "\253" Tcaron + : "\253" Tcaron + : "\253" Tcaron + : "\253" Tcaron + : "\254" Zacute + : "\254" Zacute + : "\254" Zacute + : "\254" Zacute + : "\255" hyphen + : "\256" Zcaron + : "\256" Zcaron + : "\256" Zcaron + : "\256" Zcaron + : "\257" Zabovedot + <0> : "\260" degree + <0> : "\260" degree + : "\261" aogonek + : "\261" aogonek + : "\261" aogonek + : "\261" aogonek + : "\263" lstroke + : "\265" lcaron + : "\265" lcaron + : "\265" lcaron + : "\265" lcaron + : "\266" sacute + : "\266" sacute + : "\266" sacute + : "\266" sacute + : "\267" caron + : "\270" cedilla + : "\271" scaron + : "\271" scaron + : "\271" scaron + : "\271" scaron + : "\272" scedilla + : "\272" scedilla + : "\272" scedilla + : "\272" scedilla + : "\273" tcaron + : "\273" tcaron + : "\273" tcaron + : "\273" tcaron + : "\274" zacute + : "\274" zacute + : "\274" zacute + : "\274" zacute + : "\275" doubleacute + : "\275" doubleacute + : "\276" zcaron + : "\276" zcaron + : "\276" zcaron + : "\276" zcaron + : "\277" zabovedot + : "\300" Racute + : "\300" Racute + : "\300" Racute + : "\300" Racute + : "\301" Aacute + : "\301" Aacute + : "\301" Aacute + : "\301" Aacute + : "\302" Acircumflex + : "\302" Acircumflex + : "\302" Acircumflex + : "\302" Acircumflex + : "\303" Abreve + : "\303" Abreve + : "\303" Abreve + : "\304" Adiaeresis + : "\304" Adiaeresis + : "\305" Lacute + : "\305" Lacute + : "\305" Lacute + : "\305" Lacute + : "\306" Cacute + : "\306" Cacute + : "\306" Cacute + : "\306" Cacute + : "\307" Ccedilla + : "\307" Ccedilla + : "\307" Ccedilla + : "\307" Ccedilla + : "\310" Ccaron + : "\310" Ccaron + : "\310" Ccaron + : "\310" Ccaron + : "\311" Eacute + : "\311" Eacute + : "\311" Eacute + : "\311" Eacute + : "\312" Eogonek + : "\312" Eogonek + : "\312" Eogonek + : "\312" Eogonek + : "\313" Ediaeresis + : "\313" Ediaeresis + : "\314" Ecaron + : "\314" Ecaron + : "\314" Ecaron + : "\314" Ecaron + : "\315" Iacute + : "\315" Iacute + : "\315" Iacute + : "\315" Iacute + : "\316" Icircumflex + : "\316" Icircumflex + : "\316" Icircumflex + : "\316" Icircumflex + : "\317" Dcaron + : "\317" Dcaron + : "\317" Dcaron + : "\317" Dcaron + : "\320" Dstroke + : "\320" Dstroke + : "\321" Nacute + : "\321" Nacute + : "\321" Nacute + : "\321" Nacute + : "\322" Ncaron + : "\322" Ncaron + : "\322" Ncaron + : "\322" Ncaron + : "\323" Oacute + : "\323" Oacute + : "\323" Oacute + : "\323" Oacute + : "\324" Ocircumflex + : "\324" Ocircumflex + : "\324" Ocircumflex + : "\324" Ocircumflex + : "\325" Odoubleacute + : "\325" Odoubleacute + : "\326" Odiaeresis + : "\326" Odiaeresis + : "\327" multiply + : "\330" Rcaron + : "\330" Rcaron + : "\330" Rcaron + : "\330" Rcaron + : "\331" Uring + : "\331" Uring + : "\332" Uacute + : "\332" Uacute + : "\332" Uacute + : "\332" Uacute + : "\333" Udoubleacute + : "\333" Udoubleacute + : "\334" Udiaeresis + : "\334" Udiaeresis + : "\335" Yacute + : "\335" Yacute + : "\335" Yacute + : "\335" Yacute + : "\336" Tcedilla + : "\336" Tcedilla + : "\336" Tcedilla + : "\336" Tcedilla + : "\337" ssharp + : "\340" racute + : "\340" racute + : "\340" racute + : "\340" racute + : "\341" aacute + : "\341" aacute + : "\341" aacute + : "\341" aacute + : "\342" acircumflex + : "\342" acircumflex + : "\342" acircumflex + : "\342" acircumflex + : "\343" abreve + : "\343" abreve + : "\343" abreve + : "\344" adiaeresis + : "\344" adiaeresis + : "\345" lacute + : "\345" lacute + : "\345" lacute + : "\345" lacute + : "\346" cacute + : "\346" cacute + : "\346" cacute + : "\346" cacute + : "\347" ccedilla + : "\347" ccedilla + : "\347" ccedilla + : "\347" ccedilla + : "\350" ccaron + : "\350" ccaron + : "\350" ccaron + : "\350" ccaron + : "\351" eacute + : "\351" eacute + : "\351" eacute + : "\351" eacute + : "\352" eogonek + : "\352" eogonek + : "\352" eogonek + : "\352" eogonek + : "\353" ediaeresis + : "\353" ediaeresis + : "\354" ecaron + : "\354" ecaron + : "\354" ecaron + : "\354" ecaron + : "\355" iacute + : "\355" iacute + : "\355" iacute + : "\355" iacute + : "\356" icircumflex + : "\356" icircumflex + : "\356" icircumflex + : "\356" icircumflex + : "\357" dcaron + : "\357" dcaron + : "\357" dcaron + : "\357" dcaron + : "\360" dstroke + : "\360" dstroke + : "\361" nacute + : "\361" nacute + : "\361" nacute + : "\361" nacute + : "\362" ncaron + : "\362" ncaron + : "\362" ncaron + : "\362" ncaron + : "\363" oacute + : "\363" oacute + : "\363" oacute + : "\363" oacute + : "\364" ocircumflex + : "\364" ocircumflex + : "\364" ocircumflex + : "\364" ocircumflex + : "\365" odoubleacute + : "\365" odoubleacute + : "\366" odiaeresis + : "\366" odiaeresis + : "\367" division + : "\367" division + : "\370" rcaron + : "\370" rcaron + : "\370" rcaron + : "\370" rcaron + : "\371" uring + : "\371" uring + : "\372" uacute + : "\372" uacute + : "\372" uacute + : "\372" uacute + : "\373" udoubleacute + : "\373" udoubleacute + : "\374" udiaeresis + : "\374" udiaeresis + : "\375" yacute + : "\375" yacute + : "\375" yacute + : "\375" yacute + : "\376" tcedilla + : "\376" tcedilla + : "\376" tcedilla + : "\376" tcedilla + : "\377" abovedot + : "\301" Aacute + : "\306" Cacute + : "\311" Eacute + : "\315" Iacute + : "\305" Lacute + : "\321" Nacute + : "\323" Oacute + : "\300" Racute + : "\246" Sacute + : "\332" Uacute + : "\335" Yacute + : "\254" Zacute + : "\341" aacute + : "\346" cacute + : "\351" eacute + : "\355" iacute + : "\345" lacute + : "\361" nacute + : "\363" oacute + : "\340" racute + : "\266" sacute + : "\372" uacute + : "\375" yacute + : "\274" zacute + : "\303" Abreve + : "\343" abreve + : "\304" Adiaeresis + : "\313" Ediaeresis + : "\326" Odiaeresis + : "\334" Udiaeresis + : "\344" adiaeresis + : "\353" ediaeresis + : "\366" odiaeresis + : "\374" udiaeresis + : "\331" Uring + : "\371" uring + : "\325" Odoubleacute + : "\333" Udoubleacute + : "\365" odoubleacute + : "\373" udoubleacute + : "\310" Ccaron + : "\317" Dcaron + : "\314" Ecaron + : "\245" Lcaron + : "\322" Ncaron + : "\330" Rcaron + : "\251" Scaron + : "\253" Tcaron + : "\256" Zcaron + : "\350" ccaron + : "\357" dcaron + : "\354" ecaron + : "\265" lcaron + : "\362" ncaron + : "\370" rcaron + : "\271" scaron + : "\273" tcaron + : "\276" zcaron + : "\252" Scedilla + : "\307" Ccedilla + : "\336" Tcedilla + : "\347" ccedilla + : "\272" scedilla + : "\376" tcedilla +# those are for ease of use + : "\331" Uring + : "\371" uring + : "\331" Uring + : "\371" uring +# traditional sequences + : "\274" OE + : "\275" oe + : "\305" Aring + : "\345" aring + : "\260" degree + : "\260" degree + : "\260" degree + : "\260" degree + : "\245" Itilde + : "\265" itilde + : "\303" Atilde + : "\325" Otilde + : "\335" Utilde + : "\343" atilde + : "\365" otilde + : "\375" utilde + : "\321" Ntilde + : "\361" ntilde + : "~" asciitilde + : "~" asciitilde + : "~" asciitilde + : "~" asciitilde + : "\267" caron + : "\267" caron + : "\267" caron + : "\267" caron + : "\302" Acircumflex + : "\316" Icircumflex + : "\324" Ocircumflex + : "\333" Ucircumflex + : "\342" acircumflex + : "\356" icircumflex + : "\364" ocircumflex + : "\373" ucircumflex + : "\136" asciicircum + : "\136" asciicircum + : "\136" asciicircum + : "\136" asciicircum + : "\253" Gbreve + : "\273" gbreve + : "\335" Ubreve + : "\375" ubreve + : "\242" breve + : "\242" breve + : "\242" breve + : "\242" breve + : "\241" Aogonek + : "\307" Iogonek + : "\312" Eogonek + : "\331" Uogonek + : "\261" aogonek + : "\347" iogonek + : "\352" eogonek + : "\371" uogonek + : "\662" ogonek + : "\662" ogonek + : "\662" ogonek + : "\662" ogonek + : "\300" Agrave + : "\340" agrave + : "\310" Egrave + : "\350" egrave + : "\314" Igrave + : "\354" igrave + : "\322" Ograve + : "\362" ograve + : "\331" Ugrave + : "\371" ugrave + : "`" grave + : "`" grave + : "`" grave + : "`" grave + : "\305" Cabovedot + : "\345" cabovedot + : "\251" Iabovedot + : "\271" idotless + : "\257" Zabovedot + : "\277" zabovedot + : "\314" Eabovedot + : "\354" eabovedot + : "\377" abovedot + : "\377" abovedot + : "\377" abovedot + : "\377" abovedot + : "\264" acute + : "\264" acute + : "\264" acute + : "\264" acute + : "\675" doubleacute + : "\675" doubleacute + : "\675" doubleacute + : "\675" doubleacute + : "\317" Idiaeresis + : "\357" idiaeresis + : "\377" ydiaeresis + : "\250" diaeresis + : "\250" diaeresis + : "\250" diaeresis + : "\250" diaeresis + : "\270" cedilla + : "\270" cedilla + : "\270" cedilla + : "\270" cedilla + : "\257" macron + : "\257" macron + : "\257" macron + : "\257" macron +# End of Sequence Definition diff --git a/locale/iso8859-2/XI18N_OBJS b/locale/iso8859-2/XI18N_OBJS new file mode 100644 index 0000000..f20902a --- /dev/null +++ b/locale/iso8859-2/XI18N_OBJS @@ -0,0 +1,8 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for euro locales +# +XLC common/xlibi18n _XlcGenericLoader # XLC_open +XIM common/xiiimp _XimpLocalOpenIM # XIM_open +XOM common/xomGeneric _XomGenericOpenOM # XOM_open + diff --git a/locale/iso8859-2/XLC_LOCALE b/locale/iso8859-2/XLC_LOCALE new file mode 100644 index 0000000..007c313 --- /dev/null +++ b/locale/iso8859-2/XLC_LOCALE @@ -0,0 +1,71 @@ + +# XLocale Database Sample for iso8859-2. +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary ISO8859-2:GL + substitute ISO8859-1:GL + vertical_rotate all + } +} +# fs1 class +fs1 { + charset { + name ISO8859-2:GR + } + font { + primary ISO8859-2:GR + } +} +END XLC_FONTSET + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name ISO8859-2 +mb_cur_max 1 +state_depend_encoding False + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True +force_convert_to_mb True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding ISO8859-2:GL; ISO8859-1:GL +} + + +# cs1 class +cs1 { + side GR:Default + length 1 + + + + wc_encoding \x00008080 + + ct_encoding ISO8859-2:GR +} + +END XLC_XLOCALE diff --git a/locale/iso8859-3/Compose b/locale/iso8859-3/Compose new file mode 100644 index 0000000..2726701 --- /dev/null +++ b/locale/iso8859-3/Compose @@ -0,0 +1,484 @@ + +# +# ISO 8859-3 (Latin3) Compose Sequence +# +# Sequence Definition +# +# +# Means +# Special Character + : "#" numbersign + : "'" apostrophe + : "'" apostrophe + : "@" at + : "[" bracketleft + : "\\" backslash + : "\\" backslash + : "\\" backslash + : "]" bracketright + : "^" asciicircum + : "^" asciicircum + : "^" asciicircum + : "^" asciicircum + : "`" grave + : "`" grave + : "{" braceleft + : "{" braceleft + : "|" bar + : "|" bar + : "|" bar + : "|" bar + : "|" bar + : "|" bar + : "}" braceright + : "}" braceright + : "~" asciitilde + : "~" asciitilde + : "~" asciitilde + : "~" asciitilde + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\244" EuroSign + : "\244" EuroSign + : "\244" EuroSign + : "\244" EuroSign + : "\244" EuroSign + : "\244" EuroSign + : "\244" EuroSign + : "\244" EuroSign + : "\245" yen + : "\245" yen + : "\245" yen + : "\245" yen + : "\245" yen + : "\245" yen + : "\245" yen + : "\245" yen + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + <0> : "\247" section + <0> : "\247" section + <0> : "\247" section + <0> : "\247" section + <0> : "\260" degree + <0> : "\260" degree + <0> : "\260" degree + <0> : "\260" degree + : "\265" mu + : "\265" mu + : "\265" mu + : "\265" mu + <2> : "\262" twosuperior + <2> : "\262" twosuperior + <2> : "\262" twosuperior + <2> : "\262" twosuperior + <2> : "\262" twosuperior + <2> : "\262" twosuperior + <3> : "\263" threesuperior + <3> : "\263" threesuperior + <3> : "\263" threesuperior + <3> : "\263" threesuperior + <3> : "\263" threesuperior + <3> : "\263" threesuperior + : "\267" periodcentered + : "\267" periodcentered + : "\267" periodcentered + : "\240" nobreakspace + : "\255" hyphen + : "\256" registered + : "\256" registered + : "\256" registered + : "\367" division + : "\367" division + : "\327" multiply + : "\264" acute + : "\270" cedilla + : "\250" diaeresis +# Accented Alphabet + : "\300" Agrave + : "\300" Agrave + : "\301" Aacute + : "\301" Aacute + : "\301" Aacute + : "\301" Aacute + : "\302" Acircumflex + : "\302" Acircumflex + : "\302" Acircumflex + : "\302" Acircumflex + : "\303" Atilde + : "\303" Atilde + : "\303" Atilde + : "\303" Atilde + : "\304" Adiaeresis + : "\304" Adiaeresis + : "\304" Adiaeresis + : "\304" Adiaeresis + : "\340" agrave + : "\340" agrave + : "\341" aacute + : "\341" aacute + : "\341" aacute + : "\341" aacute + : "\342" acircumflex + : "\342" acircumflex + : "\342" acircumflex + : "\342" acircumflex + : "\343" atilde + : "\343" atilde + : "\343" atilde + : "\343" atilde + : "\344" adiaeresis + : "\344" adiaeresis + : "\344" adiaeresis + : "\344" adiaeresis + : "\305" Cabovedot + : "\305" Cabovedot + : "\306" Ccircumflex + : "\306" Ccircumflex + : "\306" Ccircumflex + : "\306" Ccircumflex + : "\307" Ccedilla + : "\307" Ccedilla + : "\307" Ccedilla + : "\307" Ccedilla + : "\345" cabovedot + : "\345" cabovedot + : "\346" ccircumflex + : "\346" ccircumflex + : "\346" ccircumflex + : "\346" ccircumflex + : "\347" ccedilla + : "\347" ccedilla + : "\347" ccedilla + : "\347" ccedilla + : "\320" ETH + : "\320" ETH + : "\360" eth + : "\360" eth + : "\310" Egrave + : "\310" Egrave + : "\311" Eacute + : "\311" Eacute + : "\311" Eacute + : "\311" Eacute + : "\312" Ecircumflex + : "\312" Ecircumflex + : "\312" Ecircumflex + : "\312" Ecircumflex + : "\313" Ediaeresis + : "\313" Ediaeresis + : "\313" Ediaeresis + : "\313" Ediaeresis + : "\350" egrave + : "\350" egrave + : "\351" eacute + : "\351" eacute + : "\351" eacute + : "\351" eacute + : "\352" ecircumflex + : "\352" ecircumflex + : "\352" ecircumflex + : "\352" ecircumflex + : "\353" ediaeresis + : "\353" ediaeresis + : "\353" ediaeresis + : "\353" ediaeresis + : "\253" Gbreve + : "\253" Gbreve + : "\253" Gbreve + : "\253" Gbreve + : "\253" Gbreve + : "\325" Gabovedot + : "\325" Gabovedot + : "\330" Gcircumflex + : "\330" Gcircumflex + : "\330" Gcircumflex + : "\330" Gcircumflex + : "\273" gbreve + : "\273" gbreve + : "\273" gbreve + : "\273" gbreve + : "\273" gbreve + : "\365" gabovedot + : "\365" gabovedot + : "\370" gcircumflex + : "\370" gcircumflex + : "\370" gcircumflex + : "\370" gcircumflex + : "\241" Hstroke + : "\241" Hstroke + : "\246" Hcircumflex + : "\246" Hcircumflex + : "\246" Hcircumflex + : "\246" Hcircumflex + : "\261" hstroke + : "\261" hstroke + : "\266" hcircumflex + : "\266" hcircumflex + : "\266" hcircumflex + : "\266" hcircumflex + : "\251" Iabovedot + : "\251" Iabovedot + : "\314" Igrave + : "\314" Igrave + : "\315" Iacute + : "\315" Iacute + : "\315" Iacute + : "\315" Iacute + : "\316" Icircumflex + : "\316" Icircumflex + : "\316" Icircumflex + : "\316" Icircumflex + : "\317" Idiaeresis + : "\317" Idiaeresis + : "\317" Idiaeresis + : "\317" Idiaeresis + : "\271" idotless + : "\271" idotless + : "\354" igrave + : "\354" igrave + : "\355" iacute + : "\355" iacute + : "\355" iacute + : "\355" iacute + : "\356" icircumflex + : "\356" icircumflex + : "\356" icircumflex + : "\356" icircumflex + : "\357" idiaeresis + : "\357" idiaeresis + : "\357" idiaeresis + : "\357" idiaeresis + : "\254" Jcircumflex + : "\254" Jcircumflex + : "\254" Jcircumflex + : "\254" Jcircumflex + : "\274" jcircumflex + : "\274" jcircumflex + : "\274" jcircumflex + : "\274" jcircumflex + : "\322" Ograve + : "\322" Ograve + : "\323" Oacute + : "\323" Oacute + : "\323" Oacute + : "\323" Oacute + : "\324" Ocircumflex + : "\324" Ocircumflex + : "\324" Ocircumflex + : "\324" Ocircumflex + : "\325" Otilde + : "\325" Otilde + : "\325" Otilde + : "\325" Otilde + : "\326" Odiaeresis + : "\326" Odiaeresis + : "\326" Odiaeresis + : "\326" Odiaeresis + : "\362" ograve + : "\362" ograve + : "\363" oacute + : "\363" oacute + : "\363" oacute + : "\363" oacute + : "\364" ocircumflex + : "\364" ocircumflex + : "\364" ocircumflex + : "\364" ocircumflex + : "\365" otilde + : "\365" otilde + : "\365" otilde + : "\365" otilde + : "\366" odiaeresis + : "\366" odiaeresis + : "\366" odiaeresis + : "\366" odiaeresis + : "\252" Scedilla + : "\252" Scedilla + : "\252" Scedilla + : "\272" scedilla + : "\252" Scedilla + : "\272" scedilla + : "\272" scedilla + : "\272" scedilla + : "\336" Scircumflex + : "\336" Scircumflex + : "\336" Scircumflex + : "\336" Scircumflex + : "\376" scircumflex + : "\376" scircumflex + : "\376" scircumflex + : "\376" scircumflex + : "\331" Ugrave + : "\331" Ugrave + : "\332" Uacute + : "\332" Uacute + : "\332" Uacute + : "\332" Uacute + : "\333" Ucircumflex + : "\333" Ucircumflex + : "\333" Ucircumflex + : "\333" Ucircumflex + : "\334" Udiaeresis + : "\334" Udiaeresis + : "\334" Udiaeresis + : "\334" Udiaeresis + : "\335" Ubreve + : "\335" Ubreve + : "\335" Ubreve + : "\335" Ubreve + : "\335" Ubreve + : "\371" ugrave + : "\371" ugrave + : "\372" uacute + : "\372" uacute + : "\372" uacute + : "\372" uacute + : "\373" ucircumflex + : "\373" ucircumflex + : "\373" ucircumflex + : "\373" ucircumflex + : "\374" udiaeresis + : "\374" udiaeresis + : "\374" udiaeresis + : "\374" udiaeresis + : "\375" ubreve + : "\375" ubreve + : "\375" ubreve + : "\375" ubreve + : "\375" ubreve + : "\337" ssharp + : "\335" Yacute + : "\335" Yacute + : "\335" Yacute + : "\335" Yacute + : "\276" Ydiaeresis + : "\276" Ydiaeresis + : "\276" Ydiaeresis + : "\276" Ydiaeresis + : "\375" yacute + : "\375" yacute + : "\375" yacute + : "\375" yacute + : "\377" ydiaeresis + : "\377" ydiaeresis + : "\377" ydiaeresis + : "\377" ydiaeresis + : "\257" Zabovedot + : "\257" Zabovedot + : "\277" zabovedot + : "\277" zabovedot +# +# dead key accent keysyms +# Special Character + : "|" bar + : "`" grave + : "'" apostrophe + : "\250" diaeresis + : "^" asciicircum + : "~" asciitilde + <0> : "\260" degree + <1> : "\271" onesuperior + <2> : "\262" twosuperior + <3> : "\263" threesuperior + : "\267" periodcentered + : "\254" notsign + : "\257" macron + : "\257" macron + : "\264" acute + : "\270" cedilla + : "\250" diaeresis +# Accented Alphabet + : "\305" Aring + : "\345" aring + : "\300" Agrave + : "\301" Aacute + : "\302" Acircumflex + : "\303" Atilde + : "\304" Adiaeresis + : "\340" agrave + : "\341" aacute + : "\342" acircumflex + : "\343" atilde + : "\344" adiaeresis + : "\307" Ccedilla + : "\306" Ccircumflex + : "\305" Cabovedot + : "\347" ccedilla + : "\346" ccircumflex + : "\345" cabovedot + : "\310" Egrave + : "\311" Eacute + : "\312" Ecircumflex + : "\313" Ediaeresis + : "\350" egrave + : "\351" eacute + : "\352" ecircumflex + : "\353" ediaeresis + : "\253" Gbreve + : "\330" Gcircumflex + : "\273" gbreve + : "\370" gcircumflex + : "\246" Hcircumflex + : "\266" hcircumflex + : "\314" Igrave + : "\315" Iacute + : "\316" Icircumflex + : "\317" Idiaeresis + : "\251" Iabovedot + : "\354" igrave + : "\355" iacute + : "\356" icircumflex + : "\357" idiaeresis + : "\271" idotless + : "\254" Jcircumflex + : "\274" jcircumflex + : "\321" Ntilde + : "\361" ntilde + : "\322" Ograve + : "\323" Oacute + : "\324" Ocircumflex + : "\325" Otilde + : "\326" Odiaeresis + : "\362" ograve + : "\363" oacute + : "\364" ocircumflex + : "\365" otilde + : "\366" odiaeresis + : "\246" Scaron + : "\252" Scedilla + : "\336" Scircumflex + : "\250" scaron + : "\272" scedilla + : "\376" scircumflex + : "\335" Ubreve + : "\331" Ugrave + : "\332" Uacute + : "\333" Ucircumflex + : "\334" Udiaeresis + : "\375" ubreve + : "\371" ugrave + : "\372" uacute + : "\373" ucircumflex + : "\374" udiaeresis + : "\335" Yacute + : "\276" Ydiaeresis + : "\375" yacute + : "\377" ydiaeresis + : "\264" Zcaron + : "\257" Zabovedot + : "\270" zcaron + : "\277" zabovedot +# End of Sequence Definition diff --git a/locale/iso8859-3/XI18N_OBJS b/locale/iso8859-3/XI18N_OBJS new file mode 100644 index 0000000..1f39eba --- /dev/null +++ b/locale/iso8859-3/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for iso8859-3 locale +# +XLC common/xlcDef _XlcDefaultLoader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/iso8859-3/XLC_LOCALE b/locale/iso8859-3/XLC_LOCALE new file mode 100644 index 0000000..3b00aff --- /dev/null +++ b/locale/iso8859-3/XLC_LOCALE @@ -0,0 +1,71 @@ + +# XLocale Database Sample for iso8859-3. +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary ISO8859-3:GL + substitute ISO8859-1:GL + vertical_rotate all + } +} +# fs1 class +fs1 { + charset { + name ISO8859-3:GR + } + font { + primary ISO8859-3:GR + } +} +END XLC_FONTSET + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name ISO8859-3 +mb_cur_max 1 +state_depend_encoding False + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True +force_convert_to_mb True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding ISO8859-3:GL; ISO8859-1:GL +} + + +# cs1 class +cs1 { + side GR:Default + length 1 + + + + wc_encoding \x00008080 + + ct_encoding ISO8859-3:GR +} + +END XLC_XLOCALE diff --git a/locale/iso8859-4/Compose b/locale/iso8859-4/Compose new file mode 100644 index 0000000..d6e0514 --- /dev/null +++ b/locale/iso8859-4/Compose @@ -0,0 +1,375 @@ + +# +# ISO 8859-4 (Latin4) Compose Sequence +# +# Sequence Definition +# +# Means +# Special Character +# Right-hand side (Accented Alphabet) +# These compose sequences are pure supposition on my part. +# It would be nice to know what the real cultural conventions +# are for compose sequences. + : "\241" Aogonek + : "\241" Aogonek + : "\242" kra + : "\243" Rcedilla + : "\243" Rcedilla + : "\243" Rcedilla + : "\243" Rcedilla + : "\244" currency + : "\244" currency + : "\244" currency + : "\244" currency + : "\244" currency + : "\244" currency + : "\244" currency + : "\244" currency + <0> : "\244" currency + <0> : "\244" currency + <0> : "\244" currency + <0> : "\244" currency + : "\245" Itilde + : "\245" Itilde + : "\246" Lcedilla + : "\246" Lcedilla + : "\246" Lcedilla + : "\246" Lcedilla + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + <0> : "\247" section + <0> : "\247" section + <0> : "\247" section + <0> : "\247" section + : "\250" diaeresis + : "\251" Scaron + : "\251" Scaron + : "\252" Emacron + : "\252" Emacron + : "\252" Emacron + : "\252" Emacron + : "\253" Gcedilla + : "\253" Gcedilla + : "\253" Gcedilla + : "\253" Gcedilla + : "\254" Tstroke + : "\254" Tstroke + : "\254" Tstroke + : "\255" hyphen + : "\256" Zcaron + : "\256" Zcaron + : "\257" macron + : "\257" macron + : "\257" macron + : "\257" macron + : "\257" macron + <0> : "\260" degree + <0> : "\260" degree + : "\261" aogonek + : "\261" aogonek + : "\263" rcedilla + : "\263" rcedilla + : "\263" rcedilla + : "\263" rcedilla + : "\264" acute + : "\265" itilde + : "\265" itilde + : "\266" lcedilla + : "\266" lcedilla + : "\266" lcedilla + : "\266" lcedilla + : "\267" caron + : "\270" cedilla + : "\271" scaron + : "\271" scaron + : "\272" emacron + : "\272" emacron + : "\272" emacron + : "\272" emacron + : "\273" gcedilla + : "\273" gcedilla + : "\273" gcedilla + : "\273" gcedilla + : "\274" tstroke + : "\274" tstroke + : "\274" tstroke + : "\275" ENG + : "\276" zcaron + : "\276" zcaron + : "\277" eng + : "\300" Amacron + : "\300" Amacron + : "\300" Amacron + : "\300" Amacron + : "\301" Aacute + : "\301" Aacute + : "\301" Aacute + : "\301" Aacute + : "\302" Acircumflex + : "\302" Acircumflex + : "\302" Acircumflex + : "\302" Acircumflex + : "\303" Atilde + : "\303" Atilde + : "\304" Adiaeresis + : "\304" Adiaeresis + : "\305" Aring + : "\305" Aring + : "\306" AE + : "\307" Iogonek + : "\307" Iogonek + : "\310" Ccaron + : "\310" Ccaron + : "\311" Eacute + : "\311" Eacute + : "\311" Eacute + : "\311" Eacute + : "\312" Eogonek + : "\312" Eogonek + : "\313" Ediaeresis + : "\313" Ediaeresis + : "\314" Eabovedot + : "\314" Eabovedot + : "\315" Iacute + : "\315" Iacute + : "\315" Iacute + : "\315" Iacute + : "\316" Icircumflex + : "\316" Icircumflex + : "\316" Icircumflex + : "\316" Icircumflex + : "\317" Imacron + : "\317" Imacron + : "\317" Imacron + : "\317" Imacron + : "\320" Dstroke + : "\320" Dstroke + : "\321" Ncedilla + : "\321" Ncedilla + : "\321" Ncedilla + : "\321" Ncedilla + : "\322" Omacron + : "\322" Omacron + : "\322" Omacron + : "\322" Omacron + : "\323" Kcedilla + : "\323" Kcedilla + : "\323" Kcedilla + : "\323" Kcedilla + : "\324" Ocircumflex + : "\324" Ocircumflex + : "\324" Ocircumflex + : "\324" Ocircumflex + : "\325" Otilde + : "\325" Otilde + : "\326" Odiaeresis + : "\326" Odiaeresis + : "\327" multiply + : "\330" Ooblique + : "\330" Ooblique + : "\331" Uogonek + : "\331" Uogonek + : "\332" Uacute + : "\332" Uacute + : "\332" Uacute + : "\332" Uacute + : "\333" Ucircumflex + : "\333" Ucircumflex + : "\333" Ucircumflex + : "\333" Ucircumflex + : "\334" Udiaeresis + : "\334" Udiaeresis + : "\335" Utilde + : "\335" Utilde + : "\336" Umacron + : "\336" Umacron + : "\336" Umacron + : "\336" Umacron + : "\337" ssharp + : "\340" amacron + : "\340" amacron + : "\340" amacron + : "\340" amacron + : "\341" aacute + : "\341" aacute + : "\341" aacute + : "\341" aacute + : "\342" acircumflex + : "\342" acircumflex + : "\342" acircumflex + : "\342" acircumflex + : "\343" atilde + : "\343" atilde + : "\344" adiaeresis + : "\344" adiaeresis + : "\345" aring + : "\345" aring + : "\346" ae + : "\347" iogonek + : "\347" iogonek + : "\350" ccaron + : "\350" ccaron + : "\351" eacute + : "\351" eacute + : "\351" eacute + : "\351" eacute + : "\352" eogonek + : "\352" eogonek + : "\353" ediaeresis + : "\353" ediaeresis + : "\354" eabovedot + : "\354" eabovedot + : "\355" iacute + : "\355" iacute + : "\355" iacute + : "\355" iacute + : "\356" icircumflex + : "\356" icircumflex + : "\356" icircumflex + : "\356" icircumflex + : "\357" imacron + : "\357" imacron + : "\357" imacron + : "\357" imacron + : "\360" dstroke + : "\360" dstroke + : "\361" ncedilla + : "\361" ncedilla + : "\361" ncedilla + : "\361" ncedilla + : "\362" omacron + : "\362" omacron + : "\362" omacron + : "\362" omacron + : "\363" kcedilla + : "\363" kcedilla + : "\363" kcedilla + : "\363" kcedilla + : "\364" ocircumflex + : "\364" ocircumflex + : "\364" ocircumflex + : "\364" ocircumflex + : "\365" otilde + : "\365" otilde + : "\366" odiaeresis + : "\366" odiaeresis + : "\367" division + : "\367" division + + : "\370" ooblique + : "\370" ooblique + : "\371" uogonek + : "\371" uogonek + : "\372" uacute + : "\372" uacute + : "\372" uacute + : "\372" uacute + : "\373" ucircumflex + : "\373" ucircumflex + : "\373" ucircumflex + : "\373" ucircumflex + : "\374" udiaeresis + : "\374" udiaeresis + : "\375" utilde + : "\375" utilde + : "\376" umacron + : "\376" umacron + : "\376" umacron + : "\376" umacron + : "\377" abovedot + + : "\314" Eabovedot + : "\354" eabovedot + : "\377" abovedot + : "\377" abovedot + : "\305" Aring + : "\345" aring + : "\264" acute + : "\264" acute + : "\301" Aacute + : "\311" Eacute + : "\315" Iacute + : "\332" Uacute + : "\341" aacute + : "\351" eacute + : "\355" iacute + : "\372" uacute + : "\251" Scaron + : "\256" Zcaron + : "\267" caron + : "\267" caron + : "\271" scaron + : "\276" zcaron + : "\310" Ccaron + : "\350" ccaron + : "\243" Rcedilla + : "\246" Lcedilla + : "\253" Gcedilla + : "\263" rcedilla + : "\266" lcedilla + : "\270" cedilla + : "\270" cedilla + : "\273" gcedilla + : "\321" Ncedilla + : "\323" Kcedilla + : "\361" ncedilla + : "\363" kcedilla + : "\302" Acircumflex + : "\316" Icircumflex + : "\324" Ocircumflex + : "\333" Ucircumflex + : "\342" acircumflex + : "\356" icircumflex + : "\364" ocircumflex + : "\373" ucircumflex + : "\250" diaeresis + : "\250" diaeresis + : "\304" Adiaeresis + : "\313" Ediaeresis + : "\326" Odiaeresis + : "\334" Udiaeresis + : "\344" adiaeresis + : "\353" ediaeresis + : "\366" odiaeresis + : "\374" udiaeresis + : "\252" Emacron + : "\257" macron + : "\257" macron + : "\272" emacron + : "\300" Amacron + : "\317" Imacron + : "\322" Omacron + : "\336" Umacron + : "\340" amacron + : "\357" imacron + : "\362" omacron + : "\376" umacron + : "\241" Aogonek + : "\261" aogonek + : "\262" ogonek + : "\262" ogonek + : "\307" Iogonek + : "\312" Eogonek + : "\331" Uogonek + : "\347" iogonek + : "\352" eogonek + : "\371" uogonek + : "\260" ring + : "\260" ring + : "\245" Itilde + : "\265" itilde + : "\303" Atilde + : "\325" Otilde + : "\335" Utilde + : "\343" atilde + : "\365" otilde + : "\375" utilde + : "~" asciitilde + : "~" asciitilde +# End of Sequence Definition diff --git a/locale/iso8859-4/XI18N_OBJS b/locale/iso8859-4/XI18N_OBJS new file mode 100644 index 0000000..7404dab --- /dev/null +++ b/locale/iso8859-4/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for iso8859-4 locale +# +XLC common/xlcDef _XlcDefaultLoader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/iso8859-4/XLC_LOCALE b/locale/iso8859-4/XLC_LOCALE new file mode 100644 index 0000000..19f0291 --- /dev/null +++ b/locale/iso8859-4/XLC_LOCALE @@ -0,0 +1,71 @@ + +# XLocale Database Sample for iso8859-4. +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary ISO8859-4:GL + substitute ISO8859-1:GL + vertical_rotate all + } +} +# fs1 class +fs1 { + charset { + name ISO8859-4:GR + } + font { + primary ISO8859-4:GR + } +} +END XLC_FONTSET + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name ISO8859-4 +mb_cur_max 1 +state_depend_encoding False + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True +force_convert_to_mb True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding ISO8859-4:GL; ISO8859-1:GL +} + + +# cs1 class +cs1 { + side GR:Default + length 1 + + + + wc_encoding \x00008080 + + ct_encoding ISO8859-4:GR +} + +END XLC_XLOCALE diff --git a/locale/iso8859-5/Compose b/locale/iso8859-5/Compose new file mode 100644 index 0000000..b1117bf --- /dev/null +++ b/locale/iso8859-5/Compose @@ -0,0 +1,15 @@ + +# +# ISO 8859-5 Compose Sequence +# +# Sequence Definition +# +# +# This file currently has no entries. It appears that a compose file (even +# just an empty one) is required for the appropriate keysyms to work for +# this encoding. +# +# Means +# Special Character + +# End of Sequence Definition diff --git a/locale/iso8859-5/XI18N_OBJS b/locale/iso8859-5/XI18N_OBJS new file mode 100644 index 0000000..f20902a --- /dev/null +++ b/locale/iso8859-5/XI18N_OBJS @@ -0,0 +1,8 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for euro locales +# +XLC common/xlibi18n _XlcGenericLoader # XLC_open +XIM common/xiiimp _XimpLocalOpenIM # XIM_open +XOM common/xomGeneric _XomGenericOpenOM # XOM_open + diff --git a/locale/iso8859-5/XLC_LOCALE b/locale/iso8859-5/XLC_LOCALE new file mode 100644 index 0000000..a411dbc --- /dev/null +++ b/locale/iso8859-5/XLC_LOCALE @@ -0,0 +1,71 @@ + +# XLocale Database Sample for iso8859-5. +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary ISO8859-5:GL + substitute ISO8859-1:GL + vertical_rotate all + } +} +# fs1 class +fs1 { + charset { + name ISO8859-5:GR + } + font { + primary ISO8859-5:GR + } +} +END XLC_FONTSET + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name ISO8859-5 +mb_cur_max 1 +state_depend_encoding False + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True +force_convert_to_mb True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding ISO8859-5:GL; ISO8859-1:GL +} + + +# cs1 class +cs1 { + side GR:Default + length 1 + + + + wc_encoding \x00008080 + + ct_encoding ISO8859-5:GR +} + +END XLC_XLOCALE diff --git a/locale/iso8859-6/Compose b/locale/iso8859-6/Compose new file mode 100644 index 0000000..829e3d1 --- /dev/null +++ b/locale/iso8859-6/Compose @@ -0,0 +1,15 @@ + +# +# ISO 8859-6 Compose Sequence +# +# Sequence Definition +# +# +# This file currently has no entries. It appears that a compose file (even +# just an empty one) is required for the appropriate keysyms to work for +# this encoding. +# +# Means +# Special Character + +# End of Sequence Definition diff --git a/locale/iso8859-6/XI18N_OBJS b/locale/iso8859-6/XI18N_OBJS new file mode 100644 index 0000000..ab2d300 --- /dev/null +++ b/locale/iso8859-6/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for iso8859-6 locale +# +XLC common/xlcDef _XlcDefaultLoader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/iso8859-6/XLC_LOCALE b/locale/iso8859-6/XLC_LOCALE new file mode 100644 index 0000000..c2efbb5 --- /dev/null +++ b/locale/iso8859-6/XLC_LOCALE @@ -0,0 +1,71 @@ + +# XLocale Database Sample for iso8859-6. +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary ISO8859-6:GL + substitute ISO8859-1:GL + vertical_rotate all + } +} +# fs1 class +fs1 { + charset { + name ISO8859-6:GR + } + font { + primary ISO8859-6:GR + } +} +END XLC_FONTSET + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name ISO8859-6 +mb_cur_max 1 +state_depend_encoding False + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True +force_convert_to_mb True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding ISO8859-6:GL; ISO8859-1:GL +} + + +# cs1 class +cs1 { + side GR:Default + length 1 + + + + wc_encoding \x00008080 + + ct_encoding ISO8859-6:GR +} + +END XLC_XLOCALE diff --git a/locale/iso8859-7/Compose b/locale/iso8859-7/Compose new file mode 100644 index 0000000..bcc87b8 --- /dev/null +++ b/locale/iso8859-7/Compose @@ -0,0 +1,223 @@ + +# +# ISO 8859-7 (Greek) Compose Sequence +# +# +# +# Sequence Definition +# +# Means +# Special Character + : "#" numbersign + : "'" apostrophe + : "'" apostrophe + : "@" at + : "[" bracketleft + : "\\" backslash + : "\\" backslash + : "\\" backslash + : "]" bracketright + : "^" asciicircum + : "^" asciicircum + : "^" asciicircum + : "^" asciicircum + : "`" grave + : "`" grave + : "{" braceleft + : "{" braceleft + : "|" bar + : "|" bar + : "|" bar + : "|" bar + : "|" bar + : "|" bar + : "}" braceright + : "}" braceright + : "~" asciitilde + : "~" asciitilde + : "~" asciitilde + : "~" asciitilde + + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + <0> : "\247" section + <0> : "\247" section + <0> : "\247" section + <0> : "\247" section + : "\251" copyright + : "\251" copyright + : "\251" copyright + : "\251" copyright + : "\251" copyright + : "\251" copyright + : "\251" copyright + : "\251" copyright + <0> : "\251" copyright + <0> : "\251" copyright + <0> : "\251" copyright + <0> : "\251" copyright + : "\251" copyright + : "\253" guillemotleft + : "\273" guillemotright + <0> : "\260" degree + <0> : "\260" degree + <0> : "\260" degree + <0> : "\260" degree + : "\261" plusminus + : "\261" plusminus + <2> : "\262" twosuperior + <2> : "\262" twosuperior + <2> : "\262" twosuperior + <2> : "\262" twosuperior + <2> : "\262" twosuperior + <2> : "\262" twosuperior + <3> : "\263" threesuperior + <3> : "\263" threesuperior + <3> : "\263" threesuperior + <3> : "\263" threesuperior + <3> : "\263" threesuperior + <3> : "\263" threesuperior + : "\267" periodcentered + : "\267" periodcentered + : "\267" periodcentered + <1> <2> : "\275" onehalf + : "\240" nobreakspace + : "\246" brokenbar + : "\246" brokenbar + : "\246" brokenbar + : "\246" brokenbar + : "\246" brokenbar + : "\246" brokenbar + : "\246" brokenbar + : "\254" notsign + : "\254" notsign + : "\255" hyphen +# should be Greek tonos but not defined in X11 + : "\264" acute +# should be Greek dialytika but not defined in X11 + : "\250" diaeresis +# special characters that don't exist in Latin-1 + : "\241" leftsinglequotemark + : "\241" leftsinglequotemark + : "\242" rightsinglequotemark + : "\242" rightsinglequotemark + : "\257" Greek_horizbar + +# Accented Alphabet + : "\266" Greek_ALPHAaccent + : "\266" Greek_ALPHAaccent + : "\270" Greek_EPSILONaccent + : "\270" Greek_EPSILONaccent + : "\271" Greek_ETAaccent + : "\271" Greek_ETAaccent + : "\272" Greek_IOTAaccent + : "\272" Greek_IOTAaccent + : "\274" Greek_OMICRONaccent + : "\274" Greek_OMICRONaccent + : "\276" Greek_UPSILONaccent + : "\276" Greek_UPSILONaccent + : "\277" Greek_OMEGAaccent + : "\277" Greek_OMEGAaccent + : "\332" Greek_IOTAdieresis + : "\332" Greek_IOTAdieresis + : "\333" Greek_UPSILONdieresis + : "\333" Greek_UPSILONdieresis + + : "\334" Greek_alphaaccent + : "\334" Greek_alphaaccent + : "\335" Greek_epsilonaccent + : "\335" Greek_epsilonaccent + : "\336" Greek_etaaccent + : "\336" Greek_etaaccent + : "\337" Greek_iotaaccent + : "\337" Greek_iotaaccent + : "\374" Greek_omicronaccent + : "\374" Greek_omicronaccent + : "\375" Greek_upsilonaccent + : "\375" Greek_upsilonaccent + : "\376" Greek_omegaaccent + : "\376" Greek_omegaaccent + : "\372" Greek_iotadieresis + : "\372" Greek_iotadieresis + : "\373" Greek_upsilondieresis + : "\373" Greek_upsilondieresis + + : "\300" Greek_iotaaccentdieresis + : "\300" Greek_iotaaccentdieresis + : "\340" Greek_upsilonaccentdieresis + : "\340" Greek_upsilonaccentdieresis + : "\265" Greek_accentdieresis + : "\265" Greek_accentdieresis + +# +# +# dead key accent keysyms +# Special Character + : "|" bar + : "`" grave + : "\250" diaeresis + : "^" asciicircum + : "~" asciitilde + : "\"" quotedbl + : "\260" degree + : "\260" degree + <0> : "\260" degree + <2> : "\262" twosuperior + <3> : "\263" threesuperior + : "\267" periodcentered + : "\246" brokenbar + : "\254" notsign + : "\264" acute + : "\250" diaeresis + +# Accented Alphabet (plus some more symbols) + : "\334" Greek_alphaaccent + : "\335" Greek_epsilonaccent + : "\336" Greek_etaaccent + : "\337" Greek_iotaaccent + : "\374" Greek_omicronaccent + : "\375" Greek_upsilonaccent + : "\376" Greek_omegaaccent + : "\266" Greek_ALPHAaccent + : "\270" Greek_EPSILONaccent + : "\271" Greek_ETAaccent + : "\272" Greek_IOTAaccent + : "\274" Greek_OMICRONaccent + : "\276" Greek_UPSILONaccent + : "\277" Greek_OMEGAaccent + : "\264" acute + : "\264" acute + : "\267" periodcentered + : "\253" guillemotleft + : "\273" guillemotright + + : "\372" Greek_iotadieresis + : "\373" Greek_upsilondieresis + : "\332" Greek_IOTAdieresis + : "\333" Greek_UPSILONdieresis + : "\250" diaeresis + : "\267" periodcentered + : "\253" guillemotleft + : "\273" guillemotright + + : "\300" Greek_iotaaccentdieresis + : "\340" Greek_upsilonaccentdieresis + : "\265" Greek_accentdieresis + + : "\300" Greek_iotaaccentdieresis + : "\340" Greek_upsilonaccentdieresis + : "\265" Greek_accentdieresis diff --git a/locale/iso8859-7/XI18N_OBJS b/locale/iso8859-7/XI18N_OBJS new file mode 100644 index 0000000..f20902a --- /dev/null +++ b/locale/iso8859-7/XI18N_OBJS @@ -0,0 +1,8 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for euro locales +# +XLC common/xlibi18n _XlcGenericLoader # XLC_open +XIM common/xiiimp _XimpLocalOpenIM # XIM_open +XOM common/xomGeneric _XomGenericOpenOM # XOM_open + diff --git a/locale/iso8859-7/XLC_LOCALE b/locale/iso8859-7/XLC_LOCALE new file mode 100644 index 0000000..ac958dd --- /dev/null +++ b/locale/iso8859-7/XLC_LOCALE @@ -0,0 +1,71 @@ + +# XLocale Database Sample for iso8859-7. +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary ISO8859-7:GL + substitute ISO8859-1:GL + vertical_rotate all + } +} +# fs1 class +fs1 { + charset { + name ISO8859-7:GR + } + font { + primary ISO8859-7:GR + } +} +END XLC_FONTSET + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name ISO8859-7 +mb_cur_max 1 +state_depend_encoding False + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True +force_convert_to_mb True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding ISO8859-7:GL; ISO8859-1:GL +} + + +# cs1 class +cs1 { + side GR:Default + length 1 + + + + wc_encoding \x00008080 + + ct_encoding ISO8859-7:GR +} + +END XLC_XLOCALE diff --git a/locale/iso8859-8/Compose b/locale/iso8859-8/Compose new file mode 100644 index 0000000..9f573e0 --- /dev/null +++ b/locale/iso8859-8/Compose @@ -0,0 +1,15 @@ + +# +# ISO 8859-8 Compose Sequence +# +# Sequence Definition +# +# +# This file currently has no entries. It appears that a compose file (even +# just an empty one) is required for the appropriate keysyms to work for +# this encoding. +# +# Means +# Special Character + +# End of Sequence Definition diff --git a/locale/iso8859-8/XI18N_OBJS b/locale/iso8859-8/XI18N_OBJS new file mode 100644 index 0000000..e85b513 --- /dev/null +++ b/locale/iso8859-8/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for iso8859-8 locale +# +XLC common/xlcDef _XlcDefaultLoader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/iso8859-8/XLC_LOCALE b/locale/iso8859-8/XLC_LOCALE new file mode 100644 index 0000000..1e60812 --- /dev/null +++ b/locale/iso8859-8/XLC_LOCALE @@ -0,0 +1,71 @@ + +# XLocale Database Sample for iso8859-8. +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary ISO8859-8:GL + substitute ISO8859-1:GL + vertical_rotate all + } +} +# fs1 class +fs1 { + charset { + name ISO8859-8:GR + } + font { + primary ISO8859-8:GR + } +} +END XLC_FONTSET + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name ISO8859-8 +mb_cur_max 1 +state_depend_encoding False + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True +force_convert_to_mb True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding ISO8859-8:GL; ISO8859-1:GL +} + + +# cs1 class +cs1 { + side GR:Default + length 1 + + + + wc_encoding \x00008080 + + ct_encoding ISO8859-8:GR +} + +END XLC_XLOCALE diff --git a/locale/iso8859-9/Compose b/locale/iso8859-9/Compose new file mode 100644 index 0000000..42ceb5e --- /dev/null +++ b/locale/iso8859-9/Compose @@ -0,0 +1,482 @@ + +# +# ISO 8859-9 (Latin5) Compose Sequence +# +# Sequence Definition +# +# +# Means +# Special Character + : "#" numbersign + : "'" apostrophe + : "'" apostrophe + : "[" bracketleft + : "\\" backslash + : "\\" backslash + : "\\" backslash + : "]" bracketright + : "^" asciicircum + : "^" asciicircum + : "^" asciicircum + : "^" asciicircum + : "`" grave + : "`" grave + : "{" braceleft + : "{" braceleft + : "|" bar + : "|" bar + : "|" bar + : "|" bar + : "|" bar + : "|" bar + : "}" braceright + : "}" braceright + : "~" asciitilde + : "~" asciitilde + : "~" asciitilde + : "~" asciitilde + : "\241" exclamdown + : "\242" cent + : "\242" cent + : "\242" cent + : "\242" cent + : "\242" cent + : "\242" cent + : "\242" cent + : "\242" cent + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\244" EuroSign + : "\244" EuroSign + : "\244" EuroSign + : "\244" EuroSign + : "\244" EuroSign + : "\244" EuroSign + : "\244" EuroSign + : "\244" EuroSign + : "\245" yen + : "\245" yen + : "\245" yen + : "\245" yen + : "\245" yen + : "\245" yen + : "\245" yen + : "\245" yen + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + <0> : "\247" section + <0> : "\247" section + <0> : "\247" section + <0> : "\247" section + : "\251" copyright + : "\251" copyright + : "\251" copyright + : "\251" copyright + : "\251" copyright + : "\251" copyright + : "\251" copyright + : "\251" copyright + <0> : "\251" copyright + <0> : "\251" copyright + <0> : "\251" copyright + <0> : "\251" copyright + : "\251" copyright + : "\252" ordfeminine + : "\252" ordfeminine + : "\252" ordfeminine + : "\252" ordfeminine + : "\272" masculine + : "\272" masculine + : "\272" masculine + : "\272" masculine + : "\253" guillemotleft + : "\273" guillemotright + <0> : "\260" degree + <0> : "\260" degree + <0> : "\260" degree + <0> : "\260" degree + : "\261" plusminus + : "\261" plusminus + : "\265" mu + : "\265" mu + : "\265" mu + : "\265" mu + <1> : "\271" onesuperior + <1> : "\271" onesuperior + <1> : "\271" onesuperior + <1> : "\271" onesuperior + <1> : "\271" onesuperior + <1> : "\271" onesuperior + <2> : "\262" twosuperior + <2> : "\262" twosuperior + <2> : "\262" twosuperior + <2> : "\262" twosuperior + <2> : "\262" twosuperior + <2> : "\262" twosuperior + <3> : "\263" threesuperior + <3> : "\263" threesuperior + <3> : "\263" threesuperior + <3> : "\263" threesuperior + <3> : "\263" threesuperior + <3> : "\263" threesuperior +

: "\266" paragraph +

: "\266" paragraph +

: "\266" paragraph +

: "\266" paragraph + : "\267" periodcentered + : "\267" periodcentered + : "\267" periodcentered + : "\277" questiondown + : "\240" nobreakspace + : "\254" notsign + : "\254" notsign + : "\255" hyphen + : "\256" registered + : "\256" registered + : "\256" registered + : "\257" macron + : "\257" macron + : "\257" macron + : "\257" macron + : "\257" macron + : "\367" division + : "\367" division + : "\327" multiply + : "\264" acute + : "\270" cedilla + : "\250" diaeresis +# Accented Alphabet + : "\300" Agrave + : "\300" Agrave + : "\301" Aacute + : "\301" Aacute + : "\301" Aacute + : "\301" Aacute + : "\302" Acircumflex + : "\302" Acircumflex + : "\302" Acircumflex + : "\302" Acircumflex + : "\303" Atilde + : "\303" Atilde + : "\303" Atilde + : "\303" Atilde + : "\304" Adiaeresis + : "\304" Adiaeresis + : "\304" Adiaeresis + : "\304" Adiaeresis + : "\305" Aring + : "\305" Aring + : "\305" Aring + : "\306" AE + : "\340" agrave + : "\340" agrave + : "\341" aacute + : "\341" aacute + : "\341" aacute + : "\341" aacute + : "\342" acircumflex + : "\342" acircumflex + : "\342" acircumflex + : "\342" acircumflex + : "\343" atilde + : "\343" atilde + : "\343" atilde + : "\343" atilde + : "\344" adiaeresis + : "\344" adiaeresis + : "\344" adiaeresis + : "\344" adiaeresis + : "\345" aring + : "\345" aring + : "\345" aring + : "\346" ae + : "\307" Ccedilla + : "\307" Ccedilla + : "\307" Ccedilla + : "\307" Ccedilla + : "\347" ccedilla + : "\347" ccedilla + : "\347" ccedilla + : "\347" ccedilla + : "\320" ETH + : "\320" ETH + : "\360" eth + : "\360" eth + : "\310" Egrave + : "\310" Egrave + : "\311" Eacute + : "\311" Eacute + : "\311" Eacute + : "\311" Eacute + : "\312" Ecircumflex + : "\312" Ecircumflex + : "\312" Ecircumflex + : "\312" Ecircumflex + : "\313" Ediaeresis + : "\313" Ediaeresis + : "\313" Ediaeresis + : "\313" Ediaeresis + : "\350" egrave + : "\350" egrave + : "\351" eacute + : "\351" eacute + : "\351" eacute + : "\351" eacute + : "\352" ecircumflex + : "\352" ecircumflex + : "\352" ecircumflex + : "\352" ecircumflex + : "\353" ediaeresis + : "\353" ediaeresis + : "\353" ediaeresis + : "\353" ediaeresis + : "\320" Gbreve + : "\320" Gbreve + : "\320" Gbreve + : "\320" Gbreve + : "\320" Gbreve + : "\360" gbreve + : "\360" gbreve + : "\360" gbreve + : "\360" gbreve + : "\360" gbreve + : "\314" Igrave + : "\314" Igrave + : "\315" Iacute + : "\315" Iacute + : "\315" Iacute + : "\315" Iacute + : "\316" Icircumflex + : "\316" Icircumflex + : "\316" Icircumflex + : "\316" Icircumflex + : "\317" Idiaeresis + : "\317" Idiaeresis + : "\317" Idiaeresis + : "\317" Idiaeresis + : "\335" Iabovedot + : "\335" Iabovedot + : "\354" igrave + : "\354" igrave + : "\355" iacute + : "\355" iacute + : "\355" iacute + : "\355" iacute + : "\356" icircumflex + : "\356" icircumflex + : "\356" icircumflex + : "\356" icircumflex + : "\357" idiaeresis + : "\357" idiaeresis + : "\357" idiaeresis + : "\357" idiaeresis + : "\375" idotless + : "\375" idotless + : "\321" Ntilde + : "\321" Ntilde + : "\321" Ntilde + : "\321" Ntilde + : "\361" ntilde + : "\361" ntilde + : "\361" ntilde + : "\361" ntilde + : "\322" Ograve + : "\322" Ograve + : "\323" Oacute + : "\323" Oacute + : "\323" Oacute + : "\323" Oacute + : "\324" Ocircumflex + : "\324" Ocircumflex + : "\324" Ocircumflex + : "\324" Ocircumflex + : "\325" Otilde + : "\325" Otilde + : "\325" Otilde + : "\325" Otilde + : "\326" Odiaeresis + : "\326" Odiaeresis + : "\326" Odiaeresis + : "\326" Odiaeresis + : "\330" Ooblique + : "\330" Ooblique + : "\274" OE + : "\362" ograve + : "\362" ograve + : "\363" oacute + : "\363" oacute + : "\363" oacute + : "\363" oacute + : "\364" ocircumflex + : "\364" ocircumflex + : "\364" ocircumflex + : "\364" ocircumflex + : "\365" otilde + : "\365" otilde + : "\365" otilde + : "\365" otilde + : "\366" odiaeresis + : "\366" odiaeresis + : "\366" odiaeresis + : "\366" odiaeresis + : "\370" oslash + : "\370" oslash + : "\336" Scedilla + : "\336" Scedilla + : "\336" Scedilla + : "\376" scedilla + : "\336" Scedilla + : "\376" scedilla + : "\376" scedilla + : "\376" scedilla + : "\331" Ugrave + : "\331" Ugrave + : "\332" Uacute + : "\332" Uacute + : "\332" Uacute + : "\332" Uacute + : "\333" Ucircumflex + : "\333" Ucircumflex + : "\333" Ucircumflex + : "\333" Ucircumflex + : "\334" Udiaeresis + : "\334" Udiaeresis + : "\334" Udiaeresis + : "\334" Udiaeresis + : "\371" ugrave + : "\371" ugrave + : "\372" uacute + : "\372" uacute + : "\372" uacute + : "\372" uacute + : "\373" ucircumflex + : "\373" ucircumflex + : "\373" ucircumflex + : "\373" ucircumflex + : "\374" udiaeresis + : "\374" udiaeresis + : "\374" udiaeresis + : "\374" udiaeresis + : "\337" ssharp + : "\336" THORN + : "\376" thorn + : "\335" Yacute + : "\335" Yacute + : "\335" Yacute + : "\335" Yacute + : "\276" Ydiaeresis + : "\276" Ydiaeresis + : "\276" Ydiaeresis + : "\276" Ydiaeresis + : "\375" yacute + : "\375" yacute + : "\375" yacute + : "\375" yacute + : "\377" ydiaeresis + : "\377" ydiaeresis + : "\377" ydiaeresis + : "\377" ydiaeresis + : "\264" Zcaron + : "\264" Zcaron + : "\270" zcaron + : "\270" zcaron + : "\264" Zcaron + : "\270" zcaron +# +# dead key accent keysyms +# Special Character + : "|" bar + : "`" grave + : "'" apostrophe + : "\250" diaeresis + : "^" asciicircum + : "~" asciitilde + <0> : "\260" degree + <1> : "\271" onesuperior + <2> : "\262" twosuperior + <3> : "\263" threesuperior + : "\267" periodcentered + : "\254" notsign + : "\257" macron + : "\257" macron + : "\264" acute + : "\270" cedilla + : "\250" diaeresis +# Accented Alphabet + : "\305" Aring + : "\345" aring + : "\300" Agrave + : "\301" Aacute + : "\302" Acircumflex + : "\303" Atilde + : "\304" Adiaeresis + : "\340" agrave + : "\341" aacute + : "\342" acircumflex + : "\343" atilde + : "\344" adiaeresis + : "\307" Ccedilla + : "\347" ccedilla + : "\310" Egrave + : "\311" Eacute + : "\312" Ecircumflex + : "\313" Ediaeresis + : "\350" egrave + : "\351" eacute + : "\352" ecircumflex + : "\353" ediaeresis + : "\320" Gbreve + : "\360" gbreve + : "\335" Iabovedot + : "\314" Igrave + : "\315" Iacute + : "\316" Icircumflex + : "\317" Idiaeresis + : "\375" idotless + : "\354" igrave + : "\355" iacute + : "\356" icircumflex + : "\357" idiaeresis + : "\321" Ntilde + : "\361" ntilde + : "\322" Ograve + : "\323" Oacute + : "\324" Ocircumflex + : "\325" Otilde + : "\326" Odiaeresis + : "\362" ograve + : "\363" oacute + : "\364" ocircumflex + : "\365" otilde + : "\366" odiaeresis + : "\246" Scaron + : "\250" scaron + : "\336" Scedilla + : "\376" scedilla + : "\331" Ugrave + : "\332" Uacute + : "\333" Ucircumflex + : "\334" Udiaeresis + : "\371" ugrave + : "\372" uacute + : "\373" ucircumflex + : "\374" udiaeresis + : "\335" Yacute + : "\276" Ydiaeresis + : "\375" yacute + : "\377" ydiaeresis + : "\264" Zcaron + : "\270" zcaron +# End of Sequence Definition diff --git a/locale/iso8859-9/XI18N_OBJS b/locale/iso8859-9/XI18N_OBJS new file mode 100644 index 0000000..f20902a --- /dev/null +++ b/locale/iso8859-9/XI18N_OBJS @@ -0,0 +1,8 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for euro locales +# +XLC common/xlibi18n _XlcGenericLoader # XLC_open +XIM common/xiiimp _XimpLocalOpenIM # XIM_open +XOM common/xomGeneric _XomGenericOpenOM # XOM_open + diff --git a/locale/iso8859-9/XLC_LOCALE b/locale/iso8859-9/XLC_LOCALE new file mode 100644 index 0000000..e92edb2 --- /dev/null +++ b/locale/iso8859-9/XLC_LOCALE @@ -0,0 +1,71 @@ + +# XLocale Database Sample for iso8859-9. +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary ISO8859-9:GL + substitute ISO8859-1:GL + vertical_rotate all + } +} +# fs1 class +fs1 { + charset { + name ISO8859-9:GR + } + font { + primary ISO8859-9:GR + } +} +END XLC_FONTSET + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name ISO8859-9 +mb_cur_max 1 +state_depend_encoding False + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True +force_convert_to_mb True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding ISO8859-9:GL; ISO8859-1:GL +} + + +# cs1 class +cs1 { + side GR:Default + length 1 + + + + wc_encoding \x00008080 + + ct_encoding ISO8859-9:GR +} + +END XLC_XLOCALE diff --git a/locale/iso8859-9e/Compose b/locale/iso8859-9e/Compose new file mode 100644 index 0000000..52b1ff7 --- /dev/null +++ b/locale/iso8859-9e/Compose @@ -0,0 +1,494 @@ + +# +# ISO 8859-9e (Latin??) Compose Sequence +# +# Sequence Definition +# +# +# Means +# Special Character + : "#" numbersign + : "'" apostrophe + : "'" apostrophe + : "[" bracketleft + : "\\" backslash + : "\\" backslash + : "\\" backslash + : "]" bracketright + : "^" asciicircum + : "^" asciicircum + : "^" asciicircum + : "^" asciicircum + : "`" grave + : "`" grave + : "{" braceleft + : "{" braceleft + : "|" bar + : "|" bar + : "|" bar + : "|" bar + : "|" bar + : "|" bar + : "}" braceright + : "}" braceright + : "~" asciitilde + : "~" asciitilde + : "~" asciitilde + : "~" asciitilde + : "\241" exclamdown + : "\242" cent + : "\242" cent + : "\242" cent + : "\242" cent + : "\242" cent + : "\242" cent + : "\242" cent + : "\242" cent + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\243" sterling + : "\244" EuroSign + : "\244" EuroSign + : "\244" EuroSign + : "\244" EuroSign + : "\244" EuroSign + : "\244" EuroSign + : "\244" EuroSign + : "\244" EuroSign + : "\245" yen + : "\245" yen + : "\245" yen + : "\245" yen + : "\245" yen + : "\245" yen + : "\245" yen + : "\245" yen + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + : "\247" section + <0> : "\247" section + <0> : "\247" section + <0> : "\247" section + <0> : "\247" section + : "\251" copyright + : "\251" copyright + : "\251" copyright + : "\251" copyright + : "\251" copyright + : "\251" copyright + : "\251" copyright + : "\251" copyright + <0> : "\251" copyright + <0> : "\251" copyright + <0> : "\251" copyright + <0> : "\251" copyright + : "\251" copyright + : "\252" ordfeminine + : "\252" ordfeminine + : "\252" ordfeminine + : "\252" ordfeminine + : "\272" masculine + : "\272" masculine + : "\272" masculine + : "\272" masculine + : "\253" guillemotleft + : "\273" guillemotright + <0> : "\260" degree + <0> : "\260" degree + <0> : "\260" degree + <0> : "\260" degree + : "\261" plusminus + : "\261" plusminus + : "\265" mu + : "\265" mu + : "\265" mu + : "\265" mu + <1> : "\271" onesuperior + <1> : "\271" onesuperior + <1> : "\271" onesuperior + <1> : "\271" onesuperior + <1> : "\271" onesuperior + <1> : "\271" onesuperior + <2> : "\262" twosuperior + <2> : "\262" twosuperior + <2> : "\262" twosuperior + <2> : "\262" twosuperior + <2> : "\262" twosuperior + <2> : "\262" twosuperior + <3> : "\263" threesuperior + <3> : "\263" threesuperior + <3> : "\263" threesuperior + <3> : "\263" threesuperior + <3> : "\263" threesuperior + <3> : "\263" threesuperior +

: "\266" paragraph +

: "\266" paragraph +

: "\266" paragraph +

: "\266" paragraph + : "\267" periodcentered + : "\267" periodcentered + : "\267" periodcentered + : "\277" questiondown + : "\240" nobreakspace + : "\254" notsign + : "\254" notsign + : "\255" hyphen + : "\256" registered + : "\256" registered + : "\256" registered + : "\257" macron + : "\257" macron + : "\257" macron + : "\257" macron + : "\257" macron + : "\367" division + : "\367" division + : "\327" multiply + : "\264" acute + : "\270" cedilla + : "\250" diaeresis +# Accented Alphabet + : "\300" Agrave + : "\300" Agrave + : "\301" Aacute + : "\301" Aacute + : "\301" Aacute + : "\301" Aacute + : "\302" Acircumflex + : "\302" Acircumflex + : "\302" Acircumflex + : "\302" Acircumflex + : "\303" Atilde + : "\303" Atilde + : "\303" Atilde + : "\303" Atilde + : "\304" Adiaeresis + : "\304" Adiaeresis + : "\304" Adiaeresis + : "\304" Adiaeresis + : "\305" Aring + : "\305" Aring + : "\305" Aring + : "\306" SCHWA + : "\340" agrave + : "\340" agrave + : "\341" aacute + : "\341" aacute + : "\341" aacute + : "\341" aacute + : "\342" acircumflex + : "\342" acircumflex + : "\342" acircumflex + : "\342" acircumflex + : "\343" atilde + : "\343" atilde + : "\343" atilde + : "\343" atilde + : "\344" adiaeresis + : "\344" adiaeresis + : "\344" adiaeresis + : "\344" adiaeresis + : "\345" aring + : "\345" aring + : "\345" aring + : "\346" schwa + : "\307" Ccedilla + : "\307" Ccedilla + : "\307" Ccedilla + : "\307" Ccedilla + : "\347" ccedilla + : "\347" ccedilla + : "\347" ccedilla + : "\347" ccedilla + : "\320" ETH + : "\320" ETH + : "\360" eth + : "\360" eth + : "\310" Egrave + : "\310" Egrave + : "\311" Eacute + : "\311" Eacute + : "\311" Eacute + : "\311" Eacute + : "\312" Ecircumflex + : "\312" Ecircumflex + : "\312" Ecircumflex + : "\312" Ecircumflex + : "\313" Ediaeresis + : "\313" Ediaeresis + : "\313" Ediaeresis + : "\313" Ediaeresis + : "\350" egrave + : "\350" egrave + : "\351" eacute + : "\351" eacute + : "\351" eacute + : "\351" eacute + : "\352" ecircumflex + : "\352" ecircumflex + : "\352" ecircumflex + : "\352" ecircumflex + : "\353" ediaeresis + : "\353" ediaeresis + : "\353" ediaeresis + : "\353" ediaeresis + : "\320" Gbreve + : "\320" Gbreve + : "\320" Gbreve + : "\320" Gbreve + : "\320" Gbreve + : "\360" gbreve + : "\360" gbreve + : "\360" gbreve + : "\360" gbreve + : "\360" gbreve + : "\314" Igrave + : "\314" Igrave + : "\315" Iacute + : "\315" Iacute + : "\315" Iacute + : "\315" Iacute + : "\316" Icircumflex + : "\316" Icircumflex + : "\316" Icircumflex + : "\316" Icircumflex + : "\317" Idiaeresis + : "\317" Idiaeresis + : "\317" Idiaeresis + : "\317" Idiaeresis + : "\335" Iabovedot + : "\335" Iabovedot + : "\354" igrave + : "\354" igrave + : "\355" iacute + : "\355" iacute + : "\355" iacute + : "\355" iacute + : "\356" icircumflex + : "\356" icircumflex + : "\356" icircumflex + : "\356" icircumflex + : "\357" idiaeresis + : "\357" idiaeresis + : "\357" idiaeresis + : "\357" idiaeresis + : "\375" idotless + : "\375" idotless + : "\321" Ntilde + : "\321" Ntilde + : "\321" Ntilde + : "\321" Ntilde + : "\361" ntilde + : "\361" ntilde + : "\361" ntilde + : "\361" ntilde + : "\322" Ograve + : "\322" Ograve + : "\323" Oacute + : "\323" Oacute + : "\323" Oacute + : "\323" Oacute + : "\324" Ocircumflex + : "\324" Ocircumflex + : "\324" Ocircumflex + : "\324" Ocircumflex + : "\325" Otilde + : "\325" Otilde + : "\325" Otilde + : "\325" Otilde + : "\326" Odiaeresis + : "\326" Odiaeresis + : "\326" Odiaeresis + : "\326" Odiaeresis + : "\330" Ooblique + : "\330" Ooblique + : "\274" OE + : "\362" ograve + : "\362" ograve + : "\363" oacute + : "\363" oacute + : "\363" oacute + : "\363" oacute + : "\364" ocircumflex + : "\364" ocircumflex + : "\364" ocircumflex + : "\364" ocircumflex + : "\365" otilde + : "\365" otilde + : "\365" otilde + : "\365" otilde + : "\366" odiaeresis + : "\366" odiaeresis + : "\366" odiaeresis + : "\366" odiaeresis + : "\370" oslash + : "\370" oslash + : "\336" Scedilla + : "\336" Scedilla + : "\336" Scedilla + : "\376" scedilla + : "\336" Scedilla + : "\376" scedilla + : "\376" scedilla + : "\376" scedilla + : "\331" Ugrave + : "\331" Ugrave + : "\332" Uacute + : "\332" Uacute + : "\332" Uacute + : "\332" Uacute + : "\333" Ucircumflex + : "\333" Ucircumflex + : "\333" Ucircumflex + : "\333" Ucircumflex + : "\334" Udiaeresis + : "\334" Udiaeresis + : "\334" Udiaeresis + : "\334" Udiaeresis + : "\371" ugrave + : "\371" ugrave + : "\372" uacute + : "\372" uacute + : "\372" uacute + : "\372" uacute + : "\373" ucircumflex + : "\373" ucircumflex + : "\373" ucircumflex + : "\373" ucircumflex + : "\374" udiaeresis + : "\374" udiaeresis + : "\374" udiaeresis + : "\374" udiaeresis + : "\337" ssharp + : "\336" THORN + : "\376" thorn + : "\327" Yacute + : "\327" Yacute + : "\327" Yacute + : "\327" Yacute + : "\276" Ydiaeresis + : "\276" Ydiaeresis + : "\276" Ydiaeresis + : "\276" Ydiaeresis + : "\367" yacute + : "\367" yacute + : "\367" yacute + : "\367" yacute + : "\377" ydiaeresis + : "\377" ydiaeresis + : "\377" ydiaeresis + : "\377" ydiaeresis + : "\241" Zcaron + : "\241" Zcaron + : "\261" zcaron + : "\261" zcaron + : "\241" Zcaron + : "\261" zcaron + : "\252" Gcaron + : "\252" Gcaron + : "\272" gcaron + : "\272" gcaron + : "\252" Gcaron + : "\272" gcaron + : "\264" Ocaron + : "\264" Ocaron + : "\275" ocaron + : "\275" ocaron + : "\264" Ocaron + : "\275" ocaron +# +# dead key accent keysyms +# Special Character + : "|" bar + : "`" grave + : "'" apostrophe + : "\250" diaeresis + : "^" asciicircum + : "~" asciitilde + <0> : "\260" degree + <1> : "\271" onesuperior + <2> : "\262" twosuperior + <3> : "\263" threesuperior + : "\267" periodcentered + : "\254" notsign + : "\257" macron + : "\257" macron + : "\264" acute + : "\270" cedilla + : "\250" diaeresis +# Accented Alphabet + : "\305" Aring + : "\345" aring + : "\300" Agrave + : "\301" Aacute + : "\302" Acircumflex + : "\303" Atilde + : "\304" Adiaeresis + : "\340" agrave + : "\341" aacute + : "\342" acircumflex + : "\343" atilde + : "\344" adiaeresis + : "\307" Ccedilla + : "\347" ccedilla + : "\310" Egrave + : "\311" Eacute + : "\312" Ecircumflex + : "\313" Ediaeresis + : "\350" egrave + : "\351" eacute + : "\352" ecircumflex + : "\353" ediaeresis + : "\320" Gbreve + : "\360" gbreve + : "\335" Iabovedot + : "\314" Igrave + : "\315" Iacute + : "\316" Icircumflex + : "\317" Idiaeresis + : "\375" idotless + : "\354" igrave + : "\355" iacute + : "\356" icircumflex + : "\357" idiaeresis + : "\321" Ntilde + : "\361" ntilde + : "\322" Ograve + : "\323" Oacute + : "\324" Ocircumflex + : "\325" Otilde + : "\326" Odiaeresis + : "\362" ograve + : "\363" oacute + : "\364" ocircumflex + : "\365" otilde + : "\366" odiaeresis + : "\336" Scedilla + : "\376" scedilla + : "\331" Ugrave + : "\332" Uacute + : "\333" Ucircumflex + : "\334" Udiaeresis + : "\371" ugrave + : "\372" uacute + : "\373" ucircumflex + : "\374" udiaeresis + : "\327" Yacute + : "\276" Ydiaeresis + : "\367" yacute + : "\377" ydiaeresis + : "\241" Zcaron + : "\261" zcaron + : "\252" Gcaron + : "\272" gcaron +# End of Sequence Definition diff --git a/locale/iso8859-9e/XI18N_OBJS b/locale/iso8859-9e/XI18N_OBJS new file mode 100644 index 0000000..a0d710b --- /dev/null +++ b/locale/iso8859-9e/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for iso8859-9e locale +# +XLC common/xlcDef _XlcDefaultLoader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/iso8859-9e/XLC_LOCALE b/locale/iso8859-9e/XLC_LOCALE new file mode 100644 index 0000000..a11873a --- /dev/null +++ b/locale/iso8859-9e/XLC_LOCALE @@ -0,0 +1,83 @@ + +# XLocale Database Sample for iso8859-9e. +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary ISO8859-9E:GL + substitute ISO8859-1:GL + vertical_rotate all + } +} +# fs1 class +fs1 { + charset { + name ISO8859-9E:GR + } + font { + primary ISO8859-9E:GR + } +} +END XLC_FONTSET +# +# XLC_CHARSET_DEFINE category +# +XLC_CHARSET_DEFINE +csd0 { + charset_name ISO8859-9E + side GR + length 1 + string_encoding False + sequence \x1b%/1 +} +END XLC_CHARSET_DEFINE + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name ISO8859-9E +mb_cur_max 1 +state_depend_encoding False + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True +force_convert_to_mb True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding ISO8859-9E:GL; ISO8859-1:GL +} + + +# cs1 class +cs1 { + side GR:Default + length 1 + + + + wc_encoding \x00008080 + + ct_encoding ISO8859-9E:GR +} + +END XLC_XLOCALE diff --git a/locale/ja.JIS/Compose b/locale/ja.JIS/Compose new file mode 100644 index 0000000..03abdd0 --- /dev/null +++ b/locale/ja.JIS/Compose @@ -0,0 +1,15 @@ + +# +# ja.JIS Compose Sequence +# +# Sequence Definition +# +# +# This file currently has no entries. It appears that a compose file (even +# just an empty one) is required for the appropriate keysyms to work for +# this encoding. +# +# Means +# Special Character + +# End of Sequence Definition diff --git a/locale/ja.JIS/XI18N_OBJS b/locale/ja.JIS/XI18N_OBJS new file mode 100644 index 0000000..0cf97ee --- /dev/null +++ b/locale/ja.JIS/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for ja.JIS locale +# +XLC common/xlibi18n _XlcGenericLoader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/ja.JIS/XLC_LOCALE b/locale/ja.JIS/XLC_LOCALE new file mode 100644 index 0000000..56a52f4 --- /dev/null +++ b/locale/ja.JIS/XLC_LOCALE @@ -0,0 +1,123 @@ + +# +# XLocale Database Sample for ja_JP.jis +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class (7 bit ASCII) +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary ISO8859-1:GL + substitute JISX0201.1976-0:GL + vertical_rotate all + } +} +# fs1 class (Kanji) +fs1 { + charset { + name JISX0208.1983-0:GL + } + font { + primary JISX0208.1983-0:GL + substitute JISX0208.1990-0:GL + } +} +# fs2 class (Half Kana) +fs2 { + charset { + name JISX0201.1976-0:GR + } + font { + primary JISX0201.1976-0:GR + substitute JISX0201.1976-0:GR + vertical_rotate all + } +} +# fs3 class (Supplementary Kanji) +# fs3 { +# charset { +# name JISX0212.1990-0:GL +# } +# font { +# primary JISX0212.1990-0:GL +# } +# } +END XLC_FONTSET + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name ja.jis +mb_cur_max 5 +state_depend_encoding True + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True +force_convert_to_mb True + +# cs0 class +cs0 { + side GL:Default + length 1 + mb_encoding \x1b \x28 \x4a;\ + \x1b \x28 \x42 + wc_encoding \x00000000 + ct_encoding ISO8859-1:GL; JISX0201.1976-0:GL +} + +# cs1 class +cs1 { + side GL + length 2 + mb_encoding \x1b \x24 \x42;\ + \x1b \x24 \x40 + + + + wc_encoding \x00008080 + + ct_encoding JISX0208.1983-0:GL; JISX0208.1983-0:GR;\ + JISX0208.1983-1:GL; JISX0208.1983-1:GR +} + +# cs2 class +cs2 { + side GL + length 1 + mb_encoding \x1b \x28 \x49 + + + + wc_encoding \x00000080 + + ct_encoding JISX0201.1976-0:GR +} + +# cs3 class +# cs3 { +# side GL +# length 2 +# mb_encoding \x1b \x24 \x28 \x44 +# #if WCHAR32 +# wc_encoding \x20000000 +# #else +# wc_encoding \x00008000 +# #endif +# ct_encoding JISX0212.1990-0:GL; JISX0212.1990-0:GR +# } + +END XLC_XLOCALE diff --git a/locale/ja.SJIS/Compose b/locale/ja.SJIS/Compose new file mode 100644 index 0000000..d20bb56 --- /dev/null +++ b/locale/ja.SJIS/Compose @@ -0,0 +1,15 @@ + +# +# ja.SJIS Compose Sequence +# +# Sequence Definition +# +# +# This file currently has no entries. It appears that a compose file (even +# just an empty one) is required for the appropriate keysyms to work for +# this encoding. +# +# Means +# Special Character + +# End of Sequence Definition diff --git a/locale/ja.SJIS/XI18N_OBJS b/locale/ja.SJIS/XI18N_OBJS new file mode 100644 index 0000000..29dffff --- /dev/null +++ b/locale/ja.SJIS/XI18N_OBJS @@ -0,0 +1,10 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for ja locale +# +XLC ja_JP.PCK/xlibi18n_PCK _XlcGenericLoader # XLC_open +XLC common/xlibi18n _XlcGenericLoader # XLC_open +XIM common/ximp40 _Ximp_OpenIM # XIM_open +XIM common/ximlocal _XimpLocalOpenIM # XIM_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_regiser XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/ja.SJIS/XLC_LOCALE b/locale/ja.SJIS/XLC_LOCALE new file mode 100644 index 0000000..b190949 --- /dev/null +++ b/locale/ja.SJIS/XLC_LOCALE @@ -0,0 +1,383 @@ + +# +# XLocale Database Sample for ja_JP.sjis +# + + + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class (7 bit ASCII) +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary ISO8859-1:GL + substitute JISX0201.1976-0:GL + vertical_rotate all + } +} +# fs1 class (Kanji) +fs1 { + charset { + name JISX0208.1983-0:GL + } + font { + primary JISX0208.1983-0:GL + substitute JISX0208.1990-0:GL + } +} +# fs2 class (Half Kana) +fs2 { + charset { + name JISX0201.1976-0:GR + } + font { + primary JISX0201.1976-0:GR + substitute JISX0201.1976-0:GR + vertical_rotate all + } +} +# fs3 class (Supplementary Kanji) +# fs3 { +# charset { +# name JISX0212.1990-0:GL +# } +# font { +# primary JISX0212.1990-0:GL +# } +# } +END XLC_FONTSET + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name ja.sjis +mb_cur_max 2 +state_depend_encoding False + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True +force_convert_to_mb True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding ISO8859-1:GL; JISX0201.1976-0:GL +} + +# cs1 class +cs1 { + side none + length 2 + byte1 \x81,\x9f;\xe0,\xef + byte2 \x40,\x7e;\x80,\xfc + + + + wc_encoding \x00008080 + + ct_encoding JISX0208.1983-0:GL; JISX0208.1983-0:GR;\ + JISX0208.1983-1:GL; JISX0208.1983-1:GR + mb_conversion \ + [\x8140,\x817e]->\x2121,[\x8180,\x819e]->\x2160,[\x819f,\x81fc]->\x2221,\ + [\x8240,\x827e]->\x2321,[\x8280,\x829e]->\x2360,[\x829f,\x82fc]->\x2421,\ + [\x8340,\x837e]->\x2521,[\x8380,\x839e]->\x2560,[\x839f,\x83fc]->\x2621,\ + [\x8440,\x847e]->\x2721,[\x8480,\x849e]->\x2760,[\x849f,\x84fc]->\x2821,\ + [\x8540,\x857e]->\x2921,[\x8580,\x859e]->\x2960,[\x859f,\x85fc]->\x2a21,\ + [\x8640,\x867e]->\x2b21,[\x8680,\x869e]->\x2b60,[\x869f,\x86fc]->\x2c21,\ + [\x8740,\x877e]->\x2d21,[\x8780,\x879e]->\x2d60,[\x879f,\x87fc]->\x2e21,\ + [\x8840,\x887e]->\x2f21,[\x8880,\x889e]->\x2f60,[\x889f,\x88fc]->\x3021,\ + [\x8940,\x897e]->\x3121,[\x8980,\x899e]->\x3160,[\x899f,\x89fc]->\x3221,\ + [\x8a40,\x8a7e]->\x3321,[\x8a80,\x8a9e]->\x3360,[\x8a9f,\x8afc]->\x3421,\ + [\x8b40,\x8b7e]->\x3521,[\x8b80,\x8b9e]->\x3560,[\x8b9f,\x8bfc]->\x3621,\ + [\x8c40,\x8c7e]->\x3721,[\x8c80,\x8c9e]->\x3760,[\x8c9f,\x8cfc]->\x3821,\ + [\x8d40,\x8d7e]->\x3921,[\x8d80,\x8d9e]->\x3960,[\x8d9f,\x8dfc]->\x3a21,\ + [\x8e40,\x8e7e]->\x3b21,[\x8e80,\x8e9e]->\x3b60,[\x8e9f,\x8efc]->\x3c21,\ + [\x8f40,\x8f7e]->\x3d21,[\x8f80,\x8f9e]->\x3d60,[\x8f9f,\x8ffc]->\x3e21,\ + [\x9040,\x907e]->\x3f21,[\x9080,\x909e]->\x3f60,[\x909f,\x90fc]->\x4021,\ + [\x9140,\x917e]->\x4121,[\x9180,\x919e]->\x4160,[\x919f,\x91fc]->\x4221,\ + [\x9240,\x927e]->\x4321,[\x9280,\x929e]->\x4360,[\x929f,\x92fc]->\x4421,\ + [\x9340,\x937e]->\x4521,[\x9380,\x939e]->\x4560,[\x939f,\x93fc]->\x4621,\ + [\x9440,\x947e]->\x4721,[\x9480,\x949e]->\x4760,[\x949f,\x94fc]->\x4821,\ + [\x9540,\x957e]->\x4921,[\x9580,\x959e]->\x4960,[\x959f,\x95fc]->\x4a21,\ + [\x9640,\x967e]->\x4b21,[\x9680,\x969e]->\x4b60,[\x969f,\x96fc]->\x4c21,\ + [\x9740,\x977e]->\x4d21,[\x9780,\x979e]->\x4d60,[\x979f,\x97fc]->\x4e21,\ + [\x9840,\x987e]->\x4f21,[\x9880,\x989e]->\x4f60,[\x989f,\x98fc]->\x5021,\ + [\x9940,\x997e]->\x5121,[\x9980,\x999e]->\x5160,[\x999f,\x99fc]->\x5221,\ + [\x9a40,\x9a7e]->\x5321,[\x9a80,\x9a9e]->\x5360,[\x9a9f,\x9afc]->\x5421,\ + [\x9b40,\x9b7e]->\x5521,[\x9b80,\x9b9e]->\x5560,[\x9b9f,\x9bfc]->\x5621,\ + [\x9c40,\x9c7e]->\x5721,[\x9c80,\x9c9e]->\x5760,[\x9c9f,\x9cfc]->\x5821,\ + [\x9d40,\x9d7e]->\x5921,[\x9d80,\x9d9e]->\x5960,[\x9d9f,\x9dfc]->\x5a21,\ + [\x9e40,\x9e7e]->\x5b21,[\x9e80,\x9e9e]->\x5b60,[\x9e9f,\x9efc]->\x5c21,\ + [\x9f40,\x9f7e]->\x5d21,[\x9f80,\x9f9e]->\x5d60,[\x9f9f,\x9ffc]->\x5e21,\ + [\xe040,\xe07e]->\x5f21,[\xe080,\xe09e]->\x5f60,[\xe09f,\xe0fc]->\x6021,\ + [\xe140,\xe17e]->\x6121,[\xe180,\xe19e]->\x6160,[\xe19f,\xe1fc]->\x6221,\ + [\xe240,\xe27e]->\x6321,[\xe280,\xe29e]->\x6360,[\xe29f,\xe2fc]->\x6421,\ + [\xe340,\xe37e]->\x6521,[\xe380,\xe39e]->\x6560,[\xe39f,\xe3fc]->\x6621,\ + [\xe440,\xe47e]->\x6721,[\xe480,\xe49e]->\x6760,[\xe49f,\xe4fc]->\x6821,\ + [\xe540,\xe57e]->\x6921,[\xe580,\xe59e]->\x6960,[\xe59f,\xe5fc]->\x6a21,\ + [\xe640,\xe67e]->\x6b21,[\xe680,\xe69e]->\x6b60,[\xe69f,\xe6fc]->\x6c21,\ + [\xe740,\xe77e]->\x6d21,[\xe780,\xe79e]->\x6d60,[\xe79f,\xe7fc]->\x6e21,\ + [\xe840,\xe87e]->\x6f21,[\xe880,\xe89e]->\x6f60,[\xe89f,\xe8fc]->\x7021,\ + [\xe940,\xe97e]->\x7121,[\xe980,\xe99e]->\x7160,[\xe99f,\xe9fc]->\x7221,\ + [\xea40,\xea7e]->\x7321,[\xea80,\xea9e]->\x7360,[\xea9f,\xeafc]->\x7421,\ + [\xeb40,\xeb7e]->\x7521,[\xeb80,\xeb9e]->\x7560,[\xeb9f,\xebfc]->\x7621,\ + [\xec40,\xec7e]->\x7721,[\xec80,\xec9e]->\x7760,[\xec9f,\xecfc]->\x7821,\ + [\xed40,\xed7e]->\x7921,[\xed80,\xed9e]->\x7960,[\xed9f,\xedfc]->\x7a21,\ + [\xee40,\xee7e]->\x7b21,[\xee80,\xee9e]->\x7b60,[\xee9f,\xeefc]->\x7c21,\ + [\xef40,\xef7e]->\x7d21,[\xef80,\xef9e]->\x7d60,[\xef9f,\xeffc]->\x7e21 +} + +# cs2 class +cs2 { + side GR + length 1 + + + + wc_encoding \x00000080 + + ct_encoding JISX0201.1976-0:GR +} + +# cs3 class +# cs3 { +# side GR +# length 2 +# #if WCHAR32 +# wc_encoding \x20000000 +# #else +# wc_encoding \x00008000 +# #endif +# ct_encoding JISX0212.1990-0:GL; JISX0212.1990-0:GR +# } + +END XLC_XLOCALE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/locale/ja/Compose b/locale/ja/Compose new file mode 100644 index 0000000..4815ab1 --- /dev/null +++ b/locale/ja/Compose @@ -0,0 +1,15 @@ + +# +# ja Compose Sequence +# +# Sequence Definition +# +# +# This file currently has no entries. It appears that a compose file (even +# just an empty one) is required for the appropriate keysyms to work for +# this encoding. +# +# Means +# Special Character + +# End of Sequence Definition diff --git a/locale/ja/XI18N_OBJS b/locale/ja/XI18N_OBJS new file mode 100644 index 0000000..50b51fe --- /dev/null +++ b/locale/ja/XI18N_OBJS @@ -0,0 +1,11 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for ja locale +# +XLC ja/xlibi18n_ja _XlcGenericLoader # XLC_open +XLC common/xlibi18n _XlcGenericLoader # XLC_open +#XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_regiser XIM_unregister +XIM common/ximp40 _Ximp_OpenIM # XIM_open +XIM common/ximlocal _XimpLocalOpenIM # XIM_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_regiser XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/ja/XLC_LOCALE b/locale/ja/XLC_LOCALE new file mode 100644 index 0000000..25f00e5 --- /dev/null +++ b/locale/ja/XLC_LOCALE @@ -0,0 +1,123 @@ + +# +# XLocale Database Sample for ja_JP.euc +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class (7 bit ASCII) +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary ISO8859-1:GL + substitute JISX0201.1976-0:GL + vertical_rotate all + } +} +# fs1 class (Kanji) +fs1 { + charset { + name JISX0208.1983-0:GL + udc_area \x7521,\x7e7e + } + font { + primary JISX0208.1983-0:GL + substitute JISX0208.1990-0:GL + } +} +# fs2 class (Half Kana) +fs2 { + charset { + name JISX0201.1976-0:GR + } + font { + primary JISX0201.1976-0:GR + substitute JISX0201.1976-0:GR + vertical_rotate all + } +} +# fs3 class (Supplementary Kanji) +# fs3 { +# charset { +# name JISX0212.1990-0:GL +# udc_area \x7521,\x7e7e +# } +# font { +# primary JISX0212.1990-0:GL +# } +# } +END XLC_FONTSET + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name ja.euc +mb_cur_max 3 +state_depend_encoding False + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True +force_convert_to_mb True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding ISO8859-1:GL; JISX0201.1976-0:GL +} + +# cs1 class +cs1 { + side GR:Default + length 2 + + + + wc_encoding \x00008080 + + ct_encoding JISX0208.1983-0:GL; JISX0208.1983-0:GR;\ + JISX0208.1983-1:GL; JISX0208.1983-1:GR +} + +# cs2 class +cs2 { + side GR + length 1 + mb_encoding \x8e + + + + wc_encoding \x00000080 + + ct_encoding JISX0201.1976-0:GR +} + +# cs3 class +# cs3 { +# side GL +# length 2 +# mb_encoding \x8f +# #if WCHAR32 +# wc_encoding \x20000000 +# #else +# wc_encoding \x00008000 +# #endif +# ct_encoding JISX0212.1990-0:GL; JISX0212.1990-0:GR +# } + + +END XLC_XLOCALE + diff --git a/locale/ja_JP.UTF-8/Compose b/locale/ja_JP.UTF-8/Compose new file mode 100644 index 0000000..ee70e4d --- /dev/null +++ b/locale/ja_JP.UTF-8/Compose @@ -0,0 +1,2 @@ + +include "X11_LOCALEDATADIR/en_US.UTF-8/Compose" diff --git a/locale/ja_JP.UTF-8/XI18N_OBJS b/locale/ja_JP.UTF-8/XI18N_OBJS new file mode 100644 index 0000000..9159b67 --- /dev/null +++ b/locale/ja_JP.UTF-8/XI18N_OBJS @@ -0,0 +1,8 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for ja_JP.UTF-8 locale +# +# +XLC common/xlcUTF8Load _XlcUtf8Loader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/ja_JP.UTF-8/XLC_LOCALE b/locale/ja_JP.UTF-8/XLC_LOCALE new file mode 100644 index 0000000..6985355 --- /dev/null +++ b/locale/ja_JP.UTF-8/XLC_LOCALE @@ -0,0 +1,150 @@ + +# + +# +# XLC_FONTSET category +# +XLC_FONTSET + +on_demand_loading True + +object_name generic + +# We leave the legacy encodings in for the moment, because we don't +# have that many ISO10646 fonts yet. +# fs0 class (7 bit ASCII) +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary ISO8859-1:GL + vertical_rotate all + } +} +# fs1 class (ISO8859 families) +fs1 { + charset { + name ISO8859-1:GR + } + font { + primary ISO8859-1:GR + } +} + +# fs2 class (Kanji) +fs2 { + charset { + name JISX0208.1983-0:GL + } + font { + primary JISX0208.1983-0:GL + } +} + +# fs3 class (Korean Character) +fs3 { + charset { + name KSC5601.1987-0:GL + } + font { + primary KSC5601.1987-0:GL + } +} + +# fs4 class (Chinese Han Character) +fs4 { + charset { + name GB2312.1980-0:GL + } + font { + primary GB2312.1980-0:GL + } +} +# fs5 class (Half Kana) +fs5 { + charset { + name JISX0201.1976-0:GR + } + font { + primary JISX0201.1976-0:GR + vertical_rotate all + } +} +# ISO10646-1 is put last to make usually better-looking +# other fonts are picked up before iso10646-1 fonts. +# Moreover, some iso10646-1 fonts don't have any glyph at all +# in ISO8859-X ranges. + +# fs6 class +fs6 { + charset { + name ISO10646-1 + } + font { + primary ISO10646-1 + } +} + +END XLC_FONTSET + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name UTF-8 +mb_cur_max 6 +state_depend_encoding False + +# cs0 class +cs0 { + side GL:Default + length 1 + ct_encoding ISO8859-1:GL +} + +# cs1 class +cs1 { + side GR:Default + length 1 + ct_encoding ISO8859-1:GR +} + +# cs2 class +cs2 { + side GR + length 2 + ct_encoding JISX0208.1983-0:GL; JISX0208.1983-0:GR; JISX0208.1983-1:GL; JISX0208.1983-1:GR + +} + +# cs3 class +cs3 { + side GL + length 2 + ct_encoding KSC5601.1987-0:GL; KSC5601.1987-0:GR; KSC5601.1987-1:GL; KSC5601.1987-1:GR + +} + +# cs4 class +cs4 { + side GR + length 2 + ct_encoding GB2312.1980-0:GL; GB2312.1980-0:GR +} + +# cs5 class +cs5 { + side GR + length 1 + ct_encoding JISX0201.1976-0:GR +} + +# cs6 class +cs6 { + side none + ct_encoding ISO10646-1 +} + +END XLC_XLOCALE diff --git a/locale/ko/Compose b/locale/ko/Compose new file mode 100644 index 0000000..c044024 --- /dev/null +++ b/locale/ko/Compose @@ -0,0 +1,15 @@ + +# +# ko Compose Sequence +# +# Sequence Definition +# +# +# This file currently has no entries. It appears that a compose file (even +# just an empty one) is required for the appropriate keysyms to work for +# this encoding. +# +# Means +# Special Character + +# End of Sequence Definition diff --git a/locale/ko/XI18N_OBJS b/locale/ko/XI18N_OBJS new file mode 100644 index 0000000..5ee5237 --- /dev/null +++ b/locale/ko/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for ko locale +# +XLC common/xlibi18n _XlcGenericLoader # XLC_open +XIM common/ximp40 _Ximp_OpenIM # XIM_open +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/ko/XLC_LOCALE b/locale/ko/XLC_LOCALE new file mode 100644 index 0000000..4ae3458 --- /dev/null +++ b/locale/ko/XLC_LOCALE @@ -0,0 +1,70 @@ + +# XLocale Database Sample for ko. +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class (7 bit ASCII) +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary ISO8859-1:GL + vertical_rotate all + } +} +# fs1 class +fs1 { + charset { + name KSC5601.1987-0:GL + } + font { + primary KSC5601.1987-0:GL + substitute KSC5601.1987-0:GL + } +} +END XLC_FONTSET + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name ko.euc +mb_cur_max 2 +state_depend_encoding False + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True +force_convert_to_mb True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding ISO8859-1:GL +} + +# cs1 class +cs1 { + side GR:Default + length 2 + + + + wc_encoding \x00008080 + + ct_encoding KSC5601.1987-0:GL; KSC5601.1987-0:GR +} + +END XLC_XLOCALE diff --git a/locale/ko_KR.UTF-8/Compose b/locale/ko_KR.UTF-8/Compose new file mode 100644 index 0000000..ee70e4d --- /dev/null +++ b/locale/ko_KR.UTF-8/Compose @@ -0,0 +1,2 @@ + +include "X11_LOCALEDATADIR/en_US.UTF-8/Compose" diff --git a/locale/ko_KR.UTF-8/XI18N_OBJS b/locale/ko_KR.UTF-8/XI18N_OBJS new file mode 100644 index 0000000..96e753c --- /dev/null +++ b/locale/ko_KR.UTF-8/XI18N_OBJS @@ -0,0 +1,8 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for ko_KR.UTF-8 locale +# +# +XLC common/xlcUTF8Load _XlcUtf8Loader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/ko_KR.UTF-8/XLC_LOCALE b/locale/ko_KR.UTF-8/XLC_LOCALE new file mode 100644 index 0000000..bb22026 --- /dev/null +++ b/locale/ko_KR.UTF-8/XLC_LOCALE @@ -0,0 +1,148 @@ + + +# +# XLC_FONTSET category +# +XLC_FONTSET + +on_demand_loading True + +object_name generic + +# We leave the legacy encodings in for the moment, because we don't +# have that many ISO10646 fonts yet. +# fs0 class (7 bit ASCII) +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary ISO8859-1:GL + vertical_rotate all + } +} +# fs1 class (ISO8859 families) +fs1 { + charset { + name ISO8859-1:GR + } + font { + primary ISO8859-1:GR + } +} + +# fs2 class (Korean Character) +fs2 { + charset { + name KSC5601.1987-0:GL + } + font { + primary KSC5601.1987-0:GL + } +} +# fs3 class (Kanji) +fs3 { + charset { + name JISX0208.1983-0:GL + } + font { + primary JISX0208.1983-0:GL + } +} +# fs4 class (Chinese Han Character) +fs4 { + charset { + name GB2312.1980-0:GL + } + font { + primary GB2312.1980-0:GL + } +} +# fs5 class (Half Kana) +fs5 { + charset { + name JISX0201.1976-0:GR + } + font { + primary JISX0201.1976-0:GR + vertical_rotate all + } +} + +# ISO10646-1 is put last to make usually better-looking +# other fonts are picked up before iso10646-1 fonts. +# Moreover, some iso10646-1 fonts don't have any glyph at all +# in ISO8859-X ranges. + +# fs6 class +fs6 { + charset { + name ISO10646-1 + } + font { + primary ISO10646-1 + } +} + +END XLC_FONTSET + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name UTF-8 +mb_cur_max 6 +state_depend_encoding False + +# cs0 class +cs0 { + side GL:Default + length 1 + ct_encoding ISO8859-1:GL +} + +# cs1 class +cs1 { + side GR:Default + length 1 + ct_encoding ISO8859-1:GR +} + +# cs2 class +cs2 { + side GL + length 2 + ct_encoding KSC5601.1987-0:GL; KSC5601.1987-0:GR; KSC5601.1987-1:GL; KSC5601.1987-1:GR + +} + +# cs3 class +cs3 { + side GR + length 2 + ct_encoding JISX0208.1983-0:GL; JISX0208.1983-0:GR; JISX0208.1983-1:GL; JISX0208.1983-1:GR + +} + +# cs4 class +cs4 { + side GR + length 2 + ct_encoding GB2312.1980-0:GL; GB2312.1980-0:GR +} + +# cs5 class +cs5 { + side GR + length 1 + ct_encoding JISX0201.1976-0:GR +} + +# cs6 class +cs6 { + side none + ct_encoding ISO10646-1 +} + +END XLC_XLOCALE diff --git a/locale/koi8-c/Compose b/locale/koi8-c/Compose new file mode 100644 index 0000000..0d3a6ec --- /dev/null +++ b/locale/koi8-c/Compose @@ -0,0 +1,123 @@ + +# +# koi8-c Compose Sequence +# +# Sequence Definition +# +# + +# Means +# Special Character + : "#" numbersign + : "'" apostrophe + : "'" apostrophe + : "@" at + : "[" bracketleft + : "\\" backslash + : "\\" backslash + : "\\" backslash + : "]" bracketright + : "^" asciicircum + : "^" asciicircum + : "^" asciicircum + : "^" asciicircum + : "`" grave + : "`" grave + : "{" braceleft + : "{" braceleft + : "|" bar + : "|" bar + : "|" bar + : "|" bar + : "|" bar + : "|" bar + : "}" braceright + : "}" braceright + : "~" asciitilde + : "~" asciitilde + : "~" asciitilde + : "~" asciitilde + + : "\240" nobreakspace + + : "\200" Cyrillic_ghe_bar + : "\220" Cyrillic_GHE_bar + : "\201" Cyrillic_zhe_descender + : "\221" Cyrillic_ZHE_descender + : "\202" Cyrillic_ka_descender + : "\222" Cyrillic_KA_descender + : "\203" Cyrillic_ka_vertstroke + : "\223" Cyrillic_KA_vertstroke + : "\203" Cyrillic_ka_vertstroke + : "\223" Cyrillic_KA_vertstroke + : "\204" Cyrillic_en_descender + : "\224" Cyrillic_EN_descender + : "\205" Cyrillic_u_straight + : "\225" Cyrillic_U_straight + : "\205" Cyrillic_u_straight + : "\225" Cyrillic_U_straight + : "\206" Cyrillic_u_straight_bar + : "\226" Cyrillic_U_straight_bat + : "\206" Cyrillic_u_straight_bar + : "\226" Cyrillic_U_straight_bat + : "\207" Cyrillic_ha_descender + : "\227" Cyrillic_HA_descender + : "\210" Cyrillic_che_descender + : "\230" Cyrillic_CHE_descender + : "\211" Cyrillic_che_vertstroke + : "\231" Cyrillic_CHE_vertstroke + : "\211" Cyrillic_che_vertstroke + : "\231" Cyrillic_CHE_vertstroke + : "\212" Cyrillic_shha + : "\232" Cyrillic_SHHA + : "\212" Cyrillic_shha + : "\232" Cyrillic_SHHA + : "\212" Cyrillic_shha + : "\232" Cyrillic_SHHA + : "\213" Cyrillic_schwa + : "\233" Cyrillic_SCHWA + : "\213" Cyrillic_schwa + : "\233" Cyrillic_SCHWA + : "\214" Cyrillic_i_macron + : "\234" Cyrillic_I_macron + : "\215" Cyrillic_o_bar + : "\235" Cyrillic_O_bar + : "\216" Cyrillic_u_macron + : "\236" Cyrillic_U_macron + + : "\241" Serbian_dje + : "\261" Serbian_DJE + : "\242" Macedonia_gje + : "\262" Macedonia_GJE + : "\243" Cyrillic_io + : "\263" Cyrillic_IO + : "\243" Cyrillic_io + : "\263" Cyrillic_IO + : "\243" Cyrillic_io + : "\263" Cyrillic_IO + + : "\251" Cyrillic_lje + : "\271" Cyrillic_LJE + : "\252" Cyrillic_nje + : "\272" Cyrillic_NJE + + : "\300" Cyrillic_yu + : "\340" Cyrillic_YU + : "\300" Cyrillic_yu + : "\340" Cyrillic_YU + + : "\303" Cyrillic_tse + : "\343" Cyrillic_TSE + + : "\321" Cyrillic_ya + : "\361" Cyrillic_YA + : "\321" Cyrillic_ya + : "\361" Cyrillic_YA + + + : "\335" Cyrillic_shcha + : "\375" Cyrillic_SHCHA + + + +# End of Sequence Definition diff --git a/locale/koi8-c/XI18N_OBJS b/locale/koi8-c/XI18N_OBJS new file mode 100644 index 0000000..a6374f3 --- /dev/null +++ b/locale/koi8-c/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for koi8-c locale +# +XLC common/xlcDef _XlcDefaultLoader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/koi8-c/XLC_LOCALE b/locale/koi8-c/XLC_LOCALE new file mode 100644 index 0000000..616314a --- /dev/null +++ b/locale/koi8-c/XLC_LOCALE @@ -0,0 +1,78 @@ + +# XLocale Database Sample for koi8-c. +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class (7 bit ASCII) +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary KOI8-C:GL + substitute ISO8859-1:GL + } +} +# fs1 class +fs1 { + charset KOI8-C:GR + font KOI8-C:GR +} +END XLC_FONTSET + +# +# XLC_CHARSET_DEFINE category +# +XLC_CHARSET_DEFINE +csd0 { + charset_name KOI8-C + side GR + length 1 + string_encoding False + sequence \x1b%/1 +} +END XLC_CHARSET_DEFINE + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name KOI8-C +mb_cur_max 1 +state_depend_encoding False + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding KOI8-C:GL; ISO8859-1:GL +} + + +# cs1 class +cs1 { + side GR:Default + length 1 + + + + wc_encoding \x00008080 + + ct_encoding KOI8-C:GR +} + +END XLC_XLOCALE diff --git a/locale/koi8-r/Compose b/locale/koi8-r/Compose new file mode 100644 index 0000000..10ab2c4 --- /dev/null +++ b/locale/koi8-r/Compose @@ -0,0 +1,15 @@ + +# +# koi8-r Compose Sequence +# +# Sequence Definition +# +# +# This file currently has no entries. It appears that a compose file (even +# just an empty one) is required for the appropriate keysyms to work for +# this encoding. +# +# Means +# Special Character + +# End of Sequence Definition diff --git a/locale/koi8-r/XI18N_OBJS b/locale/koi8-r/XI18N_OBJS new file mode 100644 index 0000000..b704fec --- /dev/null +++ b/locale/koi8-r/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for koi8-r locale +# +XLC common/xlcDef _XlcDefaultLoader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/koi8-r/XLC_LOCALE b/locale/koi8-r/XLC_LOCALE new file mode 100644 index 0000000..fb0e384 --- /dev/null +++ b/locale/koi8-r/XLC_LOCALE @@ -0,0 +1,79 @@ + +# XLocale Database Sample for koi8-r. +# +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class (7 bit ASCII) +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary KOI8-R:GL + substitute ISO8859-1:GL + } +} +# fs1 class +fs1 { + charset KOI8-R:GR + font KOI8-R:GR +} +END XLC_FONTSET + +# +# XLC_CHARSET_DEFINE category +# +XLC_CHARSET_DEFINE +csd0 { + charset_name KOI8-R + side GR + length 1 + string_encoding False + sequence \x1b%/1 +} +END XLC_CHARSET_DEFINE + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name KOI8-R +mb_cur_max 1 +state_depend_encoding False + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding KOI8-R:GL; ISO8859-1:GL +} + + +# cs1 class +cs1 { + side GR:Default + length 1 + + + + wc_encoding \x00008080 + + ct_encoding KOI8-R:GR +} + +END XLC_XLOCALE diff --git a/locale/koi8-u/Compose b/locale/koi8-u/Compose new file mode 100644 index 0000000..b24428e --- /dev/null +++ b/locale/koi8-u/Compose @@ -0,0 +1,15 @@ + +# +# koi8-u Compose Sequence +# +# Sequence Definition +# +# +# This file currently has no entries. It appears that a compose file (even +# just an empty one) is required for the appropriate keysyms to work for +# this encoding. +# +# Means +# Special Character + +# End of Sequence Definition diff --git a/locale/koi8-u/XI18N_OBJS b/locale/koi8-u/XI18N_OBJS new file mode 100644 index 0000000..dd2c992 --- /dev/null +++ b/locale/koi8-u/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for koi8-u locale +# +XLC common/xlcDef _XlcDefaultLoader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/koi8-u/XLC_LOCALE b/locale/koi8-u/XLC_LOCALE new file mode 100644 index 0000000..909cde0 --- /dev/null +++ b/locale/koi8-u/XLC_LOCALE @@ -0,0 +1,78 @@ + +# XLocale Database Sample for koi8-u. +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class (7 bit ASCII) +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary KOI8-U:GL + substitute ISO8859-1:GL + } +} +# fs1 class +fs1 { + charset KOI8-U:GR + font KOI8-U:GR +} +END XLC_FONTSET + +# +# XLC_CHARSET_DEFINE category +# +XLC_CHARSET_DEFINE +csd0 { + charset_name KOI8-U + side GR + length 1 + string_encoding False + sequence \x1b%/1 +} +END XLC_CHARSET_DEFINE + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name KOI8-U +mb_cur_max 1 +state_depend_encoding False + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding KOI8-U:GL; ISO8859-1:GL +} + + +# cs1 class +cs1 { + side GR:Default + length 1 + + + + wc_encoding \x00008080 + + ct_encoding KOI8-U:GR +} + +END XLC_XLOCALE diff --git a/locale/locale.alias b/locale/locale.alias new file mode 100644 index 0000000..0fc3106 --- /dev/null +++ b/locale/locale.alias @@ -0,0 +1,2732 @@ + +# +# This file contains alias names of locales. +# Each alias name is described within one line. +# The first word is the alias name (simplified locale name), +# the second word is the full locale name. +# +# + +POSIX C +POSIX-UTF2 C +C_C.C C +C.en C +C.ASCII C +C.iso88591 en_US.ISO8859-1 +Cextend en_US.ISO8859-1 +Cextend.en en_US.ISO8859-1 +English_United-States.437 C +C.UTF-8 en_US.UTF-8 +C.utf8 en_US.UTF-8 +# a3 is not an ISO 639 language code, but in Cyrillic, "Z" looks like "3". +a3 az_AZ.KOI8-C +a3_AZ az_AZ.KOI8-C +a3_AZ.koi8c az_AZ.KOI8-C +a3_AZ.KOI-C az_AZ.KOI8-C +a3_AZ.UTF-8 az_AZ.UTF-8 +af af_ZA.ISO8859-1 +af_ZA af_ZA.ISO8859-1 +af_ZA.iso88591 af_ZA.ISO8859-1 +af_ZA.ISO-8859-1 af_ZA.ISO8859-1 +af_ZA.utf8 af_ZA.UTF-8 +am am_ET.UTF-8 +am_ET am_ET.UTF-8 +ar ar_AA.ISO8859-6 +ar_AA ar_AA.ISO8859-6 +AR_AA ar_AA.ISO8859-6 +Ar_AA ar_AA.ISO8859-6 +AR_AA.UTF-8 ar_AA.UTF-8 +ar_AA.iso88596 ar_AA.ISO8859-6 +ar_AA.ISO-8859-6 ar_AA.ISO8859-6 +ar_AE ar_AE.ISO8859-6 +ar_AE.iso88596 ar_AE.ISO8859-6 +ar_AE.ISO-8859-6 ar_AE.ISO8859-6 +ar_AE.utf8 ar_AE.UTF-8 +ar_BH ar_BH.ISO8859-6 +ar_BH.iso88596 ar_BH.ISO8859-6 +ar_BH.ISO-8859-6 ar_BH.ISO8859-6 +ar_BH.utf8 ar_BH.UTF-8 +ar_DZ ar_DZ.ISO8859-6 +ar_DZ.iso88596 ar_DZ.ISO8859-6 +ar_DZ.ISO-8859-6 ar_DZ.ISO8859-6 +ar_DZ.utf8 ar_DZ.UTF-8 +ar_EG ar_EG.ISO8859-6 +ar_EG.iso88596 ar_EG.ISO8859-6 +ar_EG.ISO-8859-6 ar_EG.ISO8859-6 +ar_EG.utf8 ar_EG.UTF-8 +ar_IN ar_IN.UTF-8 +ar_IN.utf8 ar_IN.UTF-8 +ar_IQ ar_IQ.ISO8859-6 +ar_IQ.iso88596 ar_IQ.ISO8859-6 +ar_IQ.ISO-8859-6 ar_IQ.ISO8859-6 +ar_IQ.utf8 ar_IQ.UTF-8 +ar_JO ar_JO.ISO8859-6 +ar_JO.iso88596 ar_JO.ISO8859-6 +ar_JO.ISO-8859-6 ar_JO.ISO8859-6 +ar_JO.utf8 ar_JO.UTF-8 +ar_KW ar_KW.ISO8859-6 +ar_KW.iso88596 ar_KW.ISO8859-6 +ar_KW.ISO-8859-6 ar_KW.ISO8859-6 +ar_KW.utf8 ar_KW.UTF-8 +ar_LB ar_LB.ISO8859-6 +ar_LB.iso88596 ar_LB.ISO8859-6 +ar_LB.ISO-8859-6 ar_LB.ISO8859-6 +ar_LB.utf8 ar_LB.UTF-8 +ar_LY ar_LY.ISO8859-6 +ar_LY.iso88596 ar_LY.ISO8859-6 +ar_LY.ISO-8859-6 ar_LY.ISO8859-6 +ar_LY.utf8 ar_LY.UTF-8 +ar_MA ar_MA.ISO8859-6 +ar_MA.iso88596 ar_MA.ISO8859-6 +ar_MA.ISO-8859-6 ar_MA.ISO8859-6 +ar_MA.utf8 ar_MA.UTF-8 +ar_OM ar_OM.ISO8859-6 +ar_OM.iso88596 ar_OM.ISO8859-6 +ar_OM.ISO-8859-6 ar_OM.ISO8859-6 +ar_OM.utf8 ar_OM.UTF-8 +ar_QA ar_QA.ISO8859-6 +ar_QA.iso88596 ar_QA.ISO8859-6 +ar_QA.ISO-8859-6 ar_QA.ISO8859-6 +ar_QA.utf8 ar_QA.UTF-8 +ar_SA ar_SA.ISO8859-6 +ar_SA.iso88596 ar_SA.ISO8859-6 +ar_SA.ISO-8859-6 ar_SA.ISO8859-6 +ar_SA.utf8 ar_SA.UTF-8 +ar_SD ar_SD.ISO8859-6 +ar_SD.iso88596 ar_SD.ISO8859-6 +ar_SD.ISO-8859-6 ar_SD.ISO8859-6 +ar_SD.utf8 ar_SD.UTF-8 +ar_SY ar_SY.ISO8859-6 +ar_SY.iso88596 ar_SY.ISO8859-6 +ar_SY.ISO-8859-6 ar_SY.ISO8859-6 +ar_SY.utf8 ar_SY.UTF-8 +ar_TN ar_TN.ISO8859-6 +ar_TN.iso88596 ar_TN.ISO8859-6 +ar_TN.ISO-8859-6 ar_TN.ISO8859-6 +ar_TN.utf8 ar_TN.UTF-8 +as as_IN.UTF-8 +as_IN as_IN.UTF-8 +as_IN.utf8 as_IN.UTF-8 +ar_YE ar_YE.ISO8859-6 +ar_YE.iso88596 ar_YE.ISO8859-6 +ar_YE.ISO-8859-6 ar_YE.ISO8859-6 +ar_YE.utf8 ar_YE.UTF-8 +az az_AZ.ISO8859-9E +az_AZ az_AZ.ISO8859-9E +az_AZ.iso88599e az_AZ.ISO8859-9E +be be_BY.CP1251 +be@latin be_BY.UTF-8@latin +be_BY be_BY.CP1251 +be_BY@latin be_BY.UTF-8@latin +be_BY.cp1251 be_BY.CP1251 +be_BY.microsoftcp1251 be_BY.CP1251 +be_BY.microsoft-cp1251 be_BY.CP1251 +be_BY.MICROSOFT-CP1251 be_BY.CP1251 +be_BY.utf8 be_BY.UTF-8 +be_BY.utf8@latin be_BY.UTF-8@latin +bg bg_BG.CP1251 +bg_BG bg_BG.CP1251 +bg_BG.cp1251 bg_BG.CP1251 +bg_BG.microsoftcp1251 bg_BG.CP1251 +bg_BG.microsoft-cp1251 bg_BG.CP1251 +bg_BG.MICROSOFT-CP1251 bg_BG.CP1251 +bg_BG.iso88595 bg_BG.ISO8859-5 +bg_BG.ISO-8859-5 bg_BG.ISO8859-5 +bg_BG.koi8r bg_BG.KOI8-R +be_BG.utf8 bg_BG.UTF-8 +bn_IN bn_IN.UTF-8 +bn_IN.utf8 bn_IN.UTF-8 +bo_IN bo_IN.UTF-8 +bo_IN.utf8 bo_IN.UTF-8 +br br_FR.ISO8859-1 +br_FR br_FR.ISO8859-1 +br_FR.iso88591 br_FR.ISO8859-1 +br_FR.ISO-8859-1 br_FR.ISO8859-1 +br_FR.iso885914 br_FR.ISO8859-14 +br_FR.ISO-8859-14 br_FR.ISO8859-14 +br_FR.iso885915 br_FR.ISO8859-15 +br_FR.ISO-8859-15 br_FR.ISO8859-15 +br_FR.ISO-8859-15@euro br_FR.ISO8859-15 +br_FR@euro br_FR.ISO8859-15 +br_FR.UTF-8@euro br_FR.UTF-8 +bs bs_BA.ISO8859-2 +bs_BA bs_BA.ISO8859-2 +bs_BA.iso88592 bs_BA.ISO8859-2 +bs_BA.ISO-8859-2 bs_BA.ISO8859-2 +bs_BA.ISO_8859-2 bs_BA.ISO8859-2 +ca ca_ES.ISO8859-1 +ca_AD ca_AD.ISO8859-1 +ca_AD@euro ca_AD.ISO8859-15 +ca_AD.iso88591 ca_AD.ISO8859-1 +ca_AD.ISO-8859-1 ca_AD.ISO8859-1 +ca_AD.iso885915 ca_AD.ISO8859-15 +ca_AD.utf8 ca_AD.UTF-8 +ca_AD.ISO-8859-15 ca_AD.ISO8859-15 +ca_AD.ISO-8859-15@euro ca_AD.ISO8859-15 +ca_AD.UTF-8@euro ca_AD.UTF-8 +ca_ES ca_ES.ISO8859-1 +ca_ES@euro ca_ES.ISO8859-15 +ca_ES.iso88591 ca_ES.ISO8859-1 +ca_ES.ISO-8859-1 ca_ES.ISO8859-1 +ca_ES.iso885915 ca_ES.ISO8859-15 +ca_ES.utf8 ca_ES.UTF-8 +ca_ES.ISO-8859-15 ca_ES.ISO8859-15 +ca_ES.ISO-8859-15@euro ca_ES.ISO8859-15 +ca_ES.UTF-8@euro ca_ES.UTF-8 +ca_FR ca_FR.ISO8859-1 +ca_FR@euro ca_FR.ISO8859-15 +ca_FR.iso88591 ca_FR.ISO8859-1 +ca_FR.ISO-8859-1 ca_FR.ISO8859-1 +ca_FR.iso885915 ca_FR.ISO8859-15 +ca_FR.utf8 ca_FR.UTF-8 +ca_FR.ISO-8859-15 ca_FR.ISO8859-15 +ca_FR.ISO-8859-15@euro ca_FR.ISO8859-15 +ca_FR.UTF-8@euro ca_FR.UTF-8 +ca_IT ca_IT.ISO8859-1 +ca_IT@euro ca_IT.ISO8859-15 +ca_IT.iso88591 ca_IT.ISO8859-1 +ca_IT.ISO-8859-1 ca_IT.ISO8859-1 +ca_IT.iso885915 ca_IT.ISO8859-15 +ca_IT.utf8 ca_IT.UTF-8 +ca_IT.ISO-8859-15 ca_IT.ISO8859-15 +ca_IT.ISO-8859-15@euro ca_IT.ISO8859-15 +ca_IT.UTF-8@euro ca_IT.UTF-8 +cs cs_CZ.ISO8859-2 +cs_CS cs_CZ.ISO8859-2 +cs_CS.ISO8859-2 cs_CZ.ISO8859-2 +cs_CZ cs_CZ.ISO8859-2 +cs_CZ.iso88592 cs_CZ.ISO8859-2 +cs_CS.iso8859-2 cs_CZ.ISO8859-2 +cs_CZ.ISO-8859-2 cs_CZ.ISO8859-2 +cs_CZ.ISO_8859-2 cs_CZ.ISO8859-2 +cs_CZ.utf8 cs_CZ.UTF-8 +cy cy_GB.ISO8859-1 +cy_GB cy_GB.ISO8859-1 +cy_GB.iso88591 cy_GB.ISO8859-1 +cy_GB.ISO-8859-1 cy_GB.ISO8859-1 +cy_GB.iso885914 cy_GB.ISO8859-14 +cy_GB.ISO-8859-14 cy_GB.ISO8859-14 +cy_GB.iso885915 cy_GB.ISO8859-15 +cy_GB.ISO-8859-15 cy_GB.ISO8859-15 +da da_DK.ISO8859-1 +da.ISO8859-15 da_DK.ISO8859-15 +da_DK da_DK.ISO8859-1 +DA_DK da_DK.ISO8859-1 +da_DK.88591 da_DK.ISO8859-1 +da_DK.88591.en da_DK.ISO8859-1 +da_DK.iso88591 da_DK.ISO8859-1 +da_DK.ISO-8859-1 da_DK.ISO8859-1 +da_DK.ISO_8859-1 da_DK.ISO8859-1 +da_DK.iso885915 da_DK.ISO8859-15 +da_DK.ISO-8859-15 da_DK.ISO8859-15 +da_DK.8859-15 da_DK.ISO8859-15 +da_DK.utf8 da_DK.UTF-8 +DA_DK.UTF-8 da_DK.UTF-8 +de de_DE.ISO8859-1 +de.ISO8859-15 de_DE.ISO8859-15 +de_AT de_AT.ISO8859-1 +de_AT@euro de_AT.ISO8859-15 +de_AT.iso88591 de_AT.ISO8859-1 +de_AT.ISO-8859-1 de_AT.ISO8859-1 +de_AT.ISO_8859-1 de_AT.ISO8859-1 +de_AT.iso885915 de_AT.ISO8859-15 +de_AT.ISO-8859-15 de_AT.ISO8859-15 +de_AT.ISO-8859-15@euro de_AT.ISO8859-15 +de_AT.UTF-8@euro de_AT.UTF-8 +de_AT.utf8 de_AT.UTF-8 +de_BE de_BE.ISO8859-1 +de_BE@euro de_BE.ISO8859-15 +de_BE.iso88591 de_BE.ISO8859-1 +de_BE.ISO_8859-1 de_BE.ISO8859-1 +de_BE.ISO-8859-1 de_BE.ISO8859-1 +de_BE.iso885915 de_BE.ISO8859-15 +de_BE.ISO_8859-15 de_BE.ISO8859-15 +de_BE.ISO-8859-15 de_BE.ISO8859-15 +de_BE.ISO-8859-15@euro de_BE.ISO8859-15 +de_BE.UTF-8@euro de_BE.UTF-8 +de_CH de_CH.ISO8859-1 +de_CH.iso88591 de_CH.ISO8859-1 +de_CH.ISO_8859-1 de_CH.ISO8859-1 +de_CH.ISO-8859-1 de_CH.ISO8859-1 +de_CH.iso885915 de_CH.ISO8859-15 +de_CH.ISO_8859-15 de_CH.ISO8859-15 +de_CH.ISO-8859-15 de_CH.ISO8859-15 +de_CH.utf8 de_CH.UTF-8 +de_DE de_DE.ISO8859-1 +de_DE@euro de_DE.ISO8859-15 +de_DE.88591 de_DE.ISO8859-1 +de_DE.88591.en de_DE.ISO8859-1 +de_DE.iso88591 de_DE.ISO8859-1 +de_DE.ISO-8859-1 de_DE.ISO8859-1 +de_DE.ISO_8859-1 de_DE.ISO8859-1 +de_DE.iso885915 de_DE.ISO8859-15 +de_DE.ISO-8859-15 de_DE.ISO8859-15 +de_DE.ISO_8859-15 de_DE.ISO8859-15 +de_DE.8859-15 de_DE.ISO8859-15 +de_DE.8859-15@euro de_DE.ISO8859-15 +de_DE.ISO-8859-15@euro de_DE.ISO8859-15 +de_DE.UTF-8@euro de_DE.UTF-8 +de_DE.utf8 de_DE.UTF-8 +de_IT de_IT.UTF-8 +de_IT.utf8 de_IT.UTF-8 +de_LI de_LI.ISO8859-1 +de_LI.iso88591 de_LI.ISO8859-1 +de_LI.ISO_8859-1 de_LI.ISO8859-1 +de_LI.ISO-8859-1 de_LI.ISO8859-1 +de_LI.iso885915 de_LI.ISO8859-15 +de_LI.ISO_8859-15 de_LI.ISO8859-15 +de_LI.ISO-8859-15 de_LI.ISO8859-15 +de_LI.utf8 de_LI.UTF-8 +de_LU de_LU.ISO8859-1 +de_LU@euro de_LU.ISO8859-15 +de_LU.iso88591 de_LU.ISO8859-1 +de_LU.ISO_8859-1 de_LU.ISO8859-1 +de_LU.ISO-8859-1 de_LU.ISO8859-1 +de_LU.iso885915 de_LU.ISO8859-15 +de_LU.ISO_8859-15 de_LU.ISO8859-15 +de_LU.ISO-8859-15 de_LU.ISO8859-15 +de_LU.ISO-8859-15@euro de_LU.ISO8859-15 +de_LU.UTF-8@euro de_LU.UTF-8 +de_LU.utf8 de_LU.UTF-8 +GER_DE.8859 de_DE.ISO8859-1 +GER_DE.8859.in de_DE.ISO8859-1 +ee ee_EE.ISO8859-4 +ee_EE ee_EE.ISO8859-4 +ee_EE.iso88594 ee_EE.ISO8859-4 +el el_GR.ISO8859-7 +el_GR el_GR.ISO8859-7 +el_GR.iso88597 el_GR.ISO8859-7 +el_GR.ISO-8859-7 el_GR.ISO8859-7 +el_GR@euro el_GR.ISO8859-15 +el_GR.utf8 el_GR.UTF-8 +en en_US.ISO8859-1 +en.ISO-8859-1 en_US.ISO8859-1 +en_AU en_AU.ISO8859-1 +en_AU.iso88591 en_AU.ISO8859-1 +en_AU.ISO-8859-1 en_AU.ISO8859-1 +en_AU.ISO_8859-1 en_AU.ISO8859-1 +en_AU.utf8 en_AU.UTF-8 +en_BE en_BE.ISO8859-1 +en_BE@euro en_BE.ISO8859-15 +en_BE.utf8 en_BE.UTF-8 +en_BW en_BW.ISO8859-1 +en_BW.utf8 en_BW.UTF-8 +en_BW.iso88591 en_BW.ISO8859-1 +en_BW.ISO-8859-1 en_BW.ISO8859-1 +en_CA en_CA.ISO8859-1 +en_CA.iso88591 en_CA.ISO8859-1 +en_CA.ISO-8859-1 en_CA.ISO8859-1 +en_CA.ISO_8859-1 en_CA.ISO8859-1 +en_CA.utf8 en_CA.UTF-8 +en_DL.utf8 en_DL.UTF-8 +en_GB en_GB.ISO8859-1 +en_GB.88591 en_GB.ISO8859-1 +en_GB.88591.en en_GB.ISO8859-1 +en_GB.iso88591 en_GB.ISO8859-1 +en_GB.ISO-8859-1 en_GB.ISO8859-1 +en_GB.ISO_8859-1 en_GB.ISO8859-1 +en_GB.iso885915 en_GB.ISO8859-15 +en_GB.ISO-8859-15 en_GB.ISO8859-15 +en_GB.utf8 en_GB.UTF-8 +en_UK en_GB.ISO8859-1 +ENG_GB.8859 en_GB.ISO8859-1 +ENG_GB.8859.in en_GB.ISO8859-1 +en_HK en_HK.ISO8859-1 +en_HK.iso88591 en_HK.ISO8859-1 +en_HK.ISO-8859-1 en_HK.ISO8859-1 +en_HK.utf8 en_HK.UTF-8 +en_IE en_IE.ISO8859-1 +en_IE.iso88591 en_IE.ISO8859-1 +en_IE.ISO-8859-1 en_IE.ISO8859-1 +en_IE.iso885915 en_IE.ISO8859-15 +en_IE.ISO-8859-15 en_IE.ISO8859-15 +en_IE.ISO-8859-15@euro en_IE.ISO8859-15 +en_IE@euro en_IE.ISO8859-15 +en_IE.UTF-8@euro en_IE.UTF-8 +en_IE.utf8 en_IE.UTF-8 +en_IL en_IL.ISO8859-1 +en_IL.utf8 en_IL.UTF-8 +en_IN.utf8 en_IN.UTF-8 +en_IN en_IN.ISO8859-1 +en_NZ en_NZ.ISO8859-1 +en_NZ.iso88591 en_NZ.ISO8859-1 +en_NZ.ISO-8859-1 en_NZ.ISO8859-1 +en_NZ.utf8 en_NZ.UTF-8 +en_PH en_PH.ISO8859-1 +en_PH.utf8 en_PH.UTF-8 +en_PH.iso88591 en_PH.ISO8859-1 +en_PH.ISO-8859-1 en_PH.ISO8859-1 +en_SG en_SG.ISO8859-1 +en_SG.utf8 en_SG.UTF-8 +en_SG.iso88591 en_SG.ISO8859-1 +en_SG.ISO-8859-1 en_SG.ISO8859-1 +en_US en_US.ISO8859-1 +EN_US en_US.ISO8859-1 +en_US.88591 en_US.ISO8859-1 +en_US.88591.en en_US.ISO8859-1 +en_US.iso88591 en_US.ISO8859-1 +en_US.ISO-8859-1 en_US.ISO8859-1 +en_US.ISO_8859-1 en_US.ISO8859-1 +en_US.iso885915 en_US.ISO8859-15 +en_US.ISO-8859-15 en_US.ISO8859-15 +en_US.8859-15 en_US.ISO8859-15 +en_US.ISO8859-15@euro en_US.ISO8859-15 +en_US.utf8 en_US.UTF-8 +EN_US.UTF-8 en_US.UTF-8 +en_ZA en_ZA.ISO8859-1 +en_ZA.88591 en_ZA.ISO8859-1 +en_ZA.88591.en en_ZA.ISO8859-1 +en_ZA.iso88591 en_ZA.ISO8859-1 +en_ZA.ISO-8859-1 en_ZA.ISO8859-1 +en_ZA.ISO_8859-1 en_ZA.ISO8859-1 +en_ZA.iso885915 en_ZA.ISO8859-15 +en_ZA.ISO-8859-15 en_ZA.ISO8859-15 +en_ZA.utf8 en_ZA.UTF-8 +en_ZW en_ZW.ISO8859-1 +en_ZW.utf8 en_ZS.UTF-8 +en_ZW.iso88591 en_ZW.ISO8859-1 +en_ZW.ISO-8859-1 en_ZW.ISO8859-1 +eo eo_XX.ISO8859-3 +eo_EO eo_EO.ISO8859-3 +eo_XX eo_XX.ISO8859-3 +es es_ES.ISO8859-1 +es.UTF-8 es_ES.UTF-8 +es_AR es_AR.ISO8859-1 +es_AR.iso88591 es_AR.ISO8859-1 +es_AR.ISO-8859-1 es_AR.ISO8859-1 +es_AR.utf8 es_AR.UTF-8 +es_BO es_BO.ISO8859-1 +es_BO.iso88591 es_BO.ISO8859-1 +es_BO.ISO-8859-1 es_BO.ISO8859-1 +es_BO.utf8 es_BO.UTF-8 +es_CL es_CL.ISO8859-1 +es_CL.iso88591 es_CL.ISO8859-1 +es_CL.ISO-8859-1 es_CL.ISO8859-1 +es_CL.utf8 es_CL.UTF-8 +es_CO es_CO.ISO8859-1 +es_CO.iso88591 es_CO.ISO8859-1 +es_CO.ISO-8859-1 es_CO.ISO8859-1 +es_CO.utf8 es_CO.UTF-8 +es_CR es_CR.ISO8859-1 +es_CR.iso88591 es_CR.ISO8859-1 +es_CR.ISO-8859-1 es_CR.ISO8859-1 +es_CR.utf8 es_CR.UTF-8 +es_DO es_DO.ISO8859-1 +es_DO.iso88591 es_DO.ISO8859-1 +es_DO.ISO-8859-1 es_DO.ISO8859-1 +es_DO.utf8 es_DO.UTF-8 +es_EC es_EC.ISO8859-1 +es_EC.iso88591 es_EC.ISO8859-1 +es_EC.ISO-8859-1 es_EC.ISO8859-1 +es_EC.utf8 es_EC.UTF-8 +es_ES es_ES.ISO8859-1 +es_ES.88591 es_ES.ISO8859-1 +es_ES.88591.en es_ES.ISO8859-1 +es_ES.iso88591 es_ES.ISO8859-1 +es_ES.ISO-8859-1 es_ES.ISO8859-1 +es_ES.ISO_8859-1 es_ES.ISO8859-1 +es_ES.iso885915 es_ES.ISO8859-15 +es_ES.ISO-8859-15 es_ES.ISO8859-15 +es_ES.ISO-8859-15@euro es_ES.ISO8859-15 +es_ES@euro es_ES.ISO8859-15 +es_ES.UTF-8@euro es_ES.UTF-8 +es_ES.utf8 es_ES.UTF-8 +es_GT es_GT.ISO8859-1 +es_GT.iso88591 es_GT.ISO8859-1 +es_GT.ISO-8859-1 es_GT.ISO8859-1 +es_GT.utf8 es_GT.UTF-8 +es_HN es_HN.ISO8859-1 +es_HN.iso88591 es_HN.ISO8859-1 +es_HN.ISO-8859-1 es_HN.ISO8859-1 +es_HN.utf8 es_HN.UTF-8 +es_MX es_MX.ISO8859-1 +es_MX.iso88591 es_MX.ISO8859-1 +es_MX.ISO-8859-1 es_MX.ISO8859-1 +es_MX.utf8 es_MX.UTF-8 +es_NI es_NI.ISO8859-1 +es_NI.iso88591 es_NI.ISO8859-1 +es_NI.ISO-8859-1 es_NI.ISO8859-1 +es_NI.utf8 es_NI.UTF-8 +es_PA es_PA.ISO8859-1 +es_PA.iso88591 es_PA.ISO8859-1 +es_PA.ISO-8859-1 es_PA.ISO8859-1 +es_PA.iso885915 es_PA.ISO8859-15 +es_PA.utf8 es_PA.UTF-8 +es_PE es_PE.ISO8859-1 +es_PE.iso88591 es_PE.ISO8859-1 +es_PE.ISO-8859-1 es_PE.ISO8859-1 +es_PE.iso885915 es_PE.ISO8859-15 +es_PE.utf8 es_PE.UTF-8 +es_PR es_PR.ISO8859-1 +es_PR.iso88591 es_PR.ISO8859-1 +es_PR.ISO-8859-1 es_PR.ISO8859-1 +es_PR.utf8 es_PR.UTF-8 +es_PY es_PY.ISO8859-1 +es_PY.iso88591 es_PY.ISO8859-1 +es_PY.ISO-8859-1 es_PY.ISO8859-1 +es_PY.iso885915 es_PY.ISO8859-15 +es_PY.utf8 es_PY.UTF-8 +es_SV es_SV.ISO8859-1 +es_SV.iso88591 es_SV.ISO8859-1 +es_SV.ISO-8859-1 es_SV.ISO8859-1 +es_SV.iso885915 es_SV.ISO8859-15 +es_SV.utf8 es_SV.UTF-8 +es_US es_US.ISO8859-1 +es_US.iso88591 es_US.ISO8859-1 +es_US.ISO-8859-1 es_US.ISO8859-1 +es_UY es_UY.ISO8859-1 +es_UY.iso88591 es_UY.ISO8859-1 +es_UY.ISO-8859-1 es_UY.ISO8859-1 +es_UY.iso885915 es_UY.ISO8859-15 +es_UY.utf8 es_UY.UTF-8 +es_VE es_VE.ISO8859-1 +es_VE.iso88591 es_VE.ISO8859-1 +es_VE.ISO-8859-1 es_VE.ISO8859-1 +es_VE.iso885915 es_VE.ISO8859-15 +es_VE.utf8 es_VE.UTF-8 + + + + +# According to Estonian local standards, ISO8859-4 is not a recommended +# charset. EVS8:2000 specifies ISO8859-15 as the base charset. +et et_EE.ISO8859-15 +et_EE et_EE.ISO8859-15 +et_EE.iso88591 et_EE.ISO8859-1 +et_EE.ISO-8859-1 et_EE.ISO8859-1 +et_EE.iso88594 et_EE.ISO8859-4 +et_EE.ISO-8859-4 et_EE.ISO8859-4 +et_EE.iso885913 et_EE.ISO8859-13 +et_EE.ISO-8859-13 et_EE.ISO8859-13 +et_EE.iso885915 et_EE.ISO8859-15 +et_EE.ISO-8859-15 et_EE.ISO8859-15 +et_EE.utf8 et_EE.UTF-8 +eu eu_ES.ISO8859-1 +eu_ES eu_ES.ISO8859-1 +eu_ES.iso88591 eu_ES.ISO8859-1 +eu_ES.ISO-8859-1 eu_ES.ISO8859-1 +eu_ES.iso885915 eu_ES.ISO8859-15 +eu_ES.ISO-8859-15 eu_ES.ISO8859-15 +eu_ES.ISO-8859-15@euro eu_ES.ISO8859-15 +eu_ES@euro eu_ES.ISO8859-15 +eu_ES.UTF-8@euro eu_ES.UTF-8 +fa fa_IR.UTF-8 +fa_IR fa_IR.UTF-8 +fa_IR.isiri3342 fa_IR.ISIRI-3342 +fa_IR.utf8 fa_IR.UTF-8 +fi fi_FI.ISO8859-15 +fi.ISO8859-15 fi_FI.ISO8859-15 +fi_FI fi_FI.ISO8859-15 +fi_FI.88591 fi_FI.ISO8859-1 +fi_FI.88591.en fi_FI.ISO8859-1 +fi_FI.iso88591 fi_FI.ISO8859-1 +fi_FI.ISO-8859-1 fi_FI.ISO8859-1 +fi_FI.ISO_8859-1 fi_FI.ISO8859-1 +fi_FI.iso885915 fi_FI.ISO8859-15 +fi_FI.ISO-8859-15 fi_FI.ISO8859-15 +fi_FI.ISO-8859-15@euro fi_FI.ISO8859-15 +fi_FI@euro fi_FI.ISO8859-15 +fi_FI.utf8 fi_FI.UTF-8 +fi_FI.UTF-8@euro fi_FI.UTF-8 +fo fo_FO.ISO8859-1 +fo_FO fo_FO.ISO8859-1 +fo_FO.iso88591 fo_FO.ISO8859-1 +fo_FO.ISO-8859-1 fo_FO.ISO8859-1 +fo_FO.iso885915 fo_FO.ISO8859-15 +fo_FO.ISO-8859-15 fo_FO.ISO8859-15 +fo_FO.utf8 fo_FO.UTF-8 +fr fr_FR.ISO8859-1 +fr.ISO8859-15 fr_FR.ISO8859-15 +fr.UTF-8 fr_FR.UTF-8 +fr_BE fr_BE.ISO8859-1 +fr_BE.88591 fr_BE.ISO8859-1 +fr_BE.88591.en fr_BE.ISO8859-1 +fr_BE.ISO-8859-1 fr_BE.ISO8859-1 +fr_BE.ISO_8859-1 fr_BE.ISO8859-1 +fr_BE.iso885915 fr_BE.ISO8859-15 +fr_BE.ISO-8859-15 fr_BE.ISO8859-15 +fr_BE.ISO-8859-15@euro fr_BE.ISO8859-15 +fr_BE@euro fr_BE.ISO8859-15 +fr_BE.utf8 fr_BE.UTF-8 +fr_BE.UTF-8@euro fr_BE.UTF-8 +fr_CA fr_CA.ISO8859-1 +fr_CA.88591 fr_CA.ISO8859-1 +fr_CA.88591.en fr_CA.ISO8859-1 +fr_CA.iso88591 fr_CA.ISO8859-1 +fr_CA.ISO-8859-1 fr_CA.ISO8859-1 +fr_CA.ISO_8859-1 fr_CA.ISO8859-1 +fr_CA.iso885915 fr_CA.ISO8859-15 +fr_CA.ISO-8859-15 fr_CA.ISO8859-15 +fr_CA.utf8 fr_CA.UTF-8 +fr_CH fr_CH.ISO8859-1 +fr_CH.88591 fr_CH.ISO8859-1 +fr_CH.88591.en fr_CH.ISO8859-1 +fr_CH.ISO-8859-1 fr_CH.ISO8859-1 +fr_CH.ISO_8859-1 fr_CH.ISO8859-1 +fr_CH.iso885915 fr_CH.ISO8859-15 +fr_CH.ISO-8859-15 fr_CH.ISO8859-15 +fr_CH.utf8 fr_CH.UTF-8 +fr_FR fr_FR.ISO8859-1 +fr_FR.88591 fr_FR.ISO8859-1 +fr_FR.88591.en fr_FR.ISO8859-1 +fr_FR.iso88591 fr_FR.ISO8859-1 +fr_FR.ISO-8859-1 fr_FR.ISO8859-1 +fr_FR.ISO_8859-1 fr_FR.ISO8859-1 +fr_FR.iso885915 fr_FR.ISO8859-15 +fr_FR.ISO-8859-15 fr_FR.ISO8859-15 +fr_FR.ISO-8859-15@euro fr_FR.ISO8859-15 +fr_FR@euro fr_FR.ISO8859-15 +fr_FR.UTF-8@euro fr_FR.UTF-8 +fr_FR.utf8 fr_FR.UTF-8 +fr_LU fr_LU.ISO8859-1 +fr_LU.88591 fr_LU.ISO8859-1 +fr_LU.88591.en fr_LU.ISO8859-1 +fr_LU.iso88591 fr_LU.ISO8859-1 +fr_LU.ISO-8859-1 fr_LU.ISO8859-1 +fr_LU.ISO_8859-1 fr_LU.ISO8859-1 +fr_LU.iso885915 fr_LU.ISO8859-15 +fr_LU.ISO-8859-15 fr_LU.ISO8859-15 +fr_LU.ISO-8859-15@euro fr_LU.ISO8859-15 +fr_LU@euro fr_LU.ISO8859-15 +fr_LU.UTF-8@euro fr_LU.UTF-8 +fr_LU.utf8 fr_LU.UTF-8 +FRE_FR.8859 fr_FR.ISO8859-1 +FRE_FR.8859.in fr_FR.ISO8859-1 +ga ga_IE.ISO8859-1 +ga_IE ga_IE.ISO8859-1 +ga_IE.iso88591 ga_IE.ISO8859-1 +ga_IE.ISO-8859-1 ga_IE.ISO8859-1 +ga_IE.iso885914 ga_IE.ISO8859-14 +ga_IE.ISO-8859-14 ga_IE.ISO8859-14 +ga_IE.iso885915 ga_IE.ISO8859-15 +ga_IE.ISO-8859-15 ga_IE.ISO8859-15 +ga_IE.ISO-8859-15@euro ga_IE.ISO8859-15 +ga_IE@euro ga_IE.ISO8859-15 +ga_IE.UTF-8@euro ga_IE.UTF-8 +ga_IE.utf8 ga_IE.UTF-8 +gd gd_GB.ISO8859-1 +gd_GB gd_GB.ISO8859-1 +gd_GB.iso88591 gd_GB.ISO8859-1 +gd_GB.ISO-8859-1 gd_GB.ISO8859-1 +gd_GB.iso885914 gd_GB.ISO8859-14 +gd_GB.ISO-8859-14 gd_GB.ISO8859-14 +gd_GB.iso885915 gd_GB.ISO8859-15 +gd_GB.ISO-8859-15 gd_GB.ISO8859-15 +gl gl_ES.ISO8859-1 +gl_ES gl_ES.ISO8859-1 +gl_ES.iso88591 gl_ES.ISO8859-1 +gl_ES.ISO-8859-1 gl_ES.ISO8859-1 +gl_ES.iso885915 gl_ES.ISO8859-15 +gl_ES.ISO-8859-15 gl_ES.ISO8859-15 +gl_ES.ISO-8859-15@euro gl_ES.ISO8859-15 +gl_ES@euro gl_ES.ISO8859-15 +gl_ES.UTF-8@euro gl_ES.UTF-8 +gl_ES.utf8 gl_ES.UTF-8 +gu_IN gu_IN.UTF-8 +gu_IN.utf8 gu_IN.UTF-8 +gv gv_GB.ISO8859-1 +gv_GB gv_GB.ISO8859-1 +gv_GB.iso88591 gv_GB.ISO8859-1 +gv_GB.ISO-8859-1 gv_GB.ISO8859-1 +gv_GB.iso885914 gv_GB.ISO8859-14 +gv_GB.ISO-8859-14 gv_GB.ISO8859-14 +gv_GB.iso885915 gv_GB.ISO8859-15 +gv_GB.ISO-8859-15 gv_GB.ISO8859-15 +he he_IL.ISO8859-8 +he_IL he_IL.ISO8859-8 +HE_IL he_IL.ISO8859-8 +he_IL.iso88598 he_IL.ISO8859-8 +he_IL.ISO-8859-8 he_IL.ISO8859-8 +he_IL.cp1255 he_IL.CP1255 +he_IL.microsoftcp1255 he_IL.CP1255 +he_IL.microsoft-cp1255 he_IL.CP1255 +he_IL.MICROSOFT-CP1255 he_IL.CP1255 +he_IL.utf8 he_IL.UTF-8 +HE_IL.UTF-8 he_IL.UTF-8 +hi hi_IN.ISCII-DEV +hi_IN hi_IN.ISCII-DEV +HI_IN hi_IN.ISCII-DEV +hi_IN.isciidev hi_IN.ISCII-DEV +hi_IN.utf8 hi_IN.UTF-8 +HI_IN.UTF-8 hi_IN.UTF-8 +hne hne_IN.UTF-8 +hne_IN hne_IN.UTF-8 +hne_IN.utf8 hne_IN.UTF-8 +hr hr_HR.ISO8859-2 +hr_HR hr_HR.ISO8859-2 +hr_HR.iso88592 hr_HR.ISO8859-2 +hr_HR.ISO-8859-2 hr_HR.ISO8859-2 +hr_HR.ISO_8859-2 hr_HR.ISO8859-2 +hr_HR.utf8 hr_HR.UTF-8 +hu hu_HU.ISO8859-2 +hu_HU hu_HU.ISO8859-2 +hu_HU.iso88592 hu_HU.ISO8859-2 +hu_HU.ISO-8859-2 hu_HU.ISO8859-2 +hu_HU.utf8 hu_HU.UTF-8 +ia ia.UTF-8 +ia.utf8 ia.UTF-8 +ie ie.UTF-8 +ie.utf8 ie.UTF-8 +is is_IS.ISO8859-1 +is_IS is_IS.ISO8859-1 +is_IS.iso88591 is_IS.ISO8859-1 +is_IS.ISO-8859-1 is_IS.ISO8859-1 +is_IS.ISO_8859-1 is_IS.ISO8859-1 +is_IS.iso885915 is_IS.ISO8859-15 +is_IS.ISO-8859-15 is_IS.ISO8859-15 +is_IS.utf8 is_IS.UTF-8 +it it_IT.ISO8859-1 +it.ISO8859-15 it_IT.ISO8859-15 +it.UTF-8 it_IT.UTF-8 +it_CH it_CH.ISO8859-1 +it_CH.iso88591 it_CH.ISO8859-1 +it_CH.ISO_8859-1 it_CH.ISO8859-1 +it_CH.ISO-8859-1 it_CH.ISO8859-1 +it_CH.iso885915 it_CH.ISO8859-15 +it_CH.utf8 it_CH.UTF-8 +it_IT it_IT.ISO8859-1 +it_IT.88591 it_IT.ISO8859-1 +it_IT.88591.en it_IT.ISO8859-1 +it_IT.iso88591 it_IT.ISO8859-1 +it_IT.ISO-8859-1 it_IT.ISO8859-1 +it_IT.ISO_8859-1 it_IT.ISO8859-1 +it_IT.iso885915 it_IT.ISO8859-15 +it_IT.ISO-8859-15 it_IT.ISO8859-15 +it_IT.ISO-8859-15@euro it_IT.ISO8859-15 +it_IT@euro it_IT.ISO8859-15 +it_IT.utf8 it_IT.UTF-8 +it_IT.UTF-8@euro it_IT.UTF-8 +# NUNACOM is an encoding for the Inuktitut syllabics +# we have little else on this encoding. +iu iu_CA.NUNACOM-8 +iu_CA iu_CA.NUNACOM-8 +iu_CA.nunacom8 iu_CA.NUNACOM-8 +ja_JP ja_JP.eucJP +ja ja_JP.eucJP +ja.JIS ja_JP.JIS7 +ja.SJIS ja_JP.SJIS +ja_JP.ujis ja_JP.eucJP +Jp_JP ja_JP.eucJP +ja_JP.AJEC ja_JP.eucJP +ja_JP.EUC ja_JP.eucJP +ja_JP.EUC-JP ja_JP.eucJP +ja_JP.EUC_JP ja_JP.eucJP +ja_JP.eucjp ja_JP.eucJP +ja_JP.ISO-2022-JP ja_JP.JIS7 +ja_JP.JIS ja_JP.JIS7 +ja_JP.jis7 ja_JP.JIS7 +ja_JP.mscode ja_JP.SJIS +ja_JP.PCK ja_JP.SJIS +ja_JP.sjis ja_JP.SJIS +ja_JP.utf8 ja_JP.UTF-8 +JA_JP.utf8 ja_JP.UTF-8 +ka ka_GE.GEORGIAN-ACADEMY +ka_GE ka_GE.GEORGIAN-ACADEMY +ka_GE.georgianacademy ka_GE.GEORGIAN-ACADEMY +ka_GE.georgianrs ka_GE.GEORGIAN-ACADEMY +ka_GE.georgianps ka_GE.GEORGIAN-PS +kl kl_GL.ISO8859-1 +kl_GL kl_GL.ISO8859-1 +kl_GL.iso88591 kl_GL.ISO8859-1 +kl_GL.ISO-8859-1 kl_GL.ISO8859-1 +kl_GL.iso885915 kl_GL.ISO8859-15 +kl_GL.utf8 kl_GL.UTF-8 +km_KH km_KH.UTF-8 +km_KH.utf8 km_KH.UTF-8 +kn kn_IN.UTF-8 +kn_IN kn_IN.UTF-8 +kn_IN.utf8 kn_IN.UTF-8 +ko ko_KR.eucKR +ko.UTF-8 ko_KR.UTF-8 +ko_KR ko_KR.eucKR +KO_KR ko_KR.eucKR +ko_KR.EUC ko_KR.eucKR +ko_KR.EUC-KR ko_KR.eucKR +ko_KR.euc ko_KR.eucKR +ko_KR.euckr ko_KR.eucKR +ko_KR.utf8 ko_KR.UTF-8 +KO_KR.UTF-8 ko_KR.UTF-8 +ks ks_IN.UTF-8 +ks_IN ks_IN.UTF-8 +ks_IN.utf8 ks_IN.UTF-8 +ks_IN@devanagari ks_IN.UTF-8@devanagari +ks_IN.utf8@devanagari ks_IN.UTF-8@devanagari +kw kw_GB.ISO8859-1 +kw_GB kw_GB.ISO8859-1 +kw_GB.iso88591 kw_GB.ISO8859-1 +kw_GB.ISO-8859-1 kw_GB.ISO8859-1 +kw_GB.iso885914 kw_GB.ISO8859-14 +kw_GB.ISO-8859-14 kw_GB.ISO8859-14 +kw_GB.iso885915 kw_GB.ISO8859-15 +kw_GB.ISO-8859-15 kw_GB.ISO8859-15 +ky ky_KG.UTF-8 +ky_KG ky_KG.UTF-8 +ky_KG.utf8 ky_KG.UTF-8 +lo lo_LA.MULELAO-1 +lo_LA lo_LA.MULELAO-1 +lo_LA.cp1133 lo_LA.IBM-CP1133 +lo_LA.ibmcp1133 lo_LA.IBM-CP1133 +lo_LA.mulelao1 lo_LA.MULELAO-1 + + + + + + + +lt lt_LT.ISO8859-13 +lt_LT lt_LT.ISO8859-13 +lt_LT.iso88594 lt_LT.ISO8859-4 +lt_LT.ISO-8859-4 lt_LT.ISO8859-4 +lt_LT.ISO_8859-4 lt_LT.ISO8859-4 +lt_LT.iso885913 lt_LT.ISO8859-13 +lt_LT.ISO-8859-13 lt_LT.ISO8859-13 +lt_LT.ISO_8859-13 lt_LT.ISO8859-13 +lt_LT.utf8 lt_LT.UTF-8 +lv lv_LV.ISO8859-13 +lv_LV lv_LV.ISO8859-13 +lv_LV.iso88594 lv_LV.ISO8859-4 +lv_LV.ISO-8859-4 lv_LV.ISO8859-4 +lv_LV.iso885913 lv_LV.ISO8859-13 +lv_LV.ISO-8859-13 lv_LV.ISO8859-13 +lv_LV.ISO_8859-13 lv_LV.ISO8859-13 +lv_LV.utf8 lv_LV.UTF-8 +mai mai_IN.UTF-8 +mai_IN mai_IN.UTF-8 +mai_IN.utf8 mai_IN.UTF-8 +mi mi_NZ.ISO8859-1 +mi_NZ mi_NZ.ISO8859-1 +mi_NZ.iso88591 mi_NZ.ISO8859-1 +mk mk_MK.ISO8859-5 +mk_MK mk_MK.ISO8859-5 +mk_MK.iso88595 mk_MK.ISO8859-5 +mk_MK.ISO-8859-5 mk_MK.ISO8859-5 +mk_MK.cp1251 mk_MK.CP1251 +mk_MK.microsoftcp1251 mk_MK.CP1251 +mk_MK.microsoft-cp1251 mk_MK.CP1251 +mk_MK.MICROSOFT-CP1251 mk_MK.CP1251 +mk_MK.utf8 mk_MK.UTF-8 +ml ml_IN.UTF-8 +ml_IN ml_IN.UTF-8 +ml_IN.utf8 ml_IN.UTF-8 +mr mr_IN.UTF-8 +mr_IN mr_IN.UTF-8 +mr_IN.utf8 mr_IN.UTF-8 +ms ms_MY.ISO8859-1 +ms_MY ms_MY.ISO8859-1 +ms_MY.iso88591 ms_MY.ISO8859-1 +ms_MY.ISO-8859-1 ms_MY.ISO8859-1 +mt mt_MT.ISO8859-3 +mt_MT mt_MT.ISO8859-3 +mt_MT.ISO-8859-3 mt_MT.ISO8859-3 +nb nb_NO.ISO8859-1 +nb_NO nb_NO.ISO8859-1 +nb_NO.88591 nb_NO.ISO8859-1 +nb_NO.iso88591 nb_NO.ISO8859-1 +nb_NO.ISO-8859-1 nb_NO.ISO8859-1 +nb_NO.iso885915 nb_NO.ISO8859-15 +nb_NO.ISO-8859-15 nb_NO.ISO8859-15 +nb_NO.utf8 nb_NO.UTF-8 +ne_NP ne_NP.UTF-8 +ne_NP.utf8 ne_NP.UTF-8 +nl nl_NL.ISO8859-1 +nl.ISO8859-15 nl_NL.ISO8859-15 +nl_BE nl_BE.ISO8859-1 +nl_BE.88591 nl_BE.ISO8859-1 +nl_BE.88591.en nl_BE.ISO8859-1 +nl_BE.iso88591 nl_BE.ISO8859-1 +nl_BE.ISO-8859-1 nl_BE.ISO8859-1 +nl_BE.ISO_8859-1 nl_BE.ISO8859-1 +nl_BE.iso885915 nl_BE.ISO8859-15 +nl_BE.ISO-8859-15 nl_BE.ISO8859-15 +nl_BE.ISO-8859-15@euro nl_BE.ISO8859-15 +nl_BE@euro nl_BE.ISO8859-15 +nl_BE.utf8 nl_BE.UTF-8 +nl_BE.UTF-8@euro nl_BE.UTF-8 +nl_NL nl_NL.ISO8859-1 +nl_NL.88591 nl_NL.ISO8859-1 +nl_NL.88591.en nl_NL.ISO8859-1 +nl_NL.iso88591 nl_NL.ISO8859-1 +nl_NL.ISO-8859-1 nl_NL.ISO8859-1 +nl_NL.ISO_8859-1 nl_NL.ISO8859-1 +nl_NL.iso885915 nl_NL.ISO8859-15 +nl_NL.ISO-8859-15 nl_NL.ISO8859-15 +nl_NL.ISO-8859-15@euro nl_NL.ISO8859-15 +nl_NL@euro nl_NL.ISO8859-15 +nl_NL.utf8 nl_NL.UTF-8 +nl_NL.UTF-8@euro nl_NL.UTF-8 +nn nn_NO.ISO8859-1 +nn_NO nn_NO.ISO8859-1 +nn_NO.88591 nn_NO.ISO8859-1 +nn_NO.ISO-8859-1 nn_NO.ISO8859-1 +nn_NO.ISO_8859-1 nn_NO.ISO8859-1 +nn_NO.iso885915 nn_NO.ISO8859-15 +nn_NO.ISO-8859-15 nn_NO.ISO8859-15 +nn_NO.utf8 nn_NO.UTF-8 +no no_NO.ISO8859-1 +no_NO no_NO.ISO8859-1 +no_NO.88591 no_NO.ISO8859-1 +no_NO.88591.en no_NO.ISO8859-1 +no_NO.iso88591 no_NO.ISO8859-1 +no_NO.ISO-8859-1 no_NO.ISO8859-1 +no_NO.ISO8859-1@bokmal no_NO.ISO8859-1 +no_NO.ISO8859-1@nynorsk no_NO.ISO8859-1 +no_NO.iso885915 no_NO.ISO8859-15 +no_NO.ISO-8859-15 no_NO.ISO8859-15 +no_NO.utf8 no_NO.UTF-8 +nr nr_ZA.ISO8859-1 +nr_ZA nr_ZA.ISO8859-1 +nr_ZA.iso88591 nr_ZA.ISO8859-1 +nr_ZA.utf8 nr_ZA.UTF-8 +nso nso_ZA.ISO8859-15 +nso_ZA nso_ZA.ISO8859-15 +nso_ZA.iso885915 nso_ZA.ISO8859-15 +nso_ZA.utf8 nso_ZA.UTF-8 +ny ny_NO.ISO8859-1 +ny_NO ny_NO.ISO8859-1 +ny_NO.88591 ny_NO.ISO8859-1 +ny_NO.ISO_8859-1 ny_NO.ISO8859-1 +ny_NO.iso885915 ny_NO.ISO8859-15 +no@nynorsk ny_NO.ISO8859-1 +nynorsk nn_NO.ISO8859-1 +oc oc_FR.ISO8859-1 +oc_FR oc_FR.ISO8859-1 +oc_FR.iso88591 oc_FR.ISO8859-1 +oc_FR.ISO-8859-1 oc_FR.ISO8859-1 +oc_FR.iso885915 oc_FR.ISO8859-15 +oc_FR.ISO-8859-15 oc_FR.ISO8859-15 +oc_FR@euro oc_FR.ISO8859-15 +or or_IN.UTF-8 +or_IN or_IN.UTF-8 +or_IN.utf8 or_IN.UTF-8 +pa pa_IN.UTF-8 +pa_IN pa_IN.UTF-8 +pa_IN.utf8 pa_IN.UTF-8 +pa_PK.utf8 pa_PK.UTF-8 +pd pd_US.ISO8859-1 +pd_DE pd_DE.ISO8859-1 +pd_US pd_US.ISO8859-1 +pd_DE.iso88591 pd_DE.ISO8859-1 +pd_US.iso88591 pd_US.ISO8859-1 +pd_DE.iso885915 pd_DE.ISO8859-15 +pd_US.iso885915 pd_US.ISO8859-15 +ph ph_PH.ISO8859-1 +ph_PH ph_PH.ISO8859-1 +ph_PH.iso88591 ph_PH.ISO8859-1 +pl pl_PL.ISO8859-2 +pl.UTF-8 pl_PL.UTF-8 +pl_PL pl_PL.ISO8859-2 +pl_PL.iso88592 pl_PL.ISO8859-2 +pl_PL.ISO-8859-2 pl_PL.ISO8859-2 +pl_PL.utf8 pl_PL.UTF-8 +pp pp_AN.ISO8859-1 +pp_AN pp_AN.ISO8859-1 +pp_AN.iso88591 pp_AN.ISO8859-1 +pt pt_PT.ISO8859-1 +pt.ISO8859-15 pt_PT.ISO8859-15 +pt_BR pt_BR.ISO8859-1 +pt_BR.88591 pt_BR.ISO8859-1 +pt_BR.88591.en pt_BR.ISO8859-1 +pt_BR.iso88591 pt_BR.ISO8859-1 +pt_BR.ISO-8859-1 pt_BR.ISO8859-1 +pt_BR.ISO_8859-1 pt_BR.ISO8859-1 +pt_BR.iso885915 pt_BR.ISO8859-15 +pt_BR.utf8 pt_BR.UTF-8 +pt_PT pt_PT.ISO8859-1 +pt_PT.88591 pt_PT.ISO8859-1 +pt_PT.88591.en pt_PT.ISO8859-1 +pt_PT.iso88591 pt_PT.ISO8859-1 +pt_PT.ISO-8859-1 pt_PT.ISO8859-1 +pt_PT.ISO_8859-1 pt_PT.ISO8859-1 +pt_PT.iso885915 pt_PT.ISO8859-15 +pt_PT.ISO-8859-15 pt_PT.ISO8859-15 +pt_PT.ISO-8859-15@euro pt_PT.ISO8859-15 +pt_PT@euro pt_PT.ISO8859-15 +pt_PT.utf8 pt_PT.UTF-8 +pt_PT.UTF-8@euro pt_PT.UTF-8 +ro ro_RO.ISO8859-2 +ro_RO ro_RO.ISO8859-2 +ro_RO.iso88592 ro_RO.ISO8859-2 +ro_RO.ISO-8859-2 ro_RO.ISO8859-2 +ro_RO.utf8 ro_RO.UTF-8 +ru ru_RU.UTF-8 +ru.koi8-r ru_RU.KOI8-R +ru.UTF-8 ru_RU.UTF-8 +ru_RU ru_RU.UTF-8 +ru_RU.utf8 ru_RU.UTF-8 +ru_RU.iso88595 ru_RU.ISO8859-5 +ru_RU.ISO-8859-5 ru_RU.ISO8859-5 +ru_RU.koi8r ru_RU.KOI8-R +ru_RU.cp1251 ru_RU.CP1251 +ru_RU.microsoftcp1251 ru_RU.CP1251 +ru_RU.microsoft-cp1251 ru_RU.CP1251 +ru_RU.MICROSOFT-CP1251 ru_RU.CP1251 + + + + + + +ru_UA ru_UA.KOI8-U +ru_UA.koi8u ru_UA.KOI8-U +ru_UA.cp1251 ru_UA.CP1251 +ru_UA.microsoftcp1251 ru_UA.CP1251 +ru_UA.microsoft-cp1251 ru_UA.CP1251 +ru_UA.MICROSOFT-CP1251 ru_UA.CP1251 +rw rw_RW.ISO8859-1 +rw_RW rw_RW.ISO8859-1 +rw_RW.iso8859-1 rw_RW.ISO8859-1 +rw_RW.ISO-8859-1 rw_RW.ISO8859-1 +rw_RW.utf8 rw_RW.UTF-8 +sd sd_IN.UTF-8 +sd_IN.utf8 sd_IN.UTF-8 +sd@devanagari sd_IN.UTF-8@devanagari +sd_IN@devanagari sd_IN.UTF-8@devanagari +sd_IN.utf8@devanagari sd_IN.UTF-8@devanagari +se_NO se_NO.UTF-8 +se_NO.utf8 se_NO.UTF-8 +si si_LK.UTF-8 +si_LK si_LK.UTF-8 +sk sk_SK.ISO8859-2 +sk_SK sk_SK.ISO8859-2 +sk_SK.iso88592 sk_SK.ISO8859-2 +sk_SK.ISO-8859-2 sk_SK.ISO8859-2 +sk_SK.utf8 sk_SK.UTF-8 +sl sl_SI.ISO8859-2 +sl_SI sl_SI.ISO8859-2 +sl_SI.iso88592 sl_SI.ISO8859-2 +sl_SI.ISO-8859-2 sl_SI.ISO8859-2 +sl_SI.utf8 sl_SI.UTF-8 +sq sq_AL.ISO8859-2 +sq_AL sq_AL.ISO8859-2 +sq_AL.iso88592 sq_AL.ISO8859-2 +sq_AL.ISO-8859-2 sq_AL.ISO8859-2 +sq_AL.utf8 sq_AL.UTF-8 +sr sr_RS.UTF-8 +sr@cyrillic sr_RS.UTF-8 +sr@latin sr_RS.UTF-8@latin +sr@Latn sr_RS.UTF-8@latin +sr_RS sr_RS.UTF-8 +sr_RS@latin sr_RS.UTF-8@latin +sr_RS@Latn sr_RS.UTF-8@latin +sr_RS.UTF-8@Latn sr_RS.UTF-8@latin +sr_RS.utf8 sr_RS.UTF-8 +sr_ME sr_ME.UTF-8 +sr_ME.utf8 sr_ME.UTF-8 +ss ss_ZA.ISO8859-1 +ss_ZA ss_ZA.ISO8859-1 +ss_ZA.iso88591 ss_ZA.ISO8859-1 +ss_ZA.utf8 ss_ZA.UTF-8 +st st_ZA.ISO8859-1 +st_ZA st_ZA.ISO8859-1 +st_ZA.iso88591 st_ZA.ISO8859-1 +st_ZA.utf8 st_ZA.UTF-8 +sv sv_SE.ISO8859-1 +sv.ISO8859-15 sv_SE.ISO8859-15 +sv.UTF-8 sv_SE.UTF-8 +sv_FI sv_FI.ISO8859-1 +sv_FI.iso88591 sv_FI.ISO8859-1 +sv_FI.ISO-8859-1 sv_FI.ISO8859-1 +sv_FI.iso885915 sv_FI.ISO8859-15 +sv_FI.ISO-8859-15 sv_FI.ISO8859-15 +sv_FI.ISO-8859-15@euro sv_FI.ISO8859-15 +sv_FI@euro sv_FI.ISO8859-15 +sv_FI.UTF-8@euro sv_FI.UTF-8 +sv_FI.utf8 sv_FI.UTF-8 +sv_SE sv_SE.ISO8859-1 +sv_SE.88591 sv_SE.ISO8859-1 +sv_SE.88591.en sv_SE.ISO8859-1 +sv_SE.iso88591 sv_SE.ISO8859-1 +sv_SE.ISO-8859-1 sv_SE.ISO8859-1 +sv_SE.ISO_8859-1 sv_SE.ISO8859-1 +sv_SE.iso885915 sv_SE.ISO8859-15 +sv_SE.ISO-8859-15 sv_SE.ISO8859-15 +sv_SE@euro sv_SE.ISO8859-15 +sv_SE.utf8 sv_SE.UTF-8 +ta ta_IN.TSCII-0 +ta_IN ta_IN.TSCII-0 +ta_IN.tscii ta_IN.TSCII-0 +ta_IN.tscii0 ta_IN.TSCII-0 +te te_IN.UTF-8 +te.UTF-8 te_IN.UTF-8 +te_IN.utf8 te_IN.UTF-8 +tg tg_TJ.KOI8-C +tg_TJ tg_TJ.KOI8-C +tg_TJ.koi8c tg_TJ.KOI8-C +th th_TH.ISO8859-11 +th_TH th_TH.ISO8859-11 +th_TH.ISO-8859-11 th_TH.ISO8859-11 +th_TH.tis620 th_TH.TIS620 +th_TH.TIS-620 th_TH.TIS620 +th_TH.TACTIS th_TH.TIS620 +th_TH.utf8 th_TH.UTF-8 +tl tl_PH.ISO8859-1 +tl_PH tl_PH.ISO8859-1 +tl_PH.iso88591 tl_PH.ISO8859-1 +tl_PH.ISO-8859-1 tl_PH.ISO8859-1 +tn tn_ZA.ISO8859-15 +tn_ZA tn_ZA.ISO8859-15 +tn_ZA.iso8859-15 tn_ZA.ISO8859-15 +tn_ZA.utf8 tn_ZA.UTF-8 +tr tr_TR.ISO8859-9 +tr_TR tr_TR.ISO8859-9 +TR_TR tr_TR.ISO8859-9 +tr_TR.iso88599 tr_TR.ISO8859-9 +tr_TR.ISO-8859-9 tr_TR.ISO8859-9 +tr_TR.utf8 tr_TR.UTF-8 +TR_TR.utf8 tr_TR.UTF-8 +ts ts_ZA.ISO8859-1 +ts_ZA ts_ZA.ISO8859-1 +ts_ZA.iso88591 ts_ZA.ISO8859-1 +ts_ZA.utf8 ts_ZA.UTF-8 +tt tt_RU.TATAR-CYR +tt_RU tt_RU.TATAR-CYR +tt_RU.tatarcyr tt_RU.TATAR-CYR +tt_RU.koi8c tt_RU.KOI8-C +uk uk_UA.KOI8-U +uk_UA uk_UA.KOI8-U +uk_UA.iso88595 uk_UA.ISO8859-5 +uk_UA.koi8u uk_UA.KOI8-U +uk_UA.cp1251 uk_UA.CP1251 +uk_UA.microsoftcp1251 uk_UA.CP1251 +uk_UA.microsoft-cp1251 uk_UA.CP1251 +uk_UA.MICROSOFT-CP1251 uk_UA.CP1251 +uk_UA.utf8 uk_UA.UTF-8 +ur ur_IN.UTF-8 +ur_IN ur_IN.UTF-8 +ur_IN.utf8 ur_IN.UTF-8 +ur ur_PK.CP1256 +ur_PK ur_PK.CP1256 +ur_PK.cp1256 ur_PK.CP1256 +ur_PK.microsoftcp1256 ur_PK.CP1256 +ur_PK.microsoft-cp1256 ur_PK.CP1256 +ur_PK.MICROSOFT-CP1256 ur_PK.CP1256 +uz uz_UZ.UTF-8 +uz_UZ uz_UZ.UTF-8 +uz_UZ.ISO-8859-1 uz_UZ.ISO8859-1 +uz_UZ@cyrillic uz_UZ.UTF-8 +uz_UZ.UTF-8@cyrillic uz_UZ.UTF-8 +ve ve_ZA.UTF-8 +ve_ZA ve_ZA.UTF-8 +ve_ZA.utf8 ve_ZA.UTF-8 +vi vi_VN.TCVN +vi_VN vi_VN.TCVN +Vi_VN vi_VN.TCVN +VI_VN vi_VN.TCVN +vi_VN.tcvn vi_VN.TCVN +vi_VN.tcvn5712 vi_VN.TCVN +vi_VN.viscii vi_VN.VISCII +vi_VN.viscii111 vi_VN.VISCII +vi_VN.utf8 vi_VN.UTF-8 +VI_VN.UTF-8 vi_VN.UTF-8 +wa wa_BE.ISO8859-1 +wa_BE wa_BE.ISO8859-1 +wa_BE.iso88591 wa_BE.ISO8859-1 +wa_BE.ISO-8859-1 wa_BE.ISO8859-1 +wa_BE.iso885915 wa_BE.ISO8859-15 +wa_BE.ISO-8859-15 wa_BE.ISO8859-15 +wa_BE.ISO-8859-15@euro wa_BE.ISO8859-15 +wa_BE@euro wa_BE.ISO8859-15 +xh xh_ZA.ISO8859-1 +xh_ZA xh_ZA.ISO8859-1 +xh_ZA.iso88591 xh_ZA.ISO8859-1 +xh_ZA.utf8 xh_ZA.UTF-8 +yi yi_US.CP1255 +yi_US yi_US.CP1255 +yi_US.cp1255 yi_US.CP1255 +yi_US.microsoftcp1255 yi_US.CP1255 +yi_US.microsoft-cp1255 yi_US.CP1255 +yi_US.MICROSOFT-CP1255 yi_US.CP1255 +zh_CN zh_CN.gb2312 +zh_CN.Big5 zh_TW.big5 +zh_CN.EUC zh_CN.eucCN +zh_CN.GB2312 zh_CN.gb2312 +zh_CN.GBK zh_CN.gbk +zh_CN.GB18030 zh_CN.gb18030 +zh_CN.big5 zh_TW.big5 +zh_CN.euc zh_CN.eucCN +zh_CN.utf8 zh_CN.UTF-8 +ZH_CN.UTF-8 zh_CN.UTF-8 +zh_HK zh_HK.big5hkscs +zh_HK.BIG5HK zh_HK.big5hkscs +zh_HK.Big5hkscs zh_HK.big5hkscs +zh_HK.Big5-hkscs zh_HK.big5hkscs +zh_HK.Big5_hkscs zh_HK.big5hkscs +zh_HK.Big5HKSCS zh_HK.big5hkscs +zh_HK.BIG5-HKSCS zh_HK.big5hkscs +zh_HK.BIG5_HKSCS zh_HK.big5hkscs +zh_HK.Big5-HKSCS zh_HK.big5hkscs +zh_HK.big5-hkscs zh_HK.big5hkscs +zh_HK.Big5-HKSCS zh_HK.big5hkscs +zh_HK.Big5HKSCS zh_HK.big5hkscs +zh_HK.Big5 zh_HK.big5 +zh_HK.utf8 zh_HK.UTF-8 +ZH_HK.UTF-8 zh_HK.UTF-8 +ZH_SG.UTF-8 zh_SG.UTF-8 +zh_TW zh_TW.big5 +zh_TW.Big5 zh_TW.big5 +zh_TW.BIG5 zh_TW.big5 +Zh_TW.big5 zh_TW.big5 +zh_TW.EUC zh_TW.eucTW +zh_TW.EUC-TW zh_TW.eucTW +zh_TW.utf8 zh_TW.UTF-8 +ZH_TW.UTF-8 zh_TW.UTF-8 +zu zu_ZA.ISO8859-1 +zu_ZA zu_ZA.ISO8859-1 +zu_ZA.iso88591 zu_ZA.ISO8859-1 +zu_ZA.utf8 zu_ZA.UTF-8 + +# The following locale names are used in SCO 3.0 +english_uk.8859 en_GB.ISO8859-1 +english_us.8859 en_US.ISO8859-1 +english_us.ascii en_US.ISO8859-1 +french_france.8859 fr_FR.ISO8859-1 +german_germany.8859 de_DE.ISO8859-1 +portuguese_brazil.8859 pt_BR.ISO8859-1 +spanish_spain.8859 es_ES.ISO8859-1 +# The following locale names are used in HPUX 9.x +american.iso88591 en_US.ISO8859-1 +arabic.iso88596 ar_AA.ISO8859-6 +bokmal nb_NO.ISO8859-1 +bulgarian bg_BG.CP1251 +c-french.iso88591 fr_CA.ISO8859-1 +catalan ca_ES.ISO8859-1 +chinese-s zh_CN.eucCN +chinese-t zh_TW.eucTW +croatian hr_HR.ISO8859-2 +czech cs_CZ.ISO8859-2 +danish da_DK.ISO8859-1 +dansk da_DK.ISO8859-1 +danish.iso88591 da_DK.ISO8859-1 +deutsch de_DE.ISO8859-1 +dutch nl_NL.ISO8859-1 +dutch.iso88591 nl_BE.ISO8859-1 +eesti et_EE.ISO8859-1 +english.iso88591 en_EN.ISO8859-1 +estonian et_EE.ISO8859-1 +finnish fi_FI.ISO8859-1 +finnish.iso88591 fi_FI.ISO8859-1 +french fr_FR.ISO8859-1 +french.iso88591 fr_CH.ISO8859-1 +galego gl_ES.ISO8859-1 +galician gl_ES.ISO8859-1 +german de_DE.ISO8859-1 +german.iso88591 de_CH.ISO8859-1 +greek el_GR.ISO8859-7 +greek.iso88597 el_GR.ISO8859-7 +hebrew he_IL.ISO8859-8 +hebrew.iso88598 he_IL.ISO8859-8 +hrvatski hr_HR.ISO8859-2 +hungarian hu_HU.ISO8859-2 +icelandic.iso88591 is_IS.ISO8859-1 +icelandic is_IS.ISO8859-1 +italian it_IT.ISO8859-1 +italian.iso88591 it_IT.ISO8859-1 +japanese ja_JP.eucJP +japanese.euc ja_JP.eucJP +japanese.sjis ja_JP.SJIS +korean ko_KR.eucKR +korean.euc ko_KR.eucKR +lithuanian lt_LT.ISO8859-13 +norwegian no_NO.ISO8859-1 +norwegian.iso88591 no_NO.ISO8859-1 +polish pl_PL.ISO8859-2 +portuguese pt_PT.ISO8859-1 +portuguese.iso88591 pt_PT.ISO8859-1 +romanian ro_RO.ISO8859-2 +rumanian ro_RO.ISO8859-2 +russian ru_RU.ISO8859-5 +serbocroatian sr_RS.UTF-8@latin +sinhala si_LK.UTF-8 +slovak sk_SK.ISO8859-2 +slovene sl_SI.ISO8859-2 +slovenian sl_SI.ISO8859-2 +spanish es_ES.ISO8859-1 +spanish.iso88591 es_ES.ISO8859-1 +swedish sv_SE.ISO8859-1 +swedish.iso88591 sv_SE.ISO8859-1 +turkish tr_TR.ISO8859-9 +turkish.iso88599 tr_TR.ISO8859-9 +thai th_TH.ISO8859-11 +univ.utf8 en_US.UTF-8 +# Digital Unix utf +universal.utf8@ucs4 en_US.UTF-8 +# Solaris and SunOS have iso_8859_1 and iso_8859_15 LC_CTYPES +# to augment LANG=C +iso_8859_1 en_US.ISO8859-1 +iso_8859_15 en_US.ISO8859-15 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# Other miscellaneous locale names +ISO8859-1 en_US.ISO8859-1 +ISO-8859-1 en_US.ISO8859-1 +japan ja_JP.eucJP +Japanese-EUC ja_JP.eucJP + +# +# This file contains alias names of locales. +# Each alias name is described within one line. +# The first word is the alias name (simplified locale name), +# the second word is the full locale name. +# +# + +POSIX: C +POSIX-UTF2: C +C_C.C: C +C.en: C +C.ASCII: C +C.iso88591: en_US.ISO8859-1 +Cextend: en_US.ISO8859-1 +Cextend.en: en_US.ISO8859-1 +English_United-States.437: C +C.UTF-8: en_US.UTF-8 +C.utf8: en_US.UTF-8 +# a3 is not an ISO 639 language code, but in Cyrillic, "Z" looks like "3". +a3: az_AZ.KOI8-C +a3_AZ: az_AZ.KOI8-C +a3_AZ.koi8c: az_AZ.KOI8-C +a3_AZ.KOI-C: az_AZ.KOI8-C +a3_AZ.UTF-8: az_AZ.UTF-8 +af: af_ZA.ISO8859-1 +af_ZA: af_ZA.ISO8859-1 +af_ZA.iso88591: af_ZA.ISO8859-1 +af_ZA.ISO-8859-1: af_ZA.ISO8859-1 +af_ZA.utf8: af_ZA.UTF-8 +am: am_ET.UTF-8 +am_ET: am_ET.UTF-8 +ar: ar_AA.ISO8859-6 +ar_AA: ar_AA.ISO8859-6 +AR_AA: ar_AA.ISO8859-6 +Ar_AA: ar_AA.ISO8859-6 +AR_AA.UTF-8: ar_AA.UTF-8 +ar_AA.iso88596: ar_AA.ISO8859-6 +ar_AA.ISO-8859-6: ar_AA.ISO8859-6 +ar_AE: ar_AE.ISO8859-6 +ar_AE.iso88596: ar_AE.ISO8859-6 +ar_AE.ISO-8859-6: ar_AE.ISO8859-6 +ar_AE.utf8: ar_AE.UTF-8 +ar_BH: ar_BH.ISO8859-6 +ar_BH.iso88596: ar_BH.ISO8859-6 +ar_BH.ISO-8859-6: ar_BH.ISO8859-6 +ar_BH.utf8: ar_BH.UTF-8 +ar_DZ: ar_DZ.ISO8859-6 +ar_DZ.iso88596: ar_DZ.ISO8859-6 +ar_DZ.ISO-8859-6: ar_DZ.ISO8859-6 +ar_DZ.utf8: ar_DZ.UTF-8 +ar_EG: ar_EG.ISO8859-6 +ar_EG.iso88596: ar_EG.ISO8859-6 +ar_EG.ISO-8859-6: ar_EG.ISO8859-6 +ar_EG.utf8: ar_EG.UTF-8 +ar_IN: ar_IN.UTF-8 +ar_IN.utf8: ar_IN.UTF-8 +ar_IQ: ar_IQ.ISO8859-6 +ar_IQ.iso88596: ar_IQ.ISO8859-6 +ar_IQ.ISO-8859-6: ar_IQ.ISO8859-6 +ar_IQ.utf8: ar_IQ.UTF-8 +ar_JO: ar_JO.ISO8859-6 +ar_JO.iso88596: ar_JO.ISO8859-6 +ar_JO.ISO-8859-6: ar_JO.ISO8859-6 +ar_JO.utf8: ar_JO.UTF-8 +ar_KW: ar_KW.ISO8859-6 +ar_KW.iso88596: ar_KW.ISO8859-6 +ar_KW.ISO-8859-6: ar_KW.ISO8859-6 +ar_KW.utf8: ar_KW.UTF-8 +ar_LB: ar_LB.ISO8859-6 +ar_LB.iso88596: ar_LB.ISO8859-6 +ar_LB.ISO-8859-6: ar_LB.ISO8859-6 +ar_LB.utf8: ar_LB.UTF-8 +ar_LY: ar_LY.ISO8859-6 +ar_LY.iso88596: ar_LY.ISO8859-6 +ar_LY.ISO-8859-6: ar_LY.ISO8859-6 +ar_LY.utf8: ar_LY.UTF-8 +ar_MA: ar_MA.ISO8859-6 +ar_MA.iso88596: ar_MA.ISO8859-6 +ar_MA.ISO-8859-6: ar_MA.ISO8859-6 +ar_MA.utf8: ar_MA.UTF-8 +ar_OM: ar_OM.ISO8859-6 +ar_OM.iso88596: ar_OM.ISO8859-6 +ar_OM.ISO-8859-6: ar_OM.ISO8859-6 +ar_OM.utf8: ar_OM.UTF-8 +ar_QA: ar_QA.ISO8859-6 +ar_QA.iso88596: ar_QA.ISO8859-6 +ar_QA.ISO-8859-6: ar_QA.ISO8859-6 +ar_QA.utf8: ar_QA.UTF-8 +ar_SA: ar_SA.ISO8859-6 +ar_SA.iso88596: ar_SA.ISO8859-6 +ar_SA.ISO-8859-6: ar_SA.ISO8859-6 +ar_SA.utf8: ar_SA.UTF-8 +ar_SD: ar_SD.ISO8859-6 +ar_SD.iso88596: ar_SD.ISO8859-6 +ar_SD.ISO-8859-6: ar_SD.ISO8859-6 +ar_SD.utf8: ar_SD.UTF-8 +ar_SY: ar_SY.ISO8859-6 +ar_SY.iso88596: ar_SY.ISO8859-6 +ar_SY.ISO-8859-6: ar_SY.ISO8859-6 +ar_SY.utf8: ar_SY.UTF-8 +ar_TN: ar_TN.ISO8859-6 +ar_TN.iso88596: ar_TN.ISO8859-6 +ar_TN.ISO-8859-6: ar_TN.ISO8859-6 +ar_TN.utf8: ar_TN.UTF-8 +as: as_IN.UTF-8 +as_IN: as_IN.UTF-8 +as_IN.utf8: as_IN.UTF-8 +ar_YE: ar_YE.ISO8859-6 +ar_YE.iso88596: ar_YE.ISO8859-6 +ar_YE.ISO-8859-6: ar_YE.ISO8859-6 +ar_YE.utf8: ar_YE.UTF-8 +az: az_AZ.ISO8859-9E +az_AZ: az_AZ.ISO8859-9E +az_AZ.iso88599e: az_AZ.ISO8859-9E +be: be_BY.CP1251 +be@latin: be_BY.UTF-8@latin +be_BY: be_BY.CP1251 +be_BY@latin: be_BY.UTF-8@latin +be_BY.cp1251: be_BY.CP1251 +be_BY.microsoftcp1251: be_BY.CP1251 +be_BY.microsoft-cp1251: be_BY.CP1251 +be_BY.MICROSOFT-CP1251: be_BY.CP1251 +be_BY.utf8: be_BY.UTF-8 +be_BY.utf8@latin: be_BY.UTF-8@latin +bg: bg_BG.CP1251 +bg_BG: bg_BG.CP1251 +bg_BG.cp1251: bg_BG.CP1251 +bg_BG.microsoftcp1251: bg_BG.CP1251 +bg_BG.microsoft-cp1251: bg_BG.CP1251 +bg_BG.MICROSOFT-CP1251: bg_BG.CP1251 +bg_BG.iso88595: bg_BG.ISO8859-5 +bg_BG.ISO-8859-5: bg_BG.ISO8859-5 +bg_BG.koi8r: bg_BG.KOI8-R +be_BG.utf8: bg_BG.UTF-8 +bn_IN: bn_IN.UTF-8 +bn_IN.utf8: bn_IN.UTF-8 +bo_IN: bo_IN.UTF-8 +bo_IN.utf8: bo_IN.UTF-8 +br: br_FR.ISO8859-1 +br_FR: br_FR.ISO8859-1 +br_FR.iso88591: br_FR.ISO8859-1 +br_FR.ISO-8859-1: br_FR.ISO8859-1 +br_FR.iso885914: br_FR.ISO8859-14 +br_FR.ISO-8859-14: br_FR.ISO8859-14 +br_FR.iso885915: br_FR.ISO8859-15 +br_FR.ISO-8859-15: br_FR.ISO8859-15 +br_FR.ISO-8859-15@euro: br_FR.ISO8859-15 +br_FR@euro: br_FR.ISO8859-15 +br_FR.UTF-8@euro: br_FR.UTF-8 +bs: bs_BA.ISO8859-2 +bs_BA: bs_BA.ISO8859-2 +bs_BA.iso88592: bs_BA.ISO8859-2 +bs_BA.ISO-8859-2: bs_BA.ISO8859-2 +bs_BA.ISO_8859-2: bs_BA.ISO8859-2 +ca: ca_ES.ISO8859-1 +ca_AD: ca_AD.ISO8859-1 +ca_AD@euro: ca_AD.ISO8859-15 +ca_AD.iso88591: ca_AD.ISO8859-1 +ca_AD.ISO-8859-1: ca_AD.ISO8859-1 +ca_AD.iso885915: ca_AD.ISO8859-15 +ca_AD.utf8: ca_AD.UTF-8 +ca_AD.ISO-8859-15: ca_AD.ISO8859-15 +ca_AD.ISO-8859-15@euro: ca_AD.ISO8859-15 +ca_AD.UTF-8@euro: ca_AD.UTF-8 +ca_ES: ca_ES.ISO8859-1 +ca_ES@euro: ca_ES.ISO8859-15 +ca_ES.iso88591: ca_ES.ISO8859-1 +ca_ES.ISO-8859-1: ca_ES.ISO8859-1 +ca_ES.iso885915: ca_ES.ISO8859-15 +ca_ES.utf8: ca_ES.UTF-8 +ca_ES.ISO-8859-15: ca_ES.ISO8859-15 +ca_ES.ISO-8859-15@euro: ca_ES.ISO8859-15 +ca_ES.UTF-8@euro: ca_ES.UTF-8 +ca_FR: ca_FR.ISO8859-1 +ca_FR@euro: ca_FR.ISO8859-15 +ca_FR.iso88591: ca_FR.ISO8859-1 +ca_FR.ISO-8859-1: ca_FR.ISO8859-1 +ca_FR.iso885915: ca_FR.ISO8859-15 +ca_FR.utf8: ca_FR.UTF-8 +ca_FR.ISO-8859-15: ca_FR.ISO8859-15 +ca_FR.ISO-8859-15@euro: ca_FR.ISO8859-15 +ca_FR.UTF-8@euro: ca_FR.UTF-8 +ca_IT: ca_IT.ISO8859-1 +ca_IT@euro: ca_IT.ISO8859-15 +ca_IT.iso88591: ca_IT.ISO8859-1 +ca_IT.ISO-8859-1: ca_IT.ISO8859-1 +ca_IT.iso885915: ca_IT.ISO8859-15 +ca_IT.utf8: ca_IT.UTF-8 +ca_IT.ISO-8859-15: ca_IT.ISO8859-15 +ca_IT.ISO-8859-15@euro: ca_IT.ISO8859-15 +ca_IT.UTF-8@euro: ca_IT.UTF-8 +cs: cs_CZ.ISO8859-2 +cs_CS: cs_CZ.ISO8859-2 +cs_CS.ISO8859-2: cs_CZ.ISO8859-2 +cs_CZ: cs_CZ.ISO8859-2 +cs_CZ.iso88592: cs_CZ.ISO8859-2 +cs_CS.iso8859-2: cs_CZ.ISO8859-2 +cs_CZ.ISO-8859-2: cs_CZ.ISO8859-2 +cs_CZ.ISO_8859-2: cs_CZ.ISO8859-2 +cs_CZ.utf8: cs_CZ.UTF-8 +cy: cy_GB.ISO8859-1 +cy_GB: cy_GB.ISO8859-1 +cy_GB.iso88591: cy_GB.ISO8859-1 +cy_GB.ISO-8859-1: cy_GB.ISO8859-1 +cy_GB.iso885914: cy_GB.ISO8859-14 +cy_GB.ISO-8859-14: cy_GB.ISO8859-14 +cy_GB.iso885915: cy_GB.ISO8859-15 +cy_GB.ISO-8859-15: cy_GB.ISO8859-15 +da: da_DK.ISO8859-1 +da.ISO8859-15: da_DK.ISO8859-15 +da_DK: da_DK.ISO8859-1 +DA_DK: da_DK.ISO8859-1 +da_DK.88591: da_DK.ISO8859-1 +da_DK.88591.en: da_DK.ISO8859-1 +da_DK.iso88591: da_DK.ISO8859-1 +da_DK.ISO-8859-1: da_DK.ISO8859-1 +da_DK.ISO_8859-1: da_DK.ISO8859-1 +da_DK.iso885915: da_DK.ISO8859-15 +da_DK.ISO-8859-15: da_DK.ISO8859-15 +da_DK.8859-15: da_DK.ISO8859-15 +da_DK.utf8: da_DK.UTF-8 +DA_DK.UTF-8: da_DK.UTF-8 +de: de_DE.ISO8859-1 +de.ISO8859-15: de_DE.ISO8859-15 +de_AT: de_AT.ISO8859-1 +de_AT@euro: de_AT.ISO8859-15 +de_AT.iso88591: de_AT.ISO8859-1 +de_AT.ISO-8859-1: de_AT.ISO8859-1 +de_AT.ISO_8859-1: de_AT.ISO8859-1 +de_AT.iso885915: de_AT.ISO8859-15 +de_AT.ISO-8859-15: de_AT.ISO8859-15 +de_AT.ISO-8859-15@euro: de_AT.ISO8859-15 +de_AT.UTF-8@euro: de_AT.UTF-8 +de_AT.utf8: de_AT.UTF-8 +de_BE: de_BE.ISO8859-1 +de_BE@euro: de_BE.ISO8859-15 +de_BE.iso88591: de_BE.ISO8859-1 +de_BE.ISO_8859-1: de_BE.ISO8859-1 +de_BE.ISO-8859-1: de_BE.ISO8859-1 +de_BE.iso885915: de_BE.ISO8859-15 +de_BE.ISO_8859-15: de_BE.ISO8859-15 +de_BE.ISO-8859-15: de_BE.ISO8859-15 +de_BE.ISO-8859-15@euro: de_BE.ISO8859-15 +de_BE.UTF-8@euro: de_BE.UTF-8 +de_CH: de_CH.ISO8859-1 +de_CH.iso88591: de_CH.ISO8859-1 +de_CH.ISO_8859-1: de_CH.ISO8859-1 +de_CH.ISO-8859-1: de_CH.ISO8859-1 +de_CH.iso885915: de_CH.ISO8859-15 +de_CH.ISO_8859-15: de_CH.ISO8859-15 +de_CH.ISO-8859-15: de_CH.ISO8859-15 +de_CH.utf8: de_CH.UTF-8 +de_DE: de_DE.ISO8859-1 +de_DE@euro: de_DE.ISO8859-15 +de_DE.88591: de_DE.ISO8859-1 +de_DE.88591.en: de_DE.ISO8859-1 +de_DE.iso88591: de_DE.ISO8859-1 +de_DE.ISO-8859-1: de_DE.ISO8859-1 +de_DE.ISO_8859-1: de_DE.ISO8859-1 +de_DE.iso885915: de_DE.ISO8859-15 +de_DE.ISO-8859-15: de_DE.ISO8859-15 +de_DE.ISO_8859-15: de_DE.ISO8859-15 +de_DE.8859-15: de_DE.ISO8859-15 +de_DE.8859-15@euro: de_DE.ISO8859-15 +de_DE.ISO-8859-15@euro: de_DE.ISO8859-15 +de_DE.UTF-8@euro: de_DE.UTF-8 +de_DE.utf8: de_DE.UTF-8 +de_IT: de_IT.UTF-8 +de_IT.utf8: de_IT.UTF-8 +de_LI: de_LI.ISO8859-1 +de_LI.iso88591: de_LI.ISO8859-1 +de_LI.ISO_8859-1: de_LI.ISO8859-1 +de_LI.ISO-8859-1: de_LI.ISO8859-1 +de_LI.iso885915: de_LI.ISO8859-15 +de_LI.ISO_8859-15: de_LI.ISO8859-15 +de_LI.ISO-8859-15: de_LI.ISO8859-15 +de_LI.utf8: de_LI.UTF-8 +de_LU: de_LU.ISO8859-1 +de_LU@euro: de_LU.ISO8859-15 +de_LU.iso88591: de_LU.ISO8859-1 +de_LU.ISO_8859-1: de_LU.ISO8859-1 +de_LU.ISO-8859-1: de_LU.ISO8859-1 +de_LU.iso885915: de_LU.ISO8859-15 +de_LU.ISO_8859-15: de_LU.ISO8859-15 +de_LU.ISO-8859-15: de_LU.ISO8859-15 +de_LU.ISO-8859-15@euro: de_LU.ISO8859-15 +de_LU.UTF-8@euro: de_LU.UTF-8 +de_LU.utf8: de_LU.UTF-8 +GER_DE.8859: de_DE.ISO8859-1 +GER_DE.8859.in: de_DE.ISO8859-1 +ee: ee_EE.ISO8859-4 +ee_EE: ee_EE.ISO8859-4 +ee_EE.iso88594: ee_EE.ISO8859-4 +el: el_GR.ISO8859-7 +el_GR: el_GR.ISO8859-7 +el_GR.iso88597: el_GR.ISO8859-7 +el_GR.ISO-8859-7: el_GR.ISO8859-7 +el_GR@euro: el_GR.ISO8859-15 +el_GR.utf8: el_GR.UTF-8 +en: en_US.ISO8859-1 +en.ISO-8859-1: en_US.ISO8859-1 +en_AU: en_AU.ISO8859-1 +en_AU.iso88591: en_AU.ISO8859-1 +en_AU.ISO-8859-1: en_AU.ISO8859-1 +en_AU.ISO_8859-1: en_AU.ISO8859-1 +en_AU.utf8: en_AU.UTF-8 +en_BE: en_BE.ISO8859-1 +en_BE@euro: en_BE.ISO8859-15 +en_BE.utf8: en_BE.UTF-8 +en_BW: en_BW.ISO8859-1 +en_BW.utf8: en_BW.UTF-8 +en_BW.iso88591: en_BW.ISO8859-1 +en_BW.ISO-8859-1: en_BW.ISO8859-1 +en_CA: en_CA.ISO8859-1 +en_CA.iso88591: en_CA.ISO8859-1 +en_CA.ISO-8859-1: en_CA.ISO8859-1 +en_CA.ISO_8859-1: en_CA.ISO8859-1 +en_CA.utf8: en_CA.UTF-8 +en_DL.utf8: en_DL.UTF-8 +en_GB: en_GB.ISO8859-1 +en_GB.88591: en_GB.ISO8859-1 +en_GB.88591.en: en_GB.ISO8859-1 +en_GB.iso88591: en_GB.ISO8859-1 +en_GB.ISO-8859-1: en_GB.ISO8859-1 +en_GB.ISO_8859-1: en_GB.ISO8859-1 +en_GB.iso885915: en_GB.ISO8859-15 +en_GB.ISO-8859-15: en_GB.ISO8859-15 +en_GB.utf8: en_GB.UTF-8 +en_UK: en_GB.ISO8859-1 +ENG_GB.8859: en_GB.ISO8859-1 +ENG_GB.8859.in: en_GB.ISO8859-1 +en_HK: en_HK.ISO8859-1 +en_HK.iso88591: en_HK.ISO8859-1 +en_HK.ISO-8859-1: en_HK.ISO8859-1 +en_HK.utf8: en_HK.UTF-8 +en_IE: en_IE.ISO8859-1 +en_IE.iso88591: en_IE.ISO8859-1 +en_IE.ISO-8859-1: en_IE.ISO8859-1 +en_IE.iso885915: en_IE.ISO8859-15 +en_IE.ISO-8859-15: en_IE.ISO8859-15 +en_IE.ISO-8859-15@euro: en_IE.ISO8859-15 +en_IE@euro: en_IE.ISO8859-15 +en_IE.UTF-8@euro: en_IE.UTF-8 +en_IE.utf8: en_IE.UTF-8 +en_IL: en_IL.ISO8859-1 +en_IL.utf8: en_IL.UTF-8 +en_IN.utf8: en_IN.UTF-8 +en_IN: en_IN.ISO8859-1 +en_NZ: en_NZ.ISO8859-1 +en_NZ.iso88591: en_NZ.ISO8859-1 +en_NZ.ISO-8859-1: en_NZ.ISO8859-1 +en_NZ.utf8: en_NZ.UTF-8 +en_PH: en_PH.ISO8859-1 +en_PH.utf8: en_PH.UTF-8 +en_PH.iso88591: en_PH.ISO8859-1 +en_PH.ISO-8859-1: en_PH.ISO8859-1 +en_SG: en_SG.ISO8859-1 +en_SG.utf8: en_SG.UTF-8 +en_SG.iso88591: en_SG.ISO8859-1 +en_SG.ISO-8859-1: en_SG.ISO8859-1 +en_US: en_US.ISO8859-1 +EN_US: en_US.ISO8859-1 +en_US.88591: en_US.ISO8859-1 +en_US.88591.en: en_US.ISO8859-1 +en_US.iso88591: en_US.ISO8859-1 +en_US.ISO-8859-1: en_US.ISO8859-1 +en_US.ISO_8859-1: en_US.ISO8859-1 +en_US.iso885915: en_US.ISO8859-15 +en_US.ISO-8859-15: en_US.ISO8859-15 +en_US.8859-15: en_US.ISO8859-15 +en_US.ISO8859-15@euro: en_US.ISO8859-15 +en_US.utf8: en_US.UTF-8 +EN_US.UTF-8: en_US.UTF-8 +en_ZA: en_ZA.ISO8859-1 +en_ZA.88591: en_ZA.ISO8859-1 +en_ZA.88591.en: en_ZA.ISO8859-1 +en_ZA.iso88591: en_ZA.ISO8859-1 +en_ZA.ISO-8859-1: en_ZA.ISO8859-1 +en_ZA.ISO_8859-1: en_ZA.ISO8859-1 +en_ZA.iso885915: en_ZA.ISO8859-15 +en_ZA.ISO-8859-15: en_ZA.ISO8859-15 +en_ZA.utf8: en_ZA.UTF-8 +en_ZW: en_ZW.ISO8859-1 +en_ZW.utf8: en_ZS.UTF-8 +en_ZW.iso88591: en_ZW.ISO8859-1 +en_ZW.ISO-8859-1: en_ZW.ISO8859-1 +eo: eo_XX.ISO8859-3 +eo_EO: eo_EO.ISO8859-3 +eo_XX: eo_XX.ISO8859-3 +es: es_ES.ISO8859-1 +es.UTF-8: es_ES.UTF-8 +es_AR: es_AR.ISO8859-1 +es_AR.iso88591: es_AR.ISO8859-1 +es_AR.ISO-8859-1: es_AR.ISO8859-1 +es_AR.utf8: es_AR.UTF-8 +es_BO: es_BO.ISO8859-1 +es_BO.iso88591: es_BO.ISO8859-1 +es_BO.ISO-8859-1: es_BO.ISO8859-1 +es_BO.utf8: es_BO.UTF-8 +es_CL: es_CL.ISO8859-1 +es_CL.iso88591: es_CL.ISO8859-1 +es_CL.ISO-8859-1: es_CL.ISO8859-1 +es_CL.utf8: es_CL.UTF-8 +es_CO: es_CO.ISO8859-1 +es_CO.iso88591: es_CO.ISO8859-1 +es_CO.ISO-8859-1: es_CO.ISO8859-1 +es_CO.utf8: es_CO.UTF-8 +es_CR: es_CR.ISO8859-1 +es_CR.iso88591: es_CR.ISO8859-1 +es_CR.ISO-8859-1: es_CR.ISO8859-1 +es_CR.utf8: es_CR.UTF-8 +es_DO: es_DO.ISO8859-1 +es_DO.iso88591: es_DO.ISO8859-1 +es_DO.ISO-8859-1: es_DO.ISO8859-1 +es_DO.utf8: es_DO.UTF-8 +es_EC: es_EC.ISO8859-1 +es_EC.iso88591: es_EC.ISO8859-1 +es_EC.ISO-8859-1: es_EC.ISO8859-1 +es_EC.utf8: es_EC.UTF-8 +es_ES: es_ES.ISO8859-1 +es_ES.88591: es_ES.ISO8859-1 +es_ES.88591.en: es_ES.ISO8859-1 +es_ES.iso88591: es_ES.ISO8859-1 +es_ES.ISO-8859-1: es_ES.ISO8859-1 +es_ES.ISO_8859-1: es_ES.ISO8859-1 +es_ES.iso885915: es_ES.ISO8859-15 +es_ES.ISO-8859-15: es_ES.ISO8859-15 +es_ES.ISO-8859-15@euro: es_ES.ISO8859-15 +es_ES@euro: es_ES.ISO8859-15 +es_ES.UTF-8@euro: es_ES.UTF-8 +es_ES.utf8: es_ES.UTF-8 +es_GT: es_GT.ISO8859-1 +es_GT.iso88591: es_GT.ISO8859-1 +es_GT.ISO-8859-1: es_GT.ISO8859-1 +es_GT.utf8: es_GT.UTF-8 +es_HN: es_HN.ISO8859-1 +es_HN.iso88591: es_HN.ISO8859-1 +es_HN.ISO-8859-1: es_HN.ISO8859-1 +es_HN.utf8: es_HN.UTF-8 +es_MX: es_MX.ISO8859-1 +es_MX.iso88591: es_MX.ISO8859-1 +es_MX.ISO-8859-1: es_MX.ISO8859-1 +es_MX.utf8: es_MX.UTF-8 +es_NI: es_NI.ISO8859-1 +es_NI.iso88591: es_NI.ISO8859-1 +es_NI.ISO-8859-1: es_NI.ISO8859-1 +es_NI.utf8: es_NI.UTF-8 +es_PA: es_PA.ISO8859-1 +es_PA.iso88591: es_PA.ISO8859-1 +es_PA.ISO-8859-1: es_PA.ISO8859-1 +es_PA.iso885915: es_PA.ISO8859-15 +es_PA.utf8: es_PA.UTF-8 +es_PE: es_PE.ISO8859-1 +es_PE.iso88591: es_PE.ISO8859-1 +es_PE.ISO-8859-1: es_PE.ISO8859-1 +es_PE.iso885915: es_PE.ISO8859-15 +es_PE.utf8: es_PE.UTF-8 +es_PR: es_PR.ISO8859-1 +es_PR.iso88591: es_PR.ISO8859-1 +es_PR.ISO-8859-1: es_PR.ISO8859-1 +es_PR.utf8: es_PR.UTF-8 +es_PY: es_PY.ISO8859-1 +es_PY.iso88591: es_PY.ISO8859-1 +es_PY.ISO-8859-1: es_PY.ISO8859-1 +es_PY.iso885915: es_PY.ISO8859-15 +es_PY.utf8: es_PY.UTF-8 +es_SV: es_SV.ISO8859-1 +es_SV.iso88591: es_SV.ISO8859-1 +es_SV.ISO-8859-1: es_SV.ISO8859-1 +es_SV.iso885915: es_SV.ISO8859-15 +es_SV.utf8: es_SV.UTF-8 +es_US: es_US.ISO8859-1 +es_US.iso88591: es_US.ISO8859-1 +es_US.ISO-8859-1: es_US.ISO8859-1 +es_UY: es_UY.ISO8859-1 +es_UY.iso88591: es_UY.ISO8859-1 +es_UY.ISO-8859-1: es_UY.ISO8859-1 +es_UY.iso885915: es_UY.ISO8859-15 +es_UY.utf8: es_UY.UTF-8 +es_VE: es_VE.ISO8859-1 +es_VE.iso88591: es_VE.ISO8859-1 +es_VE.ISO-8859-1: es_VE.ISO8859-1 +es_VE.iso885915: es_VE.ISO8859-15 +es_VE.utf8: es_VE.UTF-8 + + + + +# According to Estonian local standards, ISO8859-4 is not a recommended +# charset. EVS8:2000 specifies ISO8859-15 as the base charset. +et: et_EE.ISO8859-15 +et_EE: et_EE.ISO8859-15 +et_EE.iso88591: et_EE.ISO8859-1 +et_EE.ISO-8859-1: et_EE.ISO8859-1 +et_EE.iso88594: et_EE.ISO8859-4 +et_EE.ISO-8859-4: et_EE.ISO8859-4 +et_EE.iso885913: et_EE.ISO8859-13 +et_EE.ISO-8859-13: et_EE.ISO8859-13 +et_EE.iso885915: et_EE.ISO8859-15 +et_EE.ISO-8859-15: et_EE.ISO8859-15 +et_EE.utf8: et_EE.UTF-8 +eu: eu_ES.ISO8859-1 +eu_ES: eu_ES.ISO8859-1 +eu_ES.iso88591: eu_ES.ISO8859-1 +eu_ES.ISO-8859-1: eu_ES.ISO8859-1 +eu_ES.iso885915: eu_ES.ISO8859-15 +eu_ES.ISO-8859-15: eu_ES.ISO8859-15 +eu_ES.ISO-8859-15@euro: eu_ES.ISO8859-15 +eu_ES@euro: eu_ES.ISO8859-15 +eu_ES.UTF-8@euro: eu_ES.UTF-8 +fa: fa_IR.UTF-8 +fa_IR: fa_IR.UTF-8 +fa_IR.isiri3342: fa_IR.ISIRI-3342 +fa_IR.utf8: fa_IR.UTF-8 +fi: fi_FI.ISO8859-15 +fi.ISO8859-15: fi_FI.ISO8859-15 +fi_FI: fi_FI.ISO8859-15 +fi_FI.88591: fi_FI.ISO8859-1 +fi_FI.88591.en: fi_FI.ISO8859-1 +fi_FI.iso88591: fi_FI.ISO8859-1 +fi_FI.ISO-8859-1: fi_FI.ISO8859-1 +fi_FI.ISO_8859-1: fi_FI.ISO8859-1 +fi_FI.iso885915: fi_FI.ISO8859-15 +fi_FI.ISO-8859-15: fi_FI.ISO8859-15 +fi_FI.ISO-8859-15@euro: fi_FI.ISO8859-15 +fi_FI@euro: fi_FI.ISO8859-15 +fi_FI.utf8: fi_FI.UTF-8 +fi_FI.UTF-8@euro: fi_FI.UTF-8 +fo: fo_FO.ISO8859-1 +fo_FO: fo_FO.ISO8859-1 +fo_FO.iso88591: fo_FO.ISO8859-1 +fo_FO.ISO-8859-1: fo_FO.ISO8859-1 +fo_FO.iso885915: fo_FO.ISO8859-15 +fo_FO.ISO-8859-15: fo_FO.ISO8859-15 +fo_FO.utf8: fo_FO.UTF-8 +fr: fr_FR.ISO8859-1 +fr.ISO8859-15: fr_FR.ISO8859-15 +fr.UTF-8: fr_FR.UTF-8 +fr_BE: fr_BE.ISO8859-1 +fr_BE.88591: fr_BE.ISO8859-1 +fr_BE.88591.en: fr_BE.ISO8859-1 +fr_BE.ISO-8859-1: fr_BE.ISO8859-1 +fr_BE.ISO_8859-1: fr_BE.ISO8859-1 +fr_BE.iso885915: fr_BE.ISO8859-15 +fr_BE.ISO-8859-15: fr_BE.ISO8859-15 +fr_BE.ISO-8859-15@euro: fr_BE.ISO8859-15 +fr_BE@euro: fr_BE.ISO8859-15 +fr_BE.utf8: fr_BE.UTF-8 +fr_BE.UTF-8@euro: fr_BE.UTF-8 +fr_CA: fr_CA.ISO8859-1 +fr_CA.88591: fr_CA.ISO8859-1 +fr_CA.88591.en: fr_CA.ISO8859-1 +fr_CA.iso88591: fr_CA.ISO8859-1 +fr_CA.ISO-8859-1: fr_CA.ISO8859-1 +fr_CA.ISO_8859-1: fr_CA.ISO8859-1 +fr_CA.iso885915: fr_CA.ISO8859-15 +fr_CA.ISO-8859-15: fr_CA.ISO8859-15 +fr_CA.utf8: fr_CA.UTF-8 +fr_CH: fr_CH.ISO8859-1 +fr_CH.88591: fr_CH.ISO8859-1 +fr_CH.88591.en: fr_CH.ISO8859-1 +fr_CH.ISO-8859-1: fr_CH.ISO8859-1 +fr_CH.ISO_8859-1: fr_CH.ISO8859-1 +fr_CH.iso885915: fr_CH.ISO8859-15 +fr_CH.ISO-8859-15: fr_CH.ISO8859-15 +fr_CH.utf8: fr_CH.UTF-8 +fr_FR: fr_FR.ISO8859-1 +fr_FR.88591: fr_FR.ISO8859-1 +fr_FR.88591.en: fr_FR.ISO8859-1 +fr_FR.iso88591: fr_FR.ISO8859-1 +fr_FR.ISO-8859-1: fr_FR.ISO8859-1 +fr_FR.ISO_8859-1: fr_FR.ISO8859-1 +fr_FR.iso885915: fr_FR.ISO8859-15 +fr_FR.ISO-8859-15: fr_FR.ISO8859-15 +fr_FR.ISO-8859-15@euro: fr_FR.ISO8859-15 +fr_FR@euro: fr_FR.ISO8859-15 +fr_FR.UTF-8@euro: fr_FR.UTF-8 +fr_FR.utf8: fr_FR.UTF-8 +fr_LU: fr_LU.ISO8859-1 +fr_LU.88591: fr_LU.ISO8859-1 +fr_LU.88591.en: fr_LU.ISO8859-1 +fr_LU.iso88591: fr_LU.ISO8859-1 +fr_LU.ISO-8859-1: fr_LU.ISO8859-1 +fr_LU.ISO_8859-1: fr_LU.ISO8859-1 +fr_LU.iso885915: fr_LU.ISO8859-15 +fr_LU.ISO-8859-15: fr_LU.ISO8859-15 +fr_LU.ISO-8859-15@euro: fr_LU.ISO8859-15 +fr_LU@euro: fr_LU.ISO8859-15 +fr_LU.UTF-8@euro: fr_LU.UTF-8 +fr_LU.utf8: fr_LU.UTF-8 +FRE_FR.8859: fr_FR.ISO8859-1 +FRE_FR.8859.in: fr_FR.ISO8859-1 +ga: ga_IE.ISO8859-1 +ga_IE: ga_IE.ISO8859-1 +ga_IE.iso88591: ga_IE.ISO8859-1 +ga_IE.ISO-8859-1: ga_IE.ISO8859-1 +ga_IE.iso885914: ga_IE.ISO8859-14 +ga_IE.ISO-8859-14: ga_IE.ISO8859-14 +ga_IE.iso885915: ga_IE.ISO8859-15 +ga_IE.ISO-8859-15: ga_IE.ISO8859-15 +ga_IE.ISO-8859-15@euro: ga_IE.ISO8859-15 +ga_IE@euro: ga_IE.ISO8859-15 +ga_IE.UTF-8@euro: ga_IE.UTF-8 +ga_IE.utf8: ga_IE.UTF-8 +gd: gd_GB.ISO8859-1 +gd_GB: gd_GB.ISO8859-1 +gd_GB.iso88591: gd_GB.ISO8859-1 +gd_GB.ISO-8859-1: gd_GB.ISO8859-1 +gd_GB.iso885914: gd_GB.ISO8859-14 +gd_GB.ISO-8859-14: gd_GB.ISO8859-14 +gd_GB.iso885915: gd_GB.ISO8859-15 +gd_GB.ISO-8859-15: gd_GB.ISO8859-15 +gl: gl_ES.ISO8859-1 +gl_ES: gl_ES.ISO8859-1 +gl_ES.iso88591: gl_ES.ISO8859-1 +gl_ES.ISO-8859-1: gl_ES.ISO8859-1 +gl_ES.iso885915: gl_ES.ISO8859-15 +gl_ES.ISO-8859-15: gl_ES.ISO8859-15 +gl_ES.ISO-8859-15@euro: gl_ES.ISO8859-15 +gl_ES@euro: gl_ES.ISO8859-15 +gl_ES.UTF-8@euro: gl_ES.UTF-8 +gl_ES.utf8: gl_ES.UTF-8 +gu_IN: gu_IN.UTF-8 +gu_IN.utf8: gu_IN.UTF-8 +gv: gv_GB.ISO8859-1 +gv_GB: gv_GB.ISO8859-1 +gv_GB.iso88591: gv_GB.ISO8859-1 +gv_GB.ISO-8859-1: gv_GB.ISO8859-1 +gv_GB.iso885914: gv_GB.ISO8859-14 +gv_GB.ISO-8859-14: gv_GB.ISO8859-14 +gv_GB.iso885915: gv_GB.ISO8859-15 +gv_GB.ISO-8859-15: gv_GB.ISO8859-15 +he: he_IL.ISO8859-8 +he_IL: he_IL.ISO8859-8 +HE_IL: he_IL.ISO8859-8 +he_IL.iso88598: he_IL.ISO8859-8 +he_IL.ISO-8859-8: he_IL.ISO8859-8 +he_IL.cp1255: he_IL.CP1255 +he_IL.microsoftcp1255: he_IL.CP1255 +he_IL.microsoft-cp1255: he_IL.CP1255 +he_IL.MICROSOFT-CP1255: he_IL.CP1255 +he_IL.utf8: he_IL.UTF-8 +HE_IL.UTF-8: he_IL.UTF-8 +hi: hi_IN.ISCII-DEV +hi_IN: hi_IN.ISCII-DEV +HI_IN: hi_IN.ISCII-DEV +hi_IN.isciidev: hi_IN.ISCII-DEV +hi_IN.utf8: hi_IN.UTF-8 +HI_IN.UTF-8: hi_IN.UTF-8 +hne: hne_IN.UTF-8 +hne_IN: hne_IN.UTF-8 +hne_IN.utf8: hne_IN.UTF-8 +hr: hr_HR.ISO8859-2 +hr_HR: hr_HR.ISO8859-2 +hr_HR.iso88592: hr_HR.ISO8859-2 +hr_HR.ISO-8859-2: hr_HR.ISO8859-2 +hr_HR.ISO_8859-2: hr_HR.ISO8859-2 +hr_HR.utf8: hr_HR.UTF-8 +hu: hu_HU.ISO8859-2 +hu_HU: hu_HU.ISO8859-2 +hu_HU.iso88592: hu_HU.ISO8859-2 +hu_HU.ISO-8859-2: hu_HU.ISO8859-2 +hu_HU.utf8: hu_HU.UTF-8 +ia: ia.UTF-8 +ia.utf8: ia.UTF-8 +ie: ie.UTF-8 +ie.utf8: ie.UTF-8 +is: is_IS.ISO8859-1 +is_IS: is_IS.ISO8859-1 +is_IS.iso88591: is_IS.ISO8859-1 +is_IS.ISO-8859-1: is_IS.ISO8859-1 +is_IS.ISO_8859-1: is_IS.ISO8859-1 +is_IS.iso885915: is_IS.ISO8859-15 +is_IS.ISO-8859-15: is_IS.ISO8859-15 +is_IS.utf8: is_IS.UTF-8 +it: it_IT.ISO8859-1 +it.ISO8859-15: it_IT.ISO8859-15 +it.UTF-8: it_IT.UTF-8 +it_CH: it_CH.ISO8859-1 +it_CH.iso88591: it_CH.ISO8859-1 +it_CH.ISO_8859-1: it_CH.ISO8859-1 +it_CH.ISO-8859-1: it_CH.ISO8859-1 +it_CH.iso885915: it_CH.ISO8859-15 +it_CH.utf8: it_CH.UTF-8 +it_IT: it_IT.ISO8859-1 +it_IT.88591: it_IT.ISO8859-1 +it_IT.88591.en: it_IT.ISO8859-1 +it_IT.iso88591: it_IT.ISO8859-1 +it_IT.ISO-8859-1: it_IT.ISO8859-1 +it_IT.ISO_8859-1: it_IT.ISO8859-1 +it_IT.iso885915: it_IT.ISO8859-15 +it_IT.ISO-8859-15: it_IT.ISO8859-15 +it_IT.ISO-8859-15@euro: it_IT.ISO8859-15 +it_IT@euro: it_IT.ISO8859-15 +it_IT.utf8: it_IT.UTF-8 +it_IT.UTF-8@euro: it_IT.UTF-8 +# NUNACOM is an encoding for the Inuktitut syllabics +# we have little else on this encoding. +iu: iu_CA.NUNACOM-8 +iu_CA: iu_CA.NUNACOM-8 +iu_CA.nunacom8: iu_CA.NUNACOM-8 +ja_JP: ja_JP.eucJP +ja: ja_JP.eucJP +ja.JIS: ja_JP.JIS7 +ja.SJIS: ja_JP.SJIS +ja_JP.ujis: ja_JP.eucJP +Jp_JP: ja_JP.eucJP +ja_JP.AJEC: ja_JP.eucJP +ja_JP.EUC: ja_JP.eucJP +ja_JP.EUC-JP: ja_JP.eucJP +ja_JP.EUC_JP: ja_JP.eucJP +ja_JP.eucjp: ja_JP.eucJP +ja_JP.ISO-2022-JP: ja_JP.JIS7 +ja_JP.JIS: ja_JP.JIS7 +ja_JP.jis7: ja_JP.JIS7 +ja_JP.mscode: ja_JP.SJIS +ja_JP.PCK: ja_JP.SJIS +ja_JP.sjis: ja_JP.SJIS +ja_JP.utf8: ja_JP.UTF-8 +JA_JP.utf8: ja_JP.UTF-8 +ka: ka_GE.GEORGIAN-ACADEMY +ka_GE: ka_GE.GEORGIAN-ACADEMY +ka_GE.georgianacademy: ka_GE.GEORGIAN-ACADEMY +ka_GE.georgianrs: ka_GE.GEORGIAN-ACADEMY +ka_GE.georgianps: ka_GE.GEORGIAN-PS +kl: kl_GL.ISO8859-1 +kl_GL: kl_GL.ISO8859-1 +kl_GL.iso88591: kl_GL.ISO8859-1 +kl_GL.ISO-8859-1: kl_GL.ISO8859-1 +kl_GL.iso885915: kl_GL.ISO8859-15 +kl_GL.utf8: kl_GL.UTF-8 +km_KH: km_KH.UTF-8 +km_KH.utf8: km_KH.UTF-8 +kn: kn_IN.UTF-8 +kn_IN: kn_IN.UTF-8 +kn_IN.utf8: kn_IN.UTF-8 +ko: ko_KR.eucKR +ko.UTF-8: ko_KR.UTF-8 +ko_KR: ko_KR.eucKR +KO_KR: ko_KR.eucKR +ko_KR.EUC: ko_KR.eucKR +ko_KR.EUC-KR: ko_KR.eucKR +ko_KR.euc: ko_KR.eucKR +ko_KR.euckr: ko_KR.eucKR +ko_KR.utf8: ko_KR.UTF-8 +KO_KR.UTF-8: ko_KR.UTF-8 +ks: ks_IN.UTF-8 +ks_IN: ks_IN.UTF-8 +ks_IN.utf8: ks_IN.UTF-8 +ks_IN@devanagari: ks_IN.UTF-8@devanagari +ks_IN.utf8@devanagari: ks_IN.UTF-8@devanagari +kw: kw_GB.ISO8859-1 +kw_GB: kw_GB.ISO8859-1 +kw_GB.iso88591: kw_GB.ISO8859-1 +kw_GB.ISO-8859-1: kw_GB.ISO8859-1 +kw_GB.iso885914: kw_GB.ISO8859-14 +kw_GB.ISO-8859-14: kw_GB.ISO8859-14 +kw_GB.iso885915: kw_GB.ISO8859-15 +kw_GB.ISO-8859-15: kw_GB.ISO8859-15 +ky: ky_KG.UTF-8 +ky_KG: ky_KG.UTF-8 +ky_KG.utf8: ky_KG.UTF-8 +lo: lo_LA.MULELAO-1 +lo_LA: lo_LA.MULELAO-1 +lo_LA.cp1133: lo_LA.IBM-CP1133 +lo_LA.ibmcp1133: lo_LA.IBM-CP1133 +lo_LA.mulelao1: lo_LA.MULELAO-1 + + + + + + + +lt: lt_LT.ISO8859-13 +lt_LT: lt_LT.ISO8859-13 +lt_LT.iso88594: lt_LT.ISO8859-4 +lt_LT.ISO-8859-4: lt_LT.ISO8859-4 +lt_LT.ISO_8859-4: lt_LT.ISO8859-4 +lt_LT.iso885913: lt_LT.ISO8859-13 +lt_LT.ISO-8859-13: lt_LT.ISO8859-13 +lt_LT.ISO_8859-13: lt_LT.ISO8859-13 +lt_LT.utf8: lt_LT.UTF-8 +lv: lv_LV.ISO8859-13 +lv_LV: lv_LV.ISO8859-13 +lv_LV.iso88594: lv_LV.ISO8859-4 +lv_LV.ISO-8859-4: lv_LV.ISO8859-4 +lv_LV.iso885913: lv_LV.ISO8859-13 +lv_LV.ISO-8859-13: lv_LV.ISO8859-13 +lv_LV.ISO_8859-13: lv_LV.ISO8859-13 +lv_LV.utf8: lv_LV.UTF-8 +mai: mai_IN.UTF-8 +mai_IN: mai_IN.UTF-8 +mai_IN.utf8: mai_IN.UTF-8 +mi: mi_NZ.ISO8859-1 +mi_NZ: mi_NZ.ISO8859-1 +mi_NZ.iso88591: mi_NZ.ISO8859-1 +mk: mk_MK.ISO8859-5 +mk_MK: mk_MK.ISO8859-5 +mk_MK.iso88595: mk_MK.ISO8859-5 +mk_MK.ISO-8859-5: mk_MK.ISO8859-5 +mk_MK.cp1251: mk_MK.CP1251 +mk_MK.microsoftcp1251: mk_MK.CP1251 +mk_MK.microsoft-cp1251: mk_MK.CP1251 +mk_MK.MICROSOFT-CP1251: mk_MK.CP1251 +mk_MK.utf8: mk_MK.UTF-8 +ml: ml_IN.UTF-8 +ml_IN: ml_IN.UTF-8 +ml_IN.utf8: ml_IN.UTF-8 +mr: mr_IN.UTF-8 +mr_IN: mr_IN.UTF-8 +mr_IN.utf8: mr_IN.UTF-8 +ms: ms_MY.ISO8859-1 +ms_MY: ms_MY.ISO8859-1 +ms_MY.iso88591: ms_MY.ISO8859-1 +ms_MY.ISO-8859-1: ms_MY.ISO8859-1 +mt: mt_MT.ISO8859-3 +mt_MT: mt_MT.ISO8859-3 +mt_MT.ISO-8859-3: mt_MT.ISO8859-3 +nb: nb_NO.ISO8859-1 +nb_NO: nb_NO.ISO8859-1 +nb_NO.88591: nb_NO.ISO8859-1 +nb_NO.iso88591: nb_NO.ISO8859-1 +nb_NO.ISO-8859-1: nb_NO.ISO8859-1 +nb_NO.iso885915: nb_NO.ISO8859-15 +nb_NO.ISO-8859-15: nb_NO.ISO8859-15 +nb_NO.utf8: nb_NO.UTF-8 +ne_NP: ne_NP.UTF-8 +ne_NP.utf8: ne_NP.UTF-8 +nl: nl_NL.ISO8859-1 +nl.ISO8859-15: nl_NL.ISO8859-15 +nl_BE: nl_BE.ISO8859-1 +nl_BE.88591: nl_BE.ISO8859-1 +nl_BE.88591.en: nl_BE.ISO8859-1 +nl_BE.iso88591: nl_BE.ISO8859-1 +nl_BE.ISO-8859-1: nl_BE.ISO8859-1 +nl_BE.ISO_8859-1: nl_BE.ISO8859-1 +nl_BE.iso885915: nl_BE.ISO8859-15 +nl_BE.ISO-8859-15: nl_BE.ISO8859-15 +nl_BE.ISO-8859-15@euro: nl_BE.ISO8859-15 +nl_BE@euro: nl_BE.ISO8859-15 +nl_BE.utf8: nl_BE.UTF-8 +nl_BE.UTF-8@euro: nl_BE.UTF-8 +nl_NL: nl_NL.ISO8859-1 +nl_NL.88591: nl_NL.ISO8859-1 +nl_NL.88591.en: nl_NL.ISO8859-1 +nl_NL.iso88591: nl_NL.ISO8859-1 +nl_NL.ISO-8859-1: nl_NL.ISO8859-1 +nl_NL.ISO_8859-1: nl_NL.ISO8859-1 +nl_NL.iso885915: nl_NL.ISO8859-15 +nl_NL.ISO-8859-15: nl_NL.ISO8859-15 +nl_NL.ISO-8859-15@euro: nl_NL.ISO8859-15 +nl_NL@euro: nl_NL.ISO8859-15 +nl_NL.utf8: nl_NL.UTF-8 +nl_NL.UTF-8@euro: nl_NL.UTF-8 +nn: nn_NO.ISO8859-1 +nn_NO: nn_NO.ISO8859-1 +nn_NO.88591: nn_NO.ISO8859-1 +nn_NO.ISO-8859-1: nn_NO.ISO8859-1 +nn_NO.ISO_8859-1: nn_NO.ISO8859-1 +nn_NO.iso885915: nn_NO.ISO8859-15 +nn_NO.ISO-8859-15: nn_NO.ISO8859-15 +nn_NO.utf8: nn_NO.UTF-8 +no: no_NO.ISO8859-1 +no_NO: no_NO.ISO8859-1 +no_NO.88591: no_NO.ISO8859-1 +no_NO.88591.en: no_NO.ISO8859-1 +no_NO.iso88591: no_NO.ISO8859-1 +no_NO.ISO-8859-1: no_NO.ISO8859-1 +no_NO.ISO8859-1@bokmal: no_NO.ISO8859-1 +no_NO.ISO8859-1@nynorsk: no_NO.ISO8859-1 +no_NO.iso885915: no_NO.ISO8859-15 +no_NO.ISO-8859-15: no_NO.ISO8859-15 +no_NO.utf8: no_NO.UTF-8 +nr: nr_ZA.ISO8859-1 +nr_ZA: nr_ZA.ISO8859-1 +nr_ZA.iso88591: nr_ZA.ISO8859-1 +nr_ZA.utf8: nr_ZA.UTF-8 +nso: nso_ZA.ISO8859-15 +nso_ZA: nso_ZA.ISO8859-15 +nso_ZA.iso885915: nso_ZA.ISO8859-15 +nso_ZA.utf8: nso_ZA.UTF-8 +ny: ny_NO.ISO8859-1 +ny_NO: ny_NO.ISO8859-1 +ny_NO.88591: ny_NO.ISO8859-1 +ny_NO.ISO_8859-1: ny_NO.ISO8859-1 +ny_NO.iso885915: ny_NO.ISO8859-15 +no@nynorsk: ny_NO.ISO8859-1 +nynorsk: nn_NO.ISO8859-1 +oc: oc_FR.ISO8859-1 +oc_FR: oc_FR.ISO8859-1 +oc_FR.iso88591: oc_FR.ISO8859-1 +oc_FR.ISO-8859-1: oc_FR.ISO8859-1 +oc_FR.iso885915: oc_FR.ISO8859-15 +oc_FR.ISO-8859-15: oc_FR.ISO8859-15 +oc_FR@euro: oc_FR.ISO8859-15 +or: or_IN.UTF-8 +or_IN: or_IN.UTF-8 +or_IN.utf8: or_IN.UTF-8 +pa: pa_IN.UTF-8 +pa_IN: pa_IN.UTF-8 +pa_IN.utf8: pa_IN.UTF-8 +pa_PK.utf8: pa_PK.UTF-8 +pd: pd_US.ISO8859-1 +pd_DE: pd_DE.ISO8859-1 +pd_US: pd_US.ISO8859-1 +pd_DE.iso88591: pd_DE.ISO8859-1 +pd_US.iso88591: pd_US.ISO8859-1 +pd_DE.iso885915: pd_DE.ISO8859-15 +pd_US.iso885915: pd_US.ISO8859-15 +ph: ph_PH.ISO8859-1 +ph_PH: ph_PH.ISO8859-1 +ph_PH.iso88591: ph_PH.ISO8859-1 +pl: pl_PL.ISO8859-2 +pl.UTF-8: pl_PL.UTF-8 +pl_PL: pl_PL.ISO8859-2 +pl_PL.iso88592: pl_PL.ISO8859-2 +pl_PL.ISO-8859-2: pl_PL.ISO8859-2 +pl_PL.utf8: pl_PL.UTF-8 +pp: pp_AN.ISO8859-1 +pp_AN: pp_AN.ISO8859-1 +pp_AN.iso88591: pp_AN.ISO8859-1 +pt: pt_PT.ISO8859-1 +pt.ISO8859-15: pt_PT.ISO8859-15 +pt_BR: pt_BR.ISO8859-1 +pt_BR.88591: pt_BR.ISO8859-1 +pt_BR.88591.en: pt_BR.ISO8859-1 +pt_BR.iso88591: pt_BR.ISO8859-1 +pt_BR.ISO-8859-1: pt_BR.ISO8859-1 +pt_BR.ISO_8859-1: pt_BR.ISO8859-1 +pt_BR.iso885915: pt_BR.ISO8859-15 +pt_BR.utf8: pt_BR.UTF-8 +pt_PT: pt_PT.ISO8859-1 +pt_PT.88591: pt_PT.ISO8859-1 +pt_PT.88591.en: pt_PT.ISO8859-1 +pt_PT.iso88591: pt_PT.ISO8859-1 +pt_PT.ISO-8859-1: pt_PT.ISO8859-1 +pt_PT.ISO_8859-1: pt_PT.ISO8859-1 +pt_PT.iso885915: pt_PT.ISO8859-15 +pt_PT.ISO-8859-15: pt_PT.ISO8859-15 +pt_PT.ISO-8859-15@euro: pt_PT.ISO8859-15 +pt_PT@euro: pt_PT.ISO8859-15 +pt_PT.utf8: pt_PT.UTF-8 +pt_PT.UTF-8@euro: pt_PT.UTF-8 +ro: ro_RO.ISO8859-2 +ro_RO: ro_RO.ISO8859-2 +ro_RO.iso88592: ro_RO.ISO8859-2 +ro_RO.ISO-8859-2: ro_RO.ISO8859-2 +ro_RO.utf8: ro_RO.UTF-8 +ru: ru_RU.UTF-8 +ru.koi8-r: ru_RU.KOI8-R +ru.UTF-8: ru_RU.UTF-8 +ru_RU: ru_RU.UTF-8 +ru_RU.utf8: ru_RU.UTF-8 +ru_RU.iso88595: ru_RU.ISO8859-5 +ru_RU.ISO-8859-5: ru_RU.ISO8859-5 +ru_RU.koi8r: ru_RU.KOI8-R +ru_RU.cp1251: ru_RU.CP1251 +ru_RU.microsoftcp1251: ru_RU.CP1251 +ru_RU.microsoft-cp1251: ru_RU.CP1251 +ru_RU.MICROSOFT-CP1251: ru_RU.CP1251 + + + + + + +ru_UA: ru_UA.KOI8-U +ru_UA.koi8u: ru_UA.KOI8-U +ru_UA.cp1251: ru_UA.CP1251 +ru_UA.microsoftcp1251: ru_UA.CP1251 +ru_UA.microsoft-cp1251: ru_UA.CP1251 +ru_UA.MICROSOFT-CP1251: ru_UA.CP1251 +rw: rw_RW.ISO8859-1 +rw_RW: rw_RW.ISO8859-1 +rw_RW.iso8859-1: rw_RW.ISO8859-1 +rw_RW.ISO-8859-1: rw_RW.ISO8859-1 +rw_RW.utf8: rw_RW.UTF-8 +sd: sd_IN.UTF-8 +sd_IN.utf8: sd_IN.UTF-8 +sd@devanagari: sd_IN.UTF-8@devanagari +sd_IN@devanagari: sd_IN.UTF-8@devanagari +sd_IN.utf8@devanagari: sd_IN.UTF-8@devanagari +se_NO: se_NO.UTF-8 +se_NO.utf8: se_NO.UTF-8 +si: si_LK.UTF-8 +si_LK: si_LK.UTF-8 +sk: sk_SK.ISO8859-2 +sk_SK: sk_SK.ISO8859-2 +sk_SK.iso88592: sk_SK.ISO8859-2 +sk_SK.ISO-8859-2: sk_SK.ISO8859-2 +sk_SK.utf8: sk_SK.UTF-8 +sl: sl_SI.ISO8859-2 +sl_SI: sl_SI.ISO8859-2 +sl_SI.iso88592: sl_SI.ISO8859-2 +sl_SI.ISO-8859-2: sl_SI.ISO8859-2 +sl_SI.utf8: sl_SI.UTF-8 +sq: sq_AL.ISO8859-2 +sq_AL: sq_AL.ISO8859-2 +sq_AL.iso88592: sq_AL.ISO8859-2 +sq_AL.ISO-8859-2: sq_AL.ISO8859-2 +sq_AL.utf8: sq_AL.UTF-8 +sr: sr_RS.UTF-8 +sr@cyrillic: sr_RS.UTF-8 +sr@latin: sr_RS.UTF-8@latin +sr@Latn: sr_RS.UTF-8@latin +sr_RS: sr_RS.UTF-8 +sr_RS@latin: sr_RS.UTF-8@latin +sr_RS@Latn: sr_RS.UTF-8@latin +sr_RS.UTF-8@Latn: sr_RS.UTF-8@latin +sr_RS.utf8: sr_RS.UTF-8 +sr_ME: sr_ME.UTF-8 +sr_ME.utf8: sr_ME.UTF-8 +ss: ss_ZA.ISO8859-1 +ss_ZA: ss_ZA.ISO8859-1 +ss_ZA.iso88591: ss_ZA.ISO8859-1 +ss_ZA.utf8: ss_ZA.UTF-8 +st: st_ZA.ISO8859-1 +st_ZA: st_ZA.ISO8859-1 +st_ZA.iso88591: st_ZA.ISO8859-1 +st_ZA.utf8: st_ZA.UTF-8 +sv: sv_SE.ISO8859-1 +sv.ISO8859-15: sv_SE.ISO8859-15 +sv.UTF-8: sv_SE.UTF-8 +sv_FI: sv_FI.ISO8859-1 +sv_FI.iso88591: sv_FI.ISO8859-1 +sv_FI.ISO-8859-1: sv_FI.ISO8859-1 +sv_FI.iso885915: sv_FI.ISO8859-15 +sv_FI.ISO-8859-15: sv_FI.ISO8859-15 +sv_FI.ISO-8859-15@euro: sv_FI.ISO8859-15 +sv_FI@euro: sv_FI.ISO8859-15 +sv_FI.UTF-8@euro: sv_FI.UTF-8 +sv_FI.utf8: sv_FI.UTF-8 +sv_SE: sv_SE.ISO8859-1 +sv_SE.88591: sv_SE.ISO8859-1 +sv_SE.88591.en: sv_SE.ISO8859-1 +sv_SE.iso88591: sv_SE.ISO8859-1 +sv_SE.ISO-8859-1: sv_SE.ISO8859-1 +sv_SE.ISO_8859-1: sv_SE.ISO8859-1 +sv_SE.iso885915: sv_SE.ISO8859-15 +sv_SE.ISO-8859-15: sv_SE.ISO8859-15 +sv_SE@euro: sv_SE.ISO8859-15 +sv_SE.utf8: sv_SE.UTF-8 +ta: ta_IN.TSCII-0 +ta_IN: ta_IN.TSCII-0 +ta_IN.tscii: ta_IN.TSCII-0 +ta_IN.tscii0: ta_IN.TSCII-0 +te: te_IN.UTF-8 +te.UTF-8: te_IN.UTF-8 +te_IN.utf8: te_IN.UTF-8 +tg: tg_TJ.KOI8-C +tg_TJ: tg_TJ.KOI8-C +tg_TJ.koi8c: tg_TJ.KOI8-C +th: th_TH.ISO8859-11 +th_TH: th_TH.ISO8859-11 +th_TH.ISO-8859-11: th_TH.ISO8859-11 +th_TH.tis620: th_TH.TIS620 +th_TH.TIS-620: th_TH.TIS620 +th_TH.TACTIS: th_TH.TIS620 +th_TH.utf8: th_TH.UTF-8 +tl: tl_PH.ISO8859-1 +tl_PH: tl_PH.ISO8859-1 +tl_PH.iso88591: tl_PH.ISO8859-1 +tl_PH.ISO-8859-1: tl_PH.ISO8859-1 +tn: tn_ZA.ISO8859-15 +tn_ZA: tn_ZA.ISO8859-15 +tn_ZA.iso8859-15: tn_ZA.ISO8859-15 +tn_ZA.utf8: tn_ZA.UTF-8 +tr: tr_TR.ISO8859-9 +tr_TR: tr_TR.ISO8859-9 +TR_TR: tr_TR.ISO8859-9 +tr_TR.iso88599: tr_TR.ISO8859-9 +tr_TR.ISO-8859-9: tr_TR.ISO8859-9 +tr_TR.utf8: tr_TR.UTF-8 +TR_TR.utf8: tr_TR.UTF-8 +ts: ts_ZA.ISO8859-1 +ts_ZA: ts_ZA.ISO8859-1 +ts_ZA.iso88591: ts_ZA.ISO8859-1 +ts_ZA.utf8: ts_ZA.UTF-8 +tt: tt_RU.TATAR-CYR +tt_RU: tt_RU.TATAR-CYR +tt_RU.tatarcyr: tt_RU.TATAR-CYR +tt_RU.koi8c: tt_RU.KOI8-C +uk: uk_UA.KOI8-U +uk_UA: uk_UA.KOI8-U +uk_UA.iso88595: uk_UA.ISO8859-5 +uk_UA.koi8u: uk_UA.KOI8-U +uk_UA.cp1251: uk_UA.CP1251 +uk_UA.microsoftcp1251: uk_UA.CP1251 +uk_UA.microsoft-cp1251: uk_UA.CP1251 +uk_UA.MICROSOFT-CP1251: uk_UA.CP1251 +uk_UA.utf8: uk_UA.UTF-8 +ur: ur_IN.UTF-8 +ur_IN: ur_IN.UTF-8 +ur_IN.utf8: ur_IN.UTF-8 +ur: ur_PK.CP1256 +ur_PK: ur_PK.CP1256 +ur_PK.cp1256: ur_PK.CP1256 +ur_PK.microsoftcp1256: ur_PK.CP1256 +ur_PK.microsoft-cp1256: ur_PK.CP1256 +ur_PK.MICROSOFT-CP1256: ur_PK.CP1256 +uz: uz_UZ.UTF-8 +uz_UZ: uz_UZ.UTF-8 +uz_UZ.ISO-8859-1: uz_UZ.ISO8859-1 +uz_UZ@cyrillic: uz_UZ.UTF-8 +uz_UZ.UTF-8@cyrillic: uz_UZ.UTF-8 +ve: ve_ZA.UTF-8 +ve_ZA: ve_ZA.UTF-8 +ve_ZA.utf8: ve_ZA.UTF-8 +vi: vi_VN.TCVN +vi_VN: vi_VN.TCVN +Vi_VN: vi_VN.TCVN +VI_VN: vi_VN.TCVN +vi_VN.tcvn: vi_VN.TCVN +vi_VN.tcvn5712: vi_VN.TCVN +vi_VN.viscii: vi_VN.VISCII +vi_VN.viscii111: vi_VN.VISCII +vi_VN.utf8: vi_VN.UTF-8 +VI_VN.UTF-8: vi_VN.UTF-8 +wa: wa_BE.ISO8859-1 +wa_BE: wa_BE.ISO8859-1 +wa_BE.iso88591: wa_BE.ISO8859-1 +wa_BE.ISO-8859-1: wa_BE.ISO8859-1 +wa_BE.iso885915: wa_BE.ISO8859-15 +wa_BE.ISO-8859-15: wa_BE.ISO8859-15 +wa_BE.ISO-8859-15@euro: wa_BE.ISO8859-15 +wa_BE@euro: wa_BE.ISO8859-15 +xh: xh_ZA.ISO8859-1 +xh_ZA: xh_ZA.ISO8859-1 +xh_ZA.iso88591: xh_ZA.ISO8859-1 +xh_ZA.utf8: xh_ZA.UTF-8 +yi: yi_US.CP1255 +yi_US: yi_US.CP1255 +yi_US.cp1255: yi_US.CP1255 +yi_US.microsoftcp1255: yi_US.CP1255 +yi_US.microsoft-cp1255: yi_US.CP1255 +yi_US.MICROSOFT-CP1255: yi_US.CP1255 +zh_CN: zh_CN.gb2312 +zh_CN.Big5: zh_TW.big5 +zh_CN.EUC: zh_CN.eucCN +zh_CN.GB2312: zh_CN.gb2312 +zh_CN.GBK: zh_CN.gbk +zh_CN.GB18030: zh_CN.gb18030 +zh_CN.big5: zh_TW.big5 +zh_CN.euc: zh_CN.eucCN +zh_CN.utf8: zh_CN.UTF-8 +ZH_CN.UTF-8: zh_CN.UTF-8 +zh_HK: zh_HK.big5hkscs +zh_HK.BIG5HK: zh_HK.big5hkscs +zh_HK.Big5hkscs: zh_HK.big5hkscs +zh_HK.Big5-hkscs: zh_HK.big5hkscs +zh_HK.Big5_hkscs: zh_HK.big5hkscs +zh_HK.Big5HKSCS: zh_HK.big5hkscs +zh_HK.BIG5-HKSCS: zh_HK.big5hkscs +zh_HK.BIG5_HKSCS: zh_HK.big5hkscs +zh_HK.Big5-HKSCS: zh_HK.big5hkscs +zh_HK.big5-hkscs: zh_HK.big5hkscs +zh_HK.Big5-HKSCS: zh_HK.big5hkscs +zh_HK.Big5HKSCS: zh_HK.big5hkscs +zh_HK.Big5: zh_HK.big5 +zh_HK.utf8: zh_HK.UTF-8 +ZH_HK.UTF-8: zh_HK.UTF-8 +ZH_SG.UTF-8: zh_SG.UTF-8 +zh_TW: zh_TW.big5 +zh_TW.Big5: zh_TW.big5 +zh_TW.BIG5: zh_TW.big5 +Zh_TW.big5: zh_TW.big5 +zh_TW.EUC: zh_TW.eucTW +zh_TW.EUC-TW: zh_TW.eucTW +zh_TW.utf8: zh_TW.UTF-8 +ZH_TW.UTF-8: zh_TW.UTF-8 +zu: zu_ZA.ISO8859-1 +zu_ZA: zu_ZA.ISO8859-1 +zu_ZA.iso88591: zu_ZA.ISO8859-1 +zu_ZA.utf8: zu_ZA.UTF-8 + +# The following locale names are used in SCO 3.0 +english_uk.8859: en_GB.ISO8859-1 +english_us.8859: en_US.ISO8859-1 +english_us.ascii: en_US.ISO8859-1 +french_france.8859: fr_FR.ISO8859-1 +german_germany.8859: de_DE.ISO8859-1 +portuguese_brazil.8859: pt_BR.ISO8859-1 +spanish_spain.8859: es_ES.ISO8859-1 +# The following locale names are used in HPUX 9.x +american.iso88591: en_US.ISO8859-1 +arabic.iso88596: ar_AA.ISO8859-6 +bokmal: nb_NO.ISO8859-1 +bulgarian: bg_BG.CP1251 +c-french.iso88591: fr_CA.ISO8859-1 +catalan: ca_ES.ISO8859-1 +chinese-s: zh_CN.eucCN +chinese-t: zh_TW.eucTW +croatian: hr_HR.ISO8859-2 +czech: cs_CZ.ISO8859-2 +danish: da_DK.ISO8859-1 +dansk: da_DK.ISO8859-1 +danish.iso88591: da_DK.ISO8859-1 +deutsch: de_DE.ISO8859-1 +dutch: nl_NL.ISO8859-1 +dutch.iso88591: nl_BE.ISO8859-1 +eesti: et_EE.ISO8859-1 +english.iso88591: en_EN.ISO8859-1 +estonian: et_EE.ISO8859-1 +finnish: fi_FI.ISO8859-1 +finnish.iso88591: fi_FI.ISO8859-1 +french: fr_FR.ISO8859-1 +french.iso88591: fr_CH.ISO8859-1 +galego: gl_ES.ISO8859-1 +galician: gl_ES.ISO8859-1 +german: de_DE.ISO8859-1 +german.iso88591: de_CH.ISO8859-1 +greek: el_GR.ISO8859-7 +greek.iso88597: el_GR.ISO8859-7 +hebrew: he_IL.ISO8859-8 +hebrew.iso88598: he_IL.ISO8859-8 +hrvatski: hr_HR.ISO8859-2 +hungarian: hu_HU.ISO8859-2 +icelandic.iso88591: is_IS.ISO8859-1 +icelandic: is_IS.ISO8859-1 +italian: it_IT.ISO8859-1 +italian.iso88591: it_IT.ISO8859-1 +japanese: ja_JP.eucJP +japanese.euc: ja_JP.eucJP +japanese.sjis: ja_JP.SJIS +korean: ko_KR.eucKR +korean.euc: ko_KR.eucKR +lithuanian: lt_LT.ISO8859-13 +norwegian: no_NO.ISO8859-1 +norwegian.iso88591: no_NO.ISO8859-1 +polish: pl_PL.ISO8859-2 +portuguese: pt_PT.ISO8859-1 +portuguese.iso88591: pt_PT.ISO8859-1 +romanian: ro_RO.ISO8859-2 +rumanian: ro_RO.ISO8859-2 +russian: ru_RU.ISO8859-5 +serbocroatian: sr_RS.UTF-8@latin +sinhala: si_LK.UTF-8 +slovak: sk_SK.ISO8859-2 +slovene: sl_SI.ISO8859-2 +slovenian: sl_SI.ISO8859-2 +spanish: es_ES.ISO8859-1 +spanish.iso88591: es_ES.ISO8859-1 +swedish: sv_SE.ISO8859-1 +swedish.iso88591: sv_SE.ISO8859-1 +turkish: tr_TR.ISO8859-9 +turkish.iso88599: tr_TR.ISO8859-9 +thai: th_TH.ISO8859-11 +univ.utf8: en_US.UTF-8 +# Digital Unix utf +universal.utf8@ucs4: en_US.UTF-8 +# Solaris and SunOS have iso_8859_1 and iso_8859_15 LC_CTYPES +# to augment LANG=C +iso_8859_1: en_US.ISO8859-1 +iso_8859_15: en_US.ISO8859-15 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +# Other miscellaneous locale names +ISO8859-1: en_US.ISO8859-1 +ISO-8859-1: en_US.ISO8859-1 +japan: ja_JP.eucJP +Japanese-EUC: ja_JP.eucJP diff --git a/locale/locale.dir b/locale/locale.dir new file mode 100644 index 0000000..470ea32 --- /dev/null +++ b/locale/locale.dir @@ -0,0 +1,956 @@ + +# +# This file contains locale database file names +# The first word is the locale database file name and +# the second word is the full locale name. +# +# + +C/XLC_LOCALE C +iso8859-1/XLC_LOCALE af_ZA.ISO8859-1 +iso8859-6/XLC_LOCALE ar_AA.ISO8859-6 +iso8859-6/XLC_LOCALE ar_BH.ISO8859-6 +iso8859-6/XLC_LOCALE ar_DZ.ISO8859-6 +iso8859-6/XLC_LOCALE ar_EG.ISO8859-6 +iso8859-6/XLC_LOCALE ar_IQ.ISO8859-6 +iso8859-6/XLC_LOCALE ar_JO.ISO8859-6 +iso8859-6/XLC_LOCALE ar_KW.ISO8859-6 +iso8859-6/XLC_LOCALE ar_LB.ISO8859-6 +iso8859-6/XLC_LOCALE ar_LY.ISO8859-6 +iso8859-6/XLC_LOCALE ar_MA.ISO8859-6 +iso8859-6/XLC_LOCALE ar_OM.ISO8859-6 +iso8859-6/XLC_LOCALE ar_QA.ISO8859-6 +iso8859-6/XLC_LOCALE ar_SA.ISO8859-6 +iso8859-6/XLC_LOCALE ar_SD.ISO8859-6 +iso8859-6/XLC_LOCALE ar_SY.ISO8859-6 +iso8859-6/XLC_LOCALE ar_TN.ISO8859-6 +iso8859-6/XLC_LOCALE ar_YE.ISO8859-6 +iso8859-6/XLC_LOCALE ar_AE.ISO8859-6 +iso8859-9e/XLC_LOCALE az_AZ.ISO8859-9E +koi8-c/XLC_LOCALE az_AZ.KOI8-C +iso8859-5/XLC_LOCALE be_BY.ISO8859-5 +microsoft-cp1251/XLC_LOCALE be_BY.CP1251 +iso8859-5/XLC_LOCALE bg_BG.ISO8859-5 +microsoft-cp1251/XLC_LOCALE bg_BG.CP1251 +koi8-r/XLC_LOCALE bg_BG.KOI8-R +iso8859-2/XLC_LOCALE bs_BA.ISO8859-2 +iso8859-1/XLC_LOCALE br_FR.ISO8859-1 +iso8859-14/XLC_LOCALE br_FR.ISO8859-14 +iso8859-15/XLC_LOCALE br_FR.ISO8859-15 +iso8859-1/XLC_LOCALE ca_AD.ISO8859-1 +iso8859-15/XLC_LOCALE ca_AD.ISO8859-15 +iso8859-1/XLC_LOCALE ca_ES.ISO8859-1 +iso8859-15/XLC_LOCALE ca_ES.ISO8859-15 +iso8859-1/XLC_LOCALE ca_FR.ISO8859-1 +iso8859-15/XLC_LOCALE ca_FR.ISO8859-15 +iso8859-1/XLC_LOCALE ca_IT.ISO8859-1 +iso8859-15/XLC_LOCALE ca_IT.ISO8859-15 +iso8859-2/XLC_LOCALE cs_CZ.ISO8859-2 +iso8859-1/XLC_LOCALE cy_GB.ISO8859-1 +iso8859-14/XLC_LOCALE cy_GB.ISO8859-14 +iso8859-15/XLC_LOCALE cy_GB.ISO8859-15 +iso8859-1/XLC_LOCALE da_DK.ISO8859-1 +iso8859-15/XLC_LOCALE da_DK.ISO8859-15 +iso8859-1/XLC_LOCALE de_AT.ISO8859-1 +iso8859-15/XLC_LOCALE de_AT.ISO8859-15 +iso8859-1/XLC_LOCALE de_BE.ISO8859-1 +iso8859-15/XLC_LOCALE de_BE.ISO8859-15 +iso8859-1/XLC_LOCALE de_CH.ISO8859-1 +iso8859-15/XLC_LOCALE de_CH.ISO8859-15 +iso8859-1/XLC_LOCALE de_DE.ISO8859-1 +iso8859-15/XLC_LOCALE de_DE.ISO8859-15 +iso8859-1/XLC_LOCALE de_LI.ISO8859-1 +iso8859-15/XLC_LOCALE de_LI.ISO8859-15 +iso8859-1/XLC_LOCALE de_LU.ISO8859-1 +iso8859-15/XLC_LOCALE de_LU.ISO8859-15 +iso8859-7/XLC_LOCALE el_GR.ISO8859-7 +iso8859-4/XLC_LOCALE ee_EE.ISO8859-4 +iso8859-15/XLC_LOCALE el_GR.ISO8859-15 +iso8859-1/XLC_LOCALE en_AU.ISO8859-1 +iso8859-1/XLC_LOCALE en_BE.ISO8859-1 +iso8859-15/XLC_LOCALE en_BE.ISO8859-15 +iso8859-1/XLC_LOCALE en_BZ.ISO8859-1 +iso8859-1/XLC_LOCALE en_BW.ISO8859-1 +iso8859-1/XLC_LOCALE en_CA.ISO8859-1 +iso8859-1/XLC_LOCALE en_EN.ISO8859-1 +iso8859-1/XLC_LOCALE en_GB.ISO8859-1 +iso8859-15/XLC_LOCALE en_GB.ISO8859-15 +iso8859-1/XLC_LOCALE en_HK.ISO8859-1 +iso8859-1/XLC_LOCALE en_IE.ISO8859-1 +iso8859-15/XLC_LOCALE en_IE.ISO8859-15 +iso8859-1/XLC_LOCALE en_IL.ISO8859-1 +iso8859-15/XLC_LOCALE en_IN.ISO8859-15 +iso8859-1/XLC_LOCALE en_JM.ISO8859-1 +iso8859-1/XLC_LOCALE en_NZ.ISO8859-1 +iso8859-1/XLC_LOCALE en_PH.ISO8859-1 +iso8859-1/XLC_LOCALE en_SG.ISO8859-1 +iso8859-1/XLC_LOCALE en_TT.ISO8859-1 +iso8859-1/XLC_LOCALE en_UK.ISO8859-1 +iso8859-15/XLC_LOCALE en_UK.ISO8859-15 +iso8859-1/XLC_LOCALE en_US.ISO8859-1 +iso8859-15/XLC_LOCALE en_US.ISO8859-15 +iso8859-1/XLC_LOCALE en_ZA.ISO8859-1 +iso8859-15/XLC_LOCALE en_ZA.ISO8859-15 +iso8859-1/XLC_LOCALE en_ZW.ISO8859-1 +iso8859-3/XLC_LOCALE eo_EO.ISO8859-3 +iso8859-3/XLC_LOCALE eo_XX.ISO8859-3 +iso8859-1/XLC_LOCALE es_AR.ISO8859-1 +iso8859-1/XLC_LOCALE es_BO.ISO8859-1 +iso8859-1/XLC_LOCALE es_CL.ISO8859-1 +iso8859-1/XLC_LOCALE es_CO.ISO8859-1 +iso8859-1/XLC_LOCALE es_CR.ISO8859-1 +iso8859-1/XLC_LOCALE es_DO.ISO8859-1 +iso8859-1/XLC_LOCALE es_EC.ISO8859-1 +iso8859-1/XLC_LOCALE es_ES.ISO8859-1 +iso8859-15/XLC_LOCALE es_ES.ISO8859-15 +iso8859-1/XLC_LOCALE es_GT.ISO8859-1 +iso8859-1/XLC_LOCALE es_HN.ISO8859-1 +iso8859-1/XLC_LOCALE es_MX.ISO8859-1 +iso8859-1/XLC_LOCALE es_NI.ISO8859-1 +iso8859-1/XLC_LOCALE es_PA.ISO8859-1 +iso8859-15/XLC_LOCALE es_PA.ISO8859-15 +iso8859-1/XLC_LOCALE es_PE.ISO8859-1 +iso8859-15/XLC_LOCALE es_PE.ISO8859-15 +iso8859-1/XLC_LOCALE es_PR.ISO8859-1 +iso8859-1/XLC_LOCALE es_PY.ISO8859-1 +iso8859-15/XLC_LOCALE es_PY.ISO8859-15 +iso8859-1/XLC_LOCALE es_SV.ISO8859-1 +iso8859-15/XLC_LOCALE es_SV.ISO8859-15 +iso8859-1/XLC_LOCALE es_US.ISO8859-1 +iso8859-1/XLC_LOCALE es_UY.ISO8859-1 +iso8859-15/XLC_LOCALE es_UY.ISO8859-15 +iso8859-1/XLC_LOCALE es_VE.ISO8859-1 +iso8859-15/XLC_LOCALE es_VE.ISO8859-15 +iso8859-1/XLC_LOCALE et_EE.ISO8859-1 +iso8859-4/XLC_LOCALE et_EE.ISO8859-4 +iso8859-13/XLC_LOCALE et_EE.ISO8859-13 +iso8859-15/XLC_LOCALE et_EE.ISO8859-15 +iso8859-1/XLC_LOCALE eu_ES.ISO8859-1 +iso8859-15/XLC_LOCALE eu_ES.ISO8859-15 +isiri-3342/XLC_LOCALE fa_IR.ISIRI-3342 +iso8859-1/XLC_LOCALE fi_FI.ISO8859-1 +iso8859-15/XLC_LOCALE fi_FI.ISO8859-15 +iso8859-1/XLC_LOCALE fo_FO.ISO8859-1 +iso8859-15/XLC_LOCALE fo_FO.ISO8859-15 +iso8859-1/XLC_LOCALE fr_BE.ISO8859-1 +iso8859-15/XLC_LOCALE fr_BE.ISO8859-15 +iso8859-1/XLC_LOCALE fr_CA.ISO8859-1 +iso8859-15/XLC_LOCALE fr_CA.ISO8859-15 +iso8859-1/XLC_LOCALE fr_CH.ISO8859-1 +iso8859-15/XLC_LOCALE fr_CH.ISO8859-15 +iso8859-1/XLC_LOCALE fr_FR.ISO8859-1 +iso8859-15/XLC_LOCALE fr_FR.ISO8859-15 +iso8859-1/XLC_LOCALE fr_LU.ISO8859-1 +iso8859-15/XLC_LOCALE fr_LU.ISO8859-15 +iso8859-1/XLC_LOCALE ga_IE.ISO8859-1 +iso8859-14/XLC_LOCALE ga_IE.ISO8859-14 +iso8859-15/XLC_LOCALE ga_IE.ISO8859-15 +iso8859-1/XLC_LOCALE gd_GB.ISO8859-1 +iso8859-14/XLC_LOCALE gd_GB.ISO8859-14 +iso8859-15/XLC_LOCALE gd_GB.ISO8859-15 +iso8859-1/XLC_LOCALE gl_ES.ISO8859-1 +iso8859-15/XLC_LOCALE gl_ES.ISO8859-15 +iso8859-1/XLC_LOCALE gv_GB.ISO8859-1 +iso8859-14/XLC_LOCALE gv_GB.ISO8859-14 +iso8859-15/XLC_LOCALE gv_GB.ISO8859-15 +iso8859-8/XLC_LOCALE he_IL.ISO8859-8 +microsoft-cp1255/XLC_LOCALE he_IL.CP1255 +iscii-dev/XLC_LOCALE hi_IN.ISCII-DEV +iso8859-2/XLC_LOCALE hr_HR.ISO8859-2 +iso8859-2/XLC_LOCALE hu_HU.ISO8859-2 +armscii-8/XLC_LOCALE hy_AM.ARMSCII-8 +iso8859-1/XLC_LOCALE id_ID.ISO8859-1 +iso8859-1/XLC_LOCALE id_ID.ISO8859-15 +iso8859-1/XLC_LOCALE is_IS.ISO8859-1 +iso8859-15/XLC_LOCALE is_IS.ISO8859-15 +iso8859-1/XLC_LOCALE it_CH.ISO8859-1 +iso8859-15/XLC_LOCALE it_CH.ISO8859-15 +iso8859-1/XLC_LOCALE it_IT.ISO8859-1 +iso8859-15/XLC_LOCALE it_IT.ISO8859-15 +ja/XLC_LOCALE ja_JP.eucJP +ja.SJIS/XLC_LOCALE ja_JP.SJIS +ja.JIS/XLC_LOCALE ja_JP.JIS7 +georgian-academy/XLC_LOCALE ka_GE.GEORGIAN-ACADEMY +georgian-ps/XLC_LOCALE ka_GE.GEORGIAN-PS +iso8859-1/XLC_LOCALE kl_GL.ISO8859-1 +iso8859-15/XLC_LOCALE kl_GL.ISO8859-15 +ko/XLC_LOCALE ko_KR.eucKR +iso8859-1/XLC_LOCALE kw_GB.ISO8859-1 +iso8859-14/XLC_LOCALE kw_GB.ISO8859-14 +iso8859-15/XLC_LOCALE kw_GB.ISO8859-15 +ibm-cp1133/XLC_LOCALE lo_LA.IBM-CP1133 +mulelao-1/XLC_LOCALE lo_LA.MULELAO-1 +iso8859-4/XLC_LOCALE lt_LT.ISO8859-4 +iso8859-13/XLC_LOCALE lt_LT.ISO8859-13 +iso8859-4/XLC_LOCALE lv_LV.ISO8859-4 +iso8859-13/XLC_LOCALE lv_LV.ISO8859-13 +iso8859-13/XLC_LOCALE mi_NZ.ISO8859-13 +iso8859-5/XLC_LOCALE mk_MK.ISO8859-5 +microsoft-cp1251/XLC_LOCALE mk_MK.CP1251 +iso8859-1/XLC_LOCALE ms_MY.ISO8859-1 +iso8859-3/XLC_LOCALE mt_MT.ISO8859-3 +iso8859-1/XLC_LOCALE nb_NO.ISO8859-1 +iso8859-1/XLC_LOCALE nb_NO.ISO8859-15 +iso8859-1/XLC_LOCALE nl_BE.ISO8859-1 +iso8859-15/XLC_LOCALE nl_BE.ISO8859-15 +iso8859-1/XLC_LOCALE nl_NL.ISO8859-1 +iso8859-15/XLC_LOCALE nl_NL.ISO8859-15 +iso8859-1/XLC_LOCALE nn_NO.ISO8859-1 +iso8859-1/XLC_LOCALE nn_NO.ISO8859-15 +iso8859-1/XLC_LOCALE no_NO.ISO8859-1 +iso8859-1/XLC_LOCALE no_NO.ISO8859-15 +iso8859-1/XLC_LOCALE nr_ZA.ISO8859-1 +iso8859-15/XLC_LOCALE nso_ZA.ISO8859-15 +iso8859-1/XLC_LOCALE ny_NO.ISO8859-1 +iso8859-1/XLC_LOCALE ny_NO.ISO8859-15 +iso8859-1/XLC_LOCALE oc_FR.ISO8859-1 +iso8859-15/XLC_LOCALE oc_FR.ISO8859-15 +iso8859-1/XLC_LOCALE pd_DE.ISO8859-1 +iso8859-15/XLC_LOCALE pd_DE.ISO8859-15 +iso8859-1/XLC_LOCALE pd_US.ISO8859-1 +iso8859-15/XLC_LOCALE pd_US.ISO8859-15 +iso8859-1/XLC_LOCALE ph_PH.ISO8859-1 +iso8859-2/XLC_LOCALE pl_PL.ISO8859-2 +iso8859-1/XLC_LOCALE pp_AN.ISO8859-1 +iso8859-1/XLC_LOCALE pt_BR.ISO8859-1 +iso8859-15/XLC_LOCALE pt_BR.ISO8859-15 +iso8859-1/XLC_LOCALE pt_PT.ISO8859-1 +iso8859-15/XLC_LOCALE pt_PT.ISO8859-15 +iso8859-2/XLC_LOCALE ro_RO.ISO8859-2 +iso8859-5/XLC_LOCALE ru_RU.ISO8859-5 +microsoft-cp1251/XLC_LOCALE ru_RU.CP1251 +koi8-r/XLC_LOCALE ru_RU.KOI8-R +microsoft-cp1251/XLC_LOCALE ru_UA.CP1251 +koi8-u/XLC_LOCALE ru_UA.KOI8-U +iso8859-1/XLC_LOCALE rw_RW.ISO8859-1 +iso8859-2/XLC_LOCALE sh_YU.ISO8859-2 +iso8859-2/XLC_LOCALE sk_SK.ISO8859-2 +iso8859-2/XLC_LOCALE sl_SI.ISO8859-2 +iso8859-2/XLC_LOCALE sq_AL.ISO8859-2 +iso8859-2/XLC_LOCALE sr_YU.ISO8859-2 +iso8859-5/XLC_LOCALE sr_YU.ISO8859-5 +microsoft-cp1251/XLC_LOCALE sr_YU.CP1251 +iso8859-1/XLC_LOCALE ss_ZA.ISO8859-1 +iso8859-1/XLC_LOCALE st_ZA.ISO8859-1 +iso8859-1/XLC_LOCALE sv_FI.ISO8859-1 +iso8859-15/XLC_LOCALE sv_FI.ISO8859-15 +iso8859-1/XLC_LOCALE sv_SE.ISO8859-1 +iso8859-15/XLC_LOCALE sv_SE.ISO8859-15 +tscii-0/XLC_LOCALE ta_IN.TSCII-0 +koi8-c/XLC_LOCALE tg_TJ.KOI8-C +th_TH/XLC_LOCALE th_TH.TIS620 +iso8859-11/XLC_LOCALE th_TH.ISO8859-11 +iso8859-1/XLC_LOCALE tl_PH.ISO8859-1 +iso8859-15/XLC_LOCALE tn_ZA.ISO8859-15 +iso8859-9/XLC_LOCALE tr_TR.ISO8859-9 +iso8859-1/XLC_LOCALE ts_ZA.ISO8859-1 +tatar-cyr/XLC_LOCALE tt_RU.TATAR-CYR +koi8-c/XLC_LOCALE tt_RU.KOI8-C +iso8859-5/XLC_LOCALE uk_UA.ISO8859-5 +microsoft-cp1251/XLC_LOCALE uk_UA.CP1251 +koi8-u/XLC_LOCALE uk_UA.KOI8-U +microsoft-cp1256/XLC_LOCALE ur_PK.CP1256 +iso8859-1/XLC_LOCALE uz_UZ.ISO8859-1 +vi_VN.tcvn/XLC_LOCALE vi_VN.TCVN +vi_VN.viscii/XLC_LOCALE vi_VN.VISCII +iso8859-1/XLC_LOCALE wa_BE.ISO8859-1 +iso8859-15/XLC_LOCALE wa_BE.ISO8859-15 +iso8859-1/XLC_LOCALE xh_ZA.ISO8859-1 +microsoft-cp1255/XLC_LOCALE yi_US.CP1255 +zh_CN/XLC_LOCALE zh_CN.eucCN +zh_CN/XLC_LOCALE zh_CN.gb2312 +zh_CN.gbk/XLC_LOCALE zh_CN.gbk +zh_CN.gb18030/XLC_LOCALE zh_CN.gb18030 +zh_HK.big5/XLC_LOCALE zh_HK.big5 +zh_HK.big5hkscs/XLC_LOCALE zh_HK.big5hkscs +zh_TW.big5/XLC_LOCALE zh_TW.big5 +zh_TW/XLC_LOCALE zh_TW.eucTW +iso8859-1/XLC_LOCALE zu_ZA.ISO8859-1 +# Note: The UTF-8 locales don't work correctly yet. Work in progress. +en_US.UTF-8/XLC_LOCALE af_ZA.UTF-8 +en_US.UTF-8/XLC_LOCALE am_ET.UTF-8 +en_US.UTF-8/XLC_LOCALE ar_AA.UTF-8 +en_US.UTF-8/XLC_LOCALE ar_AE.UTF-8 +en_US.UTF-8/XLC_LOCALE ar_BH.UTF-8 +en_US.UTF-8/XLC_LOCALE ar_DZ.UTF-8 +en_US.UTF-8/XLC_LOCALE ar_EG.UTF-8 +en_US.UTF-8/XLC_LOCALE ar_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE ar_IQ.UTF-8 +en_US.UTF-8/XLC_LOCALE ar_JO.UTF-8 +en_US.UTF-8/XLC_LOCALE ar_KW.UTF-8 +en_US.UTF-8/XLC_LOCALE ar_LB.UTF-8 +en_US.UTF-8/XLC_LOCALE ar_LY.UTF-8 +en_US.UTF-8/XLC_LOCALE ar_MA.UTF-8 +en_US.UTF-8/XLC_LOCALE ar_OM.UTF-8 +en_US.UTF-8/XLC_LOCALE bs_BA.UTF-8 +en_US.UTF-8/XLC_LOCALE ar_QA.UTF-8 +en_US.UTF-8/XLC_LOCALE ar_SA.UTF-8 +en_US.UTF-8/XLC_LOCALE ar_SD.UTF-8 +en_US.UTF-8/XLC_LOCALE ar_SY.UTF-8 +en_US.UTF-8/XLC_LOCALE ar_TN.UTF-8 +en_US.UTF-8/XLC_LOCALE ar_YE.UTF-8 +en_US.UTF-8/XLC_LOCALE as_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE ast_ES.UTF-8 +en_US.UTF-8/XLC_LOCALE az_AZ.UTF-8 +en_US.UTF-8/XLC_LOCALE be_BY.UTF-8 +en_US.UTF-8/XLC_LOCALE be_BY.UTF-8@latin +en_US.UTF-8/XLC_LOCALE bg_BG.UTF-8 +en_US.UTF-8/XLC_LOCALE bn_BD.UTF-8 +en_US.UTF-8/XLC_LOCALE bn_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE bo_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE br_FR.UTF-8 +en_US.UTF-8/XLC_LOCALE ca_AD.UTF-8 +en_US.UTF-8/XLC_LOCALE ca_ES.UTF-8 +en_US.UTF-8/XLC_LOCALE ca_FR.UTF-8 +en_US.UTF-8/XLC_LOCALE ca_IT.UTF-8 +en_US.UTF-8/XLC_LOCALE cs_CZ.UTF-8 +en_US.UTF-8/XLC_LOCALE cy_GB.UTF-8 +en_US.UTF-8/XLC_LOCALE da_DK.UTF-8 +en_US.UTF-8/XLC_LOCALE de_AT.UTF-8 +en_US.UTF-8/XLC_LOCALE de_BE.UTF-8 +en_US.UTF-8/XLC_LOCALE de_CH.UTF-8 +en_US.UTF-8/XLC_LOCALE de_DE.UTF-8 +en_US.UTF-8/XLC_LOCALE de_IT.UTF-8 +en_US.UTF-8/XLC_LOCALE de_LI.UTF-8 +en_US.UTF-8/XLC_LOCALE de_LU.UTF-8 +en_US.UTF-8/XLC_LOCALE el_CY.UTF-8 +en_US.UTF-8/XLC_LOCALE el_GR.UTF-8 +en_US.UTF-8/XLC_LOCALE en_AU.UTF-8 +en_US.UTF-8/XLC_LOCALE en_BE.UTF-8 +en_US.UTF-8/XLC_LOCALE en_BW.UTF-8 +en_US.UTF-8/XLC_LOCALE en_BZ.UTF-8 +en_US.UTF-8/XLC_LOCALE en_CA.UTF-8 +en_US.UTF-8/XLC_LOCALE en_DK.UTF-8 +en_US.UTF-8/XLC_LOCALE en_GB.UTF-8 +en_US.UTF-8/XLC_LOCALE en_EN.UTF-8 +en_US.UTF-8/XLC_LOCALE en_HK.UTF-8 +en_US.UTF-8/XLC_LOCALE en_IE.UTF-8 +en_US.UTF-8/XLC_LOCALE en_IL.UTF-8 +en_US.UTF-8/XLC_LOCALE en_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE en_JM.UTF-8 +en_US.UTF-8/XLC_LOCALE en_MT.UTF-8 +en_US.UTF-8/XLC_LOCALE en_NZ.UTF-8 +en_US.UTF-8/XLC_LOCALE en_PH.UTF-8 +en_US.UTF-8/XLC_LOCALE en_SG.UTF-8 +en_US.UTF-8/XLC_LOCALE en_TT.UTF-8 +en_US.UTF-8/XLC_LOCALE en_UK.UTF-8 +en_US.UTF-8/XLC_LOCALE en_US.UTF-8 +en_US.UTF-8/XLC_LOCALE en_ZA.UTF-8 +en_US.UTF-8/XLC_LOCALE en_ZW.UTF-8 +en_US.UTF-8/XLC_LOCALE eo_EO.UTF-8 +en_US.UTF-8/XLC_LOCALE eo_XX.UTF-8 +en_US.UTF-8/XLC_LOCALE es_AR.UTF-8 +en_US.UTF-8/XLC_LOCALE es_BO.UTF-8 +en_US.UTF-8/XLC_LOCALE es_CL.UTF-8 +en_US.UTF-8/XLC_LOCALE es_CO.UTF-8 +en_US.UTF-8/XLC_LOCALE es_CR.UTF-8 +en_US.UTF-8/XLC_LOCALE es_DO.UTF-8 +en_US.UTF-8/XLC_LOCALE es_EC.UTF-8 +en_US.UTF-8/XLC_LOCALE es_ES.UTF-8 +en_US.UTF-8/XLC_LOCALE es_GT.UTF-8 +en_US.UTF-8/XLC_LOCALE es_HN.UTF-8 +en_US.UTF-8/XLC_LOCALE es_MX.UTF-8 +en_US.UTF-8/XLC_LOCALE es_NI.UTF-8 +en_US.UTF-8/XLC_LOCALE es_PA.UTF-8 +en_US.UTF-8/XLC_LOCALE es_PE.UTF-8 +en_US.UTF-8/XLC_LOCALE es_PR.UTF-8 +en_US.UTF-8/XLC_LOCALE es_PY.UTF-8 +en_US.UTF-8/XLC_LOCALE es_SV.UTF-8 +en_US.UTF-8/XLC_LOCALE es_US.UTF-8 +en_US.UTF-8/XLC_LOCALE es_UY.UTF-8 +en_US.UTF-8/XLC_LOCALE es_VE.UTF-8 +en_US.UTF-8/XLC_LOCALE et_EE.UTF-8 +en_US.UTF-8/XLC_LOCALE eu_ES.UTF-8 +en_US.UTF-8/XLC_LOCALE fa_IR.UTF-8 +en_US.UTF-8/XLC_LOCALE fi_FI.UTF-8 +en_US.UTF-8/XLC_LOCALE fo_FO.UTF-8 +en_US.UTF-8/XLC_LOCALE fr_BE.UTF-8 +en_US.UTF-8/XLC_LOCALE fr_CA.UTF-8 +en_US.UTF-8/XLC_LOCALE fr_CH.UTF-8 +en_US.UTF-8/XLC_LOCALE fr_FR.UTF-8 +en_US.UTF-8/XLC_LOCALE fr_LU.UTF-8 +en_US.UTF-8/XLC_LOCALE ga_IE.UTF-8 +en_US.UTF-8/XLC_LOCALE gd_GB.UTF-8 +en_US.UTF-8/XLC_LOCALE gl_ES.UTF-8 +en_US.UTF-8/XLC_LOCALE gu_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE gv_GB.UTF-8 +en_US.UTF-8/XLC_LOCALE he_IL.UTF-8 +en_US.UTF-8/XLC_LOCALE hi_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE hne_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE hr_HR.UTF-8 +en_US.UTF-8/XLC_LOCALE hu_HU.UTF-8 +en_US.UTF-8/XLC_LOCALE hy_AM.UTF-8 +en_US.UTF-8/XLC_LOCALE ia.UTF-8 +en_US.UTF-8/XLC_LOCALE id_ID.UTF-8 +en_US.UTF-8/XLC_LOCALE ie.UTF-8 +en_US.UTF-8/XLC_LOCALE is_IS.UTF-8 +en_US.UTF-8/XLC_LOCALE it_CH.UTF-8 +en_US.UTF-8/XLC_LOCALE it_IT.UTF-8 +en_US.UTF-8/XLC_LOCALE iu_CA.UTF-8 +ja_JP.UTF-8/XLC_LOCALE ja_JP.UTF-8 +en_US.UTF-8/XLC_LOCALE ka_GE.UTF-8 +en_US.UTF-8/XLC_LOCALE kk_KZ.UTF-8 +en_US.UTF-8/XLC_LOCALE kl_GL.UTF-8 +en_US.UTF-8/XLC_LOCALE km_KH.UTF-8 +en_US.UTF-8/XLC_LOCALE kn_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE ks_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE ks_IN.UTF-8@devanagari +ko_KR.UTF-8/XLC_LOCALE ko_KR.UTF-8 +en_US.UTF-8/XLC_LOCALE ku_TR.UTF-8 +en_US.UTF-8/XLC_LOCALE kw_GB.UTF-8 +en_US.UTF-8/XLC_LOCALE ky_KG.UTF-8 +en_US.UTF-8/XLC_LOCALE lo_LA.UTF-8 +en_US.UTF-8/XLC_LOCALE lt_LT.UTF-8 +en_US.UTF-8/XLC_LOCALE lv_LV.UTF-8 +en_US.UTF-8/XLC_LOCALE mai_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE mi_NZ.UTF-8 +en_US.UTF-8/XLC_LOCALE mk_MK.UTF-8 +en_US.UTF-8/XLC_LOCALE ml_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE mr_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE ms_MY.UTF-8 +en_US.UTF-8/XLC_LOCALE mt_MT.UTF-8 +en_US.UTF-8/XLC_LOCALE nl_BE.UTF-8 +en_US.UTF-8/XLC_LOCALE nl_NL.UTF-8 +en_US.UTF-8/XLC_LOCALE nb_NO.UTF-8 +en_US.UTF-8/XLC_LOCALE nn_NO.UTF-8 +en_US.UTF-8/XLC_LOCALE no_NO.UTF-8 +en_US.UTF-8/XLC_LOCALE nr_ZA.UTF-8 +en_US.UTF-8/XLC_LOCALE nso_ZA.UTF-8 +en_US.UTF-8/XLC_LOCALE ny_NO.UTF-8 +en_US.UTF-8/XLC_LOCALE oc_FR.UTF-8 +en_US.UTF-8/XLC_LOCALE or_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE pa_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE pa_PK.UTF-8 +en_US.UTF-8/XLC_LOCALE pd_DE.UTF-8 +en_US.UTF-8/XLC_LOCALE pd_US.UTF-8 +en_US.UTF-8/XLC_LOCALE ph_PH.UTF-8 +en_US.UTF-8/XLC_LOCALE pl_PL.UTF-8 +en_US.UTF-8/XLC_LOCALE pp_AN.UTF-8 +pt_BR.UTF-8/XLC_LOCALE pt_BR.UTF-8 +pt_PT.UTF-8/XLC_LOCALE pt_PT.UTF-8 +en_US.UTF-8/XLC_LOCALE ro_RO.UTF-8 +ru_RU.UTF-8/XLC_LOCALE ru_RU.UTF-8 +en_US.UTF-8/XLC_LOCALE ru_UA.UTF-8 +en_US.UTF-8/XLC_LOCALE rw_RW.UTF-8 +en_US.UTF-8/XLC_LOCALE sa_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE sd_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE sd_IN.UTF-8@devanagari +en_US.UTF-8/XLC_LOCALE se_NO.UTF-8 +en_US.UTF-8/XLC_LOCALE sh_BA.UTF-8 +en_US.UTF-8/XLC_LOCALE sh_YU.UTF-8 +en_US.UTF-8/XLC_LOCALE si_LK.UTF-8 +en_US.UTF-8/XLC_LOCALE sk_SK.UTF-8 +en_US.UTF-8/XLC_LOCALE sl_SI.UTF-8 +en_US.UTF-8/XLC_LOCALE sq_AL.UTF-8 +en_US.UTF-8/XLC_LOCALE sr_ME.UTF-8 +en_US.UTF-8/XLC_LOCALE sr_RS.UTF-8 +en_US.UTF-8/XLC_LOCALE sr_RS.UTF-8@latin +en_US.UTF-8/XLC_LOCALE sr_YU.UTF-8 +en_US.UTF-8/XLC_LOCALE ss_ZA.UTF-8 +en_US.UTF-8/XLC_LOCALE st_ZA.UTF-8 +en_US.UTF-8/XLC_LOCALE sv_FI.UTF-8 +en_US.UTF-8/XLC_LOCALE sv_SE.UTF-8 +en_US.UTF-8/XLC_LOCALE ta_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE te_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE tg_TJ.UTF-8 +th_TH.UTF-8/XLC_LOCALE th_TH.UTF-8 +en_US.UTF-8/XLC_LOCALE ti_ER.UTF-8 +en_US.UTF-8/XLC_LOCALE ti_ET.UTF-8 +en_US.UTF-8/XLC_LOCALE tl_PH.UTF-8 +en_US.UTF-8/XLC_LOCALE tn_ZA.UTF-8 +en_US.UTF-8/XLC_LOCALE tr_TR.UTF-8 +en_US.UTF-8/XLC_LOCALE ts_ZA.UTF-8 +en_US.UTF-8/XLC_LOCALE tt_RU.UTF-8 +en_US.UTF-8/XLC_LOCALE uk_UA.UTF-8 +en_US.UTF-8/XLC_LOCALE ur_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE ur_PK.UTF-8 +en_US.UTF-8/XLC_LOCALE uz_UZ.UTF-8 +en_US.UTF-8/XLC_LOCALE ve_ZA.UTF-8 +en_US.UTF-8/XLC_LOCALE vi_VN.UTF-8 +en_US.UTF-8/XLC_LOCALE wa_BE.UTF-8 +en_US.UTF-8/XLC_LOCALE xh_ZA.UTF-8 +en_US.UTF-8/XLC_LOCALE yi_US.UTF-8 +en_US.UTF-8/XLC_LOCALE ne_NP.UTF-8 +zh_CN.UTF-8/XLC_LOCALE zh_CN.UTF-8 +zh_HK.UTF-8/XLC_LOCALE zh_HK.UTF-8 +zh_CN.UTF-8/XLC_LOCALE zh_SG.UTF-8 +zh_TW.UTF-8/XLC_LOCALE zh_TW.UTF-8 +en_US.UTF-8/XLC_LOCALE zu_ZA.UTF-8 + +# +# This file contains locale database file names +# The first word is the locale database file name and +# the second word is the full locale name. +# +# + +C/XLC_LOCALE: C +iso8859-1/XLC_LOCALE: af_ZA.ISO8859-1 +iso8859-6/XLC_LOCALE: ar_AA.ISO8859-6 +iso8859-6/XLC_LOCALE: ar_BH.ISO8859-6 +iso8859-6/XLC_LOCALE: ar_DZ.ISO8859-6 +iso8859-6/XLC_LOCALE: ar_EG.ISO8859-6 +iso8859-6/XLC_LOCALE: ar_IQ.ISO8859-6 +iso8859-6/XLC_LOCALE: ar_JO.ISO8859-6 +iso8859-6/XLC_LOCALE: ar_KW.ISO8859-6 +iso8859-6/XLC_LOCALE: ar_LB.ISO8859-6 +iso8859-6/XLC_LOCALE: ar_LY.ISO8859-6 +iso8859-6/XLC_LOCALE: ar_MA.ISO8859-6 +iso8859-6/XLC_LOCALE: ar_OM.ISO8859-6 +iso8859-6/XLC_LOCALE: ar_QA.ISO8859-6 +iso8859-6/XLC_LOCALE: ar_SA.ISO8859-6 +iso8859-6/XLC_LOCALE: ar_SD.ISO8859-6 +iso8859-6/XLC_LOCALE: ar_SY.ISO8859-6 +iso8859-6/XLC_LOCALE: ar_TN.ISO8859-6 +iso8859-6/XLC_LOCALE: ar_YE.ISO8859-6 +iso8859-6/XLC_LOCALE: ar_AE.ISO8859-6 +iso8859-9e/XLC_LOCALE: az_AZ.ISO8859-9E +koi8-c/XLC_LOCALE: az_AZ.KOI8-C +iso8859-5/XLC_LOCALE: be_BY.ISO8859-5 +microsoft-cp1251/XLC_LOCALE: be_BY.CP1251 +iso8859-5/XLC_LOCALE: bg_BG.ISO8859-5 +microsoft-cp1251/XLC_LOCALE: bg_BG.CP1251 +koi8-r/XLC_LOCALE: bg_BG.KOI8-R +iso8859-2/XLC_LOCALE: bs_BA.ISO8859-2 +iso8859-1/XLC_LOCALE: br_FR.ISO8859-1 +iso8859-14/XLC_LOCALE: br_FR.ISO8859-14 +iso8859-15/XLC_LOCALE: br_FR.ISO8859-15 +iso8859-1/XLC_LOCALE: ca_AD.ISO8859-1 +iso8859-15/XLC_LOCALE: ca_AD.ISO8859-15 +iso8859-1/XLC_LOCALE: ca_ES.ISO8859-1 +iso8859-15/XLC_LOCALE: ca_ES.ISO8859-15 +iso8859-1/XLC_LOCALE: ca_FR.ISO8859-1 +iso8859-15/XLC_LOCALE: ca_FR.ISO8859-15 +iso8859-1/XLC_LOCALE: ca_IT.ISO8859-1 +iso8859-15/XLC_LOCALE: ca_IT.ISO8859-15 +iso8859-2/XLC_LOCALE: cs_CZ.ISO8859-2 +iso8859-1/XLC_LOCALE: cy_GB.ISO8859-1 +iso8859-14/XLC_LOCALE: cy_GB.ISO8859-14 +iso8859-15/XLC_LOCALE: cy_GB.ISO8859-15 +iso8859-1/XLC_LOCALE: da_DK.ISO8859-1 +iso8859-15/XLC_LOCALE: da_DK.ISO8859-15 +iso8859-1/XLC_LOCALE: de_AT.ISO8859-1 +iso8859-15/XLC_LOCALE: de_AT.ISO8859-15 +iso8859-1/XLC_LOCALE: de_BE.ISO8859-1 +iso8859-15/XLC_LOCALE: de_BE.ISO8859-15 +iso8859-1/XLC_LOCALE: de_CH.ISO8859-1 +iso8859-15/XLC_LOCALE: de_CH.ISO8859-15 +iso8859-1/XLC_LOCALE: de_DE.ISO8859-1 +iso8859-15/XLC_LOCALE: de_DE.ISO8859-15 +iso8859-1/XLC_LOCALE: de_LI.ISO8859-1 +iso8859-15/XLC_LOCALE: de_LI.ISO8859-15 +iso8859-1/XLC_LOCALE: de_LU.ISO8859-1 +iso8859-15/XLC_LOCALE: de_LU.ISO8859-15 +iso8859-7/XLC_LOCALE: el_GR.ISO8859-7 +iso8859-4/XLC_LOCALE: ee_EE.ISO8859-4 +iso8859-15/XLC_LOCALE: el_GR.ISO8859-15 +iso8859-1/XLC_LOCALE: en_AU.ISO8859-1 +iso8859-1/XLC_LOCALE: en_BE.ISO8859-1 +iso8859-15/XLC_LOCALE: en_BE.ISO8859-15 +iso8859-1/XLC_LOCALE: en_BZ.ISO8859-1 +iso8859-1/XLC_LOCALE: en_BW.ISO8859-1 +iso8859-1/XLC_LOCALE: en_CA.ISO8859-1 +iso8859-1/XLC_LOCALE: en_EN.ISO8859-1 +iso8859-1/XLC_LOCALE: en_GB.ISO8859-1 +iso8859-15/XLC_LOCALE: en_GB.ISO8859-15 +iso8859-1/XLC_LOCALE: en_HK.ISO8859-1 +iso8859-1/XLC_LOCALE: en_IE.ISO8859-1 +iso8859-15/XLC_LOCALE: en_IE.ISO8859-15 +iso8859-1/XLC_LOCALE: en_IL.ISO8859-1 +iso8859-15/XLC_LOCALE: en_IN.ISO8859-15 +iso8859-1/XLC_LOCALE: en_JM.ISO8859-1 +iso8859-1/XLC_LOCALE: en_NZ.ISO8859-1 +iso8859-1/XLC_LOCALE: en_PH.ISO8859-1 +iso8859-1/XLC_LOCALE: en_SG.ISO8859-1 +iso8859-1/XLC_LOCALE: en_TT.ISO8859-1 +iso8859-1/XLC_LOCALE: en_UK.ISO8859-1 +iso8859-15/XLC_LOCALE: en_UK.ISO8859-15 +iso8859-1/XLC_LOCALE: en_US.ISO8859-1 +iso8859-15/XLC_LOCALE: en_US.ISO8859-15 +iso8859-1/XLC_LOCALE: en_ZA.ISO8859-1 +iso8859-15/XLC_LOCALE: en_ZA.ISO8859-15 +iso8859-1/XLC_LOCALE: en_ZW.ISO8859-1 +iso8859-3/XLC_LOCALE: eo_EO.ISO8859-3 +iso8859-3/XLC_LOCALE: eo_XX.ISO8859-3 +iso8859-1/XLC_LOCALE: es_AR.ISO8859-1 +iso8859-1/XLC_LOCALE: es_BO.ISO8859-1 +iso8859-1/XLC_LOCALE: es_CL.ISO8859-1 +iso8859-1/XLC_LOCALE: es_CO.ISO8859-1 +iso8859-1/XLC_LOCALE: es_CR.ISO8859-1 +iso8859-1/XLC_LOCALE: es_DO.ISO8859-1 +iso8859-1/XLC_LOCALE: es_EC.ISO8859-1 +iso8859-1/XLC_LOCALE: es_ES.ISO8859-1 +iso8859-15/XLC_LOCALE: es_ES.ISO8859-15 +iso8859-1/XLC_LOCALE: es_GT.ISO8859-1 +iso8859-1/XLC_LOCALE: es_HN.ISO8859-1 +iso8859-1/XLC_LOCALE: es_MX.ISO8859-1 +iso8859-1/XLC_LOCALE: es_NI.ISO8859-1 +iso8859-1/XLC_LOCALE: es_PA.ISO8859-1 +iso8859-15/XLC_LOCALE: es_PA.ISO8859-15 +iso8859-1/XLC_LOCALE: es_PE.ISO8859-1 +iso8859-15/XLC_LOCALE: es_PE.ISO8859-15 +iso8859-1/XLC_LOCALE: es_PR.ISO8859-1 +iso8859-1/XLC_LOCALE: es_PY.ISO8859-1 +iso8859-15/XLC_LOCALE: es_PY.ISO8859-15 +iso8859-1/XLC_LOCALE: es_SV.ISO8859-1 +iso8859-15/XLC_LOCALE: es_SV.ISO8859-15 +iso8859-1/XLC_LOCALE: es_US.ISO8859-1 +iso8859-1/XLC_LOCALE: es_UY.ISO8859-1 +iso8859-15/XLC_LOCALE: es_UY.ISO8859-15 +iso8859-1/XLC_LOCALE: es_VE.ISO8859-1 +iso8859-15/XLC_LOCALE: es_VE.ISO8859-15 +iso8859-1/XLC_LOCALE: et_EE.ISO8859-1 +iso8859-4/XLC_LOCALE: et_EE.ISO8859-4 +iso8859-13/XLC_LOCALE: et_EE.ISO8859-13 +iso8859-15/XLC_LOCALE: et_EE.ISO8859-15 +iso8859-1/XLC_LOCALE: eu_ES.ISO8859-1 +iso8859-15/XLC_LOCALE: eu_ES.ISO8859-15 +isiri-3342/XLC_LOCALE: fa_IR.ISIRI-3342 +iso8859-1/XLC_LOCALE: fi_FI.ISO8859-1 +iso8859-15/XLC_LOCALE: fi_FI.ISO8859-15 +iso8859-1/XLC_LOCALE: fo_FO.ISO8859-1 +iso8859-15/XLC_LOCALE: fo_FO.ISO8859-15 +iso8859-1/XLC_LOCALE: fr_BE.ISO8859-1 +iso8859-15/XLC_LOCALE: fr_BE.ISO8859-15 +iso8859-1/XLC_LOCALE: fr_CA.ISO8859-1 +iso8859-15/XLC_LOCALE: fr_CA.ISO8859-15 +iso8859-1/XLC_LOCALE: fr_CH.ISO8859-1 +iso8859-15/XLC_LOCALE: fr_CH.ISO8859-15 +iso8859-1/XLC_LOCALE: fr_FR.ISO8859-1 +iso8859-15/XLC_LOCALE: fr_FR.ISO8859-15 +iso8859-1/XLC_LOCALE: fr_LU.ISO8859-1 +iso8859-15/XLC_LOCALE: fr_LU.ISO8859-15 +iso8859-1/XLC_LOCALE: ga_IE.ISO8859-1 +iso8859-14/XLC_LOCALE: ga_IE.ISO8859-14 +iso8859-15/XLC_LOCALE: ga_IE.ISO8859-15 +iso8859-1/XLC_LOCALE: gd_GB.ISO8859-1 +iso8859-14/XLC_LOCALE: gd_GB.ISO8859-14 +iso8859-15/XLC_LOCALE: gd_GB.ISO8859-15 +iso8859-1/XLC_LOCALE: gl_ES.ISO8859-1 +iso8859-15/XLC_LOCALE: gl_ES.ISO8859-15 +iso8859-1/XLC_LOCALE: gv_GB.ISO8859-1 +iso8859-14/XLC_LOCALE: gv_GB.ISO8859-14 +iso8859-15/XLC_LOCALE: gv_GB.ISO8859-15 +iso8859-8/XLC_LOCALE: he_IL.ISO8859-8 +microsoft-cp1255/XLC_LOCALE: he_IL.CP1255 +iscii-dev/XLC_LOCALE: hi_IN.ISCII-DEV +iso8859-2/XLC_LOCALE: hr_HR.ISO8859-2 +iso8859-2/XLC_LOCALE: hu_HU.ISO8859-2 +armscii-8/XLC_LOCALE: hy_AM.ARMSCII-8 +iso8859-1/XLC_LOCALE: id_ID.ISO8859-1 +iso8859-1/XLC_LOCALE: id_ID.ISO8859-15 +iso8859-1/XLC_LOCALE: is_IS.ISO8859-1 +iso8859-15/XLC_LOCALE: is_IS.ISO8859-15 +iso8859-1/XLC_LOCALE: it_CH.ISO8859-1 +iso8859-15/XLC_LOCALE: it_CH.ISO8859-15 +iso8859-1/XLC_LOCALE: it_IT.ISO8859-1 +iso8859-15/XLC_LOCALE: it_IT.ISO8859-15 +ja/XLC_LOCALE: ja_JP.eucJP +ja.SJIS/XLC_LOCALE: ja_JP.SJIS +ja.JIS/XLC_LOCALE: ja_JP.JIS7 +georgian-academy/XLC_LOCALE: ka_GE.GEORGIAN-ACADEMY +georgian-ps/XLC_LOCALE: ka_GE.GEORGIAN-PS +iso8859-1/XLC_LOCALE: kl_GL.ISO8859-1 +iso8859-15/XLC_LOCALE: kl_GL.ISO8859-15 +ko/XLC_LOCALE: ko_KR.eucKR +iso8859-1/XLC_LOCALE: kw_GB.ISO8859-1 +iso8859-14/XLC_LOCALE: kw_GB.ISO8859-14 +iso8859-15/XLC_LOCALE: kw_GB.ISO8859-15 +ibm-cp1133/XLC_LOCALE: lo_LA.IBM-CP1133 +mulelao-1/XLC_LOCALE: lo_LA.MULELAO-1 +iso8859-4/XLC_LOCALE: lt_LT.ISO8859-4 +iso8859-13/XLC_LOCALE: lt_LT.ISO8859-13 +iso8859-4/XLC_LOCALE: lv_LV.ISO8859-4 +iso8859-13/XLC_LOCALE: lv_LV.ISO8859-13 +iso8859-13/XLC_LOCALE: mi_NZ.ISO8859-13 +iso8859-5/XLC_LOCALE: mk_MK.ISO8859-5 +microsoft-cp1251/XLC_LOCALE: mk_MK.CP1251 +iso8859-1/XLC_LOCALE: ms_MY.ISO8859-1 +iso8859-3/XLC_LOCALE: mt_MT.ISO8859-3 +iso8859-1/XLC_LOCALE: nb_NO.ISO8859-1 +iso8859-1/XLC_LOCALE: nb_NO.ISO8859-15 +iso8859-1/XLC_LOCALE: nl_BE.ISO8859-1 +iso8859-15/XLC_LOCALE: nl_BE.ISO8859-15 +iso8859-1/XLC_LOCALE: nl_NL.ISO8859-1 +iso8859-15/XLC_LOCALE: nl_NL.ISO8859-15 +iso8859-1/XLC_LOCALE: nn_NO.ISO8859-1 +iso8859-1/XLC_LOCALE: nn_NO.ISO8859-15 +iso8859-1/XLC_LOCALE: no_NO.ISO8859-1 +iso8859-1/XLC_LOCALE: no_NO.ISO8859-15 +iso8859-1/XLC_LOCALE: nr_ZA.ISO8859-1 +iso8859-15/XLC_LOCALE: nso_ZA.ISO8859-15 +iso8859-1/XLC_LOCALE: ny_NO.ISO8859-1 +iso8859-1/XLC_LOCALE: ny_NO.ISO8859-15 +iso8859-1/XLC_LOCALE: oc_FR.ISO8859-1 +iso8859-15/XLC_LOCALE: oc_FR.ISO8859-15 +iso8859-1/XLC_LOCALE: pd_DE.ISO8859-1 +iso8859-15/XLC_LOCALE: pd_DE.ISO8859-15 +iso8859-1/XLC_LOCALE: pd_US.ISO8859-1 +iso8859-15/XLC_LOCALE: pd_US.ISO8859-15 +iso8859-1/XLC_LOCALE: ph_PH.ISO8859-1 +iso8859-2/XLC_LOCALE: pl_PL.ISO8859-2 +iso8859-1/XLC_LOCALE: pp_AN.ISO8859-1 +iso8859-1/XLC_LOCALE: pt_BR.ISO8859-1 +iso8859-15/XLC_LOCALE: pt_BR.ISO8859-15 +iso8859-1/XLC_LOCALE: pt_PT.ISO8859-1 +iso8859-15/XLC_LOCALE: pt_PT.ISO8859-15 +iso8859-2/XLC_LOCALE: ro_RO.ISO8859-2 +iso8859-5/XLC_LOCALE: ru_RU.ISO8859-5 +microsoft-cp1251/XLC_LOCALE: ru_RU.CP1251 +koi8-r/XLC_LOCALE: ru_RU.KOI8-R +microsoft-cp1251/XLC_LOCALE: ru_UA.CP1251 +koi8-u/XLC_LOCALE: ru_UA.KOI8-U +iso8859-1/XLC_LOCALE: rw_RW.ISO8859-1 +iso8859-2/XLC_LOCALE: sh_YU.ISO8859-2 +iso8859-2/XLC_LOCALE: sk_SK.ISO8859-2 +iso8859-2/XLC_LOCALE: sl_SI.ISO8859-2 +iso8859-2/XLC_LOCALE: sq_AL.ISO8859-2 +iso8859-2/XLC_LOCALE: sr_YU.ISO8859-2 +iso8859-5/XLC_LOCALE: sr_YU.ISO8859-5 +microsoft-cp1251/XLC_LOCALE: sr_YU.CP1251 +iso8859-1/XLC_LOCALE: ss_ZA.ISO8859-1 +iso8859-1/XLC_LOCALE: st_ZA.ISO8859-1 +iso8859-1/XLC_LOCALE: sv_FI.ISO8859-1 +iso8859-15/XLC_LOCALE: sv_FI.ISO8859-15 +iso8859-1/XLC_LOCALE: sv_SE.ISO8859-1 +iso8859-15/XLC_LOCALE: sv_SE.ISO8859-15 +tscii-0/XLC_LOCALE: ta_IN.TSCII-0 +koi8-c/XLC_LOCALE: tg_TJ.KOI8-C +th_TH/XLC_LOCALE: th_TH.TIS620 +iso8859-11/XLC_LOCALE: th_TH.ISO8859-11 +iso8859-1/XLC_LOCALE: tl_PH.ISO8859-1 +iso8859-15/XLC_LOCALE: tn_ZA.ISO8859-15 +iso8859-9/XLC_LOCALE: tr_TR.ISO8859-9 +iso8859-1/XLC_LOCALE: ts_ZA.ISO8859-1 +tatar-cyr/XLC_LOCALE: tt_RU.TATAR-CYR +koi8-c/XLC_LOCALE: tt_RU.KOI8-C +iso8859-5/XLC_LOCALE: uk_UA.ISO8859-5 +microsoft-cp1251/XLC_LOCALE: uk_UA.CP1251 +koi8-u/XLC_LOCALE: uk_UA.KOI8-U +microsoft-cp1256/XLC_LOCALE: ur_PK.CP1256 +iso8859-1/XLC_LOCALE: uz_UZ.ISO8859-1 +vi_VN.tcvn/XLC_LOCALE: vi_VN.TCVN +vi_VN.viscii/XLC_LOCALE: vi_VN.VISCII +iso8859-1/XLC_LOCALE: wa_BE.ISO8859-1 +iso8859-15/XLC_LOCALE: wa_BE.ISO8859-15 +iso8859-1/XLC_LOCALE: xh_ZA.ISO8859-1 +microsoft-cp1255/XLC_LOCALE: yi_US.CP1255 +zh_CN/XLC_LOCALE: zh_CN.eucCN +zh_CN/XLC_LOCALE: zh_CN.gb2312 +zh_CN.gbk/XLC_LOCALE: zh_CN.gbk +zh_CN.gb18030/XLC_LOCALE: zh_CN.gb18030 +zh_HK.big5/XLC_LOCALE: zh_HK.big5 +zh_HK.big5hkscs/XLC_LOCALE: zh_HK.big5hkscs +zh_TW.big5/XLC_LOCALE: zh_TW.big5 +zh_TW/XLC_LOCALE: zh_TW.eucTW +iso8859-1/XLC_LOCALE: zu_ZA.ISO8859-1 +# Note: The UTF-8 locales don't work correctly yet. Work in progress. +en_US.UTF-8/XLC_LOCALE: af_ZA.UTF-8 +en_US.UTF-8/XLC_LOCALE: am_ET.UTF-8 +en_US.UTF-8/XLC_LOCALE: ar_AA.UTF-8 +en_US.UTF-8/XLC_LOCALE: ar_AE.UTF-8 +en_US.UTF-8/XLC_LOCALE: ar_BH.UTF-8 +en_US.UTF-8/XLC_LOCALE: ar_DZ.UTF-8 +en_US.UTF-8/XLC_LOCALE: ar_EG.UTF-8 +en_US.UTF-8/XLC_LOCALE: ar_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE: ar_IQ.UTF-8 +en_US.UTF-8/XLC_LOCALE: ar_JO.UTF-8 +en_US.UTF-8/XLC_LOCALE: ar_KW.UTF-8 +en_US.UTF-8/XLC_LOCALE: ar_LB.UTF-8 +en_US.UTF-8/XLC_LOCALE: ar_LY.UTF-8 +en_US.UTF-8/XLC_LOCALE: ar_MA.UTF-8 +en_US.UTF-8/XLC_LOCALE: ar_OM.UTF-8 +en_US.UTF-8/XLC_LOCALE: bs_BA.UTF-8 +en_US.UTF-8/XLC_LOCALE: ar_QA.UTF-8 +en_US.UTF-8/XLC_LOCALE: ar_SA.UTF-8 +en_US.UTF-8/XLC_LOCALE: ar_SD.UTF-8 +en_US.UTF-8/XLC_LOCALE: ar_SY.UTF-8 +en_US.UTF-8/XLC_LOCALE: ar_TN.UTF-8 +en_US.UTF-8/XLC_LOCALE: ar_YE.UTF-8 +en_US.UTF-8/XLC_LOCALE: as_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE: ast_ES.UTF-8 +en_US.UTF-8/XLC_LOCALE: az_AZ.UTF-8 +en_US.UTF-8/XLC_LOCALE: be_BY.UTF-8 +en_US.UTF-8/XLC_LOCALE: be_BY.UTF-8@latin +en_US.UTF-8/XLC_LOCALE: bg_BG.UTF-8 +en_US.UTF-8/XLC_LOCALE: bn_BD.UTF-8 +en_US.UTF-8/XLC_LOCALE: bn_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE: bo_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE: br_FR.UTF-8 +en_US.UTF-8/XLC_LOCALE: ca_AD.UTF-8 +en_US.UTF-8/XLC_LOCALE: ca_ES.UTF-8 +en_US.UTF-8/XLC_LOCALE: ca_FR.UTF-8 +en_US.UTF-8/XLC_LOCALE: ca_IT.UTF-8 +en_US.UTF-8/XLC_LOCALE: cs_CZ.UTF-8 +en_US.UTF-8/XLC_LOCALE: cy_GB.UTF-8 +en_US.UTF-8/XLC_LOCALE: da_DK.UTF-8 +en_US.UTF-8/XLC_LOCALE: de_AT.UTF-8 +en_US.UTF-8/XLC_LOCALE: de_BE.UTF-8 +en_US.UTF-8/XLC_LOCALE: de_CH.UTF-8 +en_US.UTF-8/XLC_LOCALE: de_DE.UTF-8 +en_US.UTF-8/XLC_LOCALE: de_IT.UTF-8 +en_US.UTF-8/XLC_LOCALE: de_LI.UTF-8 +en_US.UTF-8/XLC_LOCALE: de_LU.UTF-8 +en_US.UTF-8/XLC_LOCALE: el_CY.UTF-8 +en_US.UTF-8/XLC_LOCALE: el_GR.UTF-8 +en_US.UTF-8/XLC_LOCALE: en_AU.UTF-8 +en_US.UTF-8/XLC_LOCALE: en_BE.UTF-8 +en_US.UTF-8/XLC_LOCALE: en_BW.UTF-8 +en_US.UTF-8/XLC_LOCALE: en_BZ.UTF-8 +en_US.UTF-8/XLC_LOCALE: en_CA.UTF-8 +en_US.UTF-8/XLC_LOCALE: en_DK.UTF-8 +en_US.UTF-8/XLC_LOCALE: en_GB.UTF-8 +en_US.UTF-8/XLC_LOCALE: en_EN.UTF-8 +en_US.UTF-8/XLC_LOCALE: en_HK.UTF-8 +en_US.UTF-8/XLC_LOCALE: en_IE.UTF-8 +en_US.UTF-8/XLC_LOCALE: en_IL.UTF-8 +en_US.UTF-8/XLC_LOCALE: en_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE: en_JM.UTF-8 +en_US.UTF-8/XLC_LOCALE: en_MT.UTF-8 +en_US.UTF-8/XLC_LOCALE: en_NZ.UTF-8 +en_US.UTF-8/XLC_LOCALE: en_PH.UTF-8 +en_US.UTF-8/XLC_LOCALE: en_SG.UTF-8 +en_US.UTF-8/XLC_LOCALE: en_TT.UTF-8 +en_US.UTF-8/XLC_LOCALE: en_UK.UTF-8 +en_US.UTF-8/XLC_LOCALE: en_US.UTF-8 +en_US.UTF-8/XLC_LOCALE: en_ZA.UTF-8 +en_US.UTF-8/XLC_LOCALE: en_ZW.UTF-8 +en_US.UTF-8/XLC_LOCALE: eo_EO.UTF-8 +en_US.UTF-8/XLC_LOCALE: eo_XX.UTF-8 +en_US.UTF-8/XLC_LOCALE: es_AR.UTF-8 +en_US.UTF-8/XLC_LOCALE: es_BO.UTF-8 +en_US.UTF-8/XLC_LOCALE: es_CL.UTF-8 +en_US.UTF-8/XLC_LOCALE: es_CO.UTF-8 +en_US.UTF-8/XLC_LOCALE: es_CR.UTF-8 +en_US.UTF-8/XLC_LOCALE: es_DO.UTF-8 +en_US.UTF-8/XLC_LOCALE: es_EC.UTF-8 +en_US.UTF-8/XLC_LOCALE: es_ES.UTF-8 +en_US.UTF-8/XLC_LOCALE: es_GT.UTF-8 +en_US.UTF-8/XLC_LOCALE: es_HN.UTF-8 +en_US.UTF-8/XLC_LOCALE: es_MX.UTF-8 +en_US.UTF-8/XLC_LOCALE: es_NI.UTF-8 +en_US.UTF-8/XLC_LOCALE: es_PA.UTF-8 +en_US.UTF-8/XLC_LOCALE: es_PE.UTF-8 +en_US.UTF-8/XLC_LOCALE: es_PR.UTF-8 +en_US.UTF-8/XLC_LOCALE: es_PY.UTF-8 +en_US.UTF-8/XLC_LOCALE: es_SV.UTF-8 +en_US.UTF-8/XLC_LOCALE: es_US.UTF-8 +en_US.UTF-8/XLC_LOCALE: es_UY.UTF-8 +en_US.UTF-8/XLC_LOCALE: es_VE.UTF-8 +en_US.UTF-8/XLC_LOCALE: et_EE.UTF-8 +en_US.UTF-8/XLC_LOCALE: eu_ES.UTF-8 +en_US.UTF-8/XLC_LOCALE: fa_IR.UTF-8 +en_US.UTF-8/XLC_LOCALE: fi_FI.UTF-8 +en_US.UTF-8/XLC_LOCALE: fo_FO.UTF-8 +en_US.UTF-8/XLC_LOCALE: fr_BE.UTF-8 +en_US.UTF-8/XLC_LOCALE: fr_CA.UTF-8 +en_US.UTF-8/XLC_LOCALE: fr_CH.UTF-8 +en_US.UTF-8/XLC_LOCALE: fr_FR.UTF-8 +en_US.UTF-8/XLC_LOCALE: fr_LU.UTF-8 +en_US.UTF-8/XLC_LOCALE: ga_IE.UTF-8 +en_US.UTF-8/XLC_LOCALE: gd_GB.UTF-8 +en_US.UTF-8/XLC_LOCALE: gl_ES.UTF-8 +en_US.UTF-8/XLC_LOCALE: gu_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE: gv_GB.UTF-8 +en_US.UTF-8/XLC_LOCALE: he_IL.UTF-8 +en_US.UTF-8/XLC_LOCALE: hi_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE: hne_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE: hr_HR.UTF-8 +en_US.UTF-8/XLC_LOCALE: hu_HU.UTF-8 +en_US.UTF-8/XLC_LOCALE: hy_AM.UTF-8 +en_US.UTF-8/XLC_LOCALE: ia.UTF-8 +en_US.UTF-8/XLC_LOCALE: id_ID.UTF-8 +en_US.UTF-8/XLC_LOCALE: ie.UTF-8 +en_US.UTF-8/XLC_LOCALE: is_IS.UTF-8 +en_US.UTF-8/XLC_LOCALE: it_CH.UTF-8 +en_US.UTF-8/XLC_LOCALE: it_IT.UTF-8 +en_US.UTF-8/XLC_LOCALE: iu_CA.UTF-8 +ja_JP.UTF-8/XLC_LOCALE: ja_JP.UTF-8 +en_US.UTF-8/XLC_LOCALE: ka_GE.UTF-8 +en_US.UTF-8/XLC_LOCALE: kk_KZ.UTF-8 +en_US.UTF-8/XLC_LOCALE: kl_GL.UTF-8 +en_US.UTF-8/XLC_LOCALE: km_KH.UTF-8 +en_US.UTF-8/XLC_LOCALE: kn_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE: ks_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE: ks_IN.UTF-8@devanagari +ko_KR.UTF-8/XLC_LOCALE: ko_KR.UTF-8 +en_US.UTF-8/XLC_LOCALE: ku_TR.UTF-8 +en_US.UTF-8/XLC_LOCALE: kw_GB.UTF-8 +en_US.UTF-8/XLC_LOCALE: ky_KG.UTF-8 +en_US.UTF-8/XLC_LOCALE: lo_LA.UTF-8 +en_US.UTF-8/XLC_LOCALE: lt_LT.UTF-8 +en_US.UTF-8/XLC_LOCALE: lv_LV.UTF-8 +en_US.UTF-8/XLC_LOCALE: mai_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE: mi_NZ.UTF-8 +en_US.UTF-8/XLC_LOCALE: mk_MK.UTF-8 +en_US.UTF-8/XLC_LOCALE: ml_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE: mr_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE: ms_MY.UTF-8 +en_US.UTF-8/XLC_LOCALE: mt_MT.UTF-8 +en_US.UTF-8/XLC_LOCALE: nl_BE.UTF-8 +en_US.UTF-8/XLC_LOCALE: nl_NL.UTF-8 +en_US.UTF-8/XLC_LOCALE: nb_NO.UTF-8 +en_US.UTF-8/XLC_LOCALE: nn_NO.UTF-8 +en_US.UTF-8/XLC_LOCALE: no_NO.UTF-8 +en_US.UTF-8/XLC_LOCALE: nr_ZA.UTF-8 +en_US.UTF-8/XLC_LOCALE: nso_ZA.UTF-8 +en_US.UTF-8/XLC_LOCALE: ny_NO.UTF-8 +en_US.UTF-8/XLC_LOCALE: oc_FR.UTF-8 +en_US.UTF-8/XLC_LOCALE: or_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE: pa_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE: pa_PK.UTF-8 +en_US.UTF-8/XLC_LOCALE: pd_DE.UTF-8 +en_US.UTF-8/XLC_LOCALE: pd_US.UTF-8 +en_US.UTF-8/XLC_LOCALE: ph_PH.UTF-8 +en_US.UTF-8/XLC_LOCALE: pl_PL.UTF-8 +en_US.UTF-8/XLC_LOCALE: pp_AN.UTF-8 +pt_BR.UTF-8/XLC_LOCALE: pt_BR.UTF-8 +pt_PT.UTF-8/XLC_LOCALE: pt_PT.UTF-8 +en_US.UTF-8/XLC_LOCALE: ro_RO.UTF-8 +ru_RU.UTF-8/XLC_LOCALE: ru_RU.UTF-8 +en_US.UTF-8/XLC_LOCALE: ru_UA.UTF-8 +en_US.UTF-8/XLC_LOCALE: rw_RW.UTF-8 +en_US.UTF-8/XLC_LOCALE: sa_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE: sd_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE: sd_IN.UTF-8@devanagari +en_US.UTF-8/XLC_LOCALE: se_NO.UTF-8 +en_US.UTF-8/XLC_LOCALE: sh_BA.UTF-8 +en_US.UTF-8/XLC_LOCALE: sh_YU.UTF-8 +en_US.UTF-8/XLC_LOCALE: si_LK.UTF-8 +en_US.UTF-8/XLC_LOCALE: sk_SK.UTF-8 +en_US.UTF-8/XLC_LOCALE: sl_SI.UTF-8 +en_US.UTF-8/XLC_LOCALE: sq_AL.UTF-8 +en_US.UTF-8/XLC_LOCALE: sr_ME.UTF-8 +en_US.UTF-8/XLC_LOCALE: sr_RS.UTF-8 +en_US.UTF-8/XLC_LOCALE: sr_RS.UTF-8@latin +en_US.UTF-8/XLC_LOCALE: sr_YU.UTF-8 +en_US.UTF-8/XLC_LOCALE: ss_ZA.UTF-8 +en_US.UTF-8/XLC_LOCALE: st_ZA.UTF-8 +en_US.UTF-8/XLC_LOCALE: sv_FI.UTF-8 +en_US.UTF-8/XLC_LOCALE: sv_SE.UTF-8 +en_US.UTF-8/XLC_LOCALE: ta_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE: te_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE: tg_TJ.UTF-8 +th_TH.UTF-8/XLC_LOCALE: th_TH.UTF-8 +en_US.UTF-8/XLC_LOCALE: ti_ER.UTF-8 +en_US.UTF-8/XLC_LOCALE: ti_ET.UTF-8 +en_US.UTF-8/XLC_LOCALE: tl_PH.UTF-8 +en_US.UTF-8/XLC_LOCALE: tn_ZA.UTF-8 +en_US.UTF-8/XLC_LOCALE: tr_TR.UTF-8 +en_US.UTF-8/XLC_LOCALE: ts_ZA.UTF-8 +en_US.UTF-8/XLC_LOCALE: tt_RU.UTF-8 +en_US.UTF-8/XLC_LOCALE: uk_UA.UTF-8 +en_US.UTF-8/XLC_LOCALE: ur_IN.UTF-8 +en_US.UTF-8/XLC_LOCALE: ur_PK.UTF-8 +en_US.UTF-8/XLC_LOCALE: uz_UZ.UTF-8 +en_US.UTF-8/XLC_LOCALE: ve_ZA.UTF-8 +en_US.UTF-8/XLC_LOCALE: vi_VN.UTF-8 +en_US.UTF-8/XLC_LOCALE: wa_BE.UTF-8 +en_US.UTF-8/XLC_LOCALE: xh_ZA.UTF-8 +en_US.UTF-8/XLC_LOCALE: yi_US.UTF-8 +en_US.UTF-8/XLC_LOCALE: ne_NP.UTF-8 +zh_CN.UTF-8/XLC_LOCALE: zh_CN.UTF-8 +zh_HK.UTF-8/XLC_LOCALE: zh_HK.UTF-8 +zh_CN.UTF-8/XLC_LOCALE: zh_SG.UTF-8 +zh_TW.UTF-8/XLC_LOCALE: zh_TW.UTF-8 +en_US.UTF-8/XLC_LOCALE: zu_ZA.UTF-8 diff --git a/locale/microsoft-cp1251/Compose b/locale/microsoft-cp1251/Compose new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/locale/microsoft-cp1251/Compose @@ -0,0 +1 @@ + diff --git a/locale/microsoft-cp1251/XI18N_OBJS b/locale/microsoft-cp1251/XI18N_OBJS new file mode 100644 index 0000000..98c5ef5 --- /dev/null +++ b/locale/microsoft-cp1251/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for microsoft-cp1251 locale +# +XLC common/xlcDef _XlcDefaultLoader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/microsoft-cp1251/XLC_LOCALE b/locale/microsoft-cp1251/XLC_LOCALE new file mode 100644 index 0000000..688069c --- /dev/null +++ b/locale/microsoft-cp1251/XLC_LOCALE @@ -0,0 +1,84 @@ + +# XLocale Database Sample for microsoft-cp1251. +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary MICROSOFT-CP1251:GL + substitute ISO8859-1:GL + vertical_rotate all + } +} +# fs1 class +fs1 { + charset { + name MICROSOFT-CP1251:GR + } + font { + primary MICROSOFT-CP1251:GR + } +} +END XLC_FONTSET + +# +# XLC_CHARSET_DEFINE category +# +XLC_CHARSET_DEFINE +csd0 { + charset_name MICROSOFT-CP1251 + side GR + length 1 + string_encoding False + sequence \x1b%/1 +} +END XLC_CHARSET_DEFINE + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name MICROSOFT-CP1251 +mb_cur_max 1 +state_depend_encoding False + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True +force_convert_to_mb True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding MICROSOFT-CP1251:GL; ISO8859-1:GL +} + + +# cs1 class +cs1 { + side GR:Default + length 1 + + + + wc_encoding \x00008080 + + ct_encoding MICROSOFT-CP1251:GR +} + +END XLC_XLOCALE diff --git a/locale/microsoft-cp1255/Compose b/locale/microsoft-cp1255/Compose new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/locale/microsoft-cp1255/Compose @@ -0,0 +1 @@ + diff --git a/locale/microsoft-cp1255/XI18N_OBJS b/locale/microsoft-cp1255/XI18N_OBJS new file mode 100644 index 0000000..3d0d9a5 --- /dev/null +++ b/locale/microsoft-cp1255/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for microsoft-cp1255 locale +# +XLC common/xlcDef _XlcDefaultLoader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/microsoft-cp1255/XLC_LOCALE b/locale/microsoft-cp1255/XLC_LOCALE new file mode 100644 index 0000000..05fe249 --- /dev/null +++ b/locale/microsoft-cp1255/XLC_LOCALE @@ -0,0 +1,84 @@ + +# XLocale Database Sample for microsoft-cp1255. +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary MICROSOFT-CP1255:GL + substitute ISO8859-1:GL + vertical_rotate all + } +} +# fs1 class +fs1 { + charset { + name MICROSOFT-CP1255:GR + } + font { + primary MICROSOFT-CP1255:GR + } +} +END XLC_FONTSET + +# +# XLC_CHARSET_DEFINE category +# +XLC_CHARSET_DEFINE +csd0 { + charset_name MICROSOFT-CP1255 + side GR + length 1 + string_encoding False + sequence \x1b%/1 +} +END XLC_CHARSET_DEFINE + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name MICROSOFT-CP1255 +mb_cur_max 1 +state_depend_encoding False + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True +force_convert_to_mb True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding MICROSOFT-CP1255:GL; ISO8859-1:GL +} + + +# cs1 class +cs1 { + side GR:Default + length 1 + + + + wc_encoding \x00008080 + + ct_encoding MICROSOFT-CP1255:GR +} + +END XLC_XLOCALE diff --git a/locale/microsoft-cp1256/Compose b/locale/microsoft-cp1256/Compose new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/locale/microsoft-cp1256/Compose @@ -0,0 +1 @@ + diff --git a/locale/microsoft-cp1256/XI18N_OBJS b/locale/microsoft-cp1256/XI18N_OBJS new file mode 100644 index 0000000..e58719d --- /dev/null +++ b/locale/microsoft-cp1256/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for microsoft-cp1256 locale +# +XLC common/xlcDef _XlcDefaultLoader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/microsoft-cp1256/XLC_LOCALE b/locale/microsoft-cp1256/XLC_LOCALE new file mode 100644 index 0000000..0ec178c --- /dev/null +++ b/locale/microsoft-cp1256/XLC_LOCALE @@ -0,0 +1,84 @@ + +# XLocale Database Sample for microsoft-cp1256. +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary MICROSOFT-CP1256:GL + substitute ISO8859-1:GL + vertical_rotate all + } +} +# fs1 class +fs1 { + charset { + name MICROSOFT-CP1256:GR + } + font { + primary MICROSOFT-CP1256:GR + } +} +END XLC_FONTSET + +# +# XLC_CHARSET_DEFINE category +# +XLC_CHARSET_DEFINE +csd0 { + charset_name MICROSOFT-CP1256 + side GR + length 1 + string_encoding False + sequence \x1b%/1 +} +END XLC_CHARSET_DEFINE + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name MICROSOFT-CP1256 +mb_cur_max 1 +state_depend_encoding False + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True +force_convert_to_mb True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding MICROSOFT-CP1256:GL; ISO8859-1:GL +} + + +# cs1 class +cs1 { + side GR:Default + length 1 + + + + wc_encoding \x00008080 + + ct_encoding MICROSOFT-CP1256:GR +} + +END XLC_XLOCALE diff --git a/locale/mulelao-1/Compose b/locale/mulelao-1/Compose new file mode 100644 index 0000000..b927ca8 --- /dev/null +++ b/locale/mulelao-1/Compose @@ -0,0 +1,15 @@ + +# +# mulelao-1 Compose Sequence +# +# Sequence Definition +# +# +# This file currently has no entries. It appears that a compose file (even +# just an empty one) is required for the appropriate keysyms to work for +# this encoding. +# +# Means +# Special Character + +# End of Sequence Definition diff --git a/locale/mulelao-1/XI18N_OBJS b/locale/mulelao-1/XI18N_OBJS new file mode 100644 index 0000000..10d7248 --- /dev/null +++ b/locale/mulelao-1/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for mulelao-1 locale +# +XLC common/xlcDef _XlcDefaultLoader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/mulelao-1/XLC_LOCALE b/locale/mulelao-1/XLC_LOCALE new file mode 100644 index 0000000..99566ce --- /dev/null +++ b/locale/mulelao-1/XLC_LOCALE @@ -0,0 +1,78 @@ + +# XLocale Database Sample for mulelao-1. +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class (7 bit ASCII) +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary MULELAO-1:GL + substitute ISO8859-1:GL + } +} +# fs1 class +fs1 { + charset MULELAO-1:GR + font MULELAO-1:GR +} +END XLC_FONTSET + +# +# XLC_CHARSET_DEFINE category +# +XLC_CHARSET_DEFINE +csd0 { + charset_name MULELAO-1 + side GR + length 1 + string_encoding False + sequence \x1b%/1 +} +END XLC_CHARSET_DEFINE + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name MULELAO-1 +mb_cur_max 1 +state_depend_encoding False + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding MULELAO-1:GL; ISO8859-1:GL +} + + +# cs1 class +cs1 { + side GR:Default + length 1 + + + + wc_encoding \x00008080 + + ct_encoding MULELAO-1:GR +} + +END XLC_XLOCALE diff --git a/locale/nokhchi-1/Compose b/locale/nokhchi-1/Compose new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/locale/nokhchi-1/Compose @@ -0,0 +1 @@ + diff --git a/locale/nokhchi-1/XI18N_OBJS b/locale/nokhchi-1/XI18N_OBJS new file mode 100644 index 0000000..58b1d01 --- /dev/null +++ b/locale/nokhchi-1/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for nokhchi-1 locale +# +XLC common/xlcDef _XlcDefaultLoader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/nokhchi-1/XLC_LOCALE b/locale/nokhchi-1/XLC_LOCALE new file mode 100644 index 0000000..f25f8c5 --- /dev/null +++ b/locale/nokhchi-1/XLC_LOCALE @@ -0,0 +1,78 @@ + +# XLocale Database Sample for mulelao-1. +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class (7 bit ASCII) +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary NOKHCHI-1:GL + substitute ISO8859-1:GL + } +} +# fs1 class +fs1 { + charset NOKHCHI-1:GR + font NOKHCHI-1:GR +} +END XLC_FONTSET + +# +# XLC_CHARSET_DEFINE category +# +XLC_CHARSET_DEFINE +csd0 { + charset_name NOKHCHI-1 + side GR + length 1 + string_encoding False + sequence \x1b%/1 +} +END XLC_CHARSET_DEFINE + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name NOKHCHI-1 +mb_cur_max 1 +state_depend_encoding False + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding NOKHCHI-1:GL; ISO8859-1:GL +} + + +# cs1 class +cs1 { + side GR:Default + length 1 + + + + wc_encoding \x00008080 + + ct_encoding NOKHCHI-1:GR +} + +END XLC_XLOCALE diff --git a/locale/pt_BR.UTF-8/Compose b/locale/pt_BR.UTF-8/Compose new file mode 100644 index 0000000..1de5bdb --- /dev/null +++ b/locale/pt_BR.UTF-8/Compose @@ -0,0 +1,35 @@ + +# UTF-8 (Unicode) compose sequences +# +# Originally modified for Brazilian Portuguese +# by Gustavo Noronha Silva . +# Transformed to an include file plus some overrides +# by Benno Schulenberg + +# Use the sequences from en_US.UTF-8 as the basis: +include "X11_LOCALEDATADIR/en_US.UTF-8/Compose" + +# This one should probably be deleted, because in +# en_US.UTF8 this is lowercase schwa, not uppercase: + : "Ə" U018f + +# Two nice additions -- maybe add to en_US.UTF8? + : "〝" U301d # REVERSED DOUBLE PRIME QUOTATION MARK + : "〞" U301e # DOUBLE PRIME QUOTATION MARK + +# Overriding C with acute: + : "Ç" Ccedilla # LATIN CAPITAL LETTER C WITH CEDILLA + : "ç" ccedilla # LATIN SMALL LETTER C WITH CEDILLA + +# Overriding E with ogonek: + : "Ȩ" U0228 # LATIN CAPITAL LETTER E WITH CEDILLA + : "ȩ" U0229 # LATIN SMALL LETTER E WITH CEDILLA + +# Overriding U with ogonek: + : "Ḝ" U1E1C # LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE + : "ḝ" U1E1D # LATIN SMALL LETTER E WITH CEDILLA AND BREVE + +# These two should probably go back into en_US.UTF8; +# they were most likely mistakenly dropped in June 2006: + : "ϓ" U03D3 # GREEK UPSILON WITH ACUTE AND HOOK SYMBOL + : "ϓ" U03D3 # GREEK UPSILON WITH ACUTE AND HOOK SYMBOL diff --git a/locale/pt_BR.UTF-8/XI18N_OBJS b/locale/pt_BR.UTF-8/XI18N_OBJS new file mode 100644 index 0000000..8eac6d8 --- /dev/null +++ b/locale/pt_BR.UTF-8/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for pt_BR.UTF-8 locale +# +XLC common/xlcUTF8Load _XlcUtf8Loader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/pt_BR.UTF-8/XLC_LOCALE b/locale/pt_BR.UTF-8/XLC_LOCALE new file mode 100644 index 0000000..891412e --- /dev/null +++ b/locale/pt_BR.UTF-8/XLC_LOCALE @@ -0,0 +1,143 @@ + +# XLocale Database Sample for pt_BR.UTF-8 +# +# Based on XLocale Database Sample for en_US.UTF-8 +# + +# +# XLC_FONTSET category +# +XLC_FONTSET + +on_demand_loading True + +object_name generic + +# fs0 class (7 bit ASCII) +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary ISO8859-1:GL + vertical_rotate all + } +} +# fs1 class (ISO8859 families) +fs1 { + charset { + name ISO8859-1:GR + } + font { + primary ISO8859-1:GR + } +} +# fs2 class (Kanji) +fs2 { + charset { + name JISX0208.1983-0:GL + } + font { + primary JISX0208.1983-0:GL + } +} +# fs3 class (Korean Character) +fs3 { + charset { + name KSC5601.1987-0:GL + } + font { + primary KSC5601.1987-0:GL + } +} +# fs4 class (Chinese Han Character) +fs4 { + charset { + name GB2312.1980-0:GL + } + font { + primary GB2312.1980-0:GL + } +} +# fs5 class (Half Kana) +fs5 { + charset { + name JISX0201.1976-0:GR + } + font { + primary JISX0201.1976-0:GR + vertical_rotate all + } +} +# ISO10646 is last, per Roland Mainz in +# http: +fs6 { + charset { + name ISO10646-1 + } + font { + primary ISO10646-1 + } +} +END XLC_FONTSET + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name UTF-8 +mb_cur_max 6 +state_depend_encoding False + +# cs0 class +cs0 { + side GL:Default + length 1 + ct_encoding ISO8859-1:GL +} + +# cs1 class +cs1 { + side GR:Default + length 1 + ct_encoding ISO8859-1:GR +} + +# cs2 class +cs2 { + side GR + length 2 + ct_encoding JISX0208.1983-0:GL; JISX0208.1983-0:GR;\ + JISX0208.1983-1:GL; JISX0208.1983-1:GR +} + +# cs3 class +cs3 { + side GL + length 2 + ct_encoding KSC5601.1987-0:GL; KSC5601.1987-0:GR;\ + KSC5601.1987-1:GL; KSC5601.1987-1:GR +} + +# cs4 class +cs4 { + side GR + length 2 + ct_encoding GB2312.1980-0:GL; GB2312.1980-0:GR +} + +# cs5 class +cs5 { + side GR + length 1 + ct_encoding JISX0201.1976-0:GR +} + +# cs6 class +cs6 { + side none + ct_encoding ISO10646-1 +} + +END XLC_XLOCALE diff --git a/locale/ru_RU.UTF-8/Compose b/locale/ru_RU.UTF-8/Compose new file mode 100644 index 0000000..ee70e4d --- /dev/null +++ b/locale/ru_RU.UTF-8/Compose @@ -0,0 +1,2 @@ + +include "X11_LOCALEDATADIR/en_US.UTF-8/Compose" diff --git a/locale/ru_RU.UTF-8/XI18N_OBJS b/locale/ru_RU.UTF-8/XI18N_OBJS new file mode 100644 index 0000000..842fc27 --- /dev/null +++ b/locale/ru_RU.UTF-8/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for ru_RU.UTF-8 locale +# +XLC common/xlcUTF8Load _XlcUtf8Loader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/ru_RU.UTF-8/XLC_LOCALE b/locale/ru_RU.UTF-8/XLC_LOCALE new file mode 100644 index 0000000..6730b03 --- /dev/null +++ b/locale/ru_RU.UTF-8/XLC_LOCALE @@ -0,0 +1,170 @@ + +# +# XLocale Database Sample for ru_RU.UTF-8 +# Derived from en_US.UTF-8 +# + +# +# XLC_FONTSET category +# +XLC_FONTSET + +on_demand_loading True + +object_name generic + +# fs0 class (7 bit ASCII) +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary ISO8859-1:GL + vertical_rotate all + } +} +# fs1 class (ISO8859 families) +fs1 { + charset { + name ISO8859-1:GR + } + font { + primary ISO8859-1:GR + } +} +# fs2 class (KOI8-R) +fs2 { + charset { + name KOI8-R:GR + } + font { + primary KOI8-R:GR + } +} +# fs3 class (MICROSOFT-CP1251) +fs3 { + charset { + name MICROSOFT-CP1251:GR + } + font { + primary MICROSOFT-CP1251:GR + } +} +# fs4 class (ISO8859-5) +fs4 { + charset { + name ISO8859-5:GR + } + font { + primary ISO8859-5:GR + } +} +# fs5 class (Kanji) +fs5 { + charset { + name JISX0208.1983-0:GL + } + font { + primary JISX0208.1983-0:GL + } +} +# fs6 class (Korean Character) +fs6 { + charset { + name KSC5601.1987-0:GL + } + font { + primary KSC5601.1987-0:GL + } +} +# fs7 class (Chinese Han Character) +fs7 { + charset { + name GB2312.1980-0:GL + } + font { + primary GB2312.1980-0:GL + } +} +# fs8 class (Half Kana) +fs8 { + charset { + name JISX0201.1976-0:GR + } + font { + primary JISX0201.1976-0:GR + vertical_rotate all + } +} +# ISO10646 should come last so the fonts above will actually be used +# fs9 class +fs9 { + charset { + name ISO10646-1 + } + font { + primary ISO10646-1 + } +} +END XLC_FONTSET + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name UTF-8 +mb_cur_max 6 +state_depend_encoding False + +# cs0 class +cs0 { + side GL:Default + length 1 + ct_encoding ISO8859-1:GL +} + +# cs1 class +cs1 { + side GR:Default + length 1 + ct_encoding ISO8859-1:GR +} + +# cs2 class +cs2 { + side GR + length 2 + ct_encoding JISX0208.1983-0:GL; JISX0208.1983-0:GR; JISX0208.1983-1:GL; JISX0208.1983-1:GR + +} + +# cs3 class +cs3 { + side GL + length 2 + ct_encoding KSC5601.1987-0:GL; KSC5601.1987-0:GR; KSC5601.1987-1:GL; KSC5601.1987-1:GR + +} + +# cs4 class +cs4 { + side GR + length 2 + ct_encoding GB2312.1980-0:GL; GB2312.1980-0:GR +} + +# cs5 class +cs5 { + side GR + length 1 + ct_encoding JISX0201.1976-0:GR +} + +# cs6 class +cs6 { + side none + ct_encoding ISO10646-1 +} + +END XLC_XLOCALE diff --git a/locale/tatar-cyr/Compose b/locale/tatar-cyr/Compose new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/locale/tatar-cyr/Compose @@ -0,0 +1 @@ + diff --git a/locale/tatar-cyr/XI18N_OBJS b/locale/tatar-cyr/XI18N_OBJS new file mode 100644 index 0000000..074f2a1 --- /dev/null +++ b/locale/tatar-cyr/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for tatar-cyr locale +# +XLC common/xlcDef _XlcDefaultLoader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/tatar-cyr/XLC_LOCALE b/locale/tatar-cyr/XLC_LOCALE new file mode 100644 index 0000000..849ce19 --- /dev/null +++ b/locale/tatar-cyr/XLC_LOCALE @@ -0,0 +1,84 @@ + +# XLocale Database Sample for tatar-cyr. +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary TATAR-CYR:GL + substitute ISO8859-1:GL + vertical_rotate all + } +} +# fs1 class +fs1 { + charset { + name TATAR-CYR:GR + } + font { + primary TATAR-CYR:GR + } +} +END XLC_FONTSET + +# +# XLC_CHARSET_DEFINE category +# +XLC_CHARSET_DEFINE +csd0 { + charset_name TATAR-CYR + side GR + length 1 + string_encoding False + sequence \x1b%/1 +} +END XLC_CHARSET_DEFINE + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name TATAR-CYR +mb_cur_max 1 +state_depend_encoding False + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True +force_convert_to_mb True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding TATAR-CYR:GL; ISO8859-1:GL +} + + +# cs1 class +cs1 { + side GR:Default + length 1 + + + + wc_encoding \x00008080 + + ct_encoding TATAR-CYR:GR +} + +END XLC_XLOCALE diff --git a/locale/th_TH.UTF-8/Compose b/locale/th_TH.UTF-8/Compose new file mode 100644 index 0000000..ee70e4d --- /dev/null +++ b/locale/th_TH.UTF-8/Compose @@ -0,0 +1,2 @@ + +include "X11_LOCALEDATADIR/en_US.UTF-8/Compose" diff --git a/locale/th_TH.UTF-8/XI18N_OBJS b/locale/th_TH.UTF-8/XI18N_OBJS new file mode 100644 index 0000000..dec38b0 --- /dev/null +++ b/locale/th_TH.UTF-8/XI18N_OBJS @@ -0,0 +1,8 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for th_TH.UTF-8 locale +# +# +XLC common/xlcUTF8Load _XlcUtf8Loader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/th_TH.UTF-8/XLC_LOCALE b/locale/th_TH.UTF-8/XLC_LOCALE new file mode 100644 index 0000000..aafdc0c --- /dev/null +++ b/locale/th_TH.UTF-8/XLC_LOCALE @@ -0,0 +1,80 @@ + +# XLocale Database Sample for th_TH +# +# +# Modified from original th_TH.TACTIS + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class +fs0 { + charset { + name ISO10646-1 + } + font { + primary ISO10646-1 + } +} +# We leave the legacy encodings in for the moment, because we don't +# have that many ISO10646 fonts yet. +# fs0 class (7 bit ASCII) +fs1 { + charset ISO8859-1:GL + font ISO8859-1:GL +} +# fs1 class (Thai) +fs2 { + charset ISO8859-11:GR + font ISO8859-11:GR +} +END XLC_FONTSET + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name UTF-8 +mb_cur_max 3 +state_depend_encoding False + + +wc_encoding_mask \x30000000 +wc_shift_bits 7 + + + + + + +use_stdc_env True +force_convert_to_mb True + + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding ISO8859-1:GL +} + + +# cs1 class +cs1 { + side GR:Default + length 1 + + wc_encoding \x30000000 + ct_encoding ISO8859-11:GR +} + +# cs2 class +cs2 { + side none + ct_encoding ISO10646-1 +} + +END XLC_XLOCALE diff --git a/locale/th_TH/Compose b/locale/th_TH/Compose new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/locale/th_TH/Compose @@ -0,0 +1 @@ + diff --git a/locale/th_TH/XI18N_OBJS b/locale/th_TH/XI18N_OBJS new file mode 100644 index 0000000..d677a00 --- /dev/null +++ b/locale/th_TH/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for th_TH locale +# +XLC common/xlcDef _XlcDefaultLoader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/th_TH/XLC_LOCALE b/locale/th_TH/XLC_LOCALE new file mode 100644 index 0000000..eea8d55 --- /dev/null +++ b/locale/th_TH/XLC_LOCALE @@ -0,0 +1,64 @@ + +# XLocale Database Sample for th_TH +# +# +# Modified from original th_TH.TACTIS + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class (7 bit ASCII) +fs0 { + charset ISO8859-1:GL + font ISO8859-1:GL +} +# fs1 class (Thai) +fs1 { + charset ISO8859-11:GR + font ISO8859-11:GR +} +END XLC_FONTSET + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name TIS620 +mb_cur_max 1 +state_depend_encoding False + + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True +force_convert_to_mb True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding ISO8859-1:GL +} + + +# cs1 class +cs1 { + side GR:Default + length 1 + + + + wc_encoding \x00008080 + + ct_encoding ISO8859-11:GR +} + +END XLC_XLOCALE diff --git a/locale/tscii-0/Compose b/locale/tscii-0/Compose new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/locale/tscii-0/Compose @@ -0,0 +1 @@ + diff --git a/locale/tscii-0/XI18N_OBJS b/locale/tscii-0/XI18N_OBJS new file mode 100644 index 0000000..237a337 --- /dev/null +++ b/locale/tscii-0/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for tscii-0 locale +# +XLC common/xlcDef _XlcDefaultLoader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/tscii-0/XLC_LOCALE b/locale/tscii-0/XLC_LOCALE new file mode 100644 index 0000000..68520a5 --- /dev/null +++ b/locale/tscii-0/XLC_LOCALE @@ -0,0 +1,78 @@ + +# XLocale Database Sample for mulelao-1. +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class (7 bit ASCII) +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary TSCII-0:GL + substitute ISO8859-1:GL + } +} +# fs1 class +fs1 { + charset TSCII-0:GR + font TSCII-0:GR +} +END XLC_FONTSET + +# +# XLC_CHARSET_DEFINE category +# +XLC_CHARSET_DEFINE +csd0 { + charset_name TSCII-0 + side GR + length 1 + string_encoding False + sequence \x1b%/1 +} +END XLC_CHARSET_DEFINE + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name TSCII-0 +mb_cur_max 1 +state_depend_encoding False + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding TSCII-0:GL; ISO8859-1:GL +} + + +# cs1 class +cs1 { + side GR:Default + length 1 + + + + wc_encoding \x00008080 + + ct_encoding TSCII-0:GR +} + +END XLC_XLOCALE diff --git a/locale/vi_VN.tcvn/Compose b/locale/vi_VN.tcvn/Compose new file mode 100644 index 0000000..bc81834 --- /dev/null +++ b/locale/vi_VN.tcvn/Compose @@ -0,0 +1,136 @@ + +# 1998/12/18 Le Hong Boi $ +# +# TCVN 5712-2 Compose Sequences +# +# Sequence Definition +# +# dead key accent keysyms +# Special Character + : "`" grave + : " " space + : "~" asciitilde + : "'" apostrophe + : "\264" acute +# Accented Alphabet + : "\200" Agrave + : "\265" agrave + : "\266" Ahook + : "\266" ahook + : "\202" Atilde + : "\267" atilde + : "\203" Aacute + : "\270" aacute + : "\271" Abelowdot + : "\271" abelowdot + : "\273" Abrevegrave + : "\273" abrevegrave + : "\274" Abrevehook + : "\274" abrevehook + : "\275" Abrevetilde + : "\275" abrevetilde + : "\276" Abreveacute + : "\276" abreveacute + : "\306" Abrevebelowdot + : "\306" abrevebelowdot + : "\307" Acircumflexgrave + : "\307" acircumflexgrave + : "\310" Acircumflexhook + : "\310" acircumflexhook + : "\311" Acircumflextilde + : "\311" acircumflextilde + : "\312" Acircumflexacute + : "\312" acircumflexacute + : "\313" Acircumflexbelowdot + : "\313" acircumflexbelowdot + : "\207" Egrave + : "\314" egrave + : "\316" Ehook + : "\316" ehook + : "\317" Etilde + : "\317" etilde + : "\212" Eacute + : "\320" eacute + : "\321" Ebelowdot + : "\321" ebelowdot + : "\322" Ecircumflexgrave + : "\322" ecircumflexgrave + : "\323" Ecircumflexhook + : "\323" ecircumflexhook + : "\324" Ecircumflextilde + : "\324" ecircumflextilde + : "\325" Ecircumflexacute + : "\325" ecircumflexacute + : "\326" Ecircumflexbelowdot + : "\326" ecircumflexbelowdot + : "\215" Igrave + : "\327" igrave + : "\330" Ihook + : "\330" ihook + : "\217" Itilde + : "\334" itilde + : "\220" Iacute + : "\335" iacute + : "\336" Ibelowdot + : "\336" ibelowdot + : "\222" Ograve + : "\337" ograve + : "\341" Ohook + : "\341" ohook + : "\224" Otilde + : "\342" otilde + : "\225" Oacute + : "\343" oacute + : "\344" Obelowdot + : "\344" obelowdot + : "\345" Ocircumflexgrave + : "\345" ocircumflexgrave + : "\346" Ocircumflexhook + : "\346" ocircumflexhook + : "\347" Ocircumflextilde + : "\347" ocircumflextilde + : "\350" Ocircumflexacute + : "\350" ocircumflexacute + : "\351" Ocircumflexbelowdot + : "\351" ocircumflexbelowdot + : "\352" Ohorngrave + : "\352" ohorngrave + : "\353" Ohornhook + : "\353" ohornhook + : "\354" Ohorntilde + : "\354" ohorntilde + : "\355" Ohornacute + : "\355" ohornacute + : "\356" Ohornbelowdot + : "\356" ohornbelowdot + : "\235" Ugrave + : "\357" ugrave + : "\361" Uhook + : "\361" uhook + : "\237" Utilde + : "\362" utilde + : "\001" Uacute + : "\363" uacute + : "\364" Ubelowdot + : "\364" ubelowdot + : "\365" Uhorngrave + : "\365" uhorngrave + : "\366" Uhornhook + : "\366" uhornhook + : "\367" Uhorntilde + : "\367" uhorntilde + : "\370" Uhornacute + : "\370" uhornacute + : "\371" Uhornbelowdot + : "\371" uhornbelowdot + : "\023" Ygrave + : "\372" ygrave + : "\373" Yhook + : "\373" yhook + : "\374" Ytilde + : "\374" ytilde + : "\026" Yacute + : "\375" yacute + : "\376" Ybelowdot + : "\376" ybelowdot +# End of Sequence Definition diff --git a/locale/vi_VN.tcvn/XI18N_OBJS b/locale/vi_VN.tcvn/XI18N_OBJS new file mode 100644 index 0000000..cff66df --- /dev/null +++ b/locale/vi_VN.tcvn/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for vi_VN.tcvn locale +# +XLC common/xlcDef _XlcDefaultLoader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/vi_VN.tcvn/XLC_LOCALE b/locale/vi_VN.tcvn/XLC_LOCALE new file mode 100644 index 0000000..e5bf92a --- /dev/null +++ b/locale/vi_VN.tcvn/XLC_LOCALE @@ -0,0 +1,78 @@ + +# XLocale Database Sample for vi_VN.TCVN +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class (7 bit ASCII) +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary TCVN-5712:GL + substitute ISO8859-1:GL + } +} +# fs1 class +fs1 { + charset TCVN-5712:GR + font TCVN-5712:GR +} +END XLC_FONTSET + +# +# XLC_CHARSET_DEFINE category +# +XLC_CHARSET_DEFINE +csd0 { + charset_name TCVN-5712 + side GR + length 1 + string_encoding False + sequence \x1b%/1 +} +END XLC_CHARSET_DEFINE + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name TCVN-5712 +mb_cur_max 1 +state_depend_encoding False + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding TCVN-5712:GL; ISO8859-1:GL +} + + +# cs1 class +cs1 { + side GR:Default + length 1 + + + + wc_encoding \x00008080 + + ct_encoding TCVN-5712:GR +} + +END XLC_XLOCALE diff --git a/locale/vi_VN.viscii/Compose b/locale/vi_VN.viscii/Compose new file mode 100644 index 0000000..62f9048 --- /dev/null +++ b/locale/vi_VN.viscii/Compose @@ -0,0 +1,136 @@ + +# 1998/12/18 Le Hong Boi $ +# +# TCVN 5712-2 Compose Sequences +# +# Sequence Definition +# +# dead key accent keysyms +# Special Character + : "`" grave + : " " space + : "~" asciitilde + : "'" apostrophe + : "\264" acute +# Accented Alphabet + : "\300" Agrave + : "\340" agrave + : "\304" Ahook + : "\344" ahook + : "\303" Atilde + : "\343" atilde + : "\301" Aacute + : "\341" aacute + : "\200" Abelowdot + : "\325" abelowdot + : "\202" Abrevegrave + : "\242" abrevegrave + : "\002" Abrevehook + : "\306" abrevehook + : "\005" Abrevetilde + : "\307" abrevetilde + : "\201" Abreveacute + : "\241" abreveacute + : "\203" Abrevebelowdot + : "\243" abrevebelowdot + : "\205" Acircumflexgrave + : "\245" acircumflexgrave + : "\206" Acircumflexhook + : "\246" acircumflexhook + : "\006" Acircumflextilde + : "\347" acircumflextilde + : "\204" Acircumflexacute + : "\244" acircumflexacute + : "\207" Acircumflexbelowdot + : "\247" acircumflexbelowdot + : "\310" Egrave + : "\350" egrave + : "\313" Ehook + : "\353" ehook + : "\210" Etilde + : "\250" etilde + : "\311" Eacute + : "\351" eacute + : "\211" Ebelowdot + : "\251" ebelowdot + : "\213" Ecircumflexgrave + : "\253" ecircumflexgrave + : "\214" Ecircumflexhook + : "\254" ecircumflexhook + : "\215" Ecircumflextilde + : "\255" ecircumflextilde + : "\212" Ecircumflexacute + : "\252" ecircumflexacute + : "\216" Ecircumflexbelowdot + : "\256" ecircumflexbelowdot + : "\314" Igrave + : "\354" igrave + : "\233" Ihook + : "\357" ihook + : "\316" Itilde + : "\356" itilde + : "\315" Iacute + : "\355" iacute + : "\230" Ibelowdot + : "\270" ibelowdot + : "\322" Ograve + : "\362" ograve + : "\231" Ohook + : "\366" ohook + : "\240" Otilde + : "\365" otilde + : "\323" Oacute + : "\363" oacute + : "\232" Obelowdot + : "\367" obelowdot + : "\220" Ocircumflexgrave + : "\260" ocircumflexgrave + : "\221" Ocircumflexhook + : "\261" ocircumflexhook + : "\222" Ocircumflextilde + : "\262" ocircumflextilde + : "\217" Ocircumflexacute + : "\257" ocircumflexacute + : "\223" Ocircumflexbelowdot + : "\265" ocircumflexbelowdot + : "\226" Ohorngrave + : "\266" ohorngrave + : "\227" Ohornhook + : "\267" ohornhook + : "\263" Ohorntilde + : "\336" ohorntilde + : "\225" Ohornacute + : "\276" ohornacute + : "\224" Ohornbelowdot + : "\376" ohornbelowdot + : "\331" Ugrave + : "\371" ugrave + : "\234" Uhook + : "\374" uhook + : "\235" Utilde + : "\373" utilde + : "\332" Uacute + : "\372" uacute + : "\236" Ubelowdot + : "\370" ubelowdot + : "\273" Uhorngrave + : "\327" uhorngrave + : "\274" Uhornhook + : "\330" uhornhook + : "\377" Uhorntilde + : "\346" uhorntilde + : "\272" Uhornacute + : "\321" uhornacute + : "\271" Uhornbelowdot + : "\361" uhornbelowdot + : "\237" Ygrave + : "\317" ygrave + : "\024" Yhook + : "\326" yhook + : "\031" Ytilde + : "\333" ytilde + : "\335" Yacute + : "\375" yacute + : "\036" Ybelowdot + : "\334" ybelowdot +# End of Sequence Definition diff --git a/locale/vi_VN.viscii/XI18N_OBJS b/locale/vi_VN.viscii/XI18N_OBJS new file mode 100644 index 0000000..5f4b3b6 --- /dev/null +++ b/locale/vi_VN.viscii/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for vi_VN.viscii locale +# +XLC common/xlcDef _XlcDefaultLoader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/vi_VN.viscii/XLC_LOCALE b/locale/vi_VN.viscii/XLC_LOCALE new file mode 100644 index 0000000..cd1f130 --- /dev/null +++ b/locale/vi_VN.viscii/XLC_LOCALE @@ -0,0 +1,78 @@ + +# XLocale Database Sample for vi_VN.VISCII +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class (7 bit ASCII) +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary VISCII1.1-1:GL + substitute ISO8859-1:GL + } +} +# fs1 class +fs1 { + charset VISCII1.1-1:GR + font VISCII1.1-1:GR +} +END XLC_FONTSET + +# +# XLC_CHARSET_DEFINE category +# +XLC_CHARSET_DEFINE +csd0 { + charset_name VISCII1.1-1 + side GR + length 1 + string_encoding False + sequence \x1b%/1 +} +END XLC_CHARSET_DEFINE + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name VISCII1.1-1 +mb_cur_max 1 +state_depend_encoding False + + + + +wc_encoding_mask \x00008080 +wc_shift_bits 8 + + +use_stdc_env True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding VISCII1.1-1:GL; ISO8859-1:GL +} + + +# cs1 class +cs1 { + side GR:Default + length 1 + + + + wc_encoding \x00008080 + + ct_encoding VISCII1.1-1:GR +} + +END XLC_XLOCALE diff --git a/locale/zh_CN.UTF-8/Compose b/locale/zh_CN.UTF-8/Compose new file mode 100644 index 0000000..ee70e4d --- /dev/null +++ b/locale/zh_CN.UTF-8/Compose @@ -0,0 +1,2 @@ + +include "X11_LOCALEDATADIR/en_US.UTF-8/Compose" diff --git a/locale/zh_CN.UTF-8/XI18N_OBJS b/locale/zh_CN.UTF-8/XI18N_OBJS new file mode 100644 index 0000000..29dd53a --- /dev/null +++ b/locale/zh_CN.UTF-8/XI18N_OBJS @@ -0,0 +1,8 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for zh_CN.UTF-8 locale +# +# +XLC common/xlcUTF8Load _XlcUtf8Loader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/zh_CN.UTF-8/XLC_LOCALE b/locale/zh_CN.UTF-8/XLC_LOCALE new file mode 100644 index 0000000..080c26d --- /dev/null +++ b/locale/zh_CN.UTF-8/XLC_LOCALE @@ -0,0 +1,108 @@ + +# XFree86 NLS for Chinese locale zh_CN.UTF-8 +# Modified from xc/nls/XLC_LOCALE/en_US.UTF-8 +# by James Su +# + +# +# XLC_FONTSET category +# +XLC_FONTSET + +on_demand_loading True + +object_name generic + +# We leave the legacy encodings in for the moment, because we don't +# have that many ISO10646 fonts yet. +# fs0 class (7 bit ASCII) +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary ISO8859-1:GL + vertical_rotate all + } +} + +# fs1 class (ISO8859 families) +fs1 { + charset { + name ISO8859-1:GR + } + font { + primary ISO8859-1:GR + } +} + +# fs2 class (Chinese Han Character) +fs2 { + charset { + name GB2312.1980-0:GL + } + font { + primary GB2312.1980-0:GL + } +} + +# fs3 class (Chinese Han Character GBK) +fs3 { + charset { + name GBK-0:GLGR + } + font { + primary GBK-0:GLGR + substitute GB13000.1993-1:GLGR + } +} + +# fs4 class +fs4 { + charset { + name ISO10646-1 + } + font { + primary ISO10646-1 + } +} +END XLC_FONTSET + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name UTF-8 +mb_cur_max 6 +state_depend_encoding False + +# cs0 class +cs0 { + side GL:Default + length 1 + ct_encoding ISO8859-1:GL +} + +# cs1 class +cs1 { + side GR:Default + length 1 + ct_encoding ISO8859-1:GR +} + +# cs2 class +cs2 { + side GR + length 2 + ct_encoding GB2312.1980-0:GL; GB2312.1980-0:GR +} + +# cs3 class +cs3 { + side none + ct_encoding ISO10646-1 +} + +END XLC_XLOCALE + diff --git a/locale/zh_CN.gb18030/Compose b/locale/zh_CN.gb18030/Compose new file mode 100644 index 0000000..7ffed08 --- /dev/null +++ b/locale/zh_CN.gb18030/Compose @@ -0,0 +1,15 @@ + +# +# zh_CN.GB18030 Compose Sequence +# +# Sequence Definition +# +# +# This file currently has no entries. It appears that a compose file (even +# just an empty one) is required for the appropriate keysyms to work for +# this encoding. +# +# Means +# Special Character + +# End of Sequence Definition diff --git a/locale/zh_CN.gb18030/XI18N_OBJS b/locale/zh_CN.gb18030/XI18N_OBJS new file mode 100644 index 0000000..a92b403 --- /dev/null +++ b/locale/zh_CN.gb18030/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for zh_CN.gb18030 locale +# +XLC common/xlcUTF8Load _XlcUtf8Loader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/zh_CN.gb18030/XLC_LOCALE b/locale/zh_CN.gb18030/XLC_LOCALE new file mode 100644 index 0000000..e0d9447 --- /dev/null +++ b/locale/zh_CN.gb18030/XLC_LOCALE @@ -0,0 +1,107 @@ + +# XFree86 NLS for Chinese encoding GB18030 +# Modified from xc/nls/XLC_LOCALE/en_US.UTF-8 +# by James Su + +# +# XLC_FONTSET category +# +XLC_FONTSET + +on_demand_loading True + +object_name generic + +# We leave the legacy encodings in for the moment, because we don't +# have that many ISO10646 fonts yet. +# fs0 class (7 bit ASCII) +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary ISO8859-1:GL + vertical_rotate all + } +} + +# fs1 class (ISO8859 families) +fs1 { + charset { + name ISO8859-1:GR + } + font { + primary ISO8859-1:GR + } +} + +# fs2 class (Chinese Han Character) +fs2 { + charset { + name GB2312.1980-0:GL + } + font { + primary GB2312.1980-0:GL + } +} + +# fs3 class (Chinese Han Character GBK) +fs3 { + charset { + name GBK-0:GLGR + } + font { + primary GBK-0:GLGR + substitute GB13000.1993-1:GLGR + } +} + +# fs4 class +fs4 { + charset { + name ISO10646-1 + } + font { + primary GB18030-0 + substitute GBK2K-0 + } +} +END XLC_FONTSET + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name GB18030 +mb_cur_max 4 +state_depend_encoding False + +# cs0 class +cs0 { + side GL:Default + length 1 + ct_encoding ISO8859-1:GL +} + +# cs1 class +cs1 { + side GR:Default + length 1 + ct_encoding ISO8859-1:GR +} + +# cs2 class +cs2 { + side GR + length 2 + ct_encoding GB2312.1980-0:GL; GB2312.1980-0:GR +} + +# cs3 class +cs3 { + side none + ct_encoding ISO10646-1 +} + +END XLC_XLOCALE diff --git a/locale/zh_CN.gbk/Compose b/locale/zh_CN.gbk/Compose new file mode 100644 index 0000000..ff29c44 --- /dev/null +++ b/locale/zh_CN.gbk/Compose @@ -0,0 +1,15 @@ + +# +# zh_CN.GBK Compose Sequence +# +# Sequence Definition +# +# +# This file currently has no entries. It appears that a compose file (even +# just an empty one) is required for the appropriate keysyms to work for +# this encoding. +# +# Means +# Special Character + +# End of Sequence Definition diff --git a/locale/zh_CN.gbk/XI18N_OBJS b/locale/zh_CN.gbk/XI18N_OBJS new file mode 100644 index 0000000..197a3e1 --- /dev/null +++ b/locale/zh_CN.gbk/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for zh_CN.gbk locale +# +XLC common/xlibi18n _XlcGenericLoader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/zh_CN.gbk/XLC_LOCALE b/locale/zh_CN.gbk/XLC_LOCALE new file mode 100644 index 0000000..6dda5bf --- /dev/null +++ b/locale/zh_CN.gbk/XLC_LOCALE @@ -0,0 +1,71 @@ + +# +# X11R6 L10N for Chinese GBK Encoding. +# modified from xc/nls/XLC_LOCALE/zh_TW.Big5 +# by Sean Chen +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class (7 bit ASCII) +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary ISO8859-1:GL + vertical_rotate all + } +} +# fs1 class +fs1 { + charset { + name GBK-0:GLGR + } + font { + primary GBK-0:GLGR + substitute GB13000.1993-1:GLGR + } +} +END XLC_FONTSET + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name zh_CN.GBK +mb_cur_max 2 +state_depend_encoding False + +wc_encoding_mask \x00008000 +wc_shift_bits 8 + +use_stdc_env True +force_convert_to_mb True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding ISO8859-1:GL +} + +# cs1 class +cs1 { + side none + length 2 + byte1 \x81,\xfe + byte2 \x40,\x7e;\x80,\xfe + + wc_encoding \x00008000 + ct_encoding GBK-0:GLGR:\x1b\x25\x2f\x32 + + mb_conversion [\x8140,\xfefe]->\x0140 + ct_conversion [\x0140,\x7efe]->\x8140 +} + +END XLC_XLOCALE diff --git a/locale/zh_CN/Compose b/locale/zh_CN/Compose new file mode 100644 index 0000000..4474861 --- /dev/null +++ b/locale/zh_CN/Compose @@ -0,0 +1,15 @@ + +# +# zh Compose Sequence +# +# Sequence Definition +# +# +# This file currently has no entries. It appears that a compose file (even +# just an empty one) is required for the appropriate keysyms to work for +# this encoding. +# +# Means +# Special Character + +# End of Sequence Definition diff --git a/locale/zh_CN/XI18N_OBJS b/locale/zh_CN/XI18N_OBJS new file mode 100644 index 0000000..24d066b --- /dev/null +++ b/locale/zh_CN/XI18N_OBJS @@ -0,0 +1,8 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for zh locale +# +# +XLC common/xlibi18n _XlcGenericLoader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/zh_CN/XLC_LOCALE b/locale/zh_CN/XLC_LOCALE new file mode 100644 index 0000000..7a2833e --- /dev/null +++ b/locale/zh_CN/XLC_LOCALE @@ -0,0 +1,61 @@ + +# XLocale Database Sample for zh (eucCN). +# + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class (7 bit ASCII) +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary ISO8859-1:GL + vertical_rotate all + } +} +# fs1 class +fs1 { + charset { + name GB2312.1980-0:GL + } + font { + primary GB2312.1980-0:GL + substitute GB2312.1980-0:GLGR + } +} +END XLC_FONTSET + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name zh.euc +mb_cur_max 2 +state_depend_encoding False +wc_encoding_mask \x30000000 +wc_shift_bits 7 + +use_stdc_env True +force_convert_to_mb True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding ISO8859-1:GL +} + +# cs1 class +cs1 { + side GR:Default + length 2 + wc_encoding \x30000000 + ct_encoding GB2312.1980-0:GL; GB2312.1980-0:GR +} + +END XLC_XLOCALE diff --git a/locale/zh_HK.UTF-8/Compose b/locale/zh_HK.UTF-8/Compose new file mode 100644 index 0000000..ee70e4d --- /dev/null +++ b/locale/zh_HK.UTF-8/Compose @@ -0,0 +1,2 @@ + +include "X11_LOCALEDATADIR/en_US.UTF-8/Compose" diff --git a/locale/zh_HK.UTF-8/XI18N_OBJS b/locale/zh_HK.UTF-8/XI18N_OBJS new file mode 100644 index 0000000..e9d5ef8 --- /dev/null +++ b/locale/zh_HK.UTF-8/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for zh_HK.UTF-8 locale +# +XLC common/xlcUTF8Load _XlcUtf8Loader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/zh_HK.UTF-8/XLC_LOCALE b/locale/zh_HK.UTF-8/XLC_LOCALE new file mode 100644 index 0000000..77a9cdc --- /dev/null +++ b/locale/zh_HK.UTF-8/XLC_LOCALE @@ -0,0 +1,97 @@ + +# XFree86 NLS for Chinese locale zh_HK.UTF-8 +# Modified from xc/nls/XLC_LOCALE/en_US.UTF-8 +# by James Su + +# +# XLC_FONTSET category +# +XLC_FONTSET + +on_demand_loading True + +object_name generic + +# We leave the legacy encodings in for the moment, because we don't +# have that many ISO10646 fonts yet. +# fs0 class (7 bit ASCII) +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary ISO8859-1:GL + vertical_rotate all + } +} + +# fs1 class (ISO8859 families) +fs1 { + charset { + name ISO8859-1:GR + } + font { + primary ISO8859-1:GR + } +} + +# fs2 class +fs2 { + charset { + name BIG5HKSCS-0:GLGR + } + font { + primary BIG5HKSCS-0:GLGR + substitute BIG5-0:GLGR + } +} + +# fs3 class +fs3 { + charset { + name ISO10646-1 + } + font { + primary ISO10646-1 + } +} +END XLC_FONTSET + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name UTF-8 +mb_cur_max 6 +state_depend_encoding False + +# cs0 class +cs0 { + side GL:Default + length 1 + ct_encoding ISO8859-1:GL +} + +# cs1 class +cs1 { + side GR:Default + length 1 + ct_encoding ISO8859-1:GR +} + +# cs2 class +cs2 { + side none + length 2 + ct_encoding BIG5HKSCS-0:GLGR +} + +# cs3 class +cs3 { + side none + ct_encoding ISO10646-1 +} + +END XLC_XLOCALE + diff --git a/locale/zh_HK.big5/Compose b/locale/zh_HK.big5/Compose new file mode 100644 index 0000000..5059b12 --- /dev/null +++ b/locale/zh_HK.big5/Compose @@ -0,0 +1,14 @@ + +# +# zh_HK.big5 Compose Sequence +# +# Sequence Definition +# +# This file currently has no entries. It appears that a compose file (even +# just an empty one) is required for the appropriate keysyms to work for +# this encoding. +# +# Means +# Special Character + +# End of Sequence Definition diff --git a/locale/zh_HK.big5/XI18N_OBJS b/locale/zh_HK.big5/XI18N_OBJS new file mode 100644 index 0000000..826c798 --- /dev/null +++ b/locale/zh_HK.big5/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for zh_HK.big5 locale +# +XLC common/xlibi18n _XlcGenericLoader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/zh_HK.big5/XLC_LOCALE b/locale/zh_HK.big5/XLC_LOCALE new file mode 100644 index 0000000..9b49054 --- /dev/null +++ b/locale/zh_HK.big5/XLC_LOCALE @@ -0,0 +1,70 @@ + +# +# (c) 1996, X11R6 L10N for Taiwan and Big5 Encoding Project +# +# modified for X11R6.3 by Hung-Chi Chu 1998/01/10 +# +# XLC_FONTSET category +# +# +XLC_FONTSET +# fs0 class (7 bit ASCII) +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary ISO8859-1:GL + vertical_rotate all + } +} +# fs1 class +fs1 { + charset { + name BIG5-0:GLGR + } + font { + primary BIG5-0:GLGR + substitute BIG5-0:GLGR + } +} +END XLC_FONTSET + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name zh_HK.Big5 +mb_cur_max 2 +state_depend_encoding False + +wc_encoding_mask \x00008000 +wc_shift_bits 8 + +use_stdc_env True +force_convert_to_mb True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding ISO8859-1:GL +} + +# cs1 class +cs1 { + side none + length 2 + byte1 \xa1,\xf9 + byte2 \x40,\x7e;\xa1,\xfe + + wc_encoding \x00008000 + ct_encoding BIG5-0:GLGR:\x1b\x25\x2f\x32\x80\x89\x42\x49\x47\x35\x2d\x30\x02 + + mb_conversion [\xa140,\xf9fe]->\x2140 + ct_conversion [\x2140,\x79fe]->\xa140 +} + +END XLC_XLOCALE diff --git a/locale/zh_HK.big5hkscs/Compose b/locale/zh_HK.big5hkscs/Compose new file mode 100644 index 0000000..460aad3 --- /dev/null +++ b/locale/zh_HK.big5hkscs/Compose @@ -0,0 +1,14 @@ + +# +# zh_HK.big5hkscs Compose Sequence +# +# Sequence Definition +# +# This file currently has no entries. It appears that a compose file (even +# just an empty one) is required for the appropriate keysyms to work for +# this encoding. +# +# Means +# Special Character + +# End of Sequence Definition diff --git a/locale/zh_HK.big5hkscs/XI18N_OBJS b/locale/zh_HK.big5hkscs/XI18N_OBJS new file mode 100644 index 0000000..29dc216 --- /dev/null +++ b/locale/zh_HK.big5hkscs/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for zh_HK.big5hkscs locale +# +XLC common/xlibi18n _XlcGenericLoader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/zh_HK.big5hkscs/XLC_LOCALE b/locale/zh_HK.big5hkscs/XLC_LOCALE new file mode 100644 index 0000000..6ea1af9 --- /dev/null +++ b/locale/zh_HK.big5hkscs/XLC_LOCALE @@ -0,0 +1,72 @@ + +# +# (c) 1996, X11R6 L10N for Taiwan and Big5 Encoding Project +# +# modified for X11R6.3 by Hung-Chi Chu 1998/01/10 +# modified for Big5HKSCS by Roger So +# +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class (7 bit ASCII) +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary ISO8859-1:GL + vertical_rotate all + } +} + +# fs1 class (HKSCS extensions) +fs1 { + charset { + name BIG5HKSCS-0:GLGR + } + font { + primary BIG5HKSCS-0:GLGR + substitute BIG5HKSCS-0:GLGR + } +} +END XLC_FONTSET + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name zh_HK.big5hkscs +mb_cur_max 2 +state_depend_encoding False + +wc_encoding_mask \x00008000 +wc_shift_bits 8 + +use_stdc_env True +force_convert_to_mb True + ++# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding ISO8859-1:GL +} + +# cs1 class +cs1 { + side none + length 2 + byte1 \x85,\xfe + byte2 \x40,\x7e;\xa1,\xfe + + wc_encoding \x00008000 + ct_encoding BIG5HKSCS-0:GLGR:\x1b\x25\x2f\x32 + + mb_conversion [\x8540,\xfefe]->\x0540 + ct_conversion [\x0540,\x7efe]->\x8540 +} + +END XLC_XLOCALE diff --git a/locale/zh_TW.UTF-8/Compose b/locale/zh_TW.UTF-8/Compose new file mode 100644 index 0000000..ee70e4d --- /dev/null +++ b/locale/zh_TW.UTF-8/Compose @@ -0,0 +1,2 @@ + +include "X11_LOCALEDATADIR/en_US.UTF-8/Compose" diff --git a/locale/zh_TW.UTF-8/XI18N_OBJS b/locale/zh_TW.UTF-8/XI18N_OBJS new file mode 100644 index 0000000..a3a644b --- /dev/null +++ b/locale/zh_TW.UTF-8/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for zh_TW.UTF-8 locale +# +XLC common/xlcUTF8Load _XlcUtf8Loader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/zh_TW.UTF-8/XLC_LOCALE b/locale/zh_TW.UTF-8/XLC_LOCALE new file mode 100644 index 0000000..a3b0304 --- /dev/null +++ b/locale/zh_TW.UTF-8/XLC_LOCALE @@ -0,0 +1,92 @@ + +# XLocale Database Sample for zh_TW.UTF-8 +# + +# +# XLC_FONTSET category +# +XLC_FONTSET + +on_demand_loading True + +object_name generic + +# We leave the legacy encodings in for the moment, because we don't +# have that many ISO10646 fonts yet. +# fs0 class (7 bit ASCII) +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary ISO8859-1:GL + vertical_rotate all + } +} +# fs1 class (ISO8859 families) +fs1 { + charset { + name ISO8859-1:GR + } + font { + primary ISO8859-1:GR + } +} +# fs2 class (Chinese Han Character (Traditional)) +fs2 { + charset { + name BIG5-0:GLGR + } + font { + primary BIG5-0:GLGR + substitute BIG5-0:GLGR + } +} +# fs3 class +fs3 { + charset { + name ISO10646-1 + } + font { + primary ISO10646-1 + } +} +END XLC_FONTSET + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name UTF-8 +mb_cur_max 6 +state_depend_encoding False + +# cs0 class +cs0 { + side GL:Default + length 1 + ct_encoding ISO8859-1:GL +} + +# cs1 class +cs1 { + side GR:Default + length 1 + ct_encoding ISO8859-1:GR +} + +# cs2 class +cs2 { + side none + length 2 + ct_encoding BIG5-0:GLGR +} + +# cs3 class +cs3 { + side none + ct_encoding ISO10646-1 +} + +END XLC_XLOCALE diff --git a/locale/zh_TW.big5/Compose b/locale/zh_TW.big5/Compose new file mode 100644 index 0000000..571a0c0 --- /dev/null +++ b/locale/zh_TW.big5/Compose @@ -0,0 +1,15 @@ + +# +# zh_TW.big5 Compose Sequence +# +# Sequence Definition +# +# +# This file currently has no entries. It appears that a compose file (even +# just an empty one) is required for the appropriate keysyms to work for +# this encoding. +# +# Means +# Special Character + +# End of Sequence Definition diff --git a/locale/zh_TW.big5/XI18N_OBJS b/locale/zh_TW.big5/XI18N_OBJS new file mode 100644 index 0000000..6937f61 --- /dev/null +++ b/locale/zh_TW.big5/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for zh_TW.big5 locale +# +XLC common/xlibi18n _XlcGenericLoader # XLC_open +XIM common/ximcp _XimOpenIM _XimRegisterIMInstantiateCallback _XimUnRegisterIMInstantiateCallback # XIM_open XIM_register XIM_unregister +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/zh_TW.big5/XLC_LOCALE b/locale/zh_TW.big5/XLC_LOCALE new file mode 100644 index 0000000..fbb8318 --- /dev/null +++ b/locale/zh_TW.big5/XLC_LOCALE @@ -0,0 +1,92 @@ + +# +# (c) 1996, X11R6 L10N for Taiwan and Big5 Encoding Project +# +# modified for X11R6.3 by Hung-Chi Chu 1998/01/10 +# +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class (7 bit ASCII) +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary ISO8859-1:GL + vertical_rotate all + } +} +# fs1 class +fs1 { + charset { + name BIG5-0:GLGR + } + font { + primary BIG5-0:GLGR + substitute BIG5-0:GLGR + } +} +END XLC_FONTSET + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name zh_TW.Big5 +mb_cur_max 2 +state_depend_encoding False + +wc_encoding_mask \x00038000 +wc_shift_bits 8 + +use_stdc_env True +force_convert_to_mb True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding ISO8859-1:GL +} + +# cs1 class +cs1 { + side none + length 2 + byte1 \xa1,\xf9 + byte2 \x40,\x7e;\xa1,\xfe + + wc_encoding \x00008000 + ct_encoding BIG5-0:GLGR:\x1b\x25\x2f\x32 + + mb_conversion [\xa140,\xf9fe]->\x2140 + ct_conversion [\x2140,\x79fe]->\xa140 +} + +# cs2 class +cs2 { + side none + length 2 + byte1 \xa1,\xc7 + byte2 \x40,\x7e;\xa1,\xfe + wc_encoding \x00010000 + ct_encoding BIG5-E0:GL;BIG5-E0:GR + mb_conversion [\xa140,\xa17e]->\x2121, [\xa1a1,\xa1bf]->\x2160, [\xa1c0,\xa1fe]->\x2221, [\xa240,\xa25e]->\x2260, [\xa25f,\xa27e]->\x2321, [\xa2a1,\xa2de]->\x2341, [\xa2df,\xa2fe]->\x2421, [\xa340,\xa37d]->\x2441, [\xa37e,\xa37e]->\x2521, [\xa3a1,\xa3fd]->\x2522, [\xa3fe,\xa3fe]->\x2621, [\xa440,\xa47e]->\x2622, [\xa4a1,\xa4be]->\x2661, [\xa4bf,\xa4fe]->\x2721, [\xa540,\xa55d]->\x2761, [\xa55e,\xa57e]->\x2821, [\xa5a1,\xa5dd]->\x2842, [\xa5de,\xa5fe]->\x2921, [\xa640,\xa67c]->\x2942, [\xa67d,\xa67e]->\x2a21, [\xa6a1,\xa6fc]->\x2a23, [\xa6fd,\xa6fe]->\x2b21, [\xa740,\xa77e]->\x2b23, [\xa7a1,\xa7bd]->\x2b62, [\xa7be,\xa7fe]->\x2c21, [\xa840,\xa85c]->\x2c62, [\xa85d,\xa87e]->\x2d21, [\xa8a1,\xa8dc]->\x2d43, [\xa8dd,\xa8fe]->\x2e21, [\xa940,\xa97b]->\x2e43, [\xa97c,\xa97e]->\x2f21, [\xa9a1,\xa9fb]->\x2f24, [\xa9fc,\xa9fe]->\x3021, [\xaa40,\xaa7e]->\x3024, [\xaaa1,\xaabc]->\x3063, [\xaabd,\xaafe]->\x3121, [\xab40,\xab5b]->\x3163, [\xab5c,\xab7e]->\x3221, [\xaba1,\xabdb]->\x3244, [\xabdc,\xabfe]->\x3321, [\xac40,\xac7a]->\x3344, [\xac7b,\xac7e]->\x3421, [\xaca1,\xacfa]->\x3425, [\xacfb,\xacfe]->\x3521, [\xad40,\xad7e]->\x3525, [\xada1,\xadbb]->\x3564, [\xadbc,\xadfe]->\x3621, [\xae40,\xae5a]->\x3664, [\xae5b,\xae7e]->\x3721, [\xaea1,\xaeda]->\x3745, [\xaedb,\xaefe]->\x3821, [\xaf40,\xaf79]->\x3845, [\xaf7a,\xaf7e]->\x3921, [\xafa1,\xaff9]->\x3926, [\xaffa,\xaffe]->\x3a21, [\xb040,\xb07e]->\x3a26, [\xb0a1,\xb0ba]->\x3a65, [\xb0bb,\xb0fe]->\x3b21, [\xb140,\xb159]->\x3b65, [\xb15a,\xb17e]->\x3c21, [\xb1a1,\xb1d9]->\x3c46, [\xb1da,\xb1fe]->\x3d21, [\xb240,\xb278]->\x3d46, [\xb279,\xb27e]->\x3e21, [\xb2a1,\xb2f8]->\x3e27, [\xb2f9,\xb2fe]->\x3f21, [\xb340,\xb37e]->\x3f27, [\xb3a1,\xb3b9]->\x3f66, [\xb3ba,\xb3fe]->\x4021, [\xb440,\xb458]->\x4066, [\xb459,\xb47e]->\x4121, [\xb4a1,\xb4d8]->\x4147, [\xb4d9,\xb4fe]->\x4221, [\xb540,\xb577]->\x4247, [\xb578,\xb57e]->\x4321, [\xb5a1,\xb5f7]->\x4328, [\xb5f8,\xb5fe]->\x4421, [\xb640,\xb67e]->\x4428, [\xb6a1,\xb6b8]->\x4467, [\xb6b9,\xb6fe]->\x4521, [\xb740,\xb757]->\x4567, [\xb758,\xb77e]->\x4621, [\xb7a1,\xb7d7]->\x4648, [\xb7d8,\xb7fe]->\x4721, [\xb840,\xb876]->\x4748, [\xb877,\xb87e]->\x4821, [\xb8a1,\xb8f6]->\x4829, [\xb8f7,\xb8fe]->\x4921, [\xb940,\xb97e]->\x4929, [\xb9a1,\xb9b7]->\x4968, [\xb9b8,\xb9fe]->\x4a21, [\xba40,\xba56]->\x4a68, [\xba57,\xba7e]->\x4b21, [\xbaa1,\xbad6]->\x4b49, [\xbad7,\xbafe]->\x4c21, [\xbb40,\xbb75]->\x4c49, [\xbb76,\xbb7e]->\x4d21, [\xbba1,\xbbf5]->\x4d2a, [\xbbf6,\xbbfe]->\x4e21, [\xbc40,\xbc7e]->\x4e2a, [\xbca1,\xbcb6]->\x4e69, [\xbcb7,\xbcfe]->\x4f21, [\xbd40,\xbd55]->\x4f69, [\xbd56,\xbd7e]->\x5021, [\xbda1,\xbdd5]->\x504a, [\xbdd6,\xbdfe]->\x5121, [\xbe40,\xbe74]->\x514a, [\xbe75,\xbe7e]->\x5221, [\xbea1,\xbef4]->\x522b, [\xbef5,\xbefe]->\x5321, [\xbf40,\xbf7e]->\x532b, [\xbfa1,\xbfb5]->\x536a, [\xbfb6,\xbffe]->\x5421, [\xc040,\xc054]->\x546a, [\xc055,\xc07e]->\x5521, [\xc0a1,\xc0d4]->\x554b, [\xc0d5,\xc0fe]->\x5621, [\xc140,\xc173]->\x564b, [\xc174,\xc17e]->\x5721, [\xc1a1,\xc1f3]->\x572c, [\xc1f4,\xc1fe]->\x5821, [\xc240,\xc27e]->\x582c, [\xc2a1,\xc2b4]->\x586b, [\xc2b5,\xc2fe]->\x5921, [\xc340,\xc353]->\x596b, [\xc354,\xc37e]->\x5a21, [\xc3a1,\xc3d3]->\x5a4c, [\xc3d4,\xc3fe]->\x5b21, [\xc440,\xc472]->\x5b4c, [\xc473,\xc47e]->\x5c21, [\xc4a1,\xc4f2]->\x5c2d, [\xc4f3,\xc4fe]->\x5d21, [\xc540,\xc57e]->\x5d2d, [\xc5a1,\xc5b3]->\x5d6c, [\xc5b4,\xc5fe]->\x5e21, [\xc640,\xc652]->\x5e6c, [\xc653,\xc67e]->\x5f21, [\xc6a1,\xc6d2]->\x5f4d, [\xc6d3,\xc6fe]->\x6021, [\xc740,\xc771]->\x604d, [\xc772,\xc77e]->\x6121, [\xc7a1,\xc7f1]->\x612e, [\xc7f2,\xc7fe]->\x6221 +} + +# cs3 class +cs3 { + side none + length 2 + byte1 \xc9,\xf9 + byte2 \x40,\x7e;\xa1,\xfe + wc_encoding \x00020000 + ct_encoding BIG5-E1:GL;BIG5-E1:GR + mb_conversion [\xc940,\xc97e]->\x2121, [\xc9a1,\xc9bf]->\x2160, [\xc9c0,\xc9fe]->\x2221, [\xca40,\xca5e]->\x2260, [\xca5f,\xca7e]->\x2321, [\xcaa1,\xcade]->\x2341, [\xcadf,\xcafe]->\x2421, [\xcb40,\xcb7d]->\x2441, [\xcb7e,\xcb7e]->\x2521, [\xcba1,\xcbfd]->\x2522, [\xcbfe,\xcbfe]->\x2621, [\xcc40,\xcc7e]->\x2622, [\xcca1,\xccbe]->\x2661, [\xccbf,\xccfe]->\x2721, [\xcd40,\xcd5d]->\x2761, [\xcd5e,\xcd7e]->\x2821, [\xcda1,\xcddd]->\x2842, [\xcdde,\xcdfe]->\x2921, [\xce40,\xce7c]->\x2942, [\xce7d,\xce7e]->\x2a21, [\xcea1,\xcefc]->\x2a23, [\xcefd,\xcefe]->\x2b21, [\xcf40,\xcf7e]->\x2b23, [\xcfa1,\xcfbd]->\x2b62, [\xcfbe,\xcffe]->\x2c21, [\xd040,\xd05c]->\x2c62, [\xd05d,\xd07e]->\x2d21, [\xd0a1,\xd0dc]->\x2d43, [\xd0dd,\xd0fe]->\x2e21, [\xd140,\xd17b]->\x2e43, [\xd17c,\xd17e]->\x2f21, [\xd1a1,\xd1fb]->\x2f24, [\xd1fc,\xd1fe]->\x3021, [\xd240,\xd27e]->\x3024, [\xd2a1,\xd2bc]->\x3063, [\xd2bd,\xd2fe]->\x3121, [\xd340,\xd35b]->\x3163, [\xd35c,\xd37e]->\x3221, [\xd3a1,\xd3db]->\x3244, [\xd3dc,\xd3fe]->\x3321, [\xd440,\xd47a]->\x3344, [\xd47b,\xd47e]->\x3421, [\xd4a1,\xd4fa]->\x3425, [\xd4fb,\xd4fe]->\x3521, [\xd540,\xd57e]->\x3525, [\xd5a1,\xd5bb]->\x3564, [\xd5bc,\xd5fe]->\x3621, [\xd640,\xd65a]->\x3664, [\xd65b,\xd67e]->\x3721, [\xd6a1,\xd6da]->\x3745, [\xd6db,\xd6fe]->\x3821, [\xd740,\xd779]->\x3845, [\xd77a,\xd77e]->\x3921, [\xd7a1,\xd7f9]->\x3926, [\xd7fa,\xd7fe]->\x3a21, [\xd840,\xd87e]->\x3a26, [\xd8a1,\xd8ba]->\x3a65, [\xd8bb,\xd8fe]->\x3b21, [\xd940,\xd959]->\x3b65, [\xd95a,\xd97e]->\x3c21, [\xd9a1,\xd9d9]->\x3c46, [\xd9da,\xd9fe]->\x3d21, [\xda40,\xda78]->\x3d46, [\xda79,\xda7e]->\x3e21, [\xdaa1,\xdaf8]->\x3e27, [\xdaf9,\xdafe]->\x3f21, [\xdb40,\xdb7e]->\x3f27, [\xdba1,\xdbb9]->\x3f66, [\xdbba,\xdbfe]->\x4021, [\xdc40,\xdc58]->\x4066, [\xdc59,\xdc7e]->\x4121, [\xdca1,\xdcd8]->\x4147, [\xdcd9,\xdcfe]->\x4221, [\xdd40,\xdd77]->\x4247, [\xdd78,\xdd7e]->\x4321, [\xdda1,\xddf7]->\x4328, [\xddf8,\xddfe]->\x4421, [\xde40,\xde7e]->\x4428, [\xdea1,\xdeb8]->\x4467, [\xdeb9,\xdefe]->\x4521, [\xdf40,\xdf57]->\x4567, [\xdf58,\xdf7e]->\x4621, [\xdfa1,\xdfd7]->\x4648, [\xdfd8,\xdffe]->\x4721, [\xe040,\xe076]->\x4748, [\xe077,\xe07e]->\x4821, [\xe0a1,\xe0f6]->\x4829, [\xe0f7,\xe0fe]->\x4921, [\xe140,\xe17e]->\x4929, [\xe1a1,\xe1b7]->\x4968, [\xe1b8,\xe1fe]->\x4a21, [\xe240,\xe256]->\x4a68, [\xe257,\xe27e]->\x4b21, [\xe2a1,\xe2d6]->\x4b49, [\xe2d7,\xe2fe]->\x4c21, [\xe340,\xe375]->\x4c49, [\xe376,\xe37e]->\x4d21, [\xe3a1,\xe3f5]->\x4d2a, [\xe3f6,\xe3fe]->\x4e21, [\xe440,\xe47e]->\x4e2a, [\xe4a1,\xe4b6]->\x4e69, [\xe4b7,\xe4fe]->\x4f21, [\xe540,\xe555]->\x4f69, [\xe556,\xe57e]->\x5021, [\xe5a1,\xe5d5]->\x504a, [\xe5d6,\xe5fe]->\x5121, [\xe640,\xe674]->\x514a, [\xe675,\xe67e]->\x5221, [\xe6a1,\xe6f4]->\x522b, [\xe6f5,\xe6fe]->\x5321, [\xe740,\xe77e]->\x532b, [\xe7a1,\xe7b5]->\x536a, [\xe7b6,\xe7fe]->\x5421, [\xe840,\xe854]->\x546a, [\xe855,\xe87e]->\x5521, [\xe8a1,\xe8d4]->\x554b, [\xe8d5,\xe8fe]->\x5621, [\xe940,\xe973]->\x564b, [\xe974,\xe97e]->\x5721, [\xe9a1,\xe9f3]->\x572c, [\xe9f4,\xe9fe]->\x5821, [\xea40,\xea7e]->\x582c, [\xeaa1,\xeab4]->\x586b, [\xeab5,\xeafe]->\x5921, [\xeb40,\xeb53]->\x596b, [\xeb54,\xeb7e]->\x5a21, [\xeba1,\xebd3]->\x5a4c, [\xebd4,\xebfe]->\x5b21, [\xec40,\xec72]->\x5b4c, [\xec73,\xec7e]->\x5c21, [\xeca1,\xecf2]->\x5c2d, [\xecf3,\xecfe]->\x5d21, [\xed40,\xed7e]->\x5d2d, [\xeda1,\xedb3]->\x5d6c, [\xedb4,\xedfe]->\x5e21, [\xee40,\xee52]->\x5e6c, [\xee53,\xee7e]->\x5f21, [\xeea1,\xeed2]->\x5f4d, [\xeed3,\xeefe]->\x6021, [\xef40,\xef71]->\x604d, [\xef72,\xef7e]->\x6121, [\xefa1,\xeff1]->\x612e, [\xeff2,\xeffe]->\x6221, [\xf040,\xf07e]->\x622e, [\xf0a1,\xf0b2]->\x626d, [\xf0b3,\xf0fe]->\x6321, [\xf140,\xf151]->\x636d, [\xf152,\xf17e]->\x6421, [\xf1a1,\xf1d1]->\x644e, [\xf1d2,\xf1fe]->\x6521, [\xf240,\xf270]->\x654e, [\xf271,\xf27e]->\x6621, [\xf2a1,\xf2f0]->\x662f, [\xf2f1,\xf2fe]->\x6721, [\xf340,\xf37e]->\x672f, [\xf3a1,\xf3b1]->\x676e, [\xf3b2,\xf3fe]->\x6821, [\xf440,\xf450]->\x686e, [\xf451,\xf47e]->\x6921, [\xf4a1,\xf4d0]->\x694f, [\xf4d1,\xf4fe]->\x6a21, [\xf540,\xf56f]->\x6a4f, [\xf570,\xf57e]->\x6b21, [\xf5a1,\xf5ef]->\x6b30, [\xf5f0,\xf5fe]->\x6c21, [\xf640,\xf67e]->\x6c30, [\xf6a1,\xf6b0]->\x6c6f, [\xf6b1,\xf6fe]->\x6d21, [\xf740,\xf74f]->\x6d6f, [\xf750,\xf77e]->\x6e21, [\xf7a1,\xf7cf]->\x6e50, [\xf7d0,\xf7fe]->\x6f21, [\xf840,\xf86e]->\x6f50, [\xf86f,\xf87e]->\x7021, [\xf8a1,\xf8ee]->\x7031, [\xf8ef,\xf8fe]->\x7121, [\xf940,\xf97e]->\x7131, [\xf9a1,\xf9af]->\x7170, [\xf9b0,\xf9fe]->\x7221 +} + +END XLC_XLOCALE diff --git a/locale/zh_TW/Compose b/locale/zh_TW/Compose new file mode 100644 index 0000000..83b899e --- /dev/null +++ b/locale/zh_TW/Compose @@ -0,0 +1,15 @@ + +# +# zh_TW Compose Sequence +# +# Sequence Definition +# +# +# This file currently has no entries. It appears that a compose file (even +# just an empty one) is required for the appropriate keysyms to work for +# this encoding. +# +# Means +# Special Character + +# End of Sequence Definition diff --git a/locale/zh_TW/XI18N_OBJS b/locale/zh_TW/XI18N_OBJS new file mode 100644 index 0000000..0f471dd --- /dev/null +++ b/locale/zh_TW/XI18N_OBJS @@ -0,0 +1,7 @@ +# CATEGORY(XLC|XIM|OM) SHARED_LIBRARY_NAME FUNCTION_NAME +# +# XI18N objects table for zh_TW locale +# +XLC common/xlibi18n _XlcGenericLoader # XLC_open +XIM common/ximp40 _Ximp_OpenIM # XIM_open +XOM common/xomGeneric _XomGenericOpenOM # XOM_open diff --git a/locale/zh_TW/XLC_LOCALE b/locale/zh_TW/XLC_LOCALE new file mode 100644 index 0000000..c0a401f --- /dev/null +++ b/locale/zh_TW/XLC_LOCALE @@ -0,0 +1,141 @@ + +# XLocale Database Sample for zh_TW +# +# Note: In lib/X11/lcCT.c, charset names for CNS11643 coded character +# sets are defined as CNS11643.1986-1 and -2. In the ECMA Registry, +# CNS coded character sets 1-7 are registered as CNS 11643-1992. +# CJK.INF Version 1.7 (August 15, 1995) written by Ken Lunde says +# plane 14 of CNS 11643-1983 now became plane 3 of CNS 11643-1992. +# I do not know how Taiwanese EUC is organized currently, so I left the +# X11R6 organization of fsN/csN as it is and only changed "CNS11643-*" +# to "CNS11643.1986-*". +# 1995-10-24 T. Numata (numa@rp.open.cs.fujitsu.co.jp) + +# +# XLC_FONTSET category +# +XLC_FONTSET +# fs0 class (7 bit ASCII) +fs0 { + charset { + name ISO8859-1:GL + } + font { + primary ISO8859-1:GL + vertical_rotate all + } +} +# fs1 class +fs1 { + charset { + name CNS11643.1986-1:GL + } + font { + primary CNS11643.1986-1:GL + } +} +# fs2 class +fs2 { + charset { + name CNS11643.1986-2:GL + } + font { + primary CNS11643.1986-2:GL + } +} +# fs3 class +fs3 { + charset { + name CNS11643.1986-14:GL + } + font { + primary CNS11643.1986-14:GL + } +} +# fs4 class +fs4 { + charset { + name CNS11643.1986-15:GL + } + font { + primary CNS11643.1986-15:GL + } +} +# fs5 class +fs5 { + charset { + name CNS11643.1986-16:GL + } + font { + primary CNS11643.1986-16:GL + } +} +END XLC_FONTSET + +# +# XLC_XLOCALE category +# +XLC_XLOCALE + +encoding_name zh_TW.euc +mb_cur_max 4 +state_depend_encoding False +wc_encoding_mask \x3fffc000 +wc_shift_bits 7 + +use_stdc_env True +force_convert_to_mb True + +# cs0 class +cs0 { + side GL:Default + length 1 + wc_encoding \x00000000 + ct_encoding ISO8859-1:GL; CNS11643.1986-0:GL +} + +# cs1 class +cs1 { + side GR:Default + length 2 + wc_encoding \x30000000 + ct_encoding CNS11643.1986-1:GR +} + +# cs2 class # plane 2 +cs2 { + side GR + length 2 + mb_encoding \x8e\xa2 + wc_encoding \x10088000 + ct_encoding CNS11643.1986-2:GR +} + +# cs3 class # plane 14 +cs3 { + side GR + length 2 + mb_encoding \x8e\xae + wc_encoding \x100b8000 + ct_encoding CNS11643.1986-14:GR +} + +# cs4 class # plane 15 +cs4 { + side GR + length 2 + mb_encoding \x8e\xaf + wc_encoding \x100bc000 + ct_encoding CNS11643.1986-15:GR +} + +# cs5 class # plane 16 +cs5 { + side GR + length 2 + mb_encoding \x8e\xb0 + wc_encoding \x100c0000 + ct_encoding CNS11643.1986-16:GR +} + +END XLC_XLOCALE diff --git a/msvcp140.dll b/msvcp140.dll new file mode 100644 index 0000000..654233d Binary files /dev/null and b/msvcp140.dll differ diff --git a/protocol.txt b/protocol.txt new file mode 100644 index 0000000..a1bf936 --- /dev/null +++ b/protocol.txt @@ -0,0 +1,905 @@ +# Registry of protocol names used by X Server +# This will eventually be replaced by server-side XCB +# +# Format is Xnnn : +# R=Request, V=Event, E=Error +# +# This is a security-sensitive file, please set permissions as appropriate. +# +R000 Apple-DRI:QueryVersion +R001 Apple-DRI:QueryDirectRenderingCapable +R002 Apple-DRI:CreateSurface +R003 Apple-DRI:DestroySurface +R004 Apple-DRI:AuthConnection +V000 Apple-DRI:ObsoleteEvent1 +V001 Apple-DRI:ObsoleteEvent2 +V002 Apple-DRI:ObsoleteEvent3 +V003 Apple-DRI:SurfaceNotify +E000 Apple-DRI:ClientNotLocal +E001 Apple-DRI:OperationNotSupported +R000 Apple-WM:QueryVersion +R001 Apple-WM:FrameGetRect +R002 Apple-WM:FrameHitTest +R003 Apple-WM:FrameDraw +R004 Apple-WM:DisableUpdate +R005 Apple-WM:ReenableUpdate +R006 Apple-WM:SelectInput +R007 Apple-WM:SetWindowMenuCheck +R008 Apple-WM:SetFrontProcess +R009 Apple-WM:SetWindowLevel +R010 Apple-WM:SetCanQuit +R011 Apple-WM:SetWindowMenu +V000 Apple-WM:ControllerNotify +V001 Apple-WM:ActivationNotify +V002 Apple-WM:PasteboardNotify +E000 Apple-WM:ClientNotLocal +E001 Apple-WM:OperationNotSupported +R000 BIG-REQUESTS:Enable +R000 Composite:CompositeQueryVersion +R001 Composite:CompositeRedirectWindow +R002 Composite:CompositeRedirectSubwindows +R003 Composite:CompositeUnredirectWindow +R004 Composite:CompositeUnredirectSubwindows +R005 Composite:CompositeCreateRegionFromBorderClip +R006 Composite:CompositeNameWindowPixmap +R007 Composite:CompositeGetOverlayWindow +R008 Composite:CompositeReleaseOverlayWindow +R000 DAMAGE:QueryVersion +R001 DAMAGE:Create +R002 DAMAGE:Destroy +R003 DAMAGE:Subtract +R004 DAMAGE:Add +V000 DAMAGE:Notify +E000 DAMAGE:BadDamage +R000 DMX:DMXQueryVersion +R001 DMX:DMXGetScreenCount +R002 DMX:DMXGetScreenInfoDEPRECATED +R003 DMX:DMXGetWindowAttributes +R004 DMX:DMXGetInputCount +R005 DMX:DMXGetInputAttributes +R006 DMX:DMXForceWindowCreationDEPRECATED +R007 DMX:DMXReconfigureScreenDEPRECATED +R008 DMX:DMXSync +R009 DMX:DMXForceWindowCreation +R010 DMX:DMXGetScreenAttributes +R011 DMX:DMXChangeScreensAttributes +R012 DMX:DMXAddScreen +R013 DMX:DMXRemoveScreen +R014 DMX:DMXGetDesktopAttributes +R015 DMX:DMXChangeDesktopAttributes +R016 DMX:DMXAddInput +R017 DMX:DMXRemoveInput +R000 DOUBLE-BUFFER:GetVersion +R001 DOUBLE-BUFFER:AllocateBackBufferName +R002 DOUBLE-BUFFER:DeallocateBackBufferName +R003 DOUBLE-BUFFER:SwapBuffers +R004 DOUBLE-BUFFER:BeginIdiom +R005 DOUBLE-BUFFER:EndIdiom +R006 DOUBLE-BUFFER:GetVisualInfo +R007 DOUBLE-BUFFER:GetBackBufferAttributes +E000 DOUBLE-BUFFER:BadBuffer +R000 DPMS:GetVersion +R001 DPMS:Capable +R002 DPMS:GetTimeouts +R003 DPMS:SetTimeouts +R004 DPMS:Enable +R005 DPMS:Disable +R006 DPMS:ForceLevel +R007 DPMS:Info +R000 DRI2:QueryVersion +R001 DRI2:Connect +R002 DRI2:Authenticate +R003 DRI2:CreateDrawable +R004 DRI2:DestroyDrawable +R005 DRI2:GetBuffers +R006 DRI2:CopyRegion +R007 DRI2:GetBuffersWithFormat +R008 DRI2:SwapBuffers +R009 DRI2:GetMSC +R010 DRI2:WaitMSC +R011 DRI2:WaitSBC +R012 DRI2:SwapInterval +V000 DRI2:BufferSwapComplete +V001 DRI2:InvalidateBuffers +R000 DRI3:QueryVersion +R001 DRI3:Open +R002 DRI3:PixmapFromBuffer +R003 DRI3:BufferFromPixmap +R004 DRI3:FenceFromFD +R005 DRI3:FDFromFence +R000 Extended-Visual-Information:QueryVersion +R001 Extended-Visual-Information:GetVisualInfo +R000 FontCache:QueryVersion +R001 FontCache:GetCacheSettings +R002 FontCache:ChangeCacheSettings +R003 FontCache:GetCacheStatistics +E000 FontCache:BadProtocol +E001 FontCache:CannotAllocMemory +R001 GLX: +R002 GLX:Large +R003 GLX:CreateContext +R004 GLX:DestroyContext +R005 GLX:MakeCurrent +R006 GLX:IsDirect +R007 GLX:QueryVersion +R008 GLX:WaitGL +R009 GLX:WaitX +R010 GLX:CopyContext +R011 GLX:SwapBuffers +R012 GLX:UseXFont +R013 GLX:CreateGLXPixmap +R014 GLX:GetVisualConfigs +R015 GLX:DestroyGLXPixmap +R016 GLX:VendorPrivate +R017 GLX:VendorPrivateWithReply +R018 GLX:QueryExtensionsString +R019 GLX:QueryServerString +R020 GLX:ClientInfo +R021 GLX:GetFBConfigs +R022 GLX:CreatePixmap +R023 GLX:DestroyPixmap +R024 GLX:CreateNewContext +R025 GLX:QueryContext +R026 GLX:MakeContextCurrent +R027 GLX:CreatePbuffer +R028 GLX:DestroyPbuffer +R029 GLX:GetDrawableAttributes +R030 GLX:ChangeDrawableAttributes +R031 GLX:CreateWindow +R032 GLX:DeleteWindow +R033 GLX:SetClientInfoARB +R034 GLX:CreateContextAttribsARB +R035 GLX:SetClientInfo2ARB +R101 GLX:NewList +R102 GLX:EndList +R103 GLX:DeleteLists +R104 GLX:GenLists +R105 GLX:FeedbackBuffer +R106 GLX:SelectBuffer +R107 GLX:Mode +R108 GLX:Finish +R109 GLX:PixelStoref +R110 GLX:PixelStorei +R111 GLX:ReadPixels +R112 GLX:GetBooleanv +R113 GLX:GetClipPlane +R114 GLX:GetDoublev +R115 GLX:GetError +R116 GLX:GetFloatv +R117 GLX:GetIntegerv +R118 GLX:GetLightfv +R119 GLX:GetLightiv +R120 GLX:GetMapdv +R121 GLX:GetMapfv +R122 GLX:GetMapiv +R123 GLX:GetMaterialfv +R124 GLX:GetMaterialiv +R125 GLX:GetPixelfv +R126 GLX:GetPixelMapuiv +R127 GLX:GetPixelMapusv +R128 GLX:GetPolygonStipple +R129 GLX:GetString +R130 GLX:GetTexEnvfv +R131 GLX:GetTexEnviv +R132 GLX:GetTexGendv +R133 GLX:GetTexGenfv +R134 GLX:GetTexGeniv +R135 GLX:GetTexImage +R136 GLX:GetTexParameterfv +R137 GLX:GetTexParameteriv +R138 GLX:GetTexLevelParameterfv +R139 GLX:GetTexLevelParameteriv +R140 GLX:IsEnabled +R141 GLX:IsList +R142 GLX:Flush +R143 GLX:AreTexturesResident +R144 GLX:DeleteTextures +R145 GLX:GenTextures +R146 GLX:IsTexture +R147 GLX:GetColorTable +R148 GLX:GetColorTableParameterfv +R149 GLX:GetColorTableParameterfv +R150 GLX:GetConvolutionFilter +R151 GLX:GetConvolutionParameterfv +R152 GLX:GetConvolutionParameteriv +R153 GLX:GetSeparableFilter +R154 GLX:GetHistogram +R155 GLX:GetHistogramParameterfv +R156 GLX:GetHistogramParameteriv +R157 GLX:GetMinmax +R158 GLX:GetMinmaxParameterfv +R159 GLX:GetMinmaxParameteriv +R160 GLX:GetCompressedTexImage +V000 GLX:PbufferClobber +V001 GLX:BufferSwapComplete +E000 GLX:BadContext +E001 GLX:BadContextState +E002 GLX:BadDrawable +E003 GLX:BadPixmap +E004 GLX:BadContextTag +E005 GLX:BadCurrentWindow +E006 GLX:BadRenderRequest +E007 GLX:BadLargeRequest +E008 GLX:UnsupportedPrivateRequest +E009 GLX:BadFBConfig +E010 GLX:BadPbuffer +E011 GLX:BadCurrentDrawable +E012 GLX:BadWindow +R000 MIT-SCREEN-SAVER:QueryVersion +R001 MIT-SCREEN-SAVER:QueryInfo +R002 MIT-SCREEN-SAVER:SelectInput +R003 MIT-SCREEN-SAVER:SetAttributes +R004 MIT-SCREEN-SAVER:UnsetAttributes +R005 MIT-SCREEN-SAVER:Suspend +V000 MIT-SCREEN-SAVER:Notify +R000 MIT-SHM:QueryVersion +R001 MIT-SHM:Attach +R002 MIT-SHM:Detach +R003 MIT-SHM:PutImage +R004 MIT-SHM:GetImage +R005 MIT-SHM:CreatePixmap +R006 MIT-SHM:AttachFd +R007 MIT-SHM:CreateSegment +V000 MIT-SHM:Completion +E000 MIT-SHM:BadShmSeg +R000 MIT-SUNDRY-NONSTANDARD:SetBugMode +R001 MIT-SUNDRY-NONSTANDARD:GetBugMode +R000 Present:QueryVersion +R001 Present:Pixmap +R002 Present:NotifyMSC +R003 Present:SelectInput +R004 Present:QueryCapabilities +R000 RANDR:QueryVersion +R001 RANDR:OldGetScreenInfo +R002 RANDR:SetScreenConfig +R003 RANDR:OldScreenChangeSelectInput +R004 RANDR:SelectInput +R005 RANDR:GetScreenInfo +R006 RANDR:GetScreenSizeRange +R007 RANDR:SetScreenSize +R008 RANDR:GetScreenResources +R009 RANDR:GetOutputInfo +R010 RANDR:ListOutputProperties +R011 RANDR:QueryOutputProperty +R012 RANDR:ConfigureOutputProperty +R013 RANDR:ChangeOutputProperty +R014 RANDR:DeleteOutputProperty +R015 RANDR:GetOutputProperty +R016 RANDR:CreateMode +R017 RANDR:DestroyMode +R018 RANDR:AddOutputMode +R019 RANDR:DeleteOutputMode +R020 RANDR:GetCrtcInfo +R021 RANDR:SetCrtcConfig +R022 RANDR:GetCrtcGammaSize +R023 RANDR:GetCrtcGamma +R024 RANDR:SetCrtcGamma +R025 RANDR:GetScreenResourcesCurrent +R026 RANDR:SetCrtcTransform +R027 RANDR:GetCrtcTransform +R028 RANDR:GetPanning +R029 RANDR:SetPanning +R030 RANDR:SetOutputPrimary +R031 RANDR:GetOutputPrimary +R032 RANDR:RRGetProviders +R033 RANDR:RRGetProviderInfo +R034 RANDR:RRSetProviderOffloadSink +R035 RANDR:RRSetProviderOutputSource +R036 RANDR:RRListProviderProperties +R037 RANDR:RRQueryProviderProperty +R038 RANDR:RRConfigureProviderProperty +R039 RANDR:RRChangeProviderProperty +R040 RANDR:RRDeleteProviderProperty +R041 RANDR:RRGetProviderProperty +R042 RANDR:GetMonitors +R043 RANDR:SetMonitor +R044 RANDR:DeleteMonitor +V000 RANDR:ScreenChangeNotify +V001 RANDR:Notify +E000 RANDR:BadRROutput +E001 RANDR:BadRRCrtc +E002 RANDR:BadRRMode +E003 RANDR:BadRRProvider +R000 RECORD:QueryVersion +R001 RECORD:CreateContext +R002 RECORD:RegisterClients +R003 RECORD:UnregisterClients +R004 RECORD:GetContext +R005 RECORD:EnableContext +R006 RECORD:DisableContext +R007 RECORD:FreeContext +E000 RECORD:BadContext +R000 RENDER:QueryVersion +R001 RENDER:QueryPictFormats +R002 RENDER:QueryPictIndexValues +R003 RENDER:QueryDithers +R004 RENDER:CreatePicture +R005 RENDER:ChangePicture +R006 RENDER:SetPictureClipRectangles +R007 RENDER:FreePicture +R008 RENDER:Composite +R009 RENDER:Scale +R010 RENDER:Trapezoids +R011 RENDER:Triangles +R012 RENDER:TriStrip +R013 RENDER:TriFan +R014 RENDER:ColorTrapezoids +R015 RENDER:ColorTriangles +R016 RENDER:Transform +R017 RENDER:CreateGlyphSet +R018 RENDER:ReferenceGlyphSet +R019 RENDER:FreeGlyphSet +R020 RENDER:AddGlyphs +R021 RENDER:AddGlyphsFromPicture +R022 RENDER:FreeGlyphs +R023 RENDER:CompositeGlyphs8 +R024 RENDER:CompositeGlyphs16 +R025 RENDER:CompositeGlyphs32 +R026 RENDER:FillRectangles +R027 RENDER:CreateCursor +R028 RENDER:SetPictureTransform +R029 RENDER:QueryFilters +R030 RENDER:SetPictureFilter +R031 RENDER:CreateAnimCursor +R032 RENDER:AddTraps +R033 RENDER:CreateSolidFill +R034 RENDER:CreateLinearGradient +R035 RENDER:CreateRadialGradient +R036 RENDER:CreateConicalGradient +E000 RENDER:BadPictFormat +E001 RENDER:BadPicture +E002 RENDER:BadPictOp +E003 RENDER:BadGlyphSet +E004 RENDER:BadGlyph +R000 SECURITY:QueryVersion +R001 SECURITY:GenerateAuthorization +R002 SECURITY:RevokeAuthorization +V000 SECURITY:AuthorizationRevoked +E000 SECURITY:BadAuthorization +E001 SECURITY:BadAuthorizationProtocol +R000 SELinux:SELinuxQueryVersion +R001 SELinux:SELinuxSetDeviceCreateContext +R002 SELinux:SELinuxGetDeviceCreateContext +R003 SELinux:SELinuxSetDeviceContext +R004 SELinux:SELinuxGetDeviceContext +R005 SELinux:SELinuxSetWindowCreateContext +R006 SELinux:SELinuxGetWindowCreateContext +R007 SELinux:SELinuxGetWindowContext +R008 SELinux:SELinuxSetPropertyCreateContext +R009 SELinux:SELinuxGetPropertyCreateContext +R010 SELinux:SELinuxSetPropertyUseContext +R011 SELinux:SELinuxGetPropertyUseContext +R012 SELinux:SELinuxGetPropertyContext +R013 SELinux:SELinuxGetPropertyDataContext +R014 SELinux:SELinuxListProperties +R015 SELinux:SELinuxSetSelectionCreateContext +R016 SELinux:SELinuxGetSelectionCreateContext +R017 SELinux:SELinuxSetSelectionUseContext +R018 SELinux:SELinuxGetSelectionUseContext +R019 SELinux:SELinuxGetSelectionContext +R020 SELinux:SELinuxGetSelectionDataContext +R021 SELinux:SELinuxListSelections +R022 SELinux:SELinuxGetClientContext +R000 SHAPE:QueryVersion +R001 SHAPE:Rectangles +R002 SHAPE:Mask +R003 SHAPE:Combine +R004 SHAPE:Offset +R005 SHAPE:QueryExtents +R006 SHAPE:SelectInput +R007 SHAPE:InputSelected +R008 SHAPE:GetRectangles +V000 SHAPE:Notify +R000 SYNC:Initialize +R001 SYNC:ListSystemCounters +R002 SYNC:CreateCounter +R003 SYNC:SetCounter +R004 SYNC:ChangeCounter +R005 SYNC:QueryCounter +R006 SYNC:DestroyCounter +R007 SYNC:Await +R008 SYNC:CreateAlarm +R009 SYNC:ChangeAlarm +R010 SYNC:QueryAlarm +R011 SYNC:DestroyAlarm +R012 SYNC:SetPriority +R013 SYNC:GetPriority +V000 SYNC:CounterNotify +V001 SYNC:AlarmNotify +E000 SYNC:BadCounter +E001 SYNC:BadAlarm +R000 TOG-CUP:QueryVersion +R001 TOG-CUP:GetReservedColormapEntries +R002 TOG-CUP:StoreColors +R000 Windows-WM:QueryVersion +R001 Windows-WM:FrameGetRect +R002 Windows-WM:FrameDraw +R003 Windows-WM:FrameSetTitle +R004 Windows-WM:DisableUpdate +R005 Windows-WM:ReenableUpdate +R006 Windows-WM:SelectInput +R007 Windows-WM:SetFrontProcess +V000 Windows-WM:ControllerNotify +V001 Windows-WM:ActivationNotify +E000 Windows-WM:ClientNotLocal +E001 Windows-WM:OperationNotSupported +R000 X-Resource:QueryVersion +R001 X-Resource:QueryClients +R002 X-Resource:QueryClientResources +R003 X-Resource:QueryClientPixmapBytes +R001 X11:CreateWindow +R002 X11:ChangeWindowAttributes +R003 X11:GetWindowAttributes +R004 X11:DestroyWindow +R005 X11:DestroySubwindows +R006 X11:ChangeSaveSet +R007 X11:ReparentWindow +R008 X11:MapWindow +R009 X11:MapSubwindows +R010 X11:UnmapWindow +R011 X11:UnmapSubwindows +R012 X11:ConfigureWindow +R013 X11:CirculateWindow +R014 X11:GetGeometry +R015 X11:QueryTree +R016 X11:InternAtom +R017 X11:GetAtomName +R018 X11:ChangeProperty +R019 X11:DeleteProperty +R020 X11:GetProperty +R021 X11:ListProperties +R022 X11:SetSelectionOwner +R023 X11:GetSelectionOwner +R024 X11:ConvertSelection +R025 X11:SendEvent +R026 X11:GrabPointer +R027 X11:UngrabPointer +R028 X11:GrabButton +R029 X11:UngrabButton +R030 X11:ChangeActivePointerGrab +R031 X11:GrabKeyboard +R032 X11:UngrabKeyboard +R033 X11:GrabKey +R034 X11:UngrabKey +R035 X11:AllowEvents +R036 X11:GrabServer +R037 X11:UngrabServer +R038 X11:QueryPointer +R039 X11:GetMotionEvents +R040 X11:TranslateCoords +R041 X11:WarpPointer +R042 X11:SetInputFocus +R043 X11:GetInputFocus +R044 X11:QueryKeymap +R045 X11:OpenFont +R046 X11:CloseFont +R047 X11:QueryFont +R048 X11:QueryTextExtents +R049 X11:ListFonts +R050 X11:ListFontsWithInfo +R051 X11:SetFontPath +R052 X11:GetFontPath +R053 X11:CreatePixmap +R054 X11:FreePixmap +R055 X11:CreateGC +R056 X11:ChangeGC +R057 X11:CopyGC +R058 X11:SetDashes +R059 X11:SetClipRectangles +R060 X11:FreeGC +R061 X11:ClearArea +R062 X11:CopyArea +R063 X11:CopyPlane +R064 X11:PolyPoint +R065 X11:PolyLine +R066 X11:PolySegment +R067 X11:PolyRectangle +R068 X11:PolyArc +R069 X11:FillPoly +R070 X11:PolyFillRectangle +R071 X11:PolyFillArc +R072 X11:PutImage +R073 X11:GetImage +R074 X11:PolyText8 +R075 X11:PolyText16 +R076 X11:ImageText8 +R077 X11:ImageText16 +R078 X11:CreateColormap +R079 X11:FreeColormap +R080 X11:CopyColormapAndFree +R081 X11:InstallColormap +R082 X11:UninstallColormap +R083 X11:ListInstalledColormaps +R084 X11:AllocColor +R085 X11:AllocNamedColor +R086 X11:AllocColorCells +R087 X11:AllocColorPlanes +R088 X11:FreeColors +R089 X11:StoreColors +R090 X11:StoreNamedColor +R091 X11:QueryColors +R092 X11:LookupColor +R093 X11:CreateCursor +R094 X11:CreateGlyphCursor +R095 X11:FreeCursor +R096 X11:RecolorCursor +R097 X11:QueryBestSize +R098 X11:QueryExtension +R099 X11:ListExtensions +R100 X11:ChangeKeyboardMapping +R101 X11:GetKeyboardMapping +R102 X11:ChangeKeyboardControl +R103 X11:GetKeyboardControl +R104 X11:Bell +R105 X11:ChangePointerControl +R106 X11:GetPointerControl +R107 X11:SetScreenSaver +R108 X11:GetScreenSaver +R109 X11:ChangeHosts +R110 X11:ListHosts +R111 X11:SetAccessControl +R112 X11:SetCloseDownMode +R113 X11:KillClient +R114 X11:RotateProperties +R115 X11:ForceScreenSaver +R116 X11:SetPointerMapping +R117 X11:GetPointerMapping +R118 X11:SetModifierMapping +R119 X11:GetModifierMapping +R127 X11:NoOperation +V000 X11:X_Error +V001 X11:X_Reply +V002 X11:KeyPress +V003 X11:KeyRelease +V004 X11:ButtonPress +V005 X11:ButtonRelease +V006 X11:MotionNotify +V007 X11:EnterNotify +V008 X11:LeaveNotify +V009 X11:FocusIn +V010 X11:FocusOut +V011 X11:KeymapNotify +V012 X11:Expose +V013 X11:GraphicsExpose +V014 X11:NoExpose +V015 X11:VisibilityNotify +V016 X11:CreateNotify +V017 X11:DestroyNotify +V018 X11:UnmapNotify +V019 X11:MapNotify +V020 X11:MapRequest +V021 X11:ReparentNotify +V022 X11:ConfigureNotify +V023 X11:ConfigureRequest +V024 X11:GravityNotify +V025 X11:ResizeRequest +V026 X11:CirculateNotify +V027 X11:CirculateRequest +V028 X11:PropertyNotify +V029 X11:SelectionClear +V030 X11:SelectionRequest +V031 X11:SelectionNotify +V032 X11:ColormapNotify +V033 X11:ClientMessage +V034 X11:MappingNotify +V035 X11:GenericEvent +E000 X11:Success +E001 X11:BadRequest +E002 X11:BadValue +E003 X11:BadWindow +E004 X11:BadPixmap +E005 X11:BadAtom +E006 X11:BadCursor +E007 X11:BadFont +E008 X11:BadMatch +E009 X11:BadDrawable +E010 X11:BadAccess +E011 X11:BadAlloc +E012 X11:BadColor +E013 X11:BadGC +E014 X11:BadIDChoice +E015 X11:BadName +E016 X11:BadLength +E017 X11:BadImplementation +R000 XC-APPGROUP:QueryVersion +R001 XC-APPGROUP:Create +R002 XC-APPGROUP:Destroy +R003 XC-APPGROUP:GetAttr +R004 XC-APPGROUP:Query +R005 XC-APPGROUP:CreateAssoc +R006 XC-APPGROUP:DestroyAssoc +E000 XC-APPGROUP:BadAppGroup +R000 XC-MISC:GetVersion +R001 XC-MISC:GetXIDRange +R002 XC-MISC:GetXIDList +R000 XFIXES:QueryVersion +R001 XFIXES:ChangeSaveSet +R002 XFIXES:SelectSelectionInput +R003 XFIXES:SelectCursorInput +R004 XFIXES:GetCursorImage +R005 XFIXES:CreateRegion +R006 XFIXES:CreateRegionFromBitmap +R007 XFIXES:CreateRegionFromWindow +R008 XFIXES:CreateRegionFromGC +R009 XFIXES:CreateRegionFromPicture +R010 XFIXES:DestroyRegion +R011 XFIXES:SetRegion +R012 XFIXES:CopyRegion +R013 XFIXES:UnionRegion +R014 XFIXES:IntersectRegion +R015 XFIXES:SubtractRegion +R016 XFIXES:InvertRegion +R017 XFIXES:TranslateRegion +R018 XFIXES:RegionExtents +R019 XFIXES:FetchRegion +R020 XFIXES:SetGCClipRegion +R021 XFIXES:SetWindowShapeRegion +R022 XFIXES:SetPictureClipRegion +R023 XFIXES:SetCursorName +R024 XFIXES:GetCursorName +R025 XFIXES:GetCursorImageAndName +R026 XFIXES:ChangeCursor +R027 XFIXES:ChangeCursorByName +R028 XFIXES:ExpandRegion +R029 XFIXES:HideCursor +R030 XFIXES:ShowCursor +V000 XFIXES:SelectionNotify +V001 XFIXES:CursorNotify +E000 XFIXES:BadRegion +R000 XFree86-Bigfont:QueryVersion +R001 XFree86-Bigfont:QueryFont +R000 XFree86-DGA:QueryVersion +R001 XFree86-DGA:GetVideoLL +R002 XFree86-DGA:DirectVideo +R003 XFree86-DGA:GetViewPortSize +R004 XFree86-DGA:SetViewPort +R005 XFree86-DGA:GetVidPage +R006 XFree86-DGA:SetVidPage +R007 XFree86-DGA:InstallColormap +R008 XFree86-DGA:QueryDirectVideo +R009 XFree86-DGA:ViewPortChanged +R010 XFree86-DGA:Obsolete1 +R011 XFree86-DGA:Obsolete2 +R012 XFree86-DGA:QueryModes +R013 XFree86-DGA:SetMode +R014 XFree86-DGA:SetViewport +R015 XFree86-DGA:InstallColormap +R016 XFree86-DGA:SelectInput +R017 XFree86-DGA:FillRectangle +R018 XFree86-DGA:CopyArea +R019 XFree86-DGA:CopyTransparentArea +R020 XFree86-DGA:GetViewportStatus +R021 XFree86-DGA:Sync +R022 XFree86-DGA:OpenFramebuffer +R023 XFree86-DGA:CloseFramebuffer +R024 XFree86-DGA:SetClientVersion +R025 XFree86-DGA:ChangePixmapMode +R026 XFree86-DGA:CreateColormap +E000 XFree86-DGA:ClientNotLocal +E001 XFree86-DGA:NoDirectVideoMode +E002 XFree86-DGA:ScreenNotActive +E003 XFree86-DGA:DirectNotActivated +E004 XFree86-DGA:OperationNotSupported +R000 XFree86-DRI:QueryVersion +R001 XFree86-DRI:QueryDirectRenderingCapable +R002 XFree86-DRI:OpenConnection +R003 XFree86-DRI:CloseConnection +R004 XFree86-DRI:GetClientDriverName +R005 XFree86-DRI:CreateContext +R006 XFree86-DRI:DestroyContext +R007 XFree86-DRI:CreateDrawable +R008 XFree86-DRI:DestroyDrawable +R009 XFree86-DRI:GetDrawableInfo +R010 XFree86-DRI:GetDeviceInfo +R011 XFree86-DRI:AuthConnection +R012 XFree86-DRI:OpenFullScreen +R013 XFree86-DRI:CloseFullScreen +E000 XFree86-DRI:ClientNotLocal +E001 XFree86-DRI:OperationNotSupported +R000 XFree86-Misc:QueryVersion +R001 XFree86-Misc:GetSaver +R002 XFree86-Misc:SetSaver +R003 XFree86-Misc:GetMouseSettings +R004 XFree86-Misc:GetKbdSettings +R005 XFree86-Misc:SetMouseSettings +R006 XFree86-Misc:SetKbdSettings +R007 XFree86-Misc:SetGrabKeysState +R008 XFree86-Misc:SetClientVersion +R009 XFree86-Misc:GetFilePaths +R010 XFree86-Misc:PassMessage +E000 XFree86-Misc:BadMouseProtocol +E001 XFree86-Misc:BadMouseBaudRate +E002 XFree86-Misc:BadMouseFlags +E003 XFree86-Misc:BadMouseCombo +E004 XFree86-Misc:BadKbdType +E005 XFree86-Misc:ModInDevDisabled +E006 XFree86-Misc:ModInDevClientNotLocal +E007 XFree86-Misc:NoModule +R000 XFree86-VidModeExtension:QueryVersion +R001 XFree86-VidModeExtension:GetModeLine +R002 XFree86-VidModeExtension:ModModeLine +R003 XFree86-VidModeExtension:SwitchMode +R004 XFree86-VidModeExtension:GetMonitor +R005 XFree86-VidModeExtension:LockModeSwitch +R006 XFree86-VidModeExtension:GetAllModeLines +R007 XFree86-VidModeExtension:AddModeLine +R008 XFree86-VidModeExtension:DeleteModeLine +R009 XFree86-VidModeExtension:ValidateModeLine +R010 XFree86-VidModeExtension:SwitchToMode +R011 XFree86-VidModeExtension:GetViewPort +R012 XFree86-VidModeExtension:SetViewPort +R013 XFree86-VidModeExtension:GetDotClocks +R014 XFree86-VidModeExtension:SetClientVersion +R015 XFree86-VidModeExtension:SetGamma +R016 XFree86-VidModeExtension:GetGamma +R017 XFree86-VidModeExtension:GetGammaRamp +R018 XFree86-VidModeExtension:SetGammaRamp +R019 XFree86-VidModeExtension:GetGammaRampSize +R020 XFree86-VidModeExtension:GetPermissions +V000 XFree86-VidModeExtension:Notify +E000 XFree86-VidModeExtension:BadClock +E001 XFree86-VidModeExtension:BadHTimings +E002 XFree86-VidModeExtension:BadVTimings +E003 XFree86-VidModeExtension:ModeUnsuitable +E004 XFree86-VidModeExtension:ExtensionDisabled +E005 XFree86-VidModeExtension:ClientNotLocal +E006 XFree86-VidModeExtension:ZoomLocked +R000 XINERAMA:QueryVersion +R001 XINERAMA:GetState +R002 XINERAMA:GetScreenCount +R003 XINERAMA:GetScreenSize +R004 XINERAMA:IsActive +R005 XINERAMA:QueryScreens +R001 XInputExtension:GetExtensionVersion +R002 XInputExtension:ListInputDevices +R003 XInputExtension:OpenDevice +R004 XInputExtension:CloseDevice +R005 XInputExtension:SetDeviceMode +R006 XInputExtension:SelectExtensionEvent +R007 XInputExtension:GetSelectedExtensionEvents +R008 XInputExtension:ChangeDeviceDontPropagateList +R009 XInputExtension:GetDeviceDontPropagageList +R010 XInputExtension:GetDeviceMotionEvents +R011 XInputExtension:ChangeKeyboardDevice +R012 XInputExtension:ChangePointerDevice +R013 XInputExtension:GrabDevice +R014 XInputExtension:UngrabDevice +R015 XInputExtension:GrabDeviceKey +R016 XInputExtension:UngrabDeviceKey +R017 XInputExtension:GrabDeviceButton +R018 XInputExtension:UngrabDeviceButton +R019 XInputExtension:AllowDeviceEvents +R020 XInputExtension:GetDeviceFocus +R021 XInputExtension:SetDeviceFocus +R022 XInputExtension:GetFeedbackControl +R023 XInputExtension:ChangeFeedbackControl +R024 XInputExtension:GetDeviceKeyMapping +R025 XInputExtension:ChangeDeviceKeyMapping +R026 XInputExtension:GetDeviceModifierMapping +R027 XInputExtension:SetDeviceModifierMapping +R028 XInputExtension:GetDeviceButtonMapping +R029 XInputExtension:SetDeviceButtonMapping +R030 XInputExtension:QueryDeviceState +R031 XInputExtension:SendExtensionEvent +R032 XInputExtension:DeviceBell +R033 XInputExtension:SetDeviceValuators +R034 XInputExtension:GetDeviceControl +R035 XInputExtension:ChangeDeviceControl +R036 XInputExtension:ListDeviceProperties +R037 XInputExtension:ChangeDeviceProperty +R038 XInputExtension:DeleteDeviceProperty +R039 XInputExtension:GetDeviceProperty +R040 XInputExtension:QueryPointer +R041 XInputExtension:WarpPointer +R042 XInputExtension:ChangeCursor +R043 XInputExtension:ChangeHierarchy +R044 XInputExtension:SetClientPointer +R045 XInputExtension:GetClientPointer +R046 XInputExtension:SelectEvents +R047 XInputExtension:QueryVersion +R048 XInputExtension:QueryDevice +R049 XInputExtension:SetFocus +R050 XInputExtension:GetFocus +R051 XInputExtension:GrabDevice +R052 XInputExtension:UngrabDevice +R053 XInputExtension:AllowEvents +R054 XInputExtension:PassiveGrabDevice +R055 XInputExtension:PassiveUngrabDevice +R056 XInputExtension:ListProperties +R057 XInputExtension:ChangeProperty +R058 XInputExtension:DeleteProperty +R059 XInputExtension:GetProperty +R060 XInputExtension:GetSelectedEvents +V000 XInputExtension:DeviceValuator +V001 XInputExtension:DeviceKeyPress +V002 XInputExtension:DeviceKeyRelease +V003 XInputExtension:DeviceButtonPress +V004 XInputExtension:DeviceButtonRelease +V005 XInputExtension:DeviceMotionNotify +V006 XInputExtension:DeviceFocusIn +V007 XInputExtension:DeviceFocusOut +V008 XInputExtension:ProximityIn +V009 XInputExtension:ProximityOut +V010 XInputExtension:DeviceStateNotify +V011 XInputExtension:DeviceMappingNotify +V012 XInputExtension:ChangeDeviceNotify +V013 XInputExtension:DeviceKeystateNotify +V014 XInputExtension:DeviceButtonstateNotify +V015 XInputExtension:DevicePresenceNotify +V016 XInputExtension:DevicePropertyNotify +E000 XInputExtension:BadDevice +E001 XInputExtension:BadEvent +E002 XInputExtension:BadMode +E003 XInputExtension:DeviceBusy +E004 XInputExtension:BadClass +R000 XKEYBOARD:UseExtension +R001 XKEYBOARD:SelectEvents +R002 XKEYBOARD:Obsolete +R003 XKEYBOARD:Bell +R004 XKEYBOARD:GetState +R005 XKEYBOARD:LatchLockState +R006 XKEYBOARD:GetControls +R007 XKEYBOARD:SetControls +R008 XKEYBOARD:GetMap +R009 XKEYBOARD:SetMap +R010 XKEYBOARD:GetCompatMap +R011 XKEYBOARD:SetCompatMap +R012 XKEYBOARD:GetIndicatorState +R013 XKEYBOARD:GetIndicatorMap +R014 XKEYBOARD:SetIndicatorMap +R015 XKEYBOARD:GetNamedIndicator +R016 XKEYBOARD:SetNamedIndicator +R017 XKEYBOARD:GetNames +R018 XKEYBOARD:SetNames +R019 XKEYBOARD:GetGeometry +R020 XKEYBOARD:SetGeometry +R021 XKEYBOARD:PerClientFlags +R022 XKEYBOARD:ListComponents +R023 XKEYBOARD:GetKbdByName +R024 XKEYBOARD:GetDeviceInfo +R025 XKEYBOARD:SetDeviceInfo +R101 XKEYBOARD:SetDebuggingFlags +V000 XKEYBOARD:EventCode +E000 XKEYBOARD:BadKeyboard +R000 XTEST:GetVersion +R001 XTEST:CompareCursor +R002 XTEST:FakeInput +R003 XTEST:GrabControl +R000 XVideo:QueryExtension +R001 XVideo:QueryAdaptors +R002 XVideo:QueryEncodings +R003 XVideo:GrabPort +R004 XVideo:UngrabPort +R005 XVideo:PutVideo +R006 XVideo:PutStill +R007 XVideo:GetVideo +R008 XVideo:GetStill +R009 XVideo:StopVideo +R010 XVideo:SelectVideoNotify +R011 XVideo:SelectPortNotify +R012 XVideo:QueryBestSize +R013 XVideo:SetPortAttribute +R014 XVideo:GetPortAttribute +R015 XVideo:QueryPortAttributes +R016 XVideo:ListImageFormats +R017 XVideo:QueryImageAttributes +R018 XVideo:PutImage +R019 XVideo:ShmPutImage +V000 XVideo:VideoNotify +V001 XVideo:PortNotify +E000 XVideo:BadPort +E001 XVideo:BadEncoding +E002 XVideo:BadControl +R000 XVideo-MotionCompensation:QueryVersion +R001 XVideo-MotionCompensation:ListSurfaceTypes +R002 XVideo-MotionCompensation:CreateContext +R003 XVideo-MotionCompensation:DestroyContext +R004 XVideo-MotionCompensation:CreateSurface +R005 XVideo-MotionCompensation:DestroySurface +R006 XVideo-MotionCompensation:CreateSubpicture +R007 XVideo-MotionCompensation:DestroySubpicture +R008 XVideo-MotionCompensation:ListSubpictureTypes +R009 XVideo-MotionCompensation:GetDRInfo +E000 XVideo-MotionCompensation:BadContext +E001 XVideo-MotionCompensation:BadSurface +E002 XVideo-MotionCompensation:BadSubpicture diff --git a/system.XWinrc b/system.XWinrc new file mode 100644 index 0000000..548d14b --- /dev/null +++ b/system.XWinrc @@ -0,0 +1,131 @@ +# XWin Server Resource File - EXAMPLE +# Earle F. Philhower, III + +# Place in ~/.XWinrc or in /etc/X11/system.XWinrc + +# Keywords are case insensitive, comments legal pretty much anywhere +# you can have an end-of-line + +# Comments begin with "#" or "//" and go to the end-of-line + +# Paths to icons are **WINDOWS** based (i.e. c:\windows\icons) + +# Menus are defined as... +# MENU { +#

EXEC +# ^^ This command will have any "%display%" +# string replaced with the proper display +# variable (i.e. 127.0.0.1:.0) +# (This should only rarely be needed as +# the DISPLAY environment variable is also +# set correctly) +# or MENU +# or ALWAYSONTOP +# ^^ Sets the window to display above all others +# or RELOAD +# ^^ Causes ~/.XWinrc or the system.XWinrc file +# to be reloaded and icons and menus regenerated +# or SEPARATOR +# ... +# } + +# Set the taskmar menu with +# ROOTMENU + +# If you want a menu to be applied to all popup window's system menu +# DEFAULTSYSMENU + +# To choose a specific menu for a specific WM_CLASS or WM_NAME use ... +# SYSMENU { +# +# ... +# } + +# When specifying an ICONFILE in the following commands several different +# formats are allowed: +# 1. Name of a regular Windows .ico format file +# (ex: "cygwin.ico", "apple.ico") +# 2. Name and index into a Windows .DLL +# (ex: "c:\windows\system32\shell32.dll,4" gives the default folder icon +# "c:\windows\system32\shell32.dll,5" gives the floppy drive icon) +# 3. Index into XWin.EXE internal ICON resource +# (ex: ",101" is the 1st icon inside XWin.exe) + +# To define where ICO files live (** Windows path**) +# ICONDIRECTORY +# NOTE: If you specify a fully qualified path to an ICON below +# (i.e. "c:\xxx" or "d:\xxxx") +# this ICONDIRECTORY will not be prepended + +# To change the taskbar icon use... +# TRAYICON + +# To define a replacement for the standard X icon for apps w/o specified icons +# DEFAULTICON + +# To define substitute icons on a per-window basis use... +# ICONS { +# +# ... +# } +# In the case where multiple matches occur, the first listed in the ICONS +# section will be chosen. + +# To disable exit confirmation dialog add the line containing SilentExit + +# DEBUG prints out the string to the XWin.log file + +// Below are just some silly menus to demonstrate writing your +// own configuration file. + +// Make some menus... +menu apps { + xcalc exec "xcalc" + xclock exec "xclock" + xwininfo exec "xwininfo -pause" +} + +menu root { +// Comments fit here, too... + "Reload system.XWinrc" RELOAD + "Applications" menu apps + Separator + "Show log" exec "notepad %logfile%" + Separator +} + +menu aot { + Separator + "Always on Top" alwaysontop +} + +menu xtermspecial { + "Emacs" exec "emacs" + "Always on Top" alwaysontop + Separator +} + +RootMenu root + +DefaultSysMenu aot atend + +SysMenu { + "xterm" xtermspecial atstart +} + +# taskbar { +# Tk notab +# } + +# IconDirectory "c:\winnt\" + +# DefaultIcon "reinstall.ico" + +# Icons { +# "xterm" "uninstall.ico" +# } + +# SilentExit + +# DEBUG "Done parsing the configuration file..." + diff --git a/vcruntime140.dll b/vcruntime140.dll new file mode 100644 index 0000000..931bce0 Binary files /dev/null and b/vcruntime140.dll differ diff --git a/vcruntime140_1.dll b/vcruntime140_1.dll new file mode 100644 index 0000000..e548262 Binary files /dev/null and b/vcruntime140_1.dll differ diff --git a/vcxsrv.exe b/vcxsrv.exe new file mode 100644 index 0000000..57f3933 Binary files /dev/null and b/vcxsrv.exe differ diff --git a/version.txt b/version.txt new file mode 100644 index 0000000..cb434a3 --- /dev/null +++ b/version.txt @@ -0,0 +1 @@ +1.20.14.0 \ No newline at end of file diff --git a/xkbcomp.exe b/xkbcomp.exe new file mode 100644 index 0000000..c5a9877 Binary files /dev/null and b/xkbcomp.exe differ diff --git a/xkbdata/compat.dir b/xkbdata/compat.dir new file mode 100644 index 0000000..1e926e7 --- /dev/null +++ b/xkbdata/compat.dir @@ -0,0 +1,29 @@ +-dp----- -------- accessx(basic) +--p----- -------- accessx(full) +-d------ -------- basic(basic) +--p----- -------- caps(caps_lock) +-d------ -------- complete(complete) +-dp----- -------- iso9995(default) +-dp----- -------- japan(japan) +--p----- -------- japan(kana_lock) +-dp----- -------- ledcaps(caps_lock) +--p----- -------- ledcaps(group_lock) +--p----- -------- ledcaps(shift_lock) +-dp----- -------- ledcompose(compose) +-dp----- -------- lednum(num_lock) +--p----- -------- lednum(group_lock) +--p----- -------- lednum(shift_lock) +-dp----- -------- ledscroll(scroll_lock) +--p----- -------- ledscroll(group_lock) +--p----- -------- ledscroll(shift_lock) +-dp----- -------- level5(default) +--p----- -------- level5(level5_lock) +-dp----- -------- misc(misc) +--p----- -------- misc(assign_shift_left_action) +-dp----- -------- mousekeys(mousekeys) +-d------ -------- olpc(olpc) +-dp----- -------- pc(pc) +-d------ -------- pc98(basic) +-dp----- -------- xfree86(basic) +--p----- -------- xfree86(grab_break) +-d------ -------- xtest(xtest) diff --git a/xkbdata/compat/README b/xkbdata/compat/README new file mode 100644 index 0000000..3c5747b --- /dev/null +++ b/xkbdata/compat/README @@ -0,0 +1,33 @@ +The core protocol interpretation of keyboard modifiers does not include direct +support for multiple keyboard groups, so XKB reports the effective keyboard +group to XKB-aware clients using some of the reserved bits in the state field +of some core protocol events. This modified state field would not be interpreted +correctly by XKB-unaware clients, so XKB provides a group compatibility mapping +which remaps the keyboard group into a core modifier mask that has similar +effects, when possible. + +XKB maintains three compatibility state components that are used to make +XKB-unaware clients(*) work as well as possible: +- The compatibility state which corresponds to the effective modifier and + effective group state. +- The compatibility lookup state which is the core-protocol equivalent of the + lookup state. +- The compatibility grab state which is the nearest core-protocol equivalent + of the grab state. + +Compatibility states are essentially the corresponding XKB states, but with +the keyboard group possibly encoded as one or more modifiers. + +Modifiers that correspond to each keyboard group are described in this +group compatibility map. + + +---- +(*) The implementation of XKB invisibly extends the X library to use the +keyboard extension if it is present. That means, clients that use library or +toolkit routines to interpret keyboard events automatically use all of XKB's +features; clients that directly interpret the state field of core-protocol +events or the keymap directly may be affected by some of the XKB differences. +Thus most clients can take all advantages without modification but it also +means that XKB state can be reported to clients that have not explicitly +requested the keyboard extension. diff --git a/xkbdata/compat/accessx b/xkbdata/compat/accessx new file mode 100644 index 0000000..6dd6ca9 --- /dev/null +++ b/xkbdata/compat/accessx @@ -0,0 +1,52 @@ +default partial xkb_compatibility "basic" { + interpret AccessX_Enable { + action= LockControls(controls=AccessXKeys); + }; +}; + +partial xkb_compatibility "full" { + + interpret AccessX_Enable { + action= LockControls(controls=AccessXKeys); + }; + + interpret AccessX_Feedback_Enable { + action= LockControls(controls=AccessXFeedback); + }; + + interpret RepeatKeys_Enable { + action= LockControls(controls=RepeatKeys); + }; + + interpret SlowKeys_Enable { + action= LockControls(controls=SlowKeys); + }; + + interpret BounceKeys_Enable { + action= LockControls(controls=BounceKeys); + }; + + interpret StickyKeys_Enable { + action= LockControls(controls=StickyKeys); + }; + + interpret MouseKeys_Enable { + action= LockControls(controls=MouseKeys); + }; + + interpret MouseKeys_Accel_Enable { + action= LockControls(controls=MouseKeysAccel); + }; + + interpret Overlay1_Enable { + action= LockControls(controls=Overlay1); + }; + + interpret Overlay2_Enable { + action= LockControls(controls=Overlay2); + }; + + interpret AudibleBell_Enable { + action= LockControls(controls=AudibleBell); + }; +}; diff --git a/xkbdata/compat/basic b/xkbdata/compat/basic new file mode 100644 index 0000000..745cbba --- /dev/null +++ b/xkbdata/compat/basic @@ -0,0 +1,49 @@ +// Minimal set of symbol interpretations to provide +// reasonable default behavior (Num lock, Shift lock, +// Caps lock, and Mode switch) and set up the +// automatic updating of common keyboard LEDs. + +default xkb_compatibility "basic" { + + virtual_modifiers NumLock,AltGr; + + interpret.repeat= False; + setMods.clearLocks= True; + latchMods.clearLocks= True; + latchMods.latchToLock= True; + + interpret Shift_Lock+AnyOf(Shift+Lock) { + action= LockMods(modifiers=Shift); + }; + + interpret Any+Lock { + action= LockMods(modifiers=Lock); + }; + + interpret Num_Lock+Any { + virtualModifier= NumLock; + action= LockMods(modifiers=NumLock); + }; + + interpret Mode_switch { + useModMapMods= level1; + virtualModifier= AltGr; + action= SetGroup(group=+1); + }; + + interpret Any + Any { + action= SetMods(modifiers=modMapMods); + }; + + group 2 = AltGr; + group 3 = AltGr; + group 4 = AltGr; + + include "ledcaps" + include "lednum" + indicator "Shift Lock" { + !allowExplicit; + whichModState= Locked; + modifiers= Shift; + }; +}; diff --git a/xkbdata/compat/caps b/xkbdata/compat/caps new file mode 100644 index 0000000..4793051 --- /dev/null +++ b/xkbdata/compat/caps @@ -0,0 +1,11 @@ +partial xkb_compatibility "caps_lock" { + // Keysym Caps_Lock locks the Lock modifier. + // With this definition, the keysym Caps_Lock can be used without binding + // the whole key to a real modifier. This is essential when you don't + // want to use Caps_Lock on the first level. + // This should not have any compatibility issues when used together with + // other layouts which don't utilize this capability. + interpret Caps_Lock { + action = LockMods(modifiers = Lock); + }; +}; diff --git a/xkbdata/compat/complete b/xkbdata/compat/complete new file mode 100644 index 0000000..8f77538 --- /dev/null +++ b/xkbdata/compat/complete @@ -0,0 +1,10 @@ +default xkb_compatibility "complete" { + include "basic" + augment "iso9995" + augment "mousekeys" + augment "accessx(full)" + augment "misc" + augment "xfree86" + augment "level5" + augment "caps(caps_lock)" +}; diff --git a/xkbdata/compat/iso9995 b/xkbdata/compat/iso9995 new file mode 100644 index 0000000..0f3025b --- /dev/null +++ b/xkbdata/compat/iso9995 @@ -0,0 +1,77 @@ +// Fairly complete set of symbol interpretations +// to provide reasonable default behavior. + +default partial xkb_compatibility "default" { + + virtual_modifiers LevelThree,AltGr; + + interpret.repeat= False; + setMods.clearLocks= True; + latchMods.clearLocks= True; + latchMods.latchToLock= True; + + interpret ISO_Level2_Latch+Shift { + useModMapMods= level1; + action= LatchMods(modifiers=Shift); + }; + + interpret ISO_Level3_Shift+Any { + useModMapMods= level1; + virtualModifier= LevelThree; + action= SetMods(modifiers=LevelThree); + }; + + interpret ISO_Level3_Shift { + action= SetMods(modifiers=LevelThree); + }; + + interpret ISO_Level3_Latch+Any { + useModMapMods= level1; + virtualModifier= LevelThree; + action= LatchMods(modifiers=LevelThree); + }; + + interpret ISO_Level3_Latch { + action= LatchMods(modifiers=LevelThree); + }; + + interpret ISO_Level3_Lock+Any { + useModMapMods= level1; + virtualModifier= LevelThree; + action= LockMods(modifiers=LevelThree); + }; + + interpret ISO_Level3_Lock { + action= LockMods(modifiers=LevelThree); + }; + + interpret ISO_Group_Latch { + useModMapMods= level1; + virtualModifier= AltGr; + action= LatchGroup(group=2); + }; + + interpret ISO_Next_Group { + useModMapMods= level1; + virtualModifier= AltGr; + action= LockGroup(group=+1); + }; + + interpret ISO_Prev_Group { + useModMapMods= level1; + virtualModifier= AltGr; + action= LockGroup(group=-1); + }; + interpret ISO_First_Group { + action= LockGroup(group=1); + }; + + interpret ISO_Last_Group { + action= LockGroup(group=2); + }; + + indicator "Group 2" { + !allowExplicit; + groups= All-Group1; + }; +}; diff --git a/xkbdata/compat/japan b/xkbdata/compat/japan new file mode 100644 index 0000000..322bbdb --- /dev/null +++ b/xkbdata/compat/japan @@ -0,0 +1,45 @@ +// Japanese keyboards need the Eisu and Kana Shift +// and Lock keys, which are typically bound to the +// second shift level of some other modifier key. +// These interpretations disable the default +// interpretation (which would have these keys set +// to the same modifier as the level one symbol). + +default partial xkb_compatibility "japan" { + + interpret.repeat= False; + + interpret Eisu_Shift+Lock { + action= NoAction(); + }; + + interpret Eisu_toggle+Lock { + action= NoAction(); + }; + + interpret Kana_Shift+Lock { + action= NoAction(); + }; + + interpret Kana_Lock+Lock { + action= NoAction(); + }; +}; + +// Some Japanese keyboards have an explict +// Kana Lock key and matching LED. +partial xkb_compatibility "kana_lock" { + + virtual_modifiers Kana_Lock; + + interpret Kana_Lock+AnyOfOrNone(all) { + virtualModifier= Kana_Lock; + useModMapMods=level1; + action= LockGroup(group=+1); + }; + + indicator "Kana" { + !allowExplicit; + groups= All-Group1; + }; +}; diff --git a/xkbdata/compat/ledcaps b/xkbdata/compat/ledcaps new file mode 100644 index 0000000..f1460ba --- /dev/null +++ b/xkbdata/compat/ledcaps @@ -0,0 +1,24 @@ +// Use the Caps Lock LED to show either +// Caps Lock, Group, or Shift Lock state. + +default partial xkb_compatibility "caps_lock" { + indicator "Caps Lock" { + !allowExplicit; + whichModState= Locked; + modifiers= Lock; + }; +}; + +partial xkb_compatibility "group_lock" { + indicator "Caps Lock" { + modifiers= None; + groups=All-group1; + }; +}; + +partial xkb_compatibility "shift_lock" { + indicator "Caps Lock" { + whichModState= Locked; + modifiers= Shift; + }; +}; diff --git a/xkbdata/compat/ledcompose b/xkbdata/compat/ledcompose new file mode 100644 index 0000000..6213501 --- /dev/null +++ b/xkbdata/compat/ledcompose @@ -0,0 +1,16 @@ + +default partial xkb_compatibility "compose" { + + virtual_modifiers Compose; + + interpret Multi_key+Any { + virtualModifier= Compose; + action = LatchMods(modifiers=modMapMods); + }; + + indicator "Compose" { + allowExplicit; + whichModState= Latched; + modifiers= Compose; + }; +}; diff --git a/xkbdata/compat/lednum b/xkbdata/compat/lednum new file mode 100644 index 0000000..bfdcd74 --- /dev/null +++ b/xkbdata/compat/lednum @@ -0,0 +1,24 @@ +// Use the Num Lock LED to show either +// Num Lock, Group, or Shift Lock state. + +default partial xkb_compatibility "num_lock" { + indicator "Num Lock" { + !allowExplicit; + whichModState= Locked; + modifiers= NumLock; + }; +}; + +partial xkb_compatibility "group_lock" { + indicator "Num Lock" { + modifiers= None; + groups=All-group1; + }; +}; + +partial xkb_compatibility "shift_lock" { + indicator "Num Lock" { + whichModState= Locked; + modifiers= Shift; + }; +}; diff --git a/xkbdata/compat/ledscroll b/xkbdata/compat/ledscroll new file mode 100644 index 0000000..a241698 --- /dev/null +++ b/xkbdata/compat/ledscroll @@ -0,0 +1,24 @@ +// Use the Scroll Lock LED to show either +// Scroll Lock, Group, or Shift Lock state. + +default partial xkb_compatibility "scroll_lock" { + indicator "Scroll Lock" { + allowExplicit; + whichModState= Locked; + modifiers= ScrollLock; + }; +}; + +partial xkb_compatibility "group_lock" { + indicator "Scroll Lock" { + modifiers= None; + groups=All-group1; + }; +}; + +partial xkb_compatibility "shift_lock" { + indicator "Scroll Lock" { + whichModState= Locked; + modifiers= Shift; + }; +}; diff --git a/xkbdata/compat/level5 b/xkbdata/compat/level5 new file mode 100644 index 0000000..54f749d --- /dev/null +++ b/xkbdata/compat/level5 @@ -0,0 +1,56 @@ +// Fairly complete set of symbol interpretations +// to provide reasonable default behavior. + +default partial xkb_compatibility "default" { + + virtual_modifiers LevelFive; + + interpret.repeat= False; + setMods.clearLocks= True; + latchMods.clearLocks= True; + latchMods.latchToLock= True; + + interpret ISO_Level5_Shift+Any { + useModMapMods= level1; + virtualModifier= LevelFive; + action= SetMods(modifiers=LevelFive); + }; + + interpret ISO_Level5_Shift { + action= SetMods(modifiers=LevelFive); + }; + + interpret ISO_Level5_Latch+Any { + useModMapMods= level1; + virtualModifier= LevelFive; + action= LatchMods(modifiers=LevelFive); + }; + + interpret ISO_Level5_Latch { + action= LatchMods(modifiers=LevelFive); + }; + + interpret ISO_Level5_Lock+Any { + useModMapMods= level1; + virtualModifier= LevelFive; + action= LockMods(modifiers=LevelFive); + }; + + interpret ISO_Level5_Lock { + action= LockMods(modifiers=LevelFive); + }; +}; + +partial xkb_compatibility "level5_lock" { + // This defines a Level5-Lock using the NumLock real modifier + // in order to create arbitrary level-behaviour, which would + // not be possible with the virtual modifier. + // See also: types/level5 : EIGHT_LEVEL_LEVEL_FIVE_LOCK + // See also: symbols/level5(lock) + + virtual_modifiers NumLock; + + interpret ISO_Level5_Lock { + action = LockMods(modifiers = NumLock); + }; +}; diff --git a/xkbdata/compat/misc b/xkbdata/compat/misc new file mode 100644 index 0000000..964f471 --- /dev/null +++ b/xkbdata/compat/misc @@ -0,0 +1,122 @@ +default partial xkb_compatibility "misc" { + + virtual_modifiers Alt,Meta,Super,Hyper,ScrollLock; + + // Interpretations for some other useful keys. + + interpret Terminate_Server { + action = Terminate(); + }; + + setMods.clearLocks= True; + + // Sets the "Alt" virtual modifier. + + interpret Alt_L+Any { + //useModMapMods= level1; + virtualModifier= Alt; + action = SetMods(modifiers=modMapMods); + }; + + interpret Alt_L { + action = SetMods(modifiers=Alt); + }; + + interpret Alt_R+Any { + //useModMapMods= level1; + virtualModifier= Alt; + action = SetMods(modifiers=modMapMods); + }; + + interpret Alt_R { + action = SetMods(modifiers=Alt); + }; + + // Sets the "Meta" virtual modifier. + + interpret Meta_L+Any { + //useModMapMods= level1; + virtualModifier= Meta; + action = SetMods(modifiers=modMapMods); + }; + + interpret Meta_L { + action = SetMods(modifiers=Meta); + }; + + interpret Meta_R+Any { + //useModMapMods= level1; + virtualModifier= Meta; + action = SetMods(modifiers=modMapMods); + }; + + interpret Meta_R { + action = SetMods(modifiers=Meta); + }; + + // Sets the "Super" virtual modifier. + + interpret Super_L+Any { + //useModMapMods= level1; + virtualModifier= Super; + action = SetMods(modifiers=modMapMods); + }; + + interpret Super_L { + action = SetMods(modifiers=Super); + }; + + interpret Super_R+Any { + //useModMapMods= level1; + virtualModifier= Super; + action = SetMods(modifiers=modMapMods); + }; + + interpret Super_R { + action = SetMods(modifiers=Super); + }; + + // Sets the "Hyper" virtual modifier. + + interpret Hyper_L+Any { + //useModMapMods= level1; + virtualModifier= Hyper; + action = SetMods(modifiers=modMapMods); + }; + + interpret Hyper_L { + action = SetMods(modifiers=Hyper); + }; + + interpret Hyper_R+Any { + //useModMapMods= level1; + virtualModifier= Hyper; + action = SetMods(modifiers=modMapMods); + }; + + interpret Hyper_R { + action = SetMods(modifiers=Hyper); + }; + + // Sets the "ScrollLock" virtual modifier and + // makes it actually lock when pressed. Sets + // up a map for the scroll lock indicator. + interpret Scroll_Lock+Any { + virtualModifier= ScrollLock; + action = LockMods(modifiers=modMapMods); + }; + + include "ledscroll" + + include "misc(assign_shift_left_action)" +}; + +partial xkb_compatibility "assign_shift_left_action" { + // Because of the irrevertable modifier mapping in symbols/pc, + // is getting bound to the Lock modifier when using + // symbols/shift(both_capslock), creating unwanted behaviour. + // This is a quirk, to circumvent the problem. + interpret Shift_L { + action = SetMods(modifiers = Shift); + }; +}; diff --git a/xkbdata/compat/mousekeys b/xkbdata/compat/mousekeys new file mode 100644 index 0000000..6b96fbc --- /dev/null +++ b/xkbdata/compat/mousekeys @@ -0,0 +1,201 @@ +// Interpretations for arrow keys and a bunch of +// other common keysyms which make it possible to +// bind "mouse" keys using xmodmap and activate or +// deactivate them from the keyboard. + +default partial xkb_compatibility "mousekeys" { + + // Keypad actions. + + interpret.repeat= True; + + interpret KP_1 { + action = MovePtr(x=-1,y= +1); + }; + interpret KP_End { + action = MovePtr(x=-1,y= +1); + }; + + interpret KP_2 { + action = MovePtr(x=+0,y= +1); + }; + interpret KP_Down { + action = MovePtr(x=+0,y= +1); + }; + + interpret KP_3 { + action = MovePtr(x=+1,y=+1); + }; + interpret KP_Next { + action = MovePtr(x=+1,y=+1); + }; + + interpret KP_4 { + action = MovePtr(x=-1,y=+0); + }; + interpret KP_Left { + action = MovePtr(x=-1,y=+0); + }; + + interpret KP_6 { + action = MovePtr(x=+1,y=+0); + }; + interpret KP_Right { + action = MovePtr(x=+1,y=+0); + }; + + interpret KP_7 { + action = MovePtr(x=-1,y=-1); + }; + interpret KP_Home { + action = MovePtr(x=-1,y=-1); + }; + + interpret KP_8 { + action = MovePtr(x=+0,y=-1); + }; + interpret KP_Up { + action = MovePtr(x=+0,y=-1); + }; + + interpret KP_9 { + action = MovePtr(x=+1,y=-1); + }; + interpret KP_Prior { + action = MovePtr(x=+1,y=-1); + }; + + interpret KP_5 { + action = PointerButton(button=default); + }; + interpret KP_Begin { + action = PointerButton(button=default); + }; + + interpret KP_F2 { + action = SetPtrDflt(affect=defaultButton,button=1); + }; + interpret KP_Divide { + action = SetPtrDflt(affect=defaultButton,button=1); + }; + + interpret KP_F3 { + action = SetPtrDflt(affect=defaultButton,button=2); + }; + interpret KP_Multiply { + action = SetPtrDflt(affect=defaultButton,button=2); + }; + + interpret KP_F4 { + action = SetPtrDflt(affect=defaultButton,button=3); + }; + interpret KP_Subtract { + action = SetPtrDflt(affect=defaultButton,button=3); + }; + + interpret KP_Separator { + action = PointerButton(button=default,count=2); + }; + interpret KP_Add { + action = PointerButton(button=default,count=2); + }; + + interpret KP_0 { + action = LockPointerButton(button=default,affect=lock); + }; + interpret KP_Insert { + action = LockPointerButton(button=default,affect=lock); + }; + + interpret KP_Decimal { + action = LockPointerButton(button=default,affect=unlock); + }; + interpret KP_Delete { + action = LockPointerButton(button=default,affect=unlock); + }; + + // Additional mappings for Solaris keypad compatibility. + + interpret F25 { // aka KP_Divide + action = SetPtrDflt(affect=defaultButton,button=1); + }; + interpret F26 { // aka KP_Multiply + action = SetPtrDflt(affect=defaultButton,button=2); + }; + interpret F27 { // aka KP_Home + action = MovePtr(x=-1,y=-1); + }; + interpret F29 { // aka KP_Prior + action = MovePtr(x=+1,y=-1); + }; + interpret F31 { // aka KP_Begin + action = PointerButton(button=default); + }; + interpret F33 { // aka KP_End + action = MovePtr(x=-1,y= +1); + }; + interpret F35 { // aka KP_Next + action = MovePtr(x=+1,y=+1); + }; + + interpret.repeat= False; + + // New keysym actions. + + interpret Pointer_Button_Dflt { + action= PointerButton(button=default); + }; + interpret Pointer_Button1 { + action= PointerButton(button=1); + }; + interpret Pointer_Button2 { + action= PointerButton(button=2); + }; + interpret Pointer_Button3 { + action= PointerButton(button=3); + }; + interpret Pointer_DblClick_Dflt { + action= PointerButton(button=default,count=2); + }; + interpret Pointer_DblClick1 { + action= PointerButton(button=1,count=2); + }; + interpret Pointer_DblClick2 { + action= PointerButton(button=2,count=2); + }; + interpret Pointer_DblClick3 { + action= PointerButton(button=3,count=2); + }; + interpret Pointer_Drag_Dflt { + action= LockPointerButton(button=default); + }; + interpret Pointer_Drag1 { + action= LockPointerButton(button=1); + }; + interpret Pointer_Drag2 { + action= LockPointerButton(button=2); + }; + interpret Pointer_Drag3 { + action= LockPointerButton(button=3); + }; + + interpret Pointer_EnableKeys { + action= LockControls(controls=MouseKeys); + }; + interpret Pointer_Accelerate { + action= LockControls(controls=MouseKeysAccel); + }; + interpret Pointer_DfltBtnNext { + action= SetPtrDflt(affect=defaultButton,button= +1); + }; + interpret Pointer_DfltBtnPrev { + action= SetPtrDflt(affect=defaultButton,button= -1); + }; + + // Allow an indicator for MouseKeys. + indicator "Mouse Keys" { + //!allowExplicit; + indicatorDrivesKeyboard; + controls= MouseKeys; + }; +}; diff --git a/xkbdata/compat/olpc b/xkbdata/compat/olpc new file mode 100644 index 0000000..747b444 --- /dev/null +++ b/xkbdata/compat/olpc @@ -0,0 +1,51 @@ +// +// Map the OLPC game keys to virtual modifiers. +// +// Created by Bernardo Innocenti +// + +default xkb_compatibility "olpc" { + include "complete" + + virtual_modifiers Square,Cross,Triangle,Circle; + + interpret KP_Home+Any { + //useModMapMods= level1; + virtualModifier= Square; + action = SetMods(modifiers=modMapMods); + }; + + interpret KP_Home { + action = SetMods(modifiers=Square); + }; + + interpret KP_Next+Any { + //useModMapMods= level1; + virtualModifier= Cross; + action = SetMods(modifiers=modMapMods); + }; + + interpret KP_Next { + action = SetMods(modifiers=Cross); + }; + + interpret KP_End+Any { + //useModMapMods= level1; + virtualModifier= Circle; + action = SetMods(modifiers=modMapMods); + }; + + interpret KP_End { + action = SetMods(modifiers=Circle); + }; + + interpret KP_Prior+Any { + //useModMapMods= level1; + virtualModifier= Triangle; + action = SetMods(modifiers=modMapMods); + }; + + interpret KP_Prior { + action = SetMods(modifiers=Triangle); + }; +}; diff --git a/xkbdata/compat/pc b/xkbdata/compat/pc new file mode 100644 index 0000000..f69b54d --- /dev/null +++ b/xkbdata/compat/pc @@ -0,0 +1,17 @@ +default partial xkb_compatibility "pc" { + + // Sets the "Alt" virtual modifier. + + virtual_modifiers Alt; + + setMods.clearLocks= True; + interpret Alt_L+Any { + virtualModifier= Alt; + action = SetMods(modifiers=modMapMods); + }; + + interpret Alt_R+Any { + virtualModifier= Alt; + action = SetMods(modifiers=modMapMods); + }; +}; diff --git a/xkbdata/compat/pc98 b/xkbdata/compat/pc98 new file mode 100644 index 0000000..0abd623 --- /dev/null +++ b/xkbdata/compat/pc98 @@ -0,0 +1,56 @@ +// Minimal set of symbol interpretations to provide +// reasonable default behavior (Num lock, Shift lock, +// and Mode switch) and set up the automatic updating +// of common keyboard LEDs. + +default xkb_compatibility "basic" { + + virtual_modifiers NumLock,AltGr; + + interpret.repeat= False; + setMods.clearLocks= True; + latchMods.clearLocks= True; + latchMods.latchToLock= True; + + interpret Shift_Lock+AnyOf(Shift+Lock) { + action= LockMods(modifiers=Shift); + }; + +// interpret Any+Lock { +// action= LockMods(modifiers=Lock); +// }; + + interpret Num_Lock+Any { + virtualModifier= NumLock; + action= LockMods(modifiers=NumLock); + }; + + interpret Mode_switch { + useModMapMods= level1; + virtualModifier= AltGr; + action= SetGroup(group=2,clearLocks); + }; + + interpret Any + Any { + action= SetMods(modifiers=modMapMods); + }; + + group 2 = AltGr; + group 3 = AltGr; + group 4 = AltGr; + + indicator.allowExplicit= False; + indicator "Caps Lock" { + whichModState= Locked; + modifiers= Lock; + }; + indicator "Num Lock" { + whichModState= Locked; + modifiers= NumLock; + }; + indicator "Shift Lock" { + whichModState= Locked; + modifiers= Shift; + }; + indicator.allowExplicit= True; +}; diff --git a/xkbdata/compat/xfree86 b/xkbdata/compat/xfree86 new file mode 100644 index 0000000..cc43819 --- /dev/null +++ b/xkbdata/compat/xfree86 @@ -0,0 +1,66 @@ +// XFree86 special keysyms. + +default partial xkb_compatibility "basic" { + + interpret.repeat= True; + + interpret XF86_Switch_VT_1 { + action = SwitchScreen(Screen=1, !SameServer); + }; + interpret XF86_Switch_VT_2 { + action = SwitchScreen(Screen=2, !SameServer); + }; + interpret XF86_Switch_VT_3 { + action = SwitchScreen(Screen=3, !SameServer); + }; + interpret XF86_Switch_VT_4 { + action = SwitchScreen(Screen=4, !SameServer); + }; + interpret XF86_Switch_VT_5 { + action = SwitchScreen(Screen=5, !SameServer); + }; + interpret XF86_Switch_VT_6 { + action = SwitchScreen(Screen=6, !SameServer); + }; + interpret XF86_Switch_VT_7 { + action = SwitchScreen(Screen=7, !SameServer); + }; + interpret XF86_Switch_VT_8 { + action = SwitchScreen(Screen=8, !SameServer); + }; + interpret XF86_Switch_VT_9 { + action = SwitchScreen(Screen=9, !SameServer); + }; + interpret XF86_Switch_VT_10 { + action = SwitchScreen(Screen=10, !SameServer); + }; + interpret XF86_Switch_VT_11 { + action = SwitchScreen(Screen=11, !SameServer); + }; + interpret XF86_Switch_VT_12 { + action = SwitchScreen(Screen=12, !SameServer); + }; + + interpret XF86LogGrabInfo { + action = Private(type=0x86, data="PrGrbs"); + }; + interpret XF86LogWindowTree { + action = Private(type=0x86, data="PrWins"); + }; + + interpret XF86_Next_VMode { + action = Private(type=0x86, data="+VMode"); + }; + interpret XF86_Prev_VMode { + action = Private(type=0x86, data="-VMode"); + }; +}; + +partial xkb_compatibility "grab_break" { + interpret XF86_Ungrab { + action = Private(type=0x86, data="Ungrab"); + }; + interpret XF86_ClearGrab { + action = Private(type=0x86, data="ClsGrb"); + }; +}; diff --git a/xkbdata/compat/xtest b/xkbdata/compat/xtest new file mode 100644 index 0000000..f2ca643 --- /dev/null +++ b/xkbdata/compat/xtest @@ -0,0 +1,56 @@ +default xkb_compatibility "xtest" { + + // Minimal set of symbol interpretations to provide + // reasonable behavior for testing. + // The X Test Suite assumes that it can set any modifier + // by simulating a KeyPress and clear it by simulating a + // KeyRelease. Because of the way that XKB implements + // locking/latching modifiers, this approach fails in + // some cases (typically the Lock or NumLock modifiers). + // These symbol interpretations make all modifier keys + // just set the corresponding modifier so that xtest + // will see the behavior it expects. + + virtual_modifiers NumLock,AltGr; + + interpret.repeat= False; + setMods.clearLocks= True; + latchMods.clearLocks= True; + latchMods.latchToLock= False; + + interpret Shift_Lock+AnyOf(Shift+Lock) { + action= SetMods(modifiers=Shift); + }; + + interpret Num_Lock+Any { + virtualModifier= NumLock; + action= SetMods(modifiers=NumLock); + }; + + interpret Mode_switch { + useModMapMods= level1; + virtualModifier= AltGr; + action= SetGroup(group=2); + }; + + interpret Any + Any { + action= SetMods(modifiers=modMapMods); + }; + + group 2 = AltGr; + group 3 = AltGr; + group 4 = AltGr; + + indicator.allowExplicit= False; + indicator "Caps Lock" { + modifiers= Lock; + }; + indicator "Num Lock" { + modifiers= NumLock; + }; + indicator "Shift Lock" { + whichModState= Locked; + modifiers= Shift; + }; + indicator.allowExplicit= True; +}; diff --git a/xkbdata/geometry.dir b/xkbdata/geometry.dir new file mode 100644 index 0000000..91a29b2 --- /dev/null +++ b/xkbdata/geometry.dir @@ -0,0 +1,90 @@ +-d------ -------- amiga(usa1) +-------- -------- amiga(de) +-d------ -------- ataritt(us) +-------- -------- ataritt(de) +-d------ -------- chicony(us) +-d------ -------- dell(dell101) +-------- -------- dell(dell65) +-------- -------- dell(dell65x) +-------- -------- dell(dellm65) +-------- -------- dell(latitude) +--p----- -------- digital_vndr/pc(common) +--p----- -------- digital_vndr/pc(leds_on_keys) +--p----- -------- digital_vndr/pc(leds_alone) +-------- -------- digital_vndr/pc(pc101) +-------- -------- digital_vndr/pc(pc102) +-------- -------- digital_vndr/pc(pcxaj) +-d------ -------- everex(STEPnote) +-d------ -------- fujitsu(138) +-------- -------- fujitsu(140) +-d------ -------- hhk(win1) +-------- -------- hhk(win2) +-------- -------- hhk(win3) +-------- -------- hhk(win4) +-------- -------- hhk(jp1) +-------- -------- hhk(jp2) +-------- -------- hhk(jp3) +-------- -------- hhk(jp4) +h-p----- -------- hhk(basic) +-d------ -------- hp(pc101) +-------- -------- hp(hil) +-------- -------- hp(omnibook) +-------- -------- hp(omnibook_intl) +-------- -------- hp(mini110) +-------- -------- hp(dv5) +-d------ -------- keytronic(FlexPro) +-d------ -------- kinesis(model100) +-d------ -------- macintosh(macintosh) +-------- -------- macintosh(applepro) +-------- -------- macintosh(macbook78) +-------- -------- macintosh(macbook79) +-------- -------- macintosh(applealu_ansi) +-------- -------- macintosh(applealu_iso) +-------- -------- macintosh(applealu_jis) +-d------ -------- microsoft(natural) +-------- -------- microsoft(elite) +-d------ -------- nec(pc98) +-d------ -------- nokia(nokiarx51) +-d------ -------- northgate(omnikey101) +-d------ -------- pc(pc101) +-------- -------- pc(pc102) +-------- -------- pc(pc104) +-------- -------- pc(pc105) +-------- -------- pc(pc86) +-------- -------- pc(pc104alt) +-d------ -------- sanwa(sanwaskbkg3) +-d------ -------- sony(nwp5461) +-d------ -------- steelseries(apex300) +-------- -------- sun(t6) +-------- -------- sun(t6tuv) +-------- -------- sun(t6jp) +-------- -------- sun(t6unix) +-d------ -------- sun(type6) +-------- -------- sun(type6jp) +-------- -------- sun(type6tuv) +-------- -------- sun(type6unix) +-------- -------- sun(type7) +-------- -------- sun(type7jp) +-------- -------- sun(type7tuv) +-------- -------- sun(type7unix) +-d------ -------- teck(teck227) +-------- -------- teck(teck229) +-------- -------- thinkpad(common) +-------- -------- thinkpad(us) +-------- -------- thinkpad(intl) +-------- -------- thinkpad(60) +-------- -------- typematrix(tm2020) +-------- -------- typematrix(tm2030_shape) +-------- -------- typematrix(tm2030_MiscDiod_dvk) +-------- -------- typematrix(tm2030_MiscDiod_102) +-------- -------- typematrix(tm2030_MiscDiod_106) +-------- -------- typematrix(tm2030_MiscDiod_off) +-------- -------- typematrix(tm2030_MiscDiod_on) +-------- -------- typematrix(tm2030USB_func) +-------- -------- typematrix(tm2030USB_alpha) +-------- -------- typematrix(tm2030USB_ctrl) +-------- -------- typematrix(tm2030PS2) +-------- -------- typematrix(tm2030USB) +-------- -------- typematrix(tm2030USB-102) +-------- -------- typematrix(tm2030USB-106) +-d------ -------- winbook(XP5) diff --git a/xkbdata/geometry/README b/xkbdata/geometry/README new file mode 100644 index 0000000..5f4dcc7 --- /dev/null +++ b/xkbdata/geometry/README @@ -0,0 +1,6 @@ +The geometry component of a keyboard mapping specifies primarily the geometry of +the keyboard. It contains the geometry symbolic name and the keyboard geometry +description. The geometry component might also contain aliases for some keys or +symbolic names for some indicators and might affect the set of indicators that +are physically present. Key aliases defined in the geometry component of a +keyboard mapping override those defined in the keycodes component. diff --git a/xkbdata/geometry/amiga b/xkbdata/geometry/amiga new file mode 100644 index 0000000..9c5f65e --- /dev/null +++ b/xkbdata/geometry/amiga @@ -0,0 +1,264 @@ +default xkb_geometry "usa1" { + + description= "Amiga (usa1)"; + width= 490; + height= 175; + + shape.cornerRadius= 1; + shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } }; + shape "BKSP" { { [ 18,18] }, { [2,1], [ 16,17] } }; + shape "FCTS" { { [ 23,18] }, { [2,1], [ 21,17] } }; + shape "TLDE" { { [ 28,18] }, { [2,1], [ 21,17] } }; + shape "TABK" { { [ 37,18] }, { [2,1], [ 35,17] } }; + shape "CTRL" { { [ 23,18] }, { [2,1], [ 21,17] } }; + shape "CAPS" { { [ 18,18] }, { [2,1], [ 16,17] } }; + shape "RTRN" { + approx = { [ 16, 0], [42,37] }, + { [16, 0], [42, 0], [42,37], + [ 0,37], [ 0,19], [16,19] }, + { [18, 1], [40, 1], [40,36], + [ 2,36], [ 2,20], [18,20] } }; + shape "LFSH" { { [ 52,18] }, { [2,1], [ 50,17] } }; + shape "RTSH" { { [ 52,18] }, { [2,1], [ 50,17] } }; + shape "MODK" { { [ 23,18] }, { [2,1], [ 21,17] } }; + shape "SPCE" { { [172,18] }, { [2,1], [170,17] } }; + shape "DELE" { { [ 28,18] }, { [2,1], [ 26,17] } }; + shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } }; + shape "KPEN" { { [ 18,37] }, { [2,1], [ 16,36] } }; + + section.left= 22; + row.left= 1; + key.shape= "FCTS"; + key.gap= 1; + section "Function" { + top= 28; + row { + top= 1; + keys { { , shape="NORM" }, + { , 9 }, , , , , + { , 9 }, , , , + }; + }; + }; // End of "Function" section + + key.shape= "NORM"; + section "Alpha" { + top= 56; + row { + top= 1; + keys { { , shape="TLDE" }, + , , , , , , + , , , , , , + , { , "BKSP" } + }; + }; + row { + top= 20; + keys { { , "TABK" }, + , , , , , + , , , , , + , , { , "RTRN", -15 } + }; + }; + row { + top= 39; + keys { { , "CTRL" }, { , "CAPS" }, + , , , , , + , , , , , + + }; + }; + row { + top= 58; + keys { { , "LFSH" }, + , , , , , + , , , , , + { , "RTSH" } + }; + }; + row { + top= 77; + key.shape= "MODK"; + keys { { , 10 }, , + { , "SPCE" }, + , + }; + }; + }; // End of "Alpha" section + + section "Editing" { + top= 56; + left= 326; + row { + top= 1; + key.shape = "DELE"; + keys { , }; + }; + row { + top= 39; + left = 20; + keys { }; + }; + row { + top= 58; + keys { , , }; + }; + }; // End of "Editing" section + + section "Keypad" { + top= 56; + left= 392; + row { + top= 1; + keys { , , , }; + }; + row { + top= 20; + keys { , , , }; + }; + row { + top= 39; + keys { , , , }; + }; + row { + top= 58; + keys { , , , { , "KPEN" } }; + }; + row { + top= 77; + keys { { , "KP0" }, }; + }; + }; // End of "Keypad" section + +}; + +xkb_geometry "de" { + + description= "Amiga (de)"; + width= 490; + height= 175; + + shape.cornerRadius= 1; + shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } }; + shape "BKSP" { { [ 18,18] }, { [2,1], [ 16,17] } }; + shape "FCTS" { { [ 23,18] }, { [2,1], [ 21,17] } }; + shape "TLDE" { { [ 28,18] }, { [2,1], [ 26,17] } }; + shape "TABK" { { [ 37,18] }, { [2,1], [ 35,17] } }; + shape "CTRL" { { [ 23,18] }, { [2,1], [ 21,17] } }; + shape "CAPS" { { [ 18,18] }, { [2,1], [ 16,17] } }; + shape "RTRN" { + { [ 0, 0], [28,0], [28,37], [5,37], [5,18], [ 0,18] }, + { [ 2, 1], [26,1], [26,36], [7,36], [7,17], [ 2,17] } }; + shape "LFSH" { { [ 32,18] }, { [2,1], [ 29,17] } }; + shape "RTSH" { { [ 52,18] }, { [2,1], [ 50,17] } }; + shape "MODK" { { [ 23,18] }, { [2,1], [ 21,17] } }; + shape "SPCE" { { [172,18] }, { [2,1], [170,17] } }; + shape "DELE" { { [ 28,18] }, { [2,1], [ 26,17] } }; + shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } }; + shape "KPEN" { { [ 18,37] }, { [2,1], [ 16,36] } }; + + section.left= 22; + row.left= 1; + key.shape= "FCTS"; + key.gap= 1; + section "Function" { + top= 28; + row { + top= 1; + keys { { , shape="NORM" }, + { , 9 }, , , , , + { , 9 }, , , , + }; + }; + }; // End of "Function" section + + key.shape= "NORM"; + section "Alpha" { + top= 56; + row { + top= 1; + keys { { , shape="TLDE" }, + , , , , , , + , , , , , , + , { , "BKSP" } + }; + }; + row { + top= 20; + keys { { , "TABK" }, + , , , , , + , , , , , + , , { , "RTRN" } + }; + }; + row { + top= 39; + keys { { , "CTRL" }, { , "CAPS" }, + , , , , , + , , , , , + , + }; + }; + row { + top= 58; + keys { { , "LFSH" }, + , , , , , , + , , , , , + { , "RTSH" } + }; + }; + row { + top= 77; + key.shape= "MODK"; + keys { { , 14 }, , + { , "SPCE" }, + , + }; + }; + }; // End of "Alpha" section + + section "Editing" { + top= 56; + left= 326; + row { + top= 1; + key.shape = "DELE"; + keys { , }; + }; + row { + top= 39; + left = 20; + keys { }; + }; + row { + top= 58; + keys { , , }; + }; + }; // End of "Editing" section + + section "Keypad" { + top= 56; + left= 392; + row { + top= 1; + keys { , , , }; + }; + row { + top= 20; + keys { , , , }; + }; + row { + top= 39; + keys { , , , }; + }; + row { + top= 58; + keys { , , , { , "KPEN" } }; + }; + row { + top= 77; + keys { { , "KP0" }, }; + }; + }; // End of "Keypad" section + +}; diff --git a/xkbdata/geometry/ataritt b/xkbdata/geometry/ataritt new file mode 100644 index 0000000..06a681d --- /dev/null +++ b/xkbdata/geometry/ataritt @@ -0,0 +1,251 @@ +default xkb_geometry "us" { + + description= "Atari TT (us)"; + width= 480; + height= 173; + + shape.cornerRadius= 1; + shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } }; + shape "BKSP" { { [ 37,18] }, { [2,1], [ 35,17] } }; + shape "TABK" { { [ 28,18] }, { [2,1], [ 26,17] } }; + shape "RTRN" { approx = { [0,19], [32,37] }, + { [ 14, 0], [32, 0], [32,37], [0,37], [0,19], [14,19] }, + { [ 16, 1], [30, 1], [30,36], [2,36], [2,20], [16,20] } }; + shape "CTRL" { { [ 32,18] }, { [2,1], [ 30,17] } }; + shape "LFSH" { { [ 42,18] }, { [2,1], [ 40,17] } }; + shape "RTSH" { { [ 52,18] }, { [2,1], [ 50,17] } }; + shape "MODK" { { [ 28,18] }, { [2,1], [ 26,17] } }; + shape "SPCE" { { [172,18] }, { [2,1], [170,17] } }; + shape "FCTS" { { [ 28,10] }, { [2,1], [ 26,9] } }; + shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } }; + shape "KPEN" { { [ 18,37] }, { [2,1], [ 16,36] } }; + + section.left= 21; + row.left= 1; + key.shape = "NORM"; + key.gap= 1; + section "Function" { + top= 36; + key.shape= "FCTS"; + row { + top= 1; + keys { , , , , + , , , , + , + }; + }; + }; // End of "Function" section + + section "Alpha" { + top= 63; + row { + top= 1; + keys { , , , , , + , , , , , + , , , , + { , "BKSP" } + }; + }; + row { + top= 20; + keys { { , "TABK" }, + , , , , , + , , , , , + , , { , "RTRN", -13 }, + }; + }; + row { + top= 39; + keys { { , "CTRL" }, + , , , , , + , , , , , + , { , 34 } + }; + }; + row { + top= 58; + keys { { , "LFSH" }, + , , , , , + , , , , , + { , "RTSH" } + }; + }; + row { + top= 77; + key.shape= "MODK"; + keys { { , 24 }, + { , "SPCE" }, + + }; + }; + }; // End of "Alpha" section + + section "Editing" { + top= 63; + left= 319; + row { + top= 1; + key.shape = "BKSP"; + keys { , }; + }; + row { + top= 20; + keys { , , }; + }; + row { + top= 39; + keys { , , }; + }; + }; // End of "Editing" section + + section "Keypad" { + top= 63; + left= 381; + row { + top= 1; + keys { , , , }; + }; + row { + top= 20; + keys { , , , }; + }; + row { + top= 39; + keys { , , , }; + }; + row { + top= 58; + keys { , , , { , "KPEN" } }; + }; + row { + top= 77; + keys { { , "KP0" }, }; + }; + }; // End of "Keypad" section + +}; + +xkb_geometry "de" { + + description= "Atari TT (de)"; + width= 480; + height= 173; + + shape.cornerRadius= 1; + shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } }; + shape "BKSP" { { [ 27,18] }, { [2,1], [ 25,17] } }; + shape "TABK" { { [ 27,18] }, { [2,1], [ 25,17] } }; + shape "RTRN" { approx = { [0,19], [32,37] }, + { [ 14, 0], [32, 0], [32,37], [0,37], [0,19], [14,19] }, + { [ 16, 1], [30, 1], [30,36], [2,36], [2,20], [16,20] } }; + shape "CTRL" { { [ 32,18] }, { [2,1], [ 30,17] } }; + shape "LFSH" { { [ 23,18] }, { [2,1], [ 21,17] } }; + shape "RTSH" { { [ 28,18] }, { [2,1], [ 26,17] } }; + shape "MODK" { { [ 28,18] }, { [2,1], [ 26,17] } }; + shape "SPCE" { { [170,18] }, { [2,1], [168,17] } }; + shape "FCTS" { { [ 28,11] }, { [2,1], [ 26,10] } }; + shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } }; + shape "KPEN" { { [ 18,37] }, { [2,1], [ 16,36] } }; + + section.left= 21; + row.left= 1; + key.shape = "NORM"; + key.gap= 1; + section "Function" { + top= 36; + key.shape= "FCTS"; + row { + top= 1; + keys { , , , , + , , , , + , + }; + }; + }; // End of "Function" section + + section "Alpha" { + top= 63; + row { + top= 1; + keys { , , , , , + , , , , , + , , , , + { , "BKSP" } + }; + }; + row { + top= 20; + keys { { , "TABK" }, + , , , , , + , , , , , + , , { , "RTRN", -13 }, + }; + }; + row { + top= 39; + keys { { , "CTRL" }, + , , , , , + , , , , , + , { , 34 } + }; + }; + row { + top= 58; + keys { { , "LFSH" }, , + , , , , + , , , , , , + { , "RTSH" } + }; + }; + row { + top= 77; + key.shape= "MODK"; + keys { { , 24 }, { , "SPCE" }, + }; + }; + }; // End of "Alpha" section + + section "Editing" { + top= 63; + left= 319; + row { + top= 1; + key.shape = "BKSP"; + keys { , }; + }; + row { + top= 20; + keys { , , }; + }; + row { + top= 39; + keys { , , }; + }; + }; // End of "Editing" section + + section "Keypad" { + top= 63; + left= 381; + row { + top= 1; + keys { , , , }; + }; + row { + top= 20; + keys { , , , }; + }; + row { + top= 39; + keys { , , , }; + }; + row { + top= 58; + keys { , , , { , "KPEN" } }; + }; + row { + top= 77; + keys { { , "KP0" }, }; + }; + }; // End of "Keypad" section + +}; diff --git a/xkbdata/geometry/chicony b/xkbdata/geometry/chicony new file mode 100644 index 0000000..75bce8d --- /dev/null +++ b/xkbdata/geometry/chicony @@ -0,0 +1,189 @@ +// -*- indent-tabs-mode: nil -*- + +// Created by Alexander Pohoyda +// Geometry specification for Chicony KB-9820 keyboard. + +// 86 keys +default xkb_geometry "us" { + description = "Chicony KB-9820 infra-red keyboard"; + width = 350; + height = 180; + //baseColor = "grey60"; + labelColor = "white"; + + shape "EDGE" { cornerRadius = 25, + { [0, 8], [142.5, 0], [202.5, 0], [347, 8], + [347, 60], [327, 100], [322, 160], + [202.5, 165], [142.5, 165], + [25, 160], [20, 100], [0, 60] } }; + shape "KEYS" { cornerRadius = 2, { [271, 109] } }; + shape "MOUS" { cornerRadius = 12, { [24, 24] } }; + shape "MOUS2" { cornerRadius = 9, { [18, 18] } }; + shape "BTNS" { cornerRadius = 5, { [10, 10] } }; + + solid "Edges" { + top = 0; + left = 0; + shape = "EDGE"; + color = "grey60"; + }; + + solid "KeyPanel" { + shape = "KEYS"; + left = 38; + top = 22; + color = "black"; + }; + + solid "Mouse" { + shape = "MOUS"; + left = 315; + top = 30; + color = "grey30"; + }; + + outline "Mouse2" { + shape = "MOUS2"; + left = 318; + top = 33; + color = "black"; + }; + + solid "Button1" { + shape = "BTNS"; + left = 10; + top = 32; + color = "grey30"; + }; + + solid "Button2" { + shape = "BTNS"; + left = 20; + top = 42; + color = "grey30"; + }; + + outline "Buttons" { + shape = "MOUS"; + left = 8; + top = 30; + color = "black"; + }; + + shape.cornerRadius = 1; + shape "ESC" { { [17, 12] }, { [1.5, 0], [15.5, 10] } }; + shape "SMALL" { { [15, 12] }, { [1.5, 0], [13.5, 10] } }; + shape "THIN" { { [14, 18] }, { [2, 0], [12, 15] } }; + shape "NARR" { { [16, 18] }, { [2, 0], [14, 15] } }; + shape "NORM" { { [17, 18] }, { [2, 0], [15, 15] } }; + shape "WIDER" { { [18, 18] }, { [2, 0], [16, 15] } }; + shape "CAPS" { { [22, 18] }, { [2, 0], [20, 15] } }; + shape "RTSH" { { [23, 18] }, { [2, 0], [21, 15] } }; + shape "WIDEST" { { [30, 18] }, { [2, 0], [28, 15] } }; + shape "SPCE" { { [68, 18] }, { [2, 0], [66, 15] } }; + + section "Function" { + key.shape = "SMALL"; + key.gap = 0.79; + key.color = "grey60"; + left = 38; + top = 22; + row { + top = 1; + keys { { , shape="ESC", 1 }, + { , 1.5 }, , , , + , , , , + , , , , + , , , + }; + }; + }; // End of "Function" section + + section "Control" { + key.shape = "NORM"; + key.gap = 1; + key.color = "grey60"; + left = 38; + top = 111; + row { + top = 1; + keys { , , , , + { , shape="SPCE" }, + , + { , shape="THIN" }, + { , shape="THIN" }, + { , shape="THIN" }, + { , shape="THIN" } }; + }; + }; // End of "Control" section + + section "Editing" { + key.shape = "NORM"; + key.gap = 1; + key.color = "grey60"; + left = 291; + top = 34; + row.vertical = True; + row { + top = 1; + keys { , , , }; + }; + }; // End of "Editing" section + + section "Navigation" { + key.gap = 1; + key.shape = "NARR"; + key.color = "grey60"; + left = 257; + top = 92; + row { + left = 16; + top = 1; + keys { }; + }; + row { + top = 20; + keys { , , }; + }; + }; // End of "Navigation" section + + section "Alpha" { + key.gap = 1; + key.shape = "NORM"; + key.color = "grey60"; + left = 38; + top = 35; + row { + top = 1; + keys { { , shape="NARR" }, + , , , , + , , , , , + , , , { , shape="WIDER" } + }; + }; + row { + top = 20; + keys { , + , , , , , + , , , , , + , , + }; + }; + row { + top = 39; + keys { { , shape="CAPS" }, + , , , , , + , , , , , + , { , shape="WIDEST" } + }; + }; + row { + top = 58; + keys { { , shape="WIDEST" }, + , , , , , + , , , , , + { , shape="RTSH" } + }; + }; + }; // End of "Alpha" section +}; diff --git a/xkbdata/geometry/dell b/xkbdata/geometry/dell new file mode 100644 index 0000000..501fdca --- /dev/null +++ b/xkbdata/geometry/dell @@ -0,0 +1,644 @@ +// +//Copyright 1996, 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. +// +default xkb_geometry "dell101" { + + description= "Dell 101"; + width= 470; + height= 210; + + shape.cornerRadius= 1; + shape "NORM" { { [ 18,18] }, { [2,1], [ 16,16] } }; + shape "BKSP" { { [ 38,18] }, { [2,1], [ 36,16] } }; + shape "TABK" { { [ 28,18] }, { [2,1], [ 26,16] } }; + shape "BKSL" { { [ 28,18] }, { [2,1], [ 26,16] } }; + shape "RTRN" { { [ 42,18] }, { [2,1], [ 40,16] } }; + shape "CAPS" { { [ 33,18] }, { [ 28,18] }, { [2,1], [ 26,16] } }; + shape "LFSH" { { [ 42,18] }, { [2,1], [ 40,16] } }; + shape "RTSH" { { [ 52,18] }, { [2,1], [ 50,16] } }; + shape "MODK" { { [ 27,18] }, { [2,1], [ 25,16] } }; + shape "SPCE" { { [133,18] }, { [2,1], [131,16] } }; + shape "KP0" { { [ 37,18] }, { [2,1], [ 35,16] } }; + shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,35] } }; + + shape "LEDS" { cornerRadius= 0, { [ 75 ,20 ] } }; + shape "LED" { cornerRadius= 0, { [ 5, 1 ] } }; + solid "LedPanel" { + shape= "LEDS"; + top= 52; + left= 377; + color= "grey10"; + }; + + indicator.onColor= "green"; + indicator.offColor= "green30"; + indicator.top= 67; + indicator.shape= "LED"; + indicator "Num Lock" { left= 382; }; + indicator "Caps Lock" { left= 407; }; + indicator "Scroll Lock" { left= 433; }; + text.top= 55; + text.color= "black"; + text "NumLockLabel" { left= 378; text="Num\nLock"; }; + text "CapsLockLabel" { left= 403; text="Caps\nLock"; }; + text "ScrollLockLabel" { left= 428; text="Scroll\nLock"; }; + + section.left= 19; + row.left= 1; + key.shape= "NORM"; + key.gap= 1; + section "Function" { + top= 52; + row { + top= 1; + keys { { , color="grey20" }, + { , 20 }, , , , + { , 11 }, , , , + { , 11 }, , , , + { , 8 }, , + }; + }; + }; // End of "Function" section + + section "Alpha" { + top= 91; + row { + top= 1; + keys { , , , , , + , , , , , + , , , + { , "BKSP", color="grey20" } + }; + }; + row { + top= 20; + keys { { , "TABK", color="grey20" }, + , , , , , + , , , , , + , , { , "BKSL" } + }; + }; + row { + top= 39; + keys { { , "CAPS", color="grey20" }, + , , , , , + , , , , , + , { , "RTRN", color="grey20" } + }; + }; + row { + top= 58; + keys { { , "LFSH", color="grey20" }, + , , , , , + , , , , , + { , "RTSH", color="grey20" } + }; + }; + row { + top= 77; + key.shape= "MODK"; + key.color= "grey20"; + keys { , { , 21 }, + { , "SPCE", color="white" }, + , { , 21 } + }; + }; + }; // End of "Alpha" section + + section "Editing" { + top= 91; + left= 312; + key.color= "grey20"; + row { + top= 1; + keys { , , }; + }; + row { + top= 20; + keys { , , }; + }; + row { + top= 58; + left= 20; + keys { }; + }; + row { + top= 77; + keys { , , }; + }; + }; // End of "Editing" section + + section "Keypad" { + top= 91; + left= 376; + row { + top= 1; + key.color= "grey20"; + keys { , , , }; + }; + row { + top= 20; + keys { , , , { , "KPAD", color="grey20" } }; + }; + row { + top= 39; + keys { , , }; + }; + row { + top= 58; + keys { , , , { , "KPAD", color="grey20" } }; + }; + row { + top= 77; + keys { { , "KP0" }, }; + }; + }; // End of "Keypad" section + + alias = ; + alias = ; + +}; // End of "default" geometry + + +xkb_geometry "dell65" { +}; + +xkb_geometry "dell65x" { + + description= "Dell 101"; + width= 470; + height= 210; + color="grey10"; + + shape.cornerRadius= 1; + shape "NORM" { { [ 18,18] }, { [2,1], [ 16,16] } }; + shape "BKSP" { { [ 38,18] }, { [2,1], [ 36,16] } }; + shape "TABK" { { [ 28,18] }, { [2,1], [ 26,16] } }; + shape "BKSL" { { [ 28,18] }, { [2,1], [ 26,16] } }; + shape "RTRN" { { [ 42,18] }, { [2,1], [ 40,16] } }; + shape "CAPS" { { [ 33,18] }, { [ 28,18] }, { [2,1], [ 26,16] } }; + shape "LFSH" { { [ 42,18] }, { [2,1], [ 40,16] } }; + shape "RTSH" { { [ 52,18] }, { [2,1], [ 50,16] } }; + shape "MODK" { { [ 27,18] }, { [2,1], [ 25,16] } }; + shape "SPCE" { { [133,18] }, { [2,1], [131,16] } }; + shape "KP0" { { [ 37,18] }, { [2,1], [ 35,16] } }; + shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,35] } }; + + shape "LEDS" { cornerRadius= 0, { [ 75 ,20 ] } }; + shape "LED" { cornerRadius= 0, { [ 5, 1 ] } }; + solid "LedPanel" { + shape= "LEDS"; + top= 52; + left= 377; + color= "grey10"; + }; + + shape "BACKGROUND" { cornerRadius=5, { [ 470, 210 ] } }; + solid "Background" { + shape= "BACKGROUND"; + top= 0; + left= 0; + color= "grey10"; + }; + + indicator.onColor= "green"; + indicator.offColor= "green30"; + indicator.top= 67; + indicator.shape= "LED"; + indicator "Num Lock" { left= 382; }; + indicator "Caps Lock" { left= 407; }; + indicator "Scroll Lock" { left= 433; }; + text.top= 55; + text.color= "black"; + text "NumLockLabel" { left= 378; text="Num\nLock"; }; + text "CapsLockLabel" { left= 403; text="Caps\nLock"; }; + text "ScrollLockLabel" { left= 428; text="Scroll\nLock"; }; + + section.left= 19; + row.left= 1; + key.shape= "NORM"; + key.gap= 1; + section "Function" { + top= 52; + row { + top= 1; + keys { { , color="grey20" }, + { , 20 }, , , , + { , 11 }, , , , + { , 11 }, , , , + { , 8 }, , + }; + }; + }; // End of "Function" section + + section "Alpha" { + top= 91; + row { + top= 1; + keys { , , , , , + , , , , , + , , , + { , "BKSP", color="grey20" } + }; + }; + row { + top= 20; + keys { { , "TABK", color="grey20" }, + , , , , , + , , , , , + , , { , "BKSL" } + }; + }; + row { + top= 39; + keys { { , "CAPS", color="grey20" }, + , , , , , + , , , , , + , { , "RTRN", color="grey20" } + }; + }; + row { + top= 58; + keys { { , "LFSH", color="grey20" }, + , , , , , + , , , , , + { , "RTSH", color="grey20" } + }; + }; + row { + top= 77; + key.shape= "MODK"; + key.color= "grey20"; + keys { , { , 21 }, + { , "SPCE", color="white" }, + , { , 21 } + }; + }; + }; // End of "Alpha" section + + section "Editing" { + top= 91; + left= 312; + key.color= "grey20"; + row { + top= 1; + keys { , , }; + }; + row { + top= 20; + keys { , , }; + }; + row { + top= 58; + left= 20; + keys { }; + }; + row { + top= 77; + keys { , , }; + }; + }; // End of "Editing" section + + section "Keypad" { + top= 91; + left= 376; + row { + top= 1; + key.color= "grey20"; + keys { , , , }; + }; + row { + top= 20; + keys { , , , { , "KPAD", color="grey20" } }; + }; + row { + top= 39; + keys { , , }; + }; + row { + top= 58; + keys { , , , { , "KPAD", color="grey20" } }; + }; + row { + top= 77; + keys { { , "KP0" }, }; + }; + }; // End of "Keypad" section + + alias = ; + alias = ; + +}; + + +// +// Dell Precision M65 laptop +// + +xkb_geometry "dellm65" { + + description= "Dell Precision M65 laptop"; + width= 308; + height= 152; + baseColor = "grey20"; + labelColor = "white"; + + shape "BACKGROUND" { cornerRadius = 3, { [ 308, 152 ] } }; + shape "BACKGROUND2" { cornerRadius = 2, { [ 7, 22 ], + [ 171, 22 ], + [ 171, 10 ], + [ 301, 10 ], + [ 301, 148 ], + [ 244, 148 ], + [ 244, 132 ], + [ 7, 132] } }; + solid "Background" { + shape = "BACKGROUND"; + top = 0; + left = 0; + color = "grey20"; + }; + solid "Background2" { + shape = "BACKGROUND2"; + top = 0; + left = 0; + color = "black"; + }; + + shape "LEDS" { cornerRadius = 4, { [ 26, 8 ] } }; + shape "LED" { cornerRadius = 0, { [ 4, 4 ] } }; + solid "LedPanel" { + shape = "LEDS"; + top = 8; + left = 69; + color = "grey20"; + }; + + indicator.onColor= "green"; + indicator.offColor= "gray20"; + indicator.top= 10; + indicator.shape= "LED"; + indicator "Num Lock" { left= 72; }; + indicator "Caps Lock" { left= 80; }; + indicator "Scroll Lock" { left= 88; }; + + shape "MEDIA" { cornerRadius = 5, { [ 2, 2], [ 12, 12 ] } }; + shape "POWER" { cornerRadius = 7, { [ 14, 14 ] } }; + + section "Media" { + top = 5; + left = 102; + width = 60; + height = 14; + key.color="grey30"; + key.shape = "MEDIA"; + row { + top = 0; + keys { + , , , { , shape = "POWER", gap = 3 } + }; + }; + }; + + + shape "FKEY" { cornerRadius = 1, { [ 18, 12 ] }, { [ 1, 1 ], [ 17, 10 ] } }; + + section "Function" { + top = 12; + left = 8; + width = 290; + height = 24; + key.color = "grey80"; + key.shape = "FKEY"; + key.gap = 0; + row { + top = 0; + keys { { , 165 }, , , , + { , 1 }, , }; + }; + row { + top = 12; + keys { , { , 1 }, , , , + { , 1 }, , , , + { , 1 }, , , , + { , 1 }, , }; + }; + }; + + shape "AKEY" { cornerRadius = 1, { [ 19, 19 ] }, { [ 2, 1 ], [ 17, 15 ] } }; + shape "BKSP" { cornerRadius = 1, { [ 44, 19 ] }, { [ 2, 1 ], [ 42, 15 ] } }; + shape "TABK" { cornerRadius = 1, { [ 31, 19 ] }, { [ 2, 1 ], [ 29, 15 ] } }; + shape "BKSL" { cornerRadius = 1, { [ 31, 19 ] }, { [ 2, 1 ], [ 29, 15 ] } }; + shape "CAPS" { cornerRadius = 1, { [ 34, 19 ] }, { [ 2, 1 ], [ 32, 15 ] } }; + shape "RTRN" { cornerRadius = 1, { [ 47, 19 ] }, { [ 2, 1 ], [ 45, 15 ] } }; + shape "LFSH" { cornerRadius = 1, { [ 44, 19 ] }, { [ 2, 1 ], [ 42, 15 ] } }; + shape "RTSH" { cornerRadius = 1, { [ 56, 19 ] }, { [ 2, 1 ], [ 54, 15 ] } }; + shape "LCTL" { cornerRadius = 1, { [ 31, 19 ] }, { [ 2, 1 ], [ 29, 15 ] } }; + shape "LALT" { cornerRadius = 1, { [ 25, 19 ] }, { [ 2, 1 ], [ 23, 15 ] } }; + shape "RCTL" { cornerRadius = 1, { [ 25, 19 ] }, { [ 2, 1 ], [ 23, 15 ] } }; + shape "SPCE" { cornerRadius = 1, { [ 96, 19 ] }, { [ 2, 1 ], [ 94, 15 ] } }; + + + section "Alpha" { + top = 36; + left = 8; + width = 290; + height = 21; + key.color = "grey80"; + key.shape = "AKEY"; + key.gap = 0; + row { + top = 1; + keys { , , , , , + , , , , , + , , , { , 1, "BKSP" } }; + }; + row { + top = 20; + keys { { , "TABK" }, + { , 1 }, , , , , + , , , , , + , , { , 1, "BKSL" } }; + }; + row { + top = 39; + keys { { , "CAPS" }, + { , 1 }, , , , , + , , , , , + , { , 1, "RTRN" } }; + }; + row { + top = 58; + keys { { , "LFSH" }, + { , 1 }, , , , , + , , , , , + { , 1, "RTSH" } }; + }; + row { + top = 77; + keys { { , "LCTL" }, { , 20 }, { , "LALT" }, + { , "SPCE" }, , { , "RCTL" } }; + }; + }; + + shape "SKEY" { cornerRadius = 1, { [ 18, 17 ] }, { [ 2, 1 ], [ 16, 13 ] } }; + section "Arrows" { + top = 113; + left = 243; + width = 54; + height = 36; + + key.color = "grey80"; + key.shape = "SKEY"; + row { + top = 0; + left = 20; + + keys { }; + }; + + row { + top = 17; + left = 2; + + keys { , , }; + }; + }; + + shape "STIK" { cornerRadius = 4, { [ 7, 7 ] } }; + + solid "STIK" { + priority = 255; + color = "blue"; + shape = "STIK"; + top = 90; + left = 135; + }; +}; + +xkb_geometry "latitude" { + description="Dell Latitude"; + width=304.2; height=219.1; + + baseColor="grey"; labelColor="white"; + + alias =; + alias =; + + shape "EXTERNAL" {corner=3, + {[0,0], [302,0], [302,154], [174,154], [174,198], [166,216], [107,216], [100,198], [100,154], [0,154]}}; + solid "external" {shape="EXTERNAL"; top=1.1; left=1.1; color="grey10"; priority=10;}; + + shape "INTERNAL" {corner=3, + {[0,13], [162.2,13], [162.2,0], [286,0], [286,138], [230,138], [230,124], [163,124], [163,138], [96,138], [96,124], [0,124]}}; + solid "internal" {shape="INTERNAL"; top=7; left=8.5; color="black"; priority=20;}; + + shape "TOUCHPAD" {corner=2, {[68,40]}}; + solid "touchpad" {shape="TOUCHPAD"; top=153; left=104; color="grey20"; priority=20;}; + + shape "TOUCHPADBUTTONS" {corner=1, + {[0,0], [33.5,0], [33.5,16], [6,16]}, + {[34.5,0], [68,0], [61, 16], [34.5,16]}}; + solid "touchleft" {shape="TOUCHPADBUTTONS"; top=198; left=104; color="grey20"; priority=20;}; + + shape "NIPPLE" {corner=3, {[7.5,7.5]}}; + solid "nipple" {shape="NIPPLE"; top=87; left=134; color="blue"; priority=200;}; + shape "NIPPLEBUTTONS" {corner=2, {[32.5,13]}, {[33.5,0],[66,13]}}; + solid "nipplebuttons" {shape="NIPPLEBUTTONS"; top=131; left=105; color="grey20"; priority=20;}; + + shape "FILLINGS" {corner=1.5, {[19,15]}, {[38,0],[55,15]}}; + solid "fillings" {shape="FILLINGS"; top=112; left=238; color="grey"; priority=200;}; + + shape "FUNC" {corner=1.5, {[16.3,12]}, {[2,0.5], [14,10]}}; + shape "ESC" {corner=1.5, {[18,12]}, {[2,0.5], [16,10]}}; + shape "BKSP" {corner=1.5, {[36.5,18]}, {[3,0.5], [33.5,14]}}; + + section "Function" {key.color="grey"; priority=100; top=9; left=10; width=290; height=28; + row {top=0; left=161.1; keys {{,"FUNC",1.1}, {,"FUNC",1.1}, {,"FUNC",1.1}, + {,"FUNC",1.1}, {,"FUNC",2.5}, {,"FUNC",1.1}, {,"FUNC",1.1}};}; + row {top=12.5; left=0; keys {{,"ESC",0}, + {,"FUNC",2.7}, {,"FUNC",1.1}, {,"FUNC",1.1}, {,"FUNC",1.1}, + {,"FUNC",2.5}, {,"FUNC",1.1}, {,"FUNC",1.1}, {,"FUNC",1.1}, + {,"FUNC",2.5}, {,"FUNC",1.1}, {,"FUNC",1.1}, {,"FUNC",1.1}, + {,"FUNC",2.5}, {, "FUNC",1.1}, {,"FUNC",1.1}};}; + }; // End of "Function" section + + shape "NORM" {corner=1.5, {[18,18]}, {[3,0.5], [14.8,14]}}; + shape "TABK" {corner=1.5, {[28,18]}, {[3,0.5], [25,14]}}; + shape "CAPS" {corner=1.5, {[32,18]}, {[3,0.5], [22,14]}}; + shape "LFSH" {corner=1.5, {[23,18]}, {[3,0.5], [20,14]}}; + shape "RTSH" {corner=1.5, {[50,18]}, {[3,1], [47,14]}}; + shape "RTRN" {corner=1.5, {[0,0],[26.5,0],[26.5,37],[4,37],[4,18],[0,18]}, + {[3,0.5], [23.5,0.5], [23.5,33], [7,33], [7,14], [3,14]}}; + shape "SPCE" {corner=1.5,{[95,18]}, {[3,0.5],[92,14]}}; + shape "LCTL" {corner=1.5, {[27,18]}, {[3,0.5],[24,14]}}; + shape "LALT" {corner=1.5, {[22,18]}, {[3,0.5],[19,14]}}; + shape "WIN" {corner=1.5, {[18,18]}, {[3,0.5],[15,14]}}; + + section "Alpha" {key.color="grey"; priority=100; top=36; left=10; width=290; height=18; + row {top=0; left=0; keys {{, "NORM", 0}, {, "NORM", 1}, {, "NORM", 1}, {, "NORM", 1}, + {, "NORM", 1}, {, "NORM", 1}, {, "NORM", 1}, {, "NORM", 1}, {, "NORM", 1}, + {, "NORM", 1}, {, "NORM", 1}, {, "NORM", 1}, {, "NORM", 1}, {, "BKSP", 1}};}; + row {top=19; left=0; keys {{, "TABK", 0}, {, "NORM", 1}, {, "NORM", 1}, {, "NORM", 1}, + {, "NORM", 1}, {, "NORM", 1}, {, "NORM", 1}, {, "NORM", 1}, {, "NORM", 1}, + {, "NORM", 1}, {, "NORM", 1}, {, "NORM", 1}, {, "NORM", 1}, {, "RTRN", 1}};}; + row {top=38; left=0; keys {{, "CAPS", 0}, {, "NORM", 1}, {, "NORM", 1}, {, "NORM", 1}, + {, "NORM", 1}, {, "NORM", 1}, {, "NORM", 1}, {, "NORM", 1}, {, "NORM", 1}, + {, "NORM", 1}, {, "NORM", 1}, {, "NORM", 1}, {, "NORM", 1}};}; + // TODO There's a weird <> key here, check it out: + row {top=57; left=0; keys {{, "LFSH", 0}, {, "NORM", 1}, {, "NORM", 1}, {, "NORM", 1}, + {, "NORM", 1}, {, "NORM", 1}, {, "NORM", 1}, {, "NORM", 1}, {, "NORM", 1}, + {, "NORM", 1}, {, "NORM", 1}, {, "NORM", 1}, {, "RTSH", 1}};}; + row {top=76; left=0; keys {{, "LCTL", 0}, {, "WIN", 1},{, "WIN", 1}, {, "LALT", 1}, + {, "SPCE", 1}, {, "WIN", 1},{, "LALT", 1}};}; + }; // End of "Alpha" section + + shape "ARROW" {corner=1.5, {[17,15]}, {[2,0.5],[15,13]}}; + section "Arrows" {key.color="grey"; priority=110; top=112; left=240; width=43; height=31; + row {top=0; left=18; keys {{, "ARROW", 0}};}; + row {top=16; left=0; keys {{, "ARROW", 0}, {, "ARROW", 1}, {, "ARROW", 1}};}; + }; // End of "Arrows" section + + shape "LEDS" {corner=3, {[25,7]}}; + solid "leds" {shape="LEDS"; top=5.7; left=69; color="grey"; priority=10;}; + shape "LED" {corner=0, {[0,1.5], [3,4.5]}, {[0.5,1.5], [1,0] , [2,0], [2.5,1.5]}}; + indicator.onColor="green"; + indicator.offColor="grey"; + indicator.top=7; + indicator.shape="LED"; + indicator.priority=200; + indicator "Num Lock" {left=72;}; + indicator "Caps Lock" {left=80;}; + indicator "Scroll Lock" {left=88;}; + + text "LATITUDE" {left=10; top=7; text="L A T I T U D E | D620";}; + + shape "ROUND" {corner=5, {[10,10]}}; + shape "POWER" {corner=7, {[15,15]}}; + section "Topbuttons" {key.color="grey"; priority=110; top=2; left=100; + row {top=2; left=0; keys {{, "ROUND", 0}, {, "ROUND", 3}, {, "ROUND", 3}};}; + row {top=0; left=45; keys {{, "POWER", 0}};}; + }; // End of "TopButtons" section +}; diff --git a/xkbdata/geometry/digital_vndr/lk b/xkbdata/geometry/digital_vndr/lk new file mode 100644 index 0000000..cf7c573 --- /dev/null +++ b/xkbdata/geometry/digital_vndr/lk @@ -0,0 +1,728 @@ +// +//Copyright (c) 1996 Digital Equipment Corporation +// +//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 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 DIGITAL EQUIPMENT CORPORATION 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 Digital Equipment +//Corporation shall not be used in advertising or otherwise to promote +//the sale, use or other dealings in this Software without prior written +//authorization from Digital Equipment Corporation. +// +// HISTORY +// Log: lk,v +// Revision 1.2 1996/06/18 09:12:47 erik +// use flags correctly, assorted cleanups and consortium fixes +// +// Revision 1.1.6.2 1995/08/18 21:15:16 William_Walker +// Upgrade XKB to Protocol Rev. 0.64 +// [1995/08/18 20:41:46 William_Walker] +// +// Revision 1.1.2.5 1995/08/11 19:35:47 William_Walker +// Sync up with Erik's pool. +// [1995/08/11 18:35:58 William_Walker] +// +// Revision 1.1.2.4 1995/06/27 12:17:28 William_Walker +// Rename to ISO9995 compliant . +// [1995/06/26 20:23:07 William_Walker] +// +// Revision 1.1.2.3 1995/06/09 20:54:36 William_Walker +// Add VT105 layout support and ISO group support +// [1995/06/09 20:40:38 William_Walker] +// +// Revision 1.1.2.2 1995/06/05 19:21:16 William_Walker +// New file. I love keymaps. +// [1995/06/05 18:05:43 William_Walker] +// +// EndLog +// +// @(#)RCSfile: lk,v Revision: 1.2 (DEC) Date: 1996/01/24 12:16:00 +// +xkb_geometry "lk201" { + width = 530; + height = 170; + shape.cornerRadius = 1; + + shape "NORM" { { [18,19] }, { [3,2], [15,16] } }; + shape "RTRN" { + approx = { [0,0],[23,19] }, + { [0,0], [23,0], [23,39], [5,39], [5,19], [0,19] }, + { [3,2], [20,2], [20,36], [8,36], [8,16], [3,16] } + }; + shape "LONG" { { [37,19] }, { [3,2], [34,16] } }; + shape "TALL" { { [18,39] }, { [3,2], [15,36] } }; + shape "MED" { { [28,19] }, { [3,2], [25,16] } }; + shape "CAPS" { { [28,19] }, { [3,2], [18,16] } }; + shape "SPCE" { { [171,19] },{ [3,2], [168,16]} }; + shape "LEDS" { [ 30,15] }; + shape "LED" { [ 5, 2] }; + + section.left= 27; + row.left = 1; + key.shape = "NORM"; + key.gap = 1; + + section "Function" { top = 20; + row { top = 1; + keys { , , , , , + { , 19 }, , , , , + { , 19 }, , , , + { , 98 }, , , + }; + }; + }; + + section "Editing" { top = 20; left = 350; + row { top = 1; + keys { , { , "LONG" } }; + }; + row { top = 41; + keys { , , }; + }; + row { top = 61; + keys { , , }; + }; + row { top = 81; left = 20; + keys { }; + }; + row { top = 101; + keys { , , }; + }; + }; + + section "Keypad" { top = 60; left = 426; + row { top = 1; + keys { , , , }; + }; + row { top = 21; + keys { , , , }; + }; + row { top = 41; + keys { , , , }; + }; + row { top = 61; + keys { , , , { , "TALL" } }; + }; + row { top = 81; + keys { { , "LONG" }, }; + }; + }; + + section "Alpha" { top = 60; + row { top = 1; left = 15; + keys { , + , , , , , , + , , , , , , + { , "MED" } + }; + }; + row { top = 21; left = 15; + keys { { , "MED" }, + , , , , , , + , , , , , , + { , "RTRN" } + }; + + }; + row { top = 41; + keys { , + { , "CAPS" }, + , , , , , , + , , , , , + }; + }; + row { top = 61; + keys { { , "LONG" }, + , , , , , , + , , , , , + { , "LONG" } + }; + }; + row { top = 81; left = 26; + keys { { , "LONG" }, + { , "SPCE" } + }; + }; + }; + + section.left = 341; + section.top = 3; + + section "Indicators" { + indicator.onColor = "#00ff00"; + indicator.offColor= "#001000"; + indicator.top = 10; + indicator.shape= "LED"; + indicator "Scroll Lock" { left = 9; }; + indicator "Caps Lock" { left = 27; }; + indicator "Compose" { left = 45; }; + indicator "Wait" { left = 63; }; + text.top = 4; + text.color = "black"; + text "HoldScreenLabel" {left = 5; text="Hold\n"; }; + text "CapsLockLabel" {left = 23; text="Lock\n"; }; + text "ComposeLabel" {left = 37; text="Compose\n"; }; + text "WaitLabel" {left = 60; text="Wait\n"; }; + }; +}; + +xkb_geometry "lk401" { + + width = 480; + height = 180; + shape.cornerRadius = 1; + + shape "NORM" { { [18,19] }, { [3,2], [15,16] } }; + shape "RTRN" { + approx = { [0,0],[23,19] }, + { [0,0], [23,0], [23,39], [5,39], [5,19], [0,19] }, + { [3,2], [20,2], [20,36], [8,36], [8,16], [3,16] } + }; + shape "LONG" { { [37,19] }, { [3,2], [34,16] } }; + shape "TALL" { { [18,39] }, { [3,2], [15,36] } }; + shape "MED" { { [28,19] }, { [3,2], [25,16] } }; + shape "CAPS" { { [28,19] }, { [3,2], [18,16] } }; + shape "SPCE" { { [131,19] },{ [3,2], [128,16]} }; + shape "LEDS" { [ 36,15] }; + shape "LED" { [ 5, 2] }; + + section.left= 17; + row.left = 1; + key.shape = "NORM"; + key.gap = 1; + + text "Logo" {left = 20; top = 10; text="digital\n"; }; + + section "Function" { top = 20; + row { top = 1; + keys { , , , , , + { , 15 }, , , , , + { , 15 }, , , , + { , 75 }, , , + }; + }; + }; + + section "Editing" { top = 20; left = 320; + row { top = 1; + keys { , { , "LONG" } }; + }; + row { top = 41; + keys { , , }; + }; + row { top = 61; + keys { , , }; + }; + row { top = 81; left= 20; + keys { }; + }; + row { top = 101; + keys { , , }; + }; + }; + + section "Keypad" { top = 60; left = 385; + row { top = 1; + keys { , , , }; + }; + row { + top = 21; + keys { , , , }; + }; + row { top = 41; + keys { , , , }; + }; + row { top = 61; + keys { , , , { , "TALL" } }; + }; + row { top = 81; + keys { { , "LONG" }, }; + }; + }; + + section "Alpha" { top = 60; + row { top = 1; left = 15; + keys { , + , , , , , , + , , , , , , + { , "MED" } + }; + }; + row { top = 21; left = 15; + keys { { , "MED" }, + , , , , , , + , , , , , , + { , "RTRN" } + }; + + }; + row { top = 41; + keys { , + { , "CAPS" }, + , , , , , , + , , , , , + }; + }; + row { top = 61; + keys { { , "LONG" }, + , , , , , , + , , , , , + { , "LONG" } + }; + }; + row { top = 81; left = 29; + keys { { , "MED" }, + { , "MED" }, + { , "SPCE" }, + { , "MED" }, + { , "MED" } + }; + }; + }; + + section.left = 69; + section.top = 3; + section "Indicators" { + solid "led_panel" { top = 0; left = 0; + cornerRadius = 1; + shape = "LEDS"; + color = "grey"; + }; + indicator.onColor = "#00ff00"; + indicator.offColor= "#001000"; + indicator.shape = "LED"; + indicator.top = 1; + indicator "Scroll Lock" { left = 3; }; + indicator "Caps Lock" { left = 22; }; + }; + section "IndicatorLabels" { + text.top = 4; + text.color = "black"; + text "ScrollLockLabel" {left = 3; text="Scroll\nLock"; }; + text "CapsLockLabel" {left = 22; text="Caps\nLock"; }; + }; +}; + +xkb_geometry "lk450" { + + width = 480; + height = 180; + shape.cornerRadius = 1; + + shape "NORM" { { [18,19] }, { [3,2], [15,16] } }; + shape "RTRN" { + approx = { [0,0],[23,19] }, + { [0,0], [23,0], [23,39], [5,39], [5,19], [0,19] }, + { [3,2], [20,2], [20,36], [8,36], [8,16], [3,16] } + }; + shape "LONG" { { [37,19] }, { [3,2], [34,16] } }; + shape "TALL" { { [18,39] }, { [3,2], [15,36] } }; + shape "MED" { { [28,19] }, { [3,2], [25,16] } }; + shape "CAPS" { { [28,19] }, { [3,2], [18,16] } }; + shape "SPCE" { { [131,19] },{ [3,2], [128,16]} }; + shape "LEDS" { [ 36,15] }; + shape "LED" { [ 5, 2] }; + + section.left= 17; + row.left = 1; + key.shape = "NORM"; + key.gap = 1; + + text "Logo" {left = 20; top = 10; text="digital\n"; }; + + section "Function" { top = 20; + row { top = 1; + keys { , , , , , + { , 15 }, , , , , + { , 15 }, , , , + { , 75 }, , , + }; + }; + }; + + section "Editing" { top = 20; left = 320; + row { top = 1; + keys { , { , "LONG" } }; + }; + row { top = 41; + keys { , , }; + }; + row { top = 61; + keys { , , }; + }; + row { top = 81; left= 20; + keys { }; + }; + row { top = 101; + keys { , , }; + }; + }; + + section "Keypad" { top = 60; left = 385; + row { top = 1; + keys { , , , }; + }; + row { + top = 21; + keys { , , , }; + }; + row { top = 41; + keys { , , , }; + }; + row { top = 61; + keys { , , , { , "TALL" } }; + }; + row { top = 81; + keys { { , "LONG" }, }; + }; + }; + + section "Alpha" { top = 60; + row { top = 1; left = 15; + keys { , + , , , , , , + , , , , , , + { , "MED" } + }; + }; + row { top = 21; left = 15; + keys { { , "MED" }, + , , , , , , + , , , , , , + { , "RTRN" } + }; + + }; + row { top = 41; + keys { , + { , "CAPS" }, + , , , , , , + , , , , , + }; + }; + row { top = 61; + keys { { , "LONG" }, + , , , , , , + , , , , , + { , "LONG" } + }; + }; + row { top = 81; left = 29; + keys { { , "MED" }, + { , "MED" }, + { , "SPCE" }, + { , "MED" }, + { , "MED" } + }; + }; + }; + + section.left = 69; + section.top = 3; + section "Indicators" { + solid "led_panel" { top = 0; left = 0; + cornerRadius = 1; + shape = "LEDS"; + color = "grey"; + }; + indicator.onColor = "#00ff00"; + indicator.offColor= "#001000"; + indicator.shape = "LED"; + indicator.top = 1; + indicator "Scroll Lock" { left = 3; }; + indicator "Caps Lock" { left = 22; }; + }; + section "IndicatorLabels" { + text.top = 4; + text.color = "black"; + text "ScrollLockLabel" {left = 3; text="Scroll\nLock"; }; + text "CapsLockLabel" {left = 22; text="Caps\nLock"; }; + }; +}; + +xkb_geometry "lk401bj" +{ + width = 480; + height = 180; + shape.cornerRadius = 1; + + shape "NORM" { { [18,19] }, { [3,2], [15,16] } }; + shape "RTRN" { + approx = { [0,0],[23,19] }, + { [0,0], [23,0], [23,39], [5,39], [5,19], [0,19] }, + { [3,2], [20,2], [20,36], [8,36], [8,16], [3,16] } + }; + shape "LONG" { { [37,19] }, { [3,2], [34,16] } }; + shape "TALL" { { [18,39] }, { [3,2], [15,36] } }; + shape "MED" { { [28,19] }, { [3,2], [25,16] } }; + shape "CAPS" { { [28,19] }, { [3,2], [18,16] } }; + shape "SPCE" { { [131,19] },{ [3,2], [128,16]} }; + shape "LEDS" { [ 30,15] }; + shape "LED" { [ 5, 2] }; + + section.left= 17; + row.left = 1; + key.shape = "NORM"; + key.gap = 1; + + text "Logo" {left = 20; top = 10; text="digital\n"; }; + + section "Function" { top = 20; + row { top = 1; + keys { , , , , , + { , 15 }, , , , , + { , 15 }, , , , + { , 75 }, , , + }; + }; + }; + + section "Editing" { top = 20; left = 320; + row { top = 1; + keys { , { , "LONG" } }; + }; + row { top = 41; + keys { , , }; + }; + row { top = 61; + keys { , , }; + }; + row { top = 81; left = 20; + keys { }; + }; + row { top = 101; + keys { , , }; + }; + }; + + section "Keypad" { top = 60; left = 385; + row { top = 1; + keys { , , , }; + }; + row { top = 21; + keys { , , , }; + }; + row { top = 41; + keys { , , , }; + }; + row { top = 61; + keys { , , , { , "TALL" } }; + }; + row { top = 81; + keys { { , "LONG" }, }; + }; + }; + + section "Alpha" { top = 60; + row { top = 1; left = 15; + keys { , + , , , , , , + , , , , , , + { , "MED" } + }; + }; + row { top = 21; left = 15; + keys { { , "MED" }, + , , , , , , + , , , , , , + { , "RTRN" } + }; + }; + row { top = 41; + keys { , + { , "CAPS" }, + , , , , , , + , , , , , + }; + }; + row { top = 61; + keys { { , "LONG" }, + , , , , , , + , , , , , + { , "LONG" } + }; + }; + row { top = 81; left = 29; + keys { { , "MED" }, + { , "MED" }, + { , "SPCE" }, + { , "MED" }, + { , "MED" } + }; + }; + }; + + section.left = 69; + section.top = 3; + + section "Indicators" { + solid "led_panel" { top = 0; left = 0; + cornerRadius = 1; + shape = "LEDS"; + color = "grey"; + }; + indicator.onColor = "#00ff00"; + indicator.offColor= "#001000"; + indicator.top = 1; + indicator.shape= "LED"; + indicator "Scroll Lock" { left = 3; }; + indicator "Caps Lock" { left = 22; }; + text.top = 4; + text.color = "black"; + text "ScrollLockLabel" {left = 3; text="Scroll\nLock"; }; + text "CapsLockLabel" {left = 19; text="Caps\nLock"; }; + }; +}; + +xkb_geometry "lk401jj" { + + width = 460; + height = 180; + shape.cornerRadius = 1; + + shape "NORM" { { [18,19] }, { [3,2], [15,16] } }; + shape "RTRN" { + approx = { [0,0],[28,23] }, + { [0,0], [28,0], [28,39], [5,39], [5,19], [0,19] }, + { [3,2], [25,2], [25,36], [8,36], [8,16], [3,16] } + }; + shape "LONG" { { [37,19] }, { [3,2], [34,16] } }; + shape "LONG1" { { [32,19] }, { [3,2], [29,16] } }; + shape "TALL" { { [18,39] }, { [3,2], [15,36] } }; + shape "MED" { { [28,19] }, { [3,2], [25,16] } }; + shape "MED1" { { [23,19] }, { [3,2], [20,16] } }; + shape "CTRL" { { [43,19] }, { [3,2], [38,16] } }; + shape "SPCE" { { [55,19] },{ [3,2], [53,16]} }; + shape "LEDS" { [ 56,15] }; + shape "LED" { [ 5, 2] }; + + section.left = 5; + row.left = 1; + key.shape = "NORM"; + key.gap = 1; + + text "Logo" {left = 7; top = 10; text="digital\n"; }; + + section "Function" { top = 40; + row { top = 1; + keys { , , , , , + { , 18 }, , , , , + { , 18 }, , , , + { , 73 }, , , + }; + }; + }; + + section "Editing" { top = 40; left = 313; + row { top = 1; + keys { , { , "LONG" } }; + }; + row { top = 31; + keys { , , }; + }; + row { top = 51; + keys { , , }; + }; + row { top = 71; left= 20; + keys { }; + }; + row { top = 91; + keys { , , }; + }; + }; + + section "Keypad" { top = 70; left = 377; + row { top = 1; + keys { , , , }; + }; + row { top = 21; + keys { , , , }; + }; + row { top = 41; + keys { , , , }; + }; + row { top = 61; + keys { , , , { , "TALL" } }; + }; + row { top = 81; + keys { { , "LONG" }, }; + }; + }; + + section "Alpha" { top = 70; + row { top = 1; left = 7; + keys { { , "MED1" }, + , , , , , , + , , , , , , + , { , "MED1" } + }; + }; + row { top = 21; left = 7; + keys { { , "LONG1" }, + , , , , , , + , , , , , , + { , "RTRN" } + }; + }; + row { top = 41; + keys { { , "CTRL" }, + , , , , , , + , , , , , + }; + }; + row { top = 61; + keys { , { , "LONG1" }, + , , , , , + , , , , , + , { , "MED" } + }; + }; + row { top = 81; left = 7; + keys { { , "LONG" }, + { , "LONG" }, + { , "LONG" }, + { , "SPCE" }, + { , "LONG" }, + { , "LONG" }, + , + }; + }; + }; + + section.left = 315; + section.top = 20; + + section "Indicators" { + solid "led_panel" { top = 0; left = 0; + cornerRadius = 1; + shape = "LEDS"; + color = "grey"; + }; + indicator.onColor = "#00ff00"; + indicator.offColor= "#001000"; + indicator.top = 11; + indicator.shape= "LED"; + indicator "Scroll Lock" { left = 6; }; + indicator "Caps Lock" { left = 26; }; + text.top = 4; + text.color = "black"; + text "ScrollLockLabel" {left = 3; text="Scroll\nLock"; }; + text "CapsLockLabel" {left = 22; text="Caps\nLock"; }; + }; +}; diff --git a/xkbdata/geometry/digital_vndr/pc b/xkbdata/geometry/digital_vndr/pc new file mode 100644 index 0000000..aaceeba --- /dev/null +++ b/xkbdata/geometry/digital_vndr/pc @@ -0,0 +1,349 @@ +// +//Copyright (c) 1996 Digital Equipment Corporation +// +//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 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 DIGITAL EQUIPMENT CORPORATION 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 Digital Equipment +//Corporation shall not be used in advertising or otherwise to promote +//the sale, use or other dealings in this Software without prior written +//authorization from Digital Equipment Corporation. +// +// HISTORY +// Log: pc,v +// Revision 1.2 1996/06/18 09:12:50 erik +// use flags correctly, assorted cleanups and consortium fixes +// +// Revision 1.1.6.2 1995/08/18 21:15:18 William_Walker +// Upgrade XKB to Protocol Rev. 0.64 +// [1995/08/18 20:41:49 William_Walker] +// +// Revision 1.1.2.4 1995/08/11 19:35:48 William_Walker +// Sync up with Erik's pool. +// [1995/08/11 18:36:03 William_Walker] +// +// Revision 1.1.2.3 1995/06/27 12:17:29 William_Walker +// Rename to ISO9995 compliant . +// [1995/06/26 20:23:10 William_Walker] +// +// Revision 1.1.2.2 1995/06/05 19:21:19 William_Walker +// New file. I love keymaps. +// [1995/06/05 18:05:51 William_Walker] +// +// EndLog +// +// @(#)RCSfile: pc,v Revision: 1.2 (DEC) Date: 1996/02/02 14:40:25 +// +partial xkb_geometry "common" { + width = 480; + height = 200; + + shape.cornerRadius = 1; + shape "NORM" { primary = { [18,19] }, { [3,2], [15,16] } }; + shape "KP0" { primary = { [37,19] }, { [3,2], [34,16] } }; + shape "KPAD" { primary = { [18,39] }, { [3,2], [15,36] } }; + shape "LEDS" { [78,22] }; + shape "LED" { [5,2] }; + + text.color = "black"; + section.left = 17; + row.left = 1; + key.shape = "NORM"; + key.gap = 1; + + section "Function" { top = 40; + row { top = 1; + keys { , + { , 20 }, , , , + { , 10 }, , , , + { , 10 }, , , + }; + }; + }; + + section "Editing" { top = 40; left = 308; + row { top = 1; + keys { , , }; + }; + row { top = 41; + keys { , , }; + }; + row { top = 61; + keys { , , }; + }; + row { top = 101; left = 20; + keys { }; + }; + row { top = 121; + keys { , , }; + }; + }; + + section "Keypad" { top = 80; left = 374; + row { top = 1; + keys { , , , }; + }; + row { top = 21; + keys { , , , { , "KPAD" } }; + }; + row { top = 41; + keys { , , }; + }; + row { top = 61; + keys { , , , { , "KPAD" } }; + }; + row { top = 81; + keys { { , "KP0" }, }; + }; + }; +}; + +partial xkb_geometry "leds_on_keys" { + section.top = 40; + section.left = 17; + section "LedPanel" { + indicator.onColor = "#00ff00"; + indicator.offColor = "#001000"; + indicator.shape = "LED"; + indicator "Scroll Lock" { left = 317; top = 5; }; + indicator "Num Lock" { left = 364; top = 45; }; + indicator "Caps Lock" { left = 10; top = 85; }; + }; + + section.left = 375; + section.top = 40; + section "LogoPanel" { + solid "logo_panel" { top = 0; left = 0; + shape = "LEDS"; + color = "grey"; + }; + text "Logo" {left = 28; top = 10; text="digital\n"; }; + }; +}; + +partial xkb_geometry "leds_alone" { + section.left = 375; + section.top = 40; + section "Indicators" { + solid "led_panel" { top = 0; left = 0; + shape = "LEDS"; + color = "grey"; + }; + indicator.top = 16; + indicator.onColor = "#00ff00"; + indicator.offColor = "#001000"; + indicator.shape = "LED"; + indicator "Num Lock" { left = 3; }; + indicator "Caps Lock" { left = 26; }; + indicator "Scroll Lock" { left = 50; }; + text "Logo" {left = 2; top = 3; text="digital\n"; }; + }; + section "IndicatorLabels" { + text.top = 11; + text "NumLockLabel" {left = 10; text="Num\nLock"; }; + text "CapsLockLabel" {left = 33; text="Caps\nLock"; }; + text "ScrollLockLabel" {left = 58; text="Scroll\nLock"; }; + }; +}; + +xkb_geometry "pc101" { + include "digital_vndr/pc(common)" + + shape.cornerRadius = 1; + shape "BKSP" { primary = { [36,19] }, { [3,2], [33,16] } }; + shape "TABK" { primary = { [27,19] }, { [3,2], [24,16] } }; + shape "RTRN" { primary = { [41,19] }, { [3,2], [38,16] } }; + shape "CAPS" { primary = { [32,19] }, { [3,2], [29,16] } }; + shape "LFSH" { primary = { [41,19] }, { [3,2], [38,16] } }; + shape "RTSH" { primary = { [51,19] }, { [3,2], [49,16] } }; + shape "MODK" { primary = { [27,19] }, { [3,2], [24,16] } }; + shape "BKSL" { primary = { [27,19] }, { [3,2], [24,16] } }; + shape "SPCE" { primary = { [132,19] },{ [3,2], [129,16]} }; + + section.left = 17; + row.left = 1; + key.shape = "NORM"; + key.gap = 1; + + section "Alpha" { top = 80; + row { top = 1; + keys { , + , , , , , , + , , , , , , + { , "BKSP" } + }; + }; + row { top = 21; + keys { { , "TABK" }, + , , , , , , + , , , , , , + { , "BKSL" } + }; + + }; + row { top = 41; + keys { { , "CAPS" }, + , , , , , , + , , , , , + { , "RTRN" } + }; + }; + row { top = 61; + keys { { , "LFSH" }, + , , , , , , + , , , , + { , "RTSH" } + }; + }; + row { top = 81; + key.shape = "MODK"; + keys { , + { , 20 }, + { , "SPCE" }, + , + { , 21 } + }; + }; + }; +}; + +xkb_geometry "pc102" { + include "digital_vndr/pc(common)" + + shape.cornerRadius = 1; + shape "BKSP" { primary = { [36,19] }, { [3,2], [33,16] } }; + shape "TABK" { primary = { [27,19] }, { [3,2], [24,16] } }; + shape "RTRN" { + approx = { [0,0],[28,19] }, + { [0,0], [27,0], [27,39], [5,39], [5,19], [0,19] }, + { [3,2], [24,2], [24,36], [8,36], [8,16], [3,16] } + }; + shape "CAPS" { primary = { [32,19] }, { [3,2], [29,16] } }; + shape "LFSH" { primary = { [22,19] }, { [3,2], [19,16] } }; + shape "RTSH" { primary = { [51,19] }, { [3,2], [49,16] } }; + shape "MODK" { primary = { [27,19] }, { [3,2], [24,16] } }; + shape "BKSL" { primary = { [27,19] }, { [3,2], [24,16] } }; + shape "SPCE" { primary = { [132,19] },{ [3,2], [129,16]} }; + + section.left = 17; + row.left = 1; + key.shape = "NORM"; + key.gap = 1; + + section "Alpha" { top = 80; + row { top = 1; + keys { , + , , , , , , + , , , , , , + { , "BKSP" } + }; + }; + row { top = 21; + keys { { , "TABK" }, + , , , , , , + , , , , , , + { , "RTRN" } + }; + + }; + row { top = 41; + keys { { , "CAPS" }, + , , , , , , + , , , , , + }; + }; + row { top = 61; + keys { { , "LFSH" }, + , , , , , , + , , , , , + { , "RTSH" } + }; + }; + row { top = 81; + key.shape = "MODK"; + keys { , + { , 20 }, + { , "SPCE" }, + , + { , 21 } + }; + }; + }; +}; + +xkb_geometry "pcxaj" { + include "digital_vndr/pc(common)" + + shape.cornerRadius = 1; + shape "BKSP" { primary = { [36,19] }, { [3,2], [33,16] } }; + shape "TABK" { primary = { [27,19] }, { [3,2], [24,16] } }; + shape "RTRN" { primary = { [22,19] }, { [3,2], [19,16] } }; + shape "CAPS" { primary = { [32,19] }, { [3,2], [29,16] } }; + shape "LFSH" { primary = { [41,19] }, { [3,2], [38,16] } }; + shape "RTSH" { primary = { [32,19] }, { [3,2], [29,16] } }; + shape "MODK" { primary = { [27,19] }, { [3,2], [24,16] } }; + shape "BKSL" { primary = { [27,19] }, { [3,2], [24,16] } }; + shape "SPCE" { primary = { [114,19]}, { [3,2], [111,16]} }; + + section.left = 17; + row.left = 1; + key.shape = "NORM"; + key.gap = 1; + + section "Alpha" { top = 80; + row { top = 1; + keys { , + , , , , , , + , , , , , , + { , "BKSP" } + }; + }; + row { top = 21; + keys { { , "TABK" }, + , , , , , , + , , , , , , + { , "BKSL" } + }; + }; + row { top = 41; + keys { { , "CAPS" }, + , , , , , , + , , , , , , + { , "RTRN" } + }; + }; + row { top = 61; + keys { { , "LFSH" }, + , , , , , , + , , , , , + { , "RTSH" } + }; + }; + row { top = 81; + key.shape = "MODK"; + keys { , , + { , "NORM" }, + { , "SPCE" }, + { , "NORM" }, + { , "NORM" }, + , + }; + }; + }; +}; diff --git a/xkbdata/geometry/digital_vndr/unix b/xkbdata/geometry/digital_vndr/unix new file mode 100644 index 0000000..f3f180c --- /dev/null +++ b/xkbdata/geometry/digital_vndr/unix @@ -0,0 +1,227 @@ +// +//Copyright (c) 1996 Digital Equipment Corporation +// +//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 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 DIGITAL EQUIPMENT CORPORATION 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 Digital Equipment +//Corporation shall not be used in advertising or otherwise to promote +//the sale, use or other dealings in this Software without prior written +//authorization from Digital Equipment Corporation. +// +// HISTORY +// Log: unix,v +// Revision 1.2 1996/06/18 09:12:53 erik +// use flags correctly, assorted cleanups and consortium fixes +// +// Revision 1.1.2.3 1995/06/27 12:17:30 William_Walker +// Rename to ISO9995 compliant . +// [1995/06/26 20:23:12 William_Walker] +// +// Revision 1.1.2.2 1995/06/05 19:21:23 William_Walker +// New file. I love keymaps. +// [1995/06/05 18:05:56 William_Walker] +// +// EndLog +// +// @(#)RCSfile: unix,v Revision: 1.2 (DEC) Date: 1996/01/24 12:16: +// +xkb_geometry "unix" { + + width = 340; + height = 160; + shape.cornerRadius = 1; + + shape "NORM" { primary = { [18,19] }, { [3,2], [15,16] } }; + shape "AE00" { primary = { [28,19] }, { [3,2], [25,16] } }; + shape "BKSP" { primary = { [46,19] }, { [3,2], [43,16] } }; + shape "TABK" { primary = { [37,19] }, { [3,2], [34,16] } }; + shape "CTRL" { primary = { [46,19] }, { [3,2], [43,16] } }; + shape "RTRN" { primary = { [46,19] }, { [3,2], [43,16] } }; + shape "SHFT" { primary = { [56,19] }, { [3,2], [53,16] } }; + shape "MODK" { primary = { [37,19] }, { [3,2], [34,16] } }; + shape "SPCE" { primary = { [132,19] },{ [3,2], [129,16]} }; + + section.left= 17; + row.left = 1; + key.shape = "NORM"; + key.gap = 1; + + text.color = "black"; + text "Logo" {left = 20; top = 10; text="digital\n"; }; + + section "Function" { top = 30; + row { top = 1; + keys { , , , , , + { , 20 }, , , , , + { , 20 }, , , + }; + }; + }; + + section "Alpha" { top = 50; + row { top = 1; + keys { { , "AE00" }, + , , , , , , + , , , , , , + { , "BKSP" } + }; + }; + row { top = 21; + keys { { , "TABK" }, + , , , , , , + , , , , , , + , + }; + + }; + row { top = 41; left = -4; + keys { { , "CTRL" }, + , , , , , , + , , , , , + { , "RTRN" } + }; + }; + row { top = 61; left = -4; + keys { { , "SHFT" }, + , , , , , , + , , , , + { , "SHFT" } + }; + }; + solid "ExtendKey" { top = 81; left= 1; + shape= "NORM"; + color= "grey20"; + }; + text.top = 89; + text.color = "black"; + text "ExtendLabel" {left = 6; text="Ext\nend"; }; + row { top = 81; left = 19; + key.shape = "MODK"; + keys { { , "NORM" }, , + { , "SPCE" }, + , + }; + }; + }; +}; + +xkb_geometry "lk421jj" { + + width = 315; + height = 170; + shape.cornerRadius = 1; + + shape "NORM" { { [18,19] }, { [3,2], [15,16] } }; + shape "RTRN" { + approx = { [0,0],[28,23] }, + { [0,0], [28,0], [28,39], [5,39], [5,19], [0,19] }, + { [3,2], [25,2], [25,36], [8,36], [8,16], [3,16] } + }; + shape "LONG" { { [37,19] }, { [3,2], [34,16] } }; + shape "LONG1" { { [32,19] }, { [3,2], [29,16] } }; + shape "TALL" { { [18,39] }, { [3,2], [15,36] } }; + shape "MED" { { [23,19] }, { [3,2], [20,16] } }; + shape "CTRL" { { [43,19] }, { [3,2], [38,16] } }; + shape "SPCE" { { [55,19] },{ [3,2], [53,16]} }; + shape "LEDS" { [ 56,15] }; + shape "LED" { [ 5, 2] }; + + section.left = 5; + row.left = 1; + key.shape = "NORM"; + key.gap = 1; + + text "Logo" {left = 7; top = 10; text="digital\n"; }; + + section "Function" { top = 45; + row { top = 1; left = 7; + keys { , , , , , + { , 18 }, , , , + }; + }; + }; + + section "Editing" { top = 45; left= 230; + row { top = 1; + keys { , , , }; + }; + }; + + section "Alpha" { top = 65; + row { top = 1; left = 7; + keys { { , "MED" }, + , , , , , , + , , , , , , + , { , "MED" } + }; + }; + row { top = 21; left = 7; + keys { { , "LONG1" }, + , , , , , , + , , , , , , + { , "RTRN" } + }; + }; + row { top = 41; + keys { { , "CTRL" }, + , , , , , , + , , , , , + }; + }; + row { top = 61; + keys { , { , "LONG1" }, + , , , , , + , , , , , + , { , "LONG1" } + }; + }; + row { top = 81; left = 7; + keys { , , + { , "LONG" }, + { , "LONG" }, + { , "SPCE" }, + { , "LONG" }, + { , "LONG" }, + , + }; + }; + }; + + section.left = 233; + section.top = 20; + + section "Indicators" { + solid "led_panel" { top = 0; left = 0; + cornerRadius = 1; + shape = "LEDS"; + color = "grey"; + }; + indicator.onColor = "#00ff00"; + indicator.offColor= "#001000"; + indicator.top = 11; + indicator.shape= "LED"; + indicator "Scroll Lock" { left = 6; }; + indicator "Caps Lock" { left = 26; }; + text.top = 3; + text.color = "black"; + text "ScrollLockLabel" {left = 3; text="Scroll\nLock"; }; + text "CapsLockLabel" {left = 22; text="Caps\nLock"; }; + }; +}; diff --git a/xkbdata/geometry/everex b/xkbdata/geometry/everex new file mode 100644 index 0000000..c175b17 --- /dev/null +++ b/xkbdata/geometry/everex @@ -0,0 +1,170 @@ +default xkb_geometry "STEPnote" { + + description= "Everex STEPnote"; + width= 281; + height= 150; + + shape.cornerRadius= 1; + + shape "NORM" { + { [17,17] }, + { [ 2, 1], [ 15, 15 ] } + }; + shape "NARR" { + { [ 15, 17 ] }, + { [ 2, 1 ], [ 13, 15 ] } + }; + shape "FKEY" { + { [ 15.1, 15.5 ] }, + { [ 1, 1 ], [ 14.1, 14.5 ] } + }; + shape "ESC" { + { [ 16.4, 15.5 ] }, + { [ 1, 1 ], [ 14.1, 14.5 ] } + }; + shape "WIDE" { // backspace, tab and Fn + { [ 25, 17 ] }, + { [ 2, 1 ], [ 23, 15 ] } + }; + shape "RTRN" { + { [ 27.5, 17 ] }, + { [ 2, 1 ], [ 25.5, 15 ] } + }; + shape "CAPS" { + { [ 30, 17 ] }, + { [ 2, 1 ], [ 28, 15 ] } + }; + shape "LFSH" { + { [ 38.5, 17 ] }, + { [ 2, 1 ], [ 36.5, 15 ] } + }; + shape "RTSH" { + { [ 21, 17 ] }, + { [ 2, 1 ], [ 19, 15 ] } + }; + shape "SPCE" { + { [ 88.8, 17 ] }, + { [ 2, 1 ], [ 86.8, 15 ] } + }; + shape "WELL" { + { [ 269, 105 ] } + }; + shape "LED" { + cornerRadius= 1.5, + { [ 3, 10 ] } + }; + + section.left= 6; + row.left= 1; + key.shape= "NORM"; + key.gap= 0.5; + + key.color= "grey20"; + labelColor= "white"; + baseColor= "grey20"; + + indicator.top= 20; + indicator.shape= "LED"; + indicator.onColor= "green"; + indicator.offColor= "green30"; + + indicator "Power" { left= 40; }; + indicator "Battery" { left=101; }; + indicator "Suspend" { left=112; }; + indicator "HardDrive" { left=123; }; + indicator "Floppy" { left=134; }; + indicator "KeyPad" { left=145; }; + indicator "Num Lock" { left=156; }; + indicator "Caps Lock" { left=167; }; + indicator "Scroll Lock" { left=178; }; + + solid "KeyWell" { + top= 35; + left= 6; + shape= "WELL"; + color= "grey10"; + }; + section "Whole" { + top= 35; + row { + top= 0.5; + key.color= "grey30"; + key.shape= "FKEY"; + keys { + { , "ESC" }, + , , , , , , + , , , , , , + , , , + }; + }; + row { + top= 16.5; + keys { + { , "NARR" }, + , , , , , , + , , , , , , + { , shape="WIDE", color="grey30" }, + { , shape="NARR", color="grey30" } + }; + }; + row { + top= 34; + keys { + { , shape="WIDE", color="grey30" }, + , , , , , , + , , , , , , + { , "NARR" }, + { , shape="NARR", color="grey30" } + }; + }; + row { + top= 51.5; + keys { + { , shape="CAPS", color="grey30" }, + , , , , , + , , , , , + , + { , shape="RTRN", color="grey30" }, + { , shape="NARR", color="grey30" } + }; + }; + row { + top= 69; + keys { + { , shape="LFSH", color="grey30" }, + , , , , , + , , , , , + { , shape="RTSH", color="grey30" }, + { , shape="NARR", color="grey30" }, + { , shape="NARR", color="grey30" } + }; + }; + row { + top= 86.5; + key.color= "grey30"; + keys { + { , "WIDE" }, + , , + { , shape="SPCE", 18, color="grey20" }, + , , , + { , "NARR" }, { , "NARR" }, + { , "NARR" } + }; + }; + solid "FakeKey" { + top= 86.5; + left= 62.1; + shape= "NORM"; + color= "grey20"; + }; + overlay "KPAD" { + =, =, =, =, + =, =, =, =, + =, =, =, =, + =, =, = + }; + }; // End of "Whole" section + + alias = ; + alias = ; +}; diff --git a/xkbdata/geometry/fujitsu b/xkbdata/geometry/fujitsu new file mode 100644 index 0000000..5f5ff58 --- /dev/null +++ b/xkbdata/geometry/fujitsu @@ -0,0 +1,314 @@ +// +//Copyright 1996, 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. +// +default xkb_geometry "138" { + + // This is an approximate layout for a (US/ASCII) Fujitsu keyboard. + + description= "Fujitsu English keyboard"; + + width= 480; + height= 215; + + shape "EDGE" { cornerRadius= 2, { [ 480, 215 ] } }; + shape.cornerRadius= 1; + shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } }; + shape "TABK" { { [ 27,18] }, { [2,1], [ 25,17] } }; + shape "RTRN" { + approx = { [ 0, 0], [28,37] }, + { [ 0, 0], [28, 0], [28,37], + [ 5,37], [ 5,19], [ 0,19] }, + { [ 1, 1], [26, 1], [26,36], + [ 7,36], [ 7,18], [ 1,18] } + }; + shape "LFSH" { { [ 41,18] }, { [2,1], [ 39,17] } }; + shape "RTSH" { { [ 33,18] }, { [2,1], [ 31,17] } }; + shape "LCTL" { { [ 32,18] }, { [2,1], [ 30,17] } }; + shape "SPCE" { { [151,18] }, { [2,1], [149,17] } }; + shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } }; + shape "KPEN" { { [ 18,37] }, { [2,1], [ 16,36] } }; + shape "EXEC" { { [ 57,18] }, { [2,1], [ 55,17] } }; + + outline "Edges" { + top= 0; + left= 0; + shape= "EDGE"; + }; + + section.left= 15; + row.left= 1; + key.shape= "NORM"; + key.gap= 1; + + section "Alpha" { + top= 28; + row { + top= 1; + keys { + , { , 6 }, + { , 30 }, , , , + { , 6 }, , , , + { , 6 }, , , , + { , 68 }, , , + }; + }; + row { + top= 20; + keys { + , { , 6 }, + { , 30 }, , , , + { , 6 }, , , , + { , 6 }, , , , + { , 6 }, , , + { , 6 }, , , + }; + }; + row { + top= 39; + left= 316; + keys { + , , + }; + }; + row { + top= 54; + keys { + , { , 6 }, + , , , , , + , , , , , + , , , , + { , 68 }, , , + + }; + }; + row { + top= 58; + left= 316; + keys { + , , + }; + }; + row { + top= 73; + keys { , + { , 6, "TABK" }, + , , , , , + , , , , , + , , { , "RTRN" }, + { , 68 }, , , + }; + }; + row { + top= 92; + keys { , + { , 6, "LCTL" }, + , , , , , + , , , , , + , , + { , 49 }, + { , 25 }, , , + }; + }; + row { + top= 102; + left= 316; + keys { , { , 19 } + }; + }; + row { + top= 111; + keys { , + { , 6 , "LFSH" }, + , , , , , + , , , , , + , { , "RTSH" }, + { , 25 }, + { , 25 }, , , { , "KPEN" } + }; + }; + row { + top= 130; + keys { , { , 6 }, + , , + { , "SPCE" }, + , , , , + { , 68, "KP0" }, + }; + }; + row { + top= 149; + left= 316; + keys { + { , "EXEC" } + }; + }; + }; // End of "Alpha" section +}; + +xkb_geometry "140" { + + // This is an approximate layout for a Fujitsu Japanese keyboard. + + description= "Fujitsu Japanese keyboard"; + + width= 480; + height= 215; + + shape "EDGE" { cornerRadius= 2, { [ 480, 215 ] } }; + shape.cornerRadius= 1; + shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } }; + shape "TABK" { { [ 27,18] }, { [2,1], [ 25,17] } }; + shape "RTRN" { + approx = { [ 0, 0], [28,37] }, + { [ 0, 0], [28, 0], [28,37], + [ 5,37], [ 5,19], [ 0,19] }, + { [ 1, 1], [26, 1], [26,36], + [ 7,36], [ 7,18], [ 1,18] } + }; + shape "LFSH" { { [ 41,18] }, { [2,1], [ 39,17] } }; + shape "RTSH" { { [ 33,18] }, { [2,1], [ 31,17] } }; + shape "LCTL" { { [ 32,18] }, { [2,1], [ 30,17] } }; + shape "SPCE" { { [113,18] }, { [2,1], [111,17] } }; + shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } }; + shape "KPEN" { { [ 18,37] }, { [2,1], [ 16,36] } }; + shape "HNKN" { { [ 23,18] }, { [2,1], [ 21,17] } }; + shape "EXEC" { { [ 57,18] }, { [2,1], [ 55,17] } }; + + outline "Edges" { + top= 0; + left= 0; + shape= "EDGE"; + }; + + section.left= 15; + row.left= 1; + key.shape= "NORM"; + key.gap= 1; + + section "Alpha" { + top= 28; + row { + top= 1; + keys { + , { , 6 }, + { , 30 }, , , , + { , 6 }, , , , + { , 6 }, , , , + { , 68 }, , , + }; + }; + row { + top= 20; + keys { + , { , 6 }, + { , 30 }, , , , + { , 6 }, , , , + { , 6 }, , , , + { , 6 }, , , + { , 6 }, , , + }; + }; + row { + top= 39; + left= 316; + keys { + , , + }; + }; + row { + top= 54; + keys { + , { , 6 }, + , , , , , + , , , , , + , , , , + { , 68 }, , , + + }; + }; + row { + top= 58; + left= 316; + keys { + , , + }; + }; + row { + top= 73; + keys { , + { , 6, "TABK" }, + , , , , , + , , , , , + , , { , "RTRN" }, + { , 68 }, , , + }; + }; + row { + top= 92; + keys { , + { , 6, "LCTL" }, + , , , , , + , , , , , + , , + { , 49 }, + { , 25 }, , , + }; + }; + row { + top= 102; + left= 316; + keys { , { , 19 } + }; + }; + row { + top= 111; + keys { , + { , 6 , "LFSH" }, + , , , , , + , , , , , + , { , "RTSH" }, + { , 25 }, + { , 25 }, , , { , "KPEN" } + }; + }; + row { + top= 130; + keys { , { , 6 }, + , , , + { , "SPCE" }, + , , , , , + { , 68, "KP0" }, + }; + }; + row { + top= 149; + left= 134; + keys { + { , "HNKN" }, { , "HNKN" }, + { , 132, "EXEC" } + }; + }; + }; // End of "Alpha" section +}; diff --git a/xkbdata/geometry/hhk b/xkbdata/geometry/hhk new file mode 100644 index 0000000..793f7c0 --- /dev/null +++ b/xkbdata/geometry/hhk @@ -0,0 +1,266 @@ +// +// XKB geometry for the Happy Hacking (Lite). +// Different variants correspond to different switch +// settings on the HHK. +// +// Copyright (c) Doug Palmer , 2002 +// +//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 +//AUTHORS OR COPYRIGHT HOLDERS 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. + +// SW = 100 Default layout with windows keys +default xkb_geometry "win1" { + include "hhk(basic)" + + key.gap = 1; + section "Space" { + top = 86; + left = 30; + row { + top = 1; + keys { + , + { , "DIAM" }, + { , "SPCE" }, + { , "DIAM" }, + + }; + }; + }; +}; + +// SW = 101 Layout with windows and alt keys swapped +xkb_geometry "win2" { + include "hhk(basic)" + + key.gap = 1; + section "Space" { + top = 86; + left = 30; + row { + top = 1; + keys { + , + { , "DIAM" }, + { , "SPCE" }, + { , "DIAM" }, + + }; + }; + }; +}; + +// SW = 110 Default layout with windows keys, and left diamond = Fn key +xkb_geometry "win3" { + include "hhk(basic)" + + key.gap = 1; + section "Space" { + top = 86; + left = 30; + row { + top = 1; + keys { + , + { , "DIAM" }, + { , "SPCE" }, + { , "DIAM" }, + + }; + }; + }; +}; + +// SW = 101 Layout with windows and alt keys swapped and left-Alt = Fn key +xkb_geometry "win4" { + include "hhk(basic)" + + key.gap = 1; + section "Space" { + top = 86; + left = 30; + row { + top = 1; + keys { + , + { , "DIAM" }, + { , "SPCE" }, + { , "DIAM" }, + + }; + }; + }; +}; + +// SW = 000 Layout with Muhenkan and Henkan keys +xkb_geometry "jp1" { + include "hhk(basic)" + + key.gap = 1; + section "Space" { + top = 86; + left = 30; + row { + top = 1; + keys { + , + { , "DIAM" }, + { , "SPCE" }, + { , "DIAM" }, + + }; + }; + }; +}; + +// SW = 001 Layout with Muhenkan and Henkan keys swapped with Alt +xkb_geometry "jp2" { + include "hhk(basic)" + + key.gap = 1; + section "Space" { + top = 86; + left = 30; + row { + top = 1; + keys { + , + { , "DIAM" }, + { , "SPCE" }, + { , "DIAM" }, + + }; + }; + }; +}; + +// SW = 010 Layout with Henkan key and left-diamond as Fn +xkb_geometry "jp3" { + include "hhk(basic)" + + key.gap = 1; + section "Space" { + top = 86; + left = 30; + row { + top = 1; + keys { + , + { , "DIAM" }, + { , "SPCE" }, + { , "DIAM" }, + + }; + }; + }; +}; + +// SW = 001 Layout with Henkan key swapped with Alt and left-Alt as Fn +xkb_geometry "jp4" { + include "hhk(basic)" + + key.gap = 1; + section "Space" { + top = 86; + left = 30; + row { + top = 1; + keys { + , + { , "DIAM" }, + { , "SPCE" }, + { , "DIAM" }, + + }; + }; + }; +}; + +// Basic layout for non-switchable keys +partial hidden xkb_geometry "basic" { + + description = "Happy Hacking"; + width = 290; + height = 106; + + shape.cornerRadius = 1; + shape "NORM" { { [18, 18] }, { [2, 1], [14, 14] } }; + shape "BKSP" { { [28, 18] }, { [2, 1], [24, 14] } }; + shape "TABK" { { [28, 18] }, { [2, 1], [24, 14] } }; + shape "CTRL" { { [32, 18] }, { [2, 1], [28, 14] } }; + shape "RTRN" { { [42, 18] }, { [2, 1], [38, 14] } }; + shape "LFSH" { { [42, 18] }, { [2, 1], [38, 14] } }; + shape "RTSH" { { [32, 18] }, { [2, 1], [28, 14] } }; + shape "DIAM" { { [28, 18] }, { [2, 1], [24, 14] } }; + shape "SPCE" { { [114, 18] }, { [2, 1], [110, 14] } }; + + text.color = "black"; + text "PFULabel" { left = 16; top = 2; fontsize = 20; text = "PFU"; }; + text "HHKLabel" { left = 254; top = 90; text = "Happy Hacking\nKeyboard"; }; + + section.left = 1; + row.left = 1; + key.shape = "NORM"; + key.gap = 1; + + section "Alphanumeric" { + top = 10; + row { + top = 1; + keys { + , + , , , , , + , , , , , + , , + , + }; + }; + row { + top = 20; + keys { + { , "TABK" }, + , , , , , + , , , , , + , , + { , "BKSP" } + }; + }; + row { + top = 39; + keys { + { , "CTRL" }, + , , , , , + , , , , , + , + { , "RTRN" } + }; + }; + row { + top = 58; + keys { + { , "LFSH" }, + , , , , , + , , , , , + { , "RTSH" }, + { , color = "grey20" } + }; + }; + }; + + alias = ; +}; diff --git a/xkbdata/geometry/hp b/xkbdata/geometry/hp new file mode 100644 index 0000000..caab94f --- /dev/null +++ b/xkbdata/geometry/hp @@ -0,0 +1,696 @@ +// +//Copyright 1996, 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. +// + +default xkb_geometry "pc101" { + + description= "HP PC101"; + width= 470; + height= 210; + + shape.cornerRadius= 1; + shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } }; + shape "BKSP" { { [ 37,18] }, { [2,1], [ 35,17] } }; + shape "TABK" { { [ 28,18] }, { [2,1], [ 26,17] } }; + shape "BKSL" { { [ 28,18] }, { [2,1], [ 26,17] } }; + shape "RTRN" { { [ 42,18] }, { [2,1], [ 40,17] } }; + shape "CAPS" { { [ 32,18] }, { [2,1], [ 30,17] } }; + shape "LFSH" { { [ 42,18] }, { [2,1], [ 40,17] } }; + shape "RTSH" { { [ 52,18] }, { [2,1], [ 50,17] } }; + shape "MODK" { { [ 28,18] }, { [2,1], [ 26,17] } }; + shape "SPCE" { { [132,18] }, { [2,1], [130,17] } }; + shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } }; + shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,36] } }; + + section.left= 19; + row.left= 1; + key.shape= "NORM"; + key.gap= 1; + section "Function" { + top= 52; + row { + top= 1; + keys { { , color="grey20" }, + { , 18 }, , , , + { , 11 }, , , , + { , 11 }, , , , + { , 8 }, , + }; + }; + }; // End of "Function" section + + section "Alpha" { + top= 91; + row { + top= 1; + keys { , , , , , + , , , , , + , , , + { , "BKSP", color="grey20" } + }; + }; + row { + top= 20; + keys { { , "TABK", color="grey20" }, + , , , , , + , , , , , + , , { , "BKSL" } + }; + }; + row { + top= 39; + keys { { , "CAPS", color="grey20" }, + , , , , , + , , , , , + , { , "RTRN", color="grey20" } + }; + }; + row { + top= 58; + keys { { , "LFSH", color="grey20" }, + , , , , , + , , , , , + { , "RTSH", color="grey20" } + }; + }; + row { + top= 77; + key.shape= "MODK"; + key.color= "grey20"; + keys { , { , 20 }, + { , "SPCE", color="white" }, + , { , 20 } + }; + }; + }; // End of "Alpha" section + + section "Editing" { + top= 91; + left= 310; + key.color= "grey20"; + row { + top= 1; + keys { , , }; + }; + row { + top= 20; + keys { , , }; + }; + row { + top= 58; + left= 20; + keys { }; + }; + row { + top= 77; + keys { , , }; + }; + }; // End of "Editing" section + + section "Keypad" { + top= 91; + left= 375; + row { + top= 1; + key.color= "grey20"; + keys { , , , }; + }; + row { + top= 20; + keys { , , , { , "KPAD", color="grey20" } }; + }; + row { + top= 39; + keys { , , }; + }; + row { + top= 58; + keys { , , , { , "KPAD", color="grey20" } }; + }; + row { + top= 77; + keys { { , "KP0" }, }; + }; + }; // End of "Keypad" section + + alias = ; + alias = ; + +}; // End of "default" geometry + +xkb_geometry "hil" { + + description= "HP hil"; + width= 455; + height= 170; + + shape.cornerRadius= 1; + shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } }; + shape "BKSP" { { [ 32,18] }, { [2,1], [ 30,17] } }; + shape "TABK" { { [ 32,18] }, { [2,1], [ 30,17] } }; + shape "BKSL" { { [ 24,18] }, { [2,1], [ 22,17] } }; + shape "RTRN" { { [ 38,18] }, { [2,1], [ 36,17] } }; + shape "LFSH" { { [ 28,18] }, { [2,1], [ 26,17] } }; + shape "RTSH" { { [ 28,18] }, { [2,1], [ 26,17] } }; + shape "SPCE" { { [151,18] }, { [2,1], [150,17] } }; + shape "KP0" { { [ 38,18] }, { [2,1], [ 36,17] } }; + shape "KPTB" { { [ 18,38] }, { [2,1], [ 16,37] } }; + shape "TLDE" { { [ 24,18] }, { [2,1], [ 22,17] } }; + shape "FKT1" { { [ 17,14] }, { [2,1], [ 15,13] } }; + shape "FKT2" { { [ 23,14] }, { [2,1], [ 21,13] } }; + + section.left= 19; + row.left= 1; + key.shape= "NORM"; + key.gap= 1; + section "Function" { + top= 14; + row { + top= 1; + keys { { , "FKT1" }, { , "FKT1" } , + { , "FKT2", 10 }, { , "FKT2" }, + { , "FKT2" }, { , "FKT2" }, + { , "FKT1" }, { , "FKT1" }, + { , "FKT2" }, { , "FKT2" }, + { , "FKT2" }, { , "FKT2" }, + { , "FKT1", 10 }, { , "FKT1" }, + { , "FKT1", 19 }, { , "FKT1" }, + { , "FKT1" }, { , "FKT1" } + }; + }; + }; // End of "Function" section + + section "Alpha" { + top= 52; + row { + top= 1; + keys { { , "TLDE" }, , , , , + , , , , , + , , , + { , "BKSP" }, , + }; + }; + row { + top= 20; + keys { { , "TABK" }, + , , , , , + , , , , , + , , { , "BKSL" }, + , + }; + }; + row { + top= 39; + keys { , , + , , , , , + , , , , , + , { , "RTRN" }, + , + }; + }; + row { + top= 58; + keys { , { , "LFSH" }, + , , , , , + , , , , , + { , "RTSH" }, , + , + }; + }; + row { + top= 77; + keys { , { , 30 }, + { , "SPCE" }, + , { , 30 }, , + }; + }; + }; // End of "Alpha" section + + section "Keypad" { + top= 52; + left= 360; + row { + top= 1; + keys { , , , }; + }; + row { + top= 20; + keys { , , , }; + }; + row { + top= 39; + keys { , , , }; + }; + row { + top= 58; + keys { , , , { , "KPTB" } }; + }; + row { + top= 77; + keys { { , "KP0" }, }; + }; + }; // End of "Keypad" section + +}; + + +// Created by Alexander Pohoyda +// Geometry specification for HP Omnibook keyboards. +// Compatible Models: 6100, 6000. + +xkb_geometry "omnibook" { + width = 282; + height = 128; + baseColor = "grey80"; + labelColor = "white"; + + shape "FN0" { cornerRadius = 1, { [15.5, 12] }, { [1, 0], [14.5, 11] } }; + shape "NORM" { cornerRadius = 1, { [18, 16] }, { [2, 0], [16, 14] } }; + shape "BKSP" { cornerRadius = 1, { [31, 16] }, { [2, 0], [29, 14] } }; + shape "TABK" { cornerRadius = 1, { [27, 16] }, { [2, 0], [25, 14] } }; + shape "CAPS" { cornerRadius = 1, { [32, 16] }, { [2, 0], [30, 14] } }; + shape "RTSH" { cornerRadius = 1, { [45, 16] }, { [2, 0], [43, 14] } }; + shape "MODK" { cornerRadius = 1, { [28, 16] }, { [2, 0], [26, 14] } }; + shape "SPCE" { cornerRadius = 1, { [90, 16] }, { [2, 0], [88, 14] } }; + shape "ARRS" { cornerRadius = 1, { [17, 12] }, { [2, 0], [15, 11] } }; + + shape "LED" { cornerRadius = 1, { [2, 4] } }; + + shape "KEYS" { cornerRadius = 1, + { [0, 13], + [197, 13], [197, 0], + [280, 0], [280, 125], + [224, 125], [224, 112], + [0, 112] } + }; + + solid "KeyPanel" { + shape = "KEYS"; + left = 1; + top = 1; + color = "black"; + }; + + shape "NULL1" { cornerRadius = 1, { [54, 16] } }; + + solid "NullPanel1" { + shape = "NULL1"; + left = 226; + top = 96; + color = "grey80"; + }; + + shape "NULL2" { cornerRadius = 1, { [19, 14] } }; + + solid "NullPanel2" { + shape = "NULL2"; + left = 243; + top = 97; + color = "black"; + }; + + indicator.onColor = "green"; + indicator.offColor = "grey10"; + indicator.top = 4; + indicator.shape = "LED"; + indicator "Caps Lock" { left = 45; }; + indicator "Num Lock" { left = 60; }; + indicator "Scroll Lock" { left = 75; }; + indicator "HDDActivity" { onColor = "red"; left = 90; }; + + key.color = "grey60"; + + section "Function" { + key.gap = 0.99; + left = 1; + top = 1; + key.shape = "FN0"; + row { + left = 197; + top = 1; + keys { , , , , }; + }; + row { + top = 14; + keys { , + , , , , + , , , , + , , , , + , , , + }; + }; + }; // End of "Function" section + + section "Control" { + left = 1; + top = 34; + key.gap = 1; + row { + top = 62; + key.shape = "NORM"; + keys { , , , , + { , "SPCE" }, , , + }; + }; + }; // End of "Control" section + + section "Navigation" { + key.shape = "ARRS"; + left = 225; + top = 97; + key.gap = 1.4; + row { + left= 18; + top = 1; + keys { }; + }; + row { + top = 16; + keys { , , }; + }; + }; // End of "Navigation" section + + shape "STIK" { cornerRadius = 4, { [7, 7] } }; + + solid "STIK" { + priority = 255; + color = "red"; + shape = "STIK"; + top = 73; + left = 126; + }; +}; + +// 86 keys +xkb_geometry "omnibook_intl" { + include "hp(omnibook)" + description = "HP Omnibook 6000/6100, Intl"; + + shape "RTRN" { cornerRadius = 1, + { [22, 0], [22, 33], [5, 33], [5, 16], [0, 16], [0, 0] }, + { [20, 0], [20, 31], [7, 31], [7, 14], [2, 14], [2, 0] } }; + shape "LFSH" { cornerRadius = 1, { [23, 16] }, { [2, 0], [21, 14] } }; + + section "Alpha" { + key.gap = 1; + key.color = "grey60"; + key.shape = "NORM"; + left = 1; + top = 27; + row { + top = 1; + keys { , , , , , + , , , , , + , , , { , "BKSP" } + }; + }; + row { + top = 18; + keys { { , "TABK" }, + , , , , , + , , , , , + , , { , "RTRN" } + }; + }; + row { + top = 35; + keys { { , "CAPS" }, + , , , , , + , , , , , + , + }; + }; + row { + top = 52; + keys { { , "LFSH" }, , + , , , , , + , , , , , + { , "RTSH" } + }; + }; + }; // End of "Alpha" section +}; + +xkb_geometry "mini110" { + + description= "HP Mini 110"; + width= 262; + height= 106; + + shape.cornerRadius = 0; + shape "FN0" { { [ 14, 10 ] } , { [ 14, 10 ] } }; + shape "NORM" { { [ 16.7, 16 ] } , { [ 16.7, 16 ] } }; + shape "TLDE" { { [ 12, 16 ] } , { [ 12, 16 ] } }; + shape "ONE" { { [ 14, 16 ] } , { [ 14, 16 ] } }; + shape "BKSP" { { [ 31.3, 16 ] } , { [ 31.3, 16 ] } }; + shape "BKSL" { { [ 23.9, 16 ] } , { [ 23.9, 16 ] } }; + shape "CAPS" { { [ 22, 16 ] } , { [ 22, 16 ] } }; + shape "RTRN" { { [ 36.3, 16 ] } , { [ 36.3, 16 ] } }; + shape "LFSH" { { [ 31, 16 ] } , { [ 31, 16 ] } }; + shape "RTSH" { { [ 45, 16 ] } , { [ 45, 16 ] } }; + shape "CTLS" { { [ 16.5, 19 ] } , { [ 16.5, 19 ] } }; + shape "SPCE" { { [ 78.4, 19 ] } , { [ 78.4, 19 ] } }; + shape "ARRW" { { [ 16.7, 9 ] } , { [ 16.7, 9 ] } }; + + key.gap=1; + + section "Function" { + top=4; + left=3; + key.shape="FN0"; + row { + keys { + , , , , , , + , , , , , , + , , , , + }; + }; + }; + + section "Alphanum" { + top=15; + left=3; + key.shape="NORM"; + row { + top= 0; + keys { { , "TLDE" } , { , "ONE" }, , , , + , , , , , + , , , + { , "BKSP" } + }; + }; + row { + top= 17; + keys { , , , , , , + , , , , , + , , { , "BKSL" } + }; + }; + row { + top= 34; + keys { { , "CAPS" } , + , , , , , + , , , , , + , { , "RTRN" } + }; + }; + row { + top= 51; + keys { { , "LFSH" }, + , , , , , + , , , , , + { , "RTSH" } + }; + }; + + }; + + section "Control" { + top=83; + left=3; + key.shape="CTLS"; + row { + keys { + , , , , { , "SPCE" }, , , + }; + }; + }; + + section "Arrows" { + top=83; + left=204.9; + key.shape="ARRW"; + row { + left= 17.7; + keys { + + }; + }; + row { + top = 10; + keys { + , , + }; + }; + }; + +}; + +xkb_geometry "dv5" { + + height=118.4; + width=310.6; + + description = "HP Pavilion dv5"; + + shape.cornerRadius = 1; + + shape "ESC" { { [20.0, 12.5] }, { [2.2, 1], [17.8, 10.5] } }; + shape "FN0" { { [15.9, 12.5] }, { [2.2, 1], [13.7, 10.5] } }; + shape "DELE" { { [19.4, 12.5] }, { [2.2, 1], [17.2, 10.5] } }; + + shape "NORM" { { [17.9, 18.3] }, { [2.2, 1], [15.7, 16.3] } }; + + shape "BKSP" { { [36.1, 18.3] }, { [2.4, 1], [33.7, 16.3] } }; + + shape "TABK" { { [26.8, 18.3] }, { [2.4, 1], [24.4, 16.3] } }; + shape "BKSL" { { [27.1, 18.3] }, { [2.4, 1], [24.7, 16.3] } }; + + shape "CAPS" { { [31.6, 18.3] }, { [2.4, 1], [29.2, 16.3] } }; + shape "RTRN" { { [41.2, 18.3] }, { [2.4, 1], [39.3, 16.3] } }; + + shape "LFSH" { { [41.5, 18.3] }, { [2.4, 1], [38.8, 16.3] } }; + shape "RTSH" { { [31.5, 18.3] }, { [2.4, 1], [29.1, 16.3] } }; + + shape "LCTL" { { [22.4, 18.3] }, { [2.2, 1], [20.2, 16.3] } }; + shape "RCTL" { { [22.6, 18.3] }, { [2.2, 1], [20.4, 16.3] } }; + shape "CTLS" { { [17.9, 18.3] }, { [2.2, 1], [15.7, 16.3] } }; + shape "SPCE" { { [94.3, 18.3] }, { [2.5, 1], [91.8, 16.3] } }; + + shape "ARRW" { { [17.9, 18.3] }, { [2.2, 1], [15.7, 16.3] } }; + + shape "EDIT" { { [16.6, 18.3] }, { [2.2, 1], [14.4, 16.3] } }; + + key.gap = 1.2; + + section "Function" { + top=4.2; + left=3; + row { + key.shape = "FN0"; + keys { + {, "ESC"}, + {2.9, }, , , , + {2.9, }, , , , + {2.9, }, , , , + {2.9, }, , , {, "DELE"} + }; + }; + }; + + section "Alpha" { + top = 17.9; + key.shape = "NORM"; + left = 3; + + row { + top = 0; + keys { , , , , , + , , , , , + , , , { , "BKSP" } + }; + }; + row { + top = 19.5; + keys { { , "TABK" }, + , , , , , + , , , , , + , , { , "BKSL" } + }; + }; + row { + top = 39; + keys { { , "CAPS" }, + , , , , , + , , , , , + , { , "RTRN" } + }; + }; + row { + top = 58.5; + keys { { , "LFSH" }, + , , , , , + , , , , , + { , "RTSH" } + }; + }; + }; // End of "Alpha" section + + section "Controls" { + top = 95.9; + key.shape = "CTLS"; + left = 3; + row { + top = 0; + keys { {, "LCTL"}, , , , {, "SPCE"}, + , , {, "RCTL"} + }; + }; + }; + + section "Editing" { + top = 16.5; + left = 289.9; + key.shape = "EDIT"; + key.gap = 1.4; + row { + top = 0; + vertical = true; + keys { + , , , + }; + }; + }; + + section "Arrows" { + top = 76.4; + key.shape = "ARRW"; + left = 249.3; + row { + top = 0; + left = 19.1; + keys { + + }; + }; + row { + top = 19.5; + left = 0; + keys { + , , + }; + }; + }; +}; diff --git a/xkbdata/geometry/keytronic b/xkbdata/geometry/keytronic new file mode 100644 index 0000000..fb17dd8 --- /dev/null +++ b/xkbdata/geometry/keytronic @@ -0,0 +1,252 @@ +// +//Copyright 1996, 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. +// +default xkb_geometry "FlexPro" { + + // This is an approximate layout for a Key Tronic FlexPro + // keyboard. I just took a similar layout (101 key PC keyboard) + // and adjusted the sizes of a few keys by eye. I didn't actually + // *measure* a real keyboard. + + description= "Key Tronic FlexPro keyboard"; + + width= 515; + height= 200; + + shape "EDGE" { cornerRadius= 2, { [ 515, 200 ] } }; + shape.cornerRadius= 1; + shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } }; + shape "BKSP" { { [ 32,18] }, { [2,1], [30,17] } }; + shape "TABK" { { [ 32,18] }, { [2,1], [30,17] } }; + shape "BKSL" { { [ 23,18] }, { [2,1], [21,17] } }; + shape "RTRN" { + approx = { [16, 0], [38,37] }, + { [16, 0], [38, 0], [38,37], + [ 0,37], [ 0,19], [16,19] }, + { [18, 1], [36, 1], [36,36], + [ 2,36], [ 2,20], [18,20] } }; + shape "CAPS" { { [36,18] }, { [2,1], [34,17] } }; + shape "SHFT" { { [46,18] }, { [2,1], [44,17] } }; + shape "LCTL" { { [32,18] }, { [2,1], [30,17] } }; + shape "RCTL" { { [38,18] }, { [2,1], [36,17] } }; + shape "LALT" { { [28,18] }, { [2,1], [26,17] } }; + shape "RALT" { { [33,18] }, { [2,1], [31,17] } }; + shape "LSPC" { { [66,22] }, { [0,0], [66,22] } }; + shape "RSPC" { { [76,22] }, { [0,0], [76,22] } }; + shape "KP0" { { [37,18] }, { [2,1], [35,17] } }; + shape "KPEN" { { [18,37] }, { [2,1], [16,36] } }; + shape "LOGO" { cornerRadius= 3, { [80,35] } }; + + outline "Edges" { + top= 0; + left= 0; + shape= "EDGE"; + }; + + section.left= 9; + row.left= 1; + key.shape= "NORM"; + key.gap= 1; + + section "Function" { + top= 56; + row { + top = 1; + key.color= "grey20"; + keys { , }; + }; + row { + top = 20; + key.color= "grey20"; + keys { , }; + }; + row { + top = 39; + keys { , }; + }; + row { + top = 58; + key.color= "grey20"; + keys { , }; + }; + row { + top = 77; + key.color= "grey20"; + keys { , }; + }; + row { + top = 96; + keys { , }; + }; + }; // End of "Function" section + + section "Alpha" { + top= 56; + left= 53; + row { + top= 1; + keys { + { , color="grey20" }, { , "BKSL", color="grey20" }, + , , , , + , , , , , + , , , + { , "BKSP", color="grey20" } + }; + }; + row { + top= 20; + keys { + { , color="grey20" }, { , "TABK", color="grey20" }, + , , , , , + , , , , , + , , + { , "RTRN", -14, color="grey20" } + }; + }; + row { + top= 39; + keys { + { , color="grey20" }, { , "CAPS", color="grey20" }, + , , , , , + , , , , , + }; + }; + row { + top= 58; + keys { + { , color="grey20" }, + { , "SHFT", color="grey20" }, + , , , , , + , , , , , + { , "SHFT", color="grey20" } + }; + }; + row { + top= 77; + key.color= "grey20"; + keys { + , + { , shape="LCTL" }, + { , shape="LALT" }, + { , shape="LSPC", 4, color="white" }, + { , shape="RSPC",color="white" }, + { , shape="RALT", 4 }, + { , shape="RCTL" } + }; + }; + }; // End of "Alpha" section + + section "Editing" { + top= 12; + left= 365; + key.color= "grey20"; + row { + top= 1; + keys { , , }; + }; + row { + top= 45; + keys { , , }; + }; + row { + top= 64; + keys { , , }; + }; + row { + top= 102; + left= 20; + keys { }; + }; + row { + top= 121; + keys { , , }; + }; + }; // End of "Editing" section + + shape "LEDS" { cornerRadius= 3, { [ 76, 20 ] } }; + shape "LED" { cornerRadius= 0, { [ 7, 4 ] } }; + solid "LedPanel" { + shape= "LEDS"; + top= 11; + left= 430; + color= "grey10"; + }; + indicator.onColor= "green"; + indicator.offColor= "green30"; + indicator.top= 13; + indicator.shape= "LED"; + indicator "Num Lock" { left= 440; }; + indicator "Caps Lock" { left= 467; }; + indicator "Scroll Lock" { left= 489; }; + text.top= 22; + text.color= "black"; + text "NumLockLabel" { left= 438; text="Num\nLock"; }; + text "CapsLockLabel" { left= 465; text="Caps\nLock"; }; + text "ScrollLockLabel" { left= 487; text="Scroll\nLock"; }; + + logo "FlexProLogoImage" { + top= 12; + left= 45; + name= "KeyTronic"; + shape= "LOGO"; + }; + text "KeyTronicLogoText" { + top= 15; + left= 50; + width= 55; + text= "FlexPro"; + font= "times"; + slant= "o"; + weight= "bold"; + fontWidth= "narrow"; + fontSize= 36; + }; + + section "Keypad" { + top= 56; + left= 430; + row { + top= 1; + key.color= "grey20"; + keys { , , , }; + }; + row { + top= 20; + keys { , , , { , color= "grey20" } }; + }; + row { + top= 39; + keys { , , , { , color= "grey20" } }; + }; + row { + top= 58; + keys { , , , { , "KPEN", color= "grey20" } }; + }; + row { + top= 77; + keys { { , "KP0" }, }; + }; + }; // End of "Keypad" section +}; diff --git a/xkbdata/geometry/kinesis b/xkbdata/geometry/kinesis new file mode 100644 index 0000000..d73b1e1 --- /dev/null +++ b/xkbdata/geometry/kinesis @@ -0,0 +1,189 @@ +default xkb_geometry "model100" { + + // This is an approximate layout for a Kinesis Ergonomic keyboard + // Generated completely by eye. I didn't actually *measure* a real + // keyboard. + + description= "Kinesis Ergonomic"; + width= 421; + height= 185; + + shape.cornerRadius= 1; + shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } }; + shape "WIDE" { { [ 21,18] }, { [2,1], [19,17] } }; + shape "TALL" { { [ 18,37] }, { [2,1], [16,36] } }; + shape "FKEY" { cornerRadius=0, { [ 10,13] } }; + shape "LED" { cornerRadius= 1.5, { [ 3, 3] } }; + shape "LOGO" { { [ 40, 10 ] } }; + shape "EDGE" { cornerRadius=5, { [ 421, 185 ] } }; + + outline "Edges" { + top= 0; + left= 0; + shape= "EDGE"; + }; + + section "LeftFunction" { + left= 15; + top= 11; + key.shape= "FKEY"; + key.gap= 3; + row { + left= 1; + top= 1; + keys { + , , , , , + , , , + }; + }; + }; // End of "LeftFunction" section + + section "RightFunction" { + left= 290; + top= 11; + key.shape= "FKEY"; + key.gap= 3; + row { + left= 1; + top= 0.2; + keys { + , , , , , + , , , + }; + }; + }; // End of "RightFunction" section + + row.vertical= True; + row.top= 1; + key.gap= 0.5; + + logo "KinesisLogoImage" { + top= 25; + left= 240; + name= "Kinesis"; + shape= "LOGO"; + }; + + indicator.shape= "LED"; + indicator.top= 30; + indicator.onColor= "green"; + indicator.offColor= "green30"; + indicator "Caps Lock" { left= 23; }; + + section "LeftAlpha" { + top= 34; + left= 15; + row { + left= 2; + key.shape= "WIDE"; + keys { , , , }; + }; + row { + top= 4; + left= 24; + keys { , , { , color="grey20" }, , }; + }; + row { + left= 43; + keys { , , { , color="grey20" }, , }; + }; + row { + left= 62; + keys { , , { , color="grey20" }, , }; + }; + row { + left= 81; + keys { , , { , color="grey20" }, , }; + }; + row { + left= 100; + keys { , , , }; + }; + }; // End of "LeftAlpha" section + + indicator "NumLock" { left= 318; }; + indicator "Overlay" { left= 387; }; + section "RightAlpha" { + top= 34; + left= 290; + row { + left= 2; + keys { , , , }; + }; + row { + left= 21; + keys { , , { , color="grey20" }, , }; + }; + row { + left= 40; + keys { , , { , color="grey20" }, , }; + }; + row { + left= 59; + keys { , , { , color="grey20" }, , }; + }; + row { + top= 4; + left= 78; + keys { , , { , color="grey20" }, , }; + }; + row { + left= 97; + key.shape= "WIDE"; + keys { , , , }; + }; + overlay "KPAD" { + =, =, =, =, + =, =, =, =, + =, =, =, =, + =, =, =, =, + =, = + }; + }; // End of "RightAlpha" section + + section "LeftEdit" { + top= 109; + left= 123; + angle= 20; + row.top= -18; + row { + top= 1; + left= 1; + keys { { , "TALL" } }; + }; + row { + left= 20; + keys { , { , "TALL" } }; + }; + row { + left= 39; + keys { , , }; + }; + }; // End of "LeftEdit" section + + section "RightEdit" { + top= 109; + left= 302; + angle= -20; + row.top= -18; + row { + left= -57; + keys { , , }; + }; + row { + left= -38; + keys { , { , "TALL" } }; + }; + row { + top= 1; + left= -19; + keys { { , "TALL" } }; + }; + overlay "KPAD" { + = + }; + }; // End of "RightEdit" section + + alias = ; + alias = ; +}; diff --git a/xkbdata/geometry/macintosh b/xkbdata/geometry/macintosh new file mode 100644 index 0000000..d7971ff --- /dev/null +++ b/xkbdata/geometry/macintosh @@ -0,0 +1,1443 @@ +// +// Some modifications () : +// - Added a key +// - Fixed the shape of the key +// - Moved to the 'AC' row +// - Added a special Macintosh sysctl key +// - Minor changes (Function keys shape, LED position...) + +// Minor changes +// - Mail address above is no longer valid +// - Changed {L,R}MTA to {L,R}WIN, which are defined +// 2005/10 -- Simon Vallet + +default xkb_geometry "macintosh" { + + description= "Apple Extended Keyboard II"; + width = 475; + height = 194; + + shape.cornerRadius= 1; + shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } }; + shape "TLDE" { { [ 23,18] }, { [2,1], [ 21,17] } }; + shape "BKSP" { { [ 33,18] }, { [2,1], [ 31,17] } }; + shape "TAB" { { [ 33,18] }, { [2,1], [ 31,17] } }; + shape "RTRN" { + { [0,0],[23,0],[23,37],[4,37],[4,18],[0,18] }, + { [2,1],[21,1],[21,36],[6,36],[6,17],[2,17] } }; + shape "CAPS" { { [ 37,18] }, { [2,1], [ 35,17] } }; + shape "LCTL" { { [ 28,18] }, { [2,1], [ 26,17] } }; + shape "LALT" { { [ 22,18] }, { [2,1], [ 20,17] } }; + shape "LMTA" { { [ 28,18] }, { [2,1], [ 26,17] } }; + shape "LFSH" { { [ 28,18] }, { [2,1], [ 26,17] } }; + shape "RCTL" { { [ 28,18] }, { [2,1], [ 26,17] } }; + shape "RALT" { { [ 22,18] }, { [2,1], [ 20,17] } }; + shape "RMTA" { { [ 28,18] }, { [2,1], [ 26,17] } }; + shape "RTSH" { { [ 47,18] }, { [2,1], [ 45,17] } }; + shape "SPCE" { { [123,18] }, { [2,1], [121,17] } }; + shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } }; + shape "KPEN" { { [ 18,37] }, { [2,1], [ 16,36] } }; + // Macintosh keyboards have a special sysctl key at the top right + shape "AAPL" { + { [ 0,0], [ 18,0], [ 18,18], [ 0,18] }, + { [ 1,1], [ 17,1], [ 17,17], [ 1,17] }, + { [ 8,5], [ 8,12], [ 2,9] } }; + + shape "LEDS" { cornerRadius = 0, { [ 55,19] } }; + shape "LED" { cornerRadius = 0, { [ 8, 2] } }; + + solid "LedPanel" { + shape= "LEDS"; + top = 48; + left = 378; + }; + + indicator.onColor= "green"; + indicator.offColor= "green30"; + indicator.top = 50; + indicator.shape= "LED"; + indicator "NumLock" { left = 381; }; + indicator "CapsLock" { left = 398; }; + indicator "ScrollLock" { left = 415; }; + text.top= 55; + text.color= "black"; + text "NumLockLabel" { left = 381; text = "Num\nLock"; }; + text "CapsLockLabel" { left = 398; text = "Caps\nLock"; }; + text "ScrollLockLabel" { left = 415; text = "Scroll\nLock"; }; + + section.left= 19; + row.left= 1; + key.shape= "NORM"; + key.gap= 1; + + section "Function" { + top = 48; + row { + top= 1; + keys { , + { , 20 }, , , , + { , 11 }, , , , + { , 11 }, , , , + { , 10 }, , , + // This is the sysctl key on macintosh keyboards + // keycode is 222 with a 4.21 kernel, which is + { , "AAPL", 67 } + }; + }; + }; // End of "Function" section + + section "Alpha" { + top = 87; + row { + top= 1; + keys { { , "TLDE" }, , , , + , , , , , , + , , , { , "BKSP" } + }; + }; + row { + top= 20; + keys { { , "TAB" }, , , , + , , , , , , + , , , { , "RTRN" } + }; + }; + row { + top= 39; + keys { { , "CAPS" }, , , , + , , , , , , + , , + }; + }; + row { + top= 58; + keys { { , "LFSH" }, , , , + , , , , , , + , , { , "RTSH" } + }; + }; + row { + top= 77; + keys { { , "LCTL" }, { , "LALT" }, + { , "LMTA" }, + { , "SPCE" }, + { , "RMTA" }, + { , "RALT" }, { , "RCTL" } + }; + }; + }; // End of "Alpha" section + + section "Editing" { + top = 87; + left = 314; + row { + top= 1; + keys { , , }; + }; + row { + top= 20; + keys { , , }; + }; + row { + top= 58; + left= 20; + keys { }; + }; + row { + top= 77; + keys { , , }; + }; + }; // End of "Editing" section + + section "Keypad" { + top = 87; + left = 380; + row { + top= 1; + keys { , , , }; + }; + row { + top= 20; + keys { , , , }; + }; + row { + top= 39; + keys { , , , }; + }; + row { + top= 58; + keys { , , , { , "KPEN" } }; + }; + row { + top= 77; + keys { { , "KP0" }, }; + }; + }; // End of "Keypad" section + +}; // End of "default" geometry + + +// This section describes the geometry of the "Apple Pro" keyboard +// included with NewWorld desktop machines +// +// It adds four new keysyms, labeled SDDN, SDUP, SDNO, EJCT. +// +// 2005/10 -- Simon Vallet + +xkb_geometry "applepro" { + + description= "Apple Pro Keyboard"; + width = 455; + height = 150; + + shape.cornerRadius= 1; + shape "NORM" { { [ 18, 18] }, { [2, 1], [ 16, 15] } }; + shape "FUNC" { { [ 18, 21] }, { [2, 1], [ 16, 16] } }; + shape "BKSP" { { [ 38, 18] }, { [2, 1], [ 36, 15] } }; + shape "TAB" { { [ 29, 18] }, { [2, 1], [ 26, 15] } }; + shape "LFSH" { { [ 28, 18] }, { [2, 1], [ 26, 15] } }; + shape "RTSH" { { [ 47, 18] }, { [2, 1], [ 45, 15] } }; + + shape "RTRN" { + { [0,0],[27,0],[27,37],[4,37],[4,18],[0,18] }, + { [2,1],[25,1],[25,34],[6,34],[6,15],[2,15] } }; + + shape "CAPS" { { [ 32, 18] }, { [2, 1], [ 26, 15] } }; + shape "LCTL" { { [ 28, 20] }, { [2, 1], [ 26, 17] } }; + shape "RCTL" { { [ 28, 20] }, { [2, 1], [ 26, 17] } }; + shape "LALT" { { [ 23, 20] }, { [2, 1], [ 21, 17] } }; + shape "RALT" { { [ 23, 20] }, { [2, 1], [ 21, 17] } }; + shape "LMTA" { { [ 28, 20] }, { [2, 1], [ 26, 17] } }; + shape "RMTA" { { [ 28, 20] }, { [2, 1], [ 26, 17] } }; + shape "SPCE" { { [121, 20] }, { [3, 1], [118, 17] } }; + shape "BOTM" { { [ 18, 20] }, { [2, 1], [ 16, 17] } }; + + shape "KP0" { { [ 37, 20] }, { [2, 1], [ 35, 17] } }; + shape "KPEN" { { [ 18, 39] }, { [2, 1], [ 16, 36] } }; + + section.left = 7; + row.left = 1; + key.gap = 1; + key.shape = "NORM"; + + section "Function" { + key.shape = "FUNC"; + top = 26; + row { + top= 1; + keys { , + { , 14 }, , , , + { , 14 }, , , , + { , 14 }, , , , + { , 11 }, , , + { , 11 }, , , + }; + }; + }; // End of "Function" section + + + section "Alpha" { + top = 48; + row { + top= 1; + keys { , , , , + , , , , , , + , , , { , "BKSP" } + }; + }; + row { + top= 20; + keys { { , "TAB" }, , , , + , , , , , , + , , , { , "RTRN" } + }; + }; + row { + top= 39; + keys { { , "CAPS" }, , , , + , , , , , , + , , + }; + }; + row { + top= 58; + keys { { , "LFSH" }, , , , + , , , , , , + , , { , "RTSH" } + }; + }; + row { + top= 77; + keys { { , "LCTL" }, { , "LALT" }, + { , "LMTA" }, + { , "SPCE" }, + { , "RMTA" }, + { , "RALT" }, { , "RCTL" } + }; + }; + }; // End of "Alpha" section + + section "Editing" { + top = 48; + left = 303; + row { + top= 1; + keys { , , }; + }; + row { + top= 20; + keys { , , }; + }; + row { + top= 58; + left= 20; + keys { }; + }; + row { + top= 77; + key.shape = "BOTM"; + keys { , , }; + }; + }; // End of "Editing" section + + section "Keypad" { + top = 48; + left = 370; + row { + top= 1; + keys { , , , }; + }; + row { + top= 20; + keys { , , , }; + }; + row { + top= 39; + keys { , , , }; + }; + row { + top= 58; + keys { , , , { , "KPEN" } }; + }; + row { + top= 77; + keys { { , "KP0" }, { , "BOTM" } }; + }; + }; // End of "Keypad" section + +}; // End of "applepro" geometry + +xkb_geometry "macbook78" { + + description= "Apple laptop 78-key (US)"; + width= 273; + height= 110; + + shape.cornerRadius= 0; + shape "ESC" { { [ 21,9] }, cornerRadius=1, { [0,1], [ 19,8] } }; + shape "FUNC" { { [ 18,9] }, cornerRadius=1, { [2,1], [ 16,8] } }; + shape "EJCT" { { [ 20,9] }, cornerRadius=1, { [2,1], [ 20,8] } }; + shape "DEGR" { { [ 16,18] }, cornerRadius=1, { [0,2], [ 14,16] } }; + shape "NORM" { { [ 18,18] }, cornerRadius=1, { [2,2], [ 16,16] } }; + shape "BKSP" { { [ 25,18] }, cornerRadius=1, { [2,2], [ 25,16] } }; + shape "TABK" { { [ 24,18] }, cornerRadius=1, { [0,2], [ 22,16] } }; + shape "BKSL" { { [ 17,18] }, cornerRadius=1, { [2,2], [17,16] } }; + shape "RTRN" { { [ 31,18] }, cornerRadius=1, { [2,2], [31,16] } }; + shape "CAPS" { { [ 29,18] }, cornerRadius=1, { [0,2], [ 27,16] } }; + shape "LFSH" { { [ 40,18] }, cornerRadius=1, { [0,2], [ 38,16] } }; + shape "RTSH" { { [ 39,18] }, cornerRadius=1, { [2,2], [ 39,16] } }; + shape "APPL" { { [ 23,18] }, cornerRadius=1, { [2,2], [ 21,16] } }; + shape "SPCE" { { [ 94,18] }, cornerRadius=1, { [2,2], [ 92,16] } }; + shape "ARRO" { { [ 17,9] }, cornerRadius=1, { [2,1], [ 15,8] } }; + + shape "LED" { cornerRadius= 1, { [ 2, 2 ] } }; + + indicator.onColor= "green"; + indicator.offColor= "gray"; + indicator.shape= "LED"; + indicator "Num Lock" { top=4; left= 119; }; + indicator "Caps Lock" { top=53; left= 4; }; + + section.left=0; + row.left= 1; + key.shape= "FUNC"; + key.gap= 1; + section "Function" { + top= 0; + row { + top= 1; + keys { {, "ESC" }, + , , , , + , , , , + , , , , + {, "EJCT" } + }; + }; + }; // End of "Function" section + + key.shape= "NORM"; + section "Alpha" { + top= 10; + row { + top= 1; + keys { {, "DEGR"}, + , , , , + , , , , + , , , , + { , "BKSP" } + }; + }; + row { + top= 20; + keys { { , "TABK"}, + , , , , , + , , , , , + , , + { , "BKSL" } + }; + }; + row { + top= 39; + keys { { , "CAPS" }, + , , , , , + , , , , , + , + { , "RTRN" } + }; + }; + row { + top= 58; + keys { { , "LFSH"}, + , , , , , + , , , , , + { , "RTSH" } + }; + }; + row { + top= 77; + keys { {, "DEGR"}, + , , + {, "APPL"}, + {, "SPCE" }, + {, "APPL"}, + + }; + }; + + }; // End of "Alpha" section + + key.shape= "ARRO"; + section "Editing" { + top = 86; + left = 217; + row { + top= 1; + left= 19; + keys { }; + }; + row { + top= 10; + keys { , , }; + }; + }; // End of "Editing" section + + alias = ; + alias = ; + +}; + +xkb_geometry "macbook79" { + + description= "Apple laptop 79-key (Intl)"; + width= 273; + height= 110; + + shape.cornerRadius= 0; + shape "ESC" { { [ 21,9] }, cornerRadius=1, { [0,1], [ 19,8] } }; + shape "FUNC" { { [ 18,9] }, cornerRadius=1, { [2,1], [ 16,8] } }; + shape "EJCT" { { [ 20,9] }, cornerRadius=1, { [2,1], [ 20,8] } }; + shape "DEGR" { { [ 16,18] }, cornerRadius=1, { [0,2], [ 14,16] } }; + shape "NORM" { { [ 18,18] }, cornerRadius=1, { [2,2], [ 16,16] } }; + shape "BKSP" { { [ 25,18] }, cornerRadius=1, { [2,2], [ 25,16] } }; + shape "TABK" { { [ 24,18] }, cornerRadius=1, { [0,2], [ 22,16] } }; + shape "RTRN" { { [ 0,0], [17,0], [17,37], [5,37], [5, 18], [0,18], [0,0] }, + cornerRadius=1, + { [ 2,2], [15,2], [15,35], [7,35], [7, 16], [2,16] } + }; + shape "CAPS" { { [ 29,18] }, cornerRadius=1, { [0,2], [ 27,16] } }; + shape "LFSH" { { [ 21,18] }, cornerRadius=1, { [0,2], [ 19,16] } }; + shape "RTSH" { { [ 39,18] }, cornerRadius=1, { [2,2], [ 39,16] } }; + shape "APPL" { { [ 23,18] }, cornerRadius=1, { [2,2], [ 21,16] } }; + shape "SPCE" { { [ 94,18] }, cornerRadius=1, { [2,2], [ 92,16] } }; + shape "ARRO" { { [ 17,9] }, cornerRadius=1, { [2,1], [ 15,8] } }; + + shape "LED" { cornerRadius= 1, { [ 2, 2 ] } }; + + indicator.onColor= "green"; + indicator.offColor= "gray"; + indicator.shape= "LED"; + indicator "Num Lock" { top=4; left= 119; }; + indicator "Caps Lock" { top=53; left= 4; }; + + section.left=0; + row.left= 1; + key.shape= "FUNC"; + key.gap= 1; + section "Function" { + top= 0; + row { + top= 1; + keys { {, "ESC" }, + , , , , + , , , , + , , , , + {, "EJCT" } + }; + }; + }; // End of "Function" section + + key.shape= "NORM"; + section "Alpha" { + top= 10; + row { + top= 1; + keys { {, "DEGR"}, + , , , , + , , , , + , , , , + { , "BKSP" } + }; + }; + row { + top= 20; + keys { { , "TABK"}, + , , , , , + , , , , , + , , { , "RTRN" } + }; + }; + row { + top= 39; + keys { { , "CAPS" }, + , , , , , + , , , , , + , + }; + }; + row { + top= 58; + keys { { , "LFSH"}, + , , , , , , + , , , , , + { , "RTSH" } + }; + }; + row { + top= 77; + keys { {, "DEGR"}, + , , + {, "APPL"}, + {, "SPCE" }, + {, "APPL"}, + + }; + }; + }; // End of "Alpha" section + + key.shape= "ARRO"; + section "Editing" { + top = 86; + left = 217; + row { + top= 1; + left= 19; + keys { }; + }; + row { + top= 10; + keys { , , }; + }; + }; // End of "Editing" section + + alias = ; + alias = ; + +}; + + +// Aluminium Keyboard, ANSI model (United States, 109 keys) +xkb_geometry "applealu_ansi" { + + width= 430; + height= 113.5; + + baseColor= "white"; + labelColor= "black"; + xfont= "-*-helvetica-medium-r-normal--*-80-*-*-*-*-iso8859-1"; + description= "Aluminium Keyboard (ANSI)"; + + shape "NORM" { + corner= 1, + { [ 15.5, 15 ] } + }; + shape "FUNC" { + corner= 1, + { [ 16.1, 9 ] } + }; + shape "FUNS" { + corner= 1, + { [ 15.5, 9 ] } + }; + shape "BKSP" { + corner= 1, + { [ 24.5, 15 ] } + }; + shape "TAB" { + corner= 1, + { [ 24.5, 15 ] } + }; + shape "RTRN" { + corner= 1, + { [ 29.5, 15 ] } + }; + shape "CAPS" { + corner= 1, + { [ 29.5, 15 ] } + }; + shape "LCTL" { + corner= 1, + { [ 25, 18 ] } + }; + shape "LALT" { + corner= 1, + { [ 20, 18 ] } + }; + shape "LMTA" { + corner= 1, + { [ 25, 18 ] } + }; + shape "LFSH" { + corner= 1, + { [ 39, 15 ] } + }; + shape "RCTL" { + corner= 1, + { [ 25, 18 ] } + }; + shape "RALT" { + corner= 1, + { [ 20, 18 ] } + }; + shape "RMTA" { + corner= 1, + { [ 25, 18 ] } + }; + shape "RTSH" { + corner= 1, + { [ 39, 15 ] } + }; + shape "SPCE" { + corner= 1, + { [ 110.5, 18 ] } + }; + shape "KP0" { + corner= 1, + { [ 34.5, 18 ] } + }; + shape "KPEN" { + corner= 1, + { [ 15.5, 36.5 ] } + }; + shape "KPDT" { + corner= 1, + { [ 15.5, 18 ] } + }; + shape "LED" { + corner= 0.5, + { [ 1.5, 1.5 ] } + }; + + section "Function" { + key.color= "white"; + priority= 7; + top= 4.5; + left= 4.7; + width= 420.5; + height= 10; + row { + top= 0; + left= 0; + keys { + { , "FUNC", 0 }, { , "FUNC", 3.6 }, + { , "FUNC", 3.5 }, { , "FUNC", 3.6 }, + { , "FUNC", 3.5 }, { , "FUNC", 3.6 }, + { , "FUNC", 3.5 }, { , "FUNC", 3.6 }, + { , "FUNC", 3.5 }, { , "FUNC", 3.6 }, + { , "FUNC", 3.5 }, { , "FUNC", 3.6 }, + { , "FUNC", 3.5 }, { , "FUNC", 3.5 }, + { , "FUNS", 11.5 }, { , "FUNS", 3.5 }, + { , "FUNS", 3.5 }, { , "FUNS", 11.5 }, + { , "FUNS", 3.5 }, { , "FUNS", 3.5 }, + { , "FUNS", 3.5 } + }; + }; + }; // End of "Function" section + + section "Alpha" { + key.color= "white"; + priority= 8; + top= 17; + left= 5; + width= 271.5; + height= 92; + row { + top= 0; + left= 0; + keys { + { , "NORM", 0 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "BKSP", 3.5 } + }; + }; + row { + top= 18.5; + left= 0; + keys { + { , "TAB", 0 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 } + + }; + }; + row { + top= 37; + left= 0; + keys { + { , "CAPS", 0 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "RTRN", 3.5 } + }; + }; + row { + top= 55.5; + left= 0; + keys { + { , "LFSH", 0 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "RTSH", 3.5 } + }; + }; + row { + top= 74; + left= 0; + keys { + { , "LCTL", 0 }, { , "LALT", 3.5 }, + { , "LMTA", 3.5 }, { , "SPCE", 3.5 }, + { , "RMTA", 3.5 }, { , "RALT", 3.5 }, + { , "RCTL", 3.5 } + }; + }; + }; // End of "Alpha" section + + section "Editing" { + key.color= "white"; + priority= 9; + top= 17; + left= 287.7; + width= 53.5; + height= 92; + row { + top= 0; + left= 0; + keys { + { , "NORM", 0 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 } + }; + }; + row { + top= 18.5; + left= 0; + keys { + { , "NORM", 0 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 } + }; + }; + row { + top= 58.5; + left= 19; + keys { + { , "NORM", 0 } + }; + }; + row { + top= 77; + left= 0; + keys { + { , "NORM", 0 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 } + }; + }; + }; // End of "Editing" section + + section "Keypad" { + key.color= "white"; + priority= 10; + top= 17; + left= 352.7; + width= 72.5; + height= 92; + row { + top= 0; + left= 0; + keys { + { , "NORM", 0 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 } + }; + }; + row { + top= 18.5; + left= 0; + keys { + { , "NORM", 0 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 } + }; + }; + row { + top= 37; + left= 0; + keys { + { , "NORM", 0 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 } + }; + }; + row { + top= 55.5; + left= 0; + keys { + { , "NORM", 0 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "KPEN", 3.5 } + }; + }; + row { + top= 74; + left= 0; + keys { + { , "KP0", 0 }, { , "KPDT", 3.5 } + }; + }; + }; // End of "Keypad" section + + indicator "Caps Lock" { + top= 56; + left= 6.7; + priority= 2; + onColor= "green"; + offColor= "gray"; + shape= "LED"; + }; + +}; + +// Aluminium Keyboard, ISO model (International, 110 keys) +xkb_geometry "applealu_iso" { + + width= 430; + height= 113.5; + + baseColor= "white"; + labelColor= "black"; + xfont= "-*-helvetica-medium-r-normal--*-80-*-*-*-*-iso8859-1"; + description= "Aluminium Keyboard (ISO)"; + + shape "NORM" { + corner= 1, + { [ 15.5, 15 ] } + }; + shape "FUNC" { + corner= 1, + { [ 16.1, 9 ] } + }; + shape "FUNS" { + corner= 1, + { [ 15.5, 9 ] } + }; + shape "BKSP" { + corner= 1, + { [ 24.5, 15 ] } + }; + shape "TAB" { + corner= 1, + { [ 24.5, 15 ] } + }; + shape "RTRN" { + corner= 1, + { [ 0, 0 ], [ 15.5 , 0 ], [ 15.5 , 33.5 ], [ 5, 33.5 ], + [ 5, 15 ], [ 0, 15 ] } + }; + shape "CAPS" { + corner= 1, + { [ 29.5, 15 ] } + }; + shape "LCTL" { + corner= 1, + { [ 25, 18 ] } + }; + shape "LALT" { + corner= 1, + { [ 20, 18 ] } + }; + shape "LMTA" { + corner= 1, + { [ 25, 18 ] } + }; + shape "LFSH" { + corner= 1, + { [ 20, 15 ] } + }; + shape "RCTL" { + corner= 1, + { [ 25, 18 ] } + }; + shape "RALT" { + corner= 1, + { [ 20, 18 ] } + }; + shape "RMTA" { + corner= 1, + { [ 25, 18 ] } + }; + shape "RTSH" { + corner= 1, + { [ 39, 15 ] } + }; + shape "SPCE" { + corner= 1, + { [ 110.5, 18 ] } + }; + shape "KP0" { + corner= 1, + { [ 34.5, 18 ] } + }; + shape "KPEN" { + corner= 1, + { [ 15.5, 36.5 ] } + }; + shape "KPDT" { + corner= 1, + { [ 15.5, 18 ] } + }; + shape "LED" { + corner= 0.5, + { [ 1.5, 1.5 ] } + }; + + section "Function" { + key.color= "white"; + priority= 7; + top= 4.5; + left= 4.7; + width= 420.5; + height= 10; + row { + top= 0; + left= 0; + keys { + { , "FUNC", 0 }, { , "FUNC", 3.6 }, + { , "FUNC", 3.5 }, { , "FUNC", 3.6 }, + { , "FUNC", 3.5 }, { , "FUNC", 3.6 }, + { , "FUNC", 3.5 }, { , "FUNC", 3.6 }, + { , "FUNC", 3.5 }, { , "FUNC", 3.6 }, + { , "FUNC", 3.5 }, { , "FUNC", 3.6 }, + { , "FUNC", 3.5 }, { , "FUNC", 3.5 }, + { , "FUNS", 11.5 }, { , "FUNS", 3.5 }, + { , "FUNS", 3.5 }, { , "FUNS", 11.5 }, + { , "FUNS", 3.5 }, { , "FUNS", 3.5 }, + { , "FUNS", 3.5 } + }; + }; + }; // End of "Function" section + + section "Alpha" { + key.color= "white"; + priority= 8; + top= 17; + left= 5; + width= 271.5; + height= 92; + row { + top= 0; + left= 0; + keys { + { , "NORM", 0 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "BKSP", 3.5 } + }; + }; + row { + top= 18.5; + left= 0; + keys { + { , "TAB", 0 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "RTRN", 3.5 } + }; + }; + row { + top= 37; + left= 0; + keys { + { , "CAPS", 0 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 } + }; + }; + row { + top= 55.5; + left= 0; + keys { + { , "LFSH", 0 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "RTSH", 3.5 } + }; + }; + row { + top= 74; + left= 0; + keys { + { , "LCTL", 0 }, { , "LALT", 3.5 }, + { , "LMTA", 3.5 }, { , "SPCE", 3.5 }, + { , "RMTA", 3.5 }, { , "RALT", 3.5 }, + { , "RCTL", 3.5 } + }; + }; + }; // End of "Alpha" section + + section "Editing" { + key.color= "white"; + priority= 9; + top= 17; + left= 287.7; + width= 53.5; + height= 92; + row { + top= 0; + left= 0; + keys { + { , "NORM", 0 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 } + }; + }; + row { + top= 18.5; + left= 0; + keys { + { , "NORM", 0 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 } + }; + }; + row { + top= 58.5; + left= 19; + keys { + { , "NORM", 0 } + }; + }; + row { + top= 77; + left= 0; + keys { + { , "NORM", 0 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 } + }; + }; + }; // End of "Editing" section + + section "Keypad" { + key.color= "white"; + priority= 10; + top= 17; + left= 352.7; + width= 72.5; + height= 92; + row { + top= 0; + left= 0; + keys { + { , "NORM", 0 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 } + }; + }; + row { + top= 18.5; + left= 0; + keys { + { , "NORM", 0 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 } + }; + }; + row { + top= 37; + left= 0; + keys { + { , "NORM", 0 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 } + }; + }; + row { + top= 55.5; + left= 0; + keys { + { , "NORM", 0 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "KPEN", 3.5 } + }; + }; + row { + top= 74; + left= 0; + keys { + { , "KP0", 0 }, { , "KPDT", 3.5 } + }; + }; + }; // End of "Keypad" section + + indicator "Caps Lock" { + top= 56; + left= 6.7; + priority= 2; + onColor= "green"; + offColor= "gray"; + shape= "LED"; + }; + +}; + +// Aluminium Keyboard, JIS model (Japanese, 112 keys) +xkb_geometry "applealu_jis" { + + width= 430; + height= 113.5; + + baseColor= "white"; + labelColor= "black"; + xfont= "-*-helvetica-medium-r-normal--*-80-*-*-*-*-iso8859-1"; + description= "Aluminium Keyboard (JIS)"; + + shape "NORM" { + corner= 1, + { [ 15.5, 15 ] } + }; + shape "FUNC" { + corner= 1, + { [ 16.1, 9 ] } + }; + shape "FUNS" { + corner= 1, + { [ 15.5, 9 ] } + }; + shape "KEY1" { + corner= 1, + { [ 24.5, 15 ] } + }; + shape "BKSP" { + corner= 1, + { [ 15.5, 15 ] } + }; + shape "TAB" { + corner= 1, + { [ 15.5, 15 ] } + }; + shape "RTRN" { + corner= 1, + { [ 0, 0 ], [ 24.5 , 0 ], [ 24.5 , 33.5 ], [ 4.5, 33.5 ], + [ 4.5, 15 ], [ 0, 15 ] } + }; + shape "CAPS" { + corner= 1, + { [ 35, 18 ] } + }; + shape "LCTL" { + corner= 1, + { [ 20, 15 ] } + }; + shape "LALT" { + corner= 1, + { [ 27, 18 ] } + }; + shape "LMTA" { + corner= 1, + { [ 27, 18 ] } + }; + shape "LFSH" { + corner= 1, + { [ 29.5, 15 ] } + }; + shape "EISU" { + corner= 1, + { [ 20, 18 ] } + }; + shape "RCTL" { + corner= 1, + { [ 27, 18 ] } + }; + shape "RALT" { + corner= 1, + { [ 27, 18 ] } + }; + shape "RMTA" { + corner= 1, + { [ 27, 18 ] } + }; + shape "RTSH" { + corner= 1, + { [ 29.5, 15 ] } + }; + shape "KANA" { + corner= 1, + { [ 20, 18 ] } + }; + shape "SPCE" { + corner= 1, + { [ 64, 18 ] } + }; + shape "KPDT" { + corner= 1, + { [ 15.5, 18 ] } + }; + shape "KPEN" { + corner= 1, + { [ 15.5, 36.5 ] } + }; + shape "LED" { + corner= 0.5, + { [ 1.5, 1.5 ] } + }; + + section "Function" { + key.color= "white"; + priority= 7; + top= 4.5; + left= 4.7; + width= 420.5; + height= 10; + row { + top= 0; + left= 0; + keys { + { , "FUNC", 0 }, { , "FUNC", 3.6 }, + { , "FUNC", 3.5 }, { , "FUNC", 3.6 }, + { , "FUNC", 3.5 }, { , "FUNC", 3.6 }, + { , "FUNC", 3.5 }, { , "FUNC", 3.6 }, + { , "FUNC", 3.5 }, { , "FUNC", 3.6 }, + { , "FUNC", 3.5 }, { , "FUNC", 3.6 }, + { , "FUNC", 3.5 }, { , "FUNC", 3.5 }, + { , "FUNS", 11.5 }, { , "FUNS", 3.5 }, + { , "FUNS", 3.5 }, { , "FUNS", 11.5 }, + { , "FUNS", 3.5 }, { , "FUNS", 3.5 }, + { , "FUNS", 3.5 } + }; + }; + }; // End of "Function" section + + section "Alpha" { + key.color= "white"; + priority= 8; + top= 17; + left= 5; + width= 271.5; + height= 92; + row { + top= 0; + left= 0; + keys { + { , "KEY1", 0 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "BKSP", 3.5 } + }; + }; + row { + top= 18.5; + left= 0; + keys { + { , "TAB", 0 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "RTRN", 3.5 } + }; + }; + row { + top= 37; + left= 0; + keys { + { , "LCTL", 0 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 } + }; + }; + row { + top= 55.5; + left= 0; + keys { + { , "LFSH", 0 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "RTSH", 3.5 } + }; + }; + row { + top= 74; + left= 0; + keys { + { , "LALT", 0 }, { , "LMTA", 3.5 }, + { , "EISU", 3.5 }, { , "SPCE", 3.5 }, + { , "KANA", 3.5 }, { , "RMTA", 3.5 }, + { , "RALT", 3.5 }, { , "CAPS", 3.5 } + }; + }; + }; // End of "Alpha" section + + section "Editing" { + key.color= "white"; + priority= 9; + top= 17; + left= 287.7; + width= 53.5; + height= 92; + row { + top= 0; + left= 0; + keys { + { , "NORM", 0 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 } + }; + }; + row { + top= 18.5; + left= 0; + keys { + { , "NORM", 0 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 } + }; + }; + row { + top= 58.5; + left= 19; + keys { + { , "NORM", 0 } + }; + }; + row { + top= 77; + left= 0; + keys { + { , "NORM", 0 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 } + }; + }; + }; // End of "Editing" section + + section "Keypad" { + key.color= "white"; + priority= 10; + top= 17; + left= 352.7; + width= 72.5; + height= 92; + row { + top= 0; + left= 0; + keys { + { , "NORM", 0 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 } + }; + }; + row { + top= 18.5; + left= 0; + keys { + { , "NORM", 0 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 } + }; + }; + row { + top= 37; + left= 0; + keys { + { , "NORM", 0 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "NORM", 3.5 } + }; + }; + row { + top= 55.5; + left= 0; + keys { + { , "NORM", 0 }, { , "NORM", 3.5 }, + { , "NORM", 3.5 }, { , "KPEN", 3.5 } + }; + }; + row { + top= 74; + left= 0; + keys { + { , "KPDT", 0 }, { , "KPDT", 3.5 }, + { , "KPDT", 3.5 } + }; + }; + }; // End of "Keypad" section + + indicator "Caps Lock" { + top= 93; + left= 273.2; + priority= 2; + onColor= "green"; + offColor= "gray"; + shape= "LED"; + }; + +}; diff --git a/xkbdata/geometry/microsoft b/xkbdata/geometry/microsoft new file mode 100644 index 0000000..4fd277c --- /dev/null +++ b/xkbdata/geometry/microsoft @@ -0,0 +1,532 @@ +default xkb_geometry "natural" { + + // Approximate layout for a Microsoft Natural + description= "Microsoft Natural"; + width= 550; + height= 190; + + shape.cornerRadius= 1; + shape "LDEF" { { [ 18,18] }, { [2,1], [15,15] } }; + shape "TABK" { { [ 26,18] }, { [2,1], [23,15] } }; + shape "CAPS" { { [ 30,18] }, { [2,1], [23,15] } }; + shape "LFSH" { { [ 41,18] }, { [2,1], [38,15] } }; + shape "KEY6" { { [ 22,18] }, { [2,1], [15,15] } }; + shape "KEYT" { { [ 33,18] }, { [2,1], [15,15] } }; + shape "KEYG" { { [ 29,18] }, { [2,1], [15,15] } }; + shape "LCTL" { + approx= { [ 32, 22 ] }, + { [ 0, 0], [ 32, 0 ], [ 32, 23 ], [ 0, 22 ] }, + { [ 2, 1], [ 29, 1 ], [ 29, 17 ], [ 2, 15 ] } + }; + shape "LWIN" { + approx= { [ 32, 23 ] }, + { [ 0, 0], [ 32, 0 ], [ 32, 24 ], [ 0, 23 ] }, + { [ 2, 1], [ 29, 1 ], [ 29, 18 ], [ 2, 17 ] } + }; + shape "LALT" { + approx= { [ 32, 24 ] }, + { [ 0, 0], [ 32, 0 ], [ 32, 25 ], [ 0, 24 ] }, + { [ 2, 1], [ 29, 1 ], [ 29, 20 ], [ 2, 19 ] } + }; + shape "RDEF" { { [ 18,18] }, { [3,1], [15,15] } }; + shape "KEY7" { { [ 28, 18 ] }, { [ 14, 1], [26, 15] } }; + shape "KEYH" { { [ 24, 18 ] }, { [ 10, 1], [22, 15] } }; + shape "KEYN" { { [ 32, 18 ] }, { [ 18, 1], [30, 15] } }; + shape "BKSP" { { [ 41, 18 ] }, { [ 3, 1], [39, 15] } }; + shape "BKSL" { { [ 24, 18 ] }, { [ 3, 1], [22, 15] } }; + shape "RTRN" { { [ 37, 18 ] }, { [ 3, 1], [35, 15] } }; + shape "RTSH" { { [ 43, 18 ] }, { [ 3, 1], [41, 15] } }; + shape "RALT" { + approx= { [ 27, 24 ] }, + { [ 0, 0], [ 27, 0 ], [ 27, 24 ], [ 0, 25 ] }, + { [ 3, 1], [ 25, 1 ], [ 25, 19 ], [ 3, 20 ] } + }; + shape "RWIN" { + approx= { [ 27, 23 ] }, + { [ 0, 0], [ 27, 0 ], [ 27, 23 ], [ 0, 24 ] }, + { [ 3, 1], [ 25, 1 ], [ 25, 18 ], [ 3, 19 ] } + }; + shape "MENU" { + approx= { [ 27, 21 ] }, + { [ 0, 0], [ 27, 0 ], [ 27, 21 ], [ 0, 23 ] }, + { [ 3, 1], [ 25, 1 ], [ 25, 16 ], [ 3, 17 ] } + }; + shape "RCTL" { + approx= { [ 27, 19 ] }, + { [ 0, 0], [ 27, 0 ], [ 27, 19 ], [ 0, 21 ] }, + { [ 3, 1], [ 25, 1 ], [ 25, 14 ], [ 3, 15 ] } + }; + shape "KPAD" { { [ 18, 37 ] }, { [ 3, 1 ], [ 16, 34 ] } }; + shape "KP0" { { [ 37, 18 ] }, { [ 3, 1 ], [ 35, 15 ] } }; + shape "SPCE" { + { [ 4, 3], [42,10], [44, 0], [88, 0], [90,10], [130, 3], + [134,26], [99,30], [67,33], [33,30], [ 0,26] }, + { [ 6, 4.5], [43,11], [45, 1], [87, 1], [89,11], [128, 4.5], + [131,23], [99,28], [67,32], [33,28], [ 3,23] } + }; + + shape "EDGE" { + cornerRadius= 2, + { [ 25, 0 ], [ 177, 17 ], [ 329, 0 ], [ 542, 0 ], + [ 542, 150 ], [ 354, 150 ], [ 177, 185 ], [ 0, 150 ] } + }; + outline "Edges" { + top= 0; + left= 0; + shape= "EDGE"; + }; + + row.left= 1; + key.shape= "LDEF"; + key.gap= 1; + section "LeftFunction" { + top= 10; + left= 40; + angle= 10; + row { + top= 1; + keys { , { , 12 }, , , , }; + }; + }; // End of "LeftFunction" section + + section "LeftAlpha" { + top= 47; + left= 30; + angle= 10; + row { + top= 1; + keys { , , , , , + , { , "KEY6" } + }; + }; + row { + top= 20; + keys { { , "TABK" }, + , , , , { , "KEYT" } + }; + }; + row { + top= 39; + keys { { , "CAPS" }, + , , , , { , "KEYG" } + }; + }; + row { + top= 58; + keys { { , "LFSH" }, + , , , , + }; + }; + row { + top= 77; + keys { { , "LCTL" }, { , "LWIN" }, { , "LALT" } }; + }; + }; // End of "LeftAlpha" section + + key.shape= "RDEF"; + section "RightFunction" { + top= 32; + left= 195; + angle= -10; + row { + top= 1; + left= 1; + keys { , , , , , , }; + }; + }; // End of "RightFunction" section + + section "RightAlpha" { + top= 71; + left= 190; + angle= -10; + row.left= 1; + row { + top= 1; + keys { { , "KEY7" }, + , , , , , + { , "BKSP" } + }; + }; + row { + top= 20; + keys { + , , , , , , , + { , "BKSL" } + }; + }; + row { + top= 39; + keys { { , "KEYH" }, + , , , , , + { , "RTRN" } + }; + }; + row { + top= 58; + keys { { , "KEYN" }, + , , , , + { , "RTSH" } + }; + }; + row { + top= 77; + left= 40; + keys { { , "RALT" }, { , "RWIN" }, + { , "MENU" }, { , "RCTL" } + }; + }; + }; // End of "RightAlpha" section + + section "SpaceBar" { + top= 139; + left= 111; + key.shape= "SPCE"; + row { keys { }; }; + }; + + section "Editing" { + top= 15; + left= 385; + row { + top= 1; + keys { , , }; + }; + row { + top= 33; + keys { , , }; + }; + row { + top= 53; + keys { , , }; + }; + row { + top= 91; + left= 20; + keys { }; + }; + row { + top= 109; + keys { , , }; + }; + }; // End of "Editing" section + + shape "LED" { + cornerRadius= 0, + { [ 3, 1 ] } + }; + indicator.onColor= "green"; + indicator.offColor= "green30"; + indicator.left= 177; + indicator.shape= "LED"; + indicator "Num Lock" { top= 90; }; + indicator "Caps Lock" { top= 107; }; + indicator "Scroll Lock" { top= 127; }; + + section "Keypad" { + top= 47; + left= 456; + row { + top= 1; + keys { , , , }; + }; + row { + top= 20; + keys { , , , { , "KPAD" } }; + }; + row { + top= 39; + keys { , , }; + }; + row { + top= 58; + keys { , , , { , "KPAD" } }; + }; + row { + top= 77; + keys { { , "KP0" }, }; + }; + }; // End of "Keypad" section + + alias = ; + alias = ; +}; + +// Approximate layout for a Microsoft Natural(R) Keyboard Elite +// +// Modified by Pavel Kurashov Mon Oct 8 22:08:20 NOVST 2007 +// +// * Function, editing and navigation keys are reduced in height +// * Navigation keys are repositioned in two columns +// * Leds are enlarged for better look +// * "BKSP" is aligned with "BKSL" and "RTRN" +// * Outline edges are slightly modified +// +xkb_geometry "elite" { + + // Approximate layout for a Microsoft Natural(R) Keyboard Elite + description= "Microsoft Natural(r) Keyboard Elite"; + width= 495; + height= 190; + + shape.cornerRadius= 1; + shape "LDEF" { { [ 18,18] }, { [2,1], [15,15] } }; + shape "FKEY" { { [ 18,13] }, { [2,1], [15,10] } }; + shape "TABK" { { [ 26,18] }, { [2,1], [23,15] } }; + shape "CAPS" { { [ 30,18] }, { [2,1], [23,15] } }; + shape "LFSH" { { [ 41,18] }, { [2,1], [38,15] } }; + shape "KEY6" { { [ 22,18] }, { [2,1], [15,15] } }; + shape "KEYT" { { [ 33,18] }, { [2,1], [15,15] } }; + shape "KEYG" { { [ 29,18] }, { [2,1], [15,15] } }; + shape "LCTL" { + approx= { [ 32, 22 ] }, + { [ 0, 0], [ 32, 0 ], [ 32, 23 ], [ 0, 22 ] }, + { [ 2, 1], [ 29, 1 ], [ 29, 17 ], [ 2, 15 ] } + }; + shape "LWIN" { + approx= { [ 32, 23 ] }, + { [ 0, 0], [ 32, 0 ], [ 32, 24 ], [ 0, 23 ] }, + { [ 2, 1], [ 29, 1 ], [ 29, 18 ], [ 2, 17 ] } + }; + shape "LALT" { + approx= { [ 32, 24 ] }, + { [ 0, 0], [ 32, 0 ], [ 32, 25 ], [ 0, 24 ] }, + { [ 2, 1], [ 29, 1 ], [ 29, 20 ], [ 2, 19 ] } + }; + shape "RDEF" { { [ 18,18 ] }, { [ 2, 1], [15, 15] } }; + shape "KEY7" { { [ 28, 18 ] }, { [ 14, 1], [26, 15] } }; + shape "KEYH" { { [ 24, 18 ] }, { [ 10, 1], [22, 15] } }; + shape "KEYN" { { [ 32, 18 ] }, { [ 18, 1], [30, 15] } }; + shape "BKSP" { { [ 32, 18 ] }, { [ 2, 1], [30, 15] } }; + shape "BKSL" { { [ 24, 18 ] }, { [ 2, 1], [22, 15] } }; + shape "RTRN" { { [ 37, 18 ] }, { [ 2, 1], [35, 15] } }; + shape "RTSH" { { [ 43, 18 ] }, { [ 2, 1], [41, 15] } }; + shape "RALT" { + approx= { [ 27, 24 ] }, + { [ 0, 0], [ 27, 0 ], [ 27, 24 ], [ 0, 25 ] }, + { [ 3, 1], [ 25, 1 ], [ 25, 19 ], [ 3, 20 ] } + }; + shape "RWIN" { + approx= { [ 27, 23 ] }, + { [ 0, 0], [ 27, 0 ], [ 27, 23 ], [ 0, 24 ] }, + { [ 3, 1], [ 25, 1 ], [ 25, 18 ], [ 3, 19 ] } + }; + shape "MENU" { + approx= { [ 27, 21 ] }, + { [ 0, 0], [ 27, 0 ], [ 27, 21 ], [ 0, 23 ] }, + { [ 3, 1], [ 25, 1 ], [ 25, 16 ], [ 3, 17 ] } + }; + shape "RCTL" { + approx= { [ 27, 19 ] }, + { [ 0, 0], [ 27, 0 ], [ 27, 19 ], [ 0, 21 ] }, + { [ 3, 1], [ 25, 1 ], [ 25, 14 ], [ 3, 15 ] } + }; + shape "KPAD" { { [ 18, 37 ] }, { [ 3, 1 ], [ 16, 34 ] } }; + shape "KP0" { { [ 37, 18 ] }, { [ 3, 1 ], [ 35, 15 ] } }; + shape "SPCE" { + { [ 4, 3], [42,10], [44, 0], [88, 0], [90,10], [130, 3], + [134,26], [99,30], [67,33], [33,30], [ 0,26] }, + { [ 6, 4.5], [43,11], [45, 1], [87, 1], [89,11], [128, 4.5], + [131,23], [99,28], [67,32], [33,28], [ 3,23] } + }; + + shape "EDGE" { + cornerRadius= 3, + { [ 32, 15 ], [140, 33],[ 220, 33 ], [ 329, 15 ], [ 493, 15 ], + [ 493, 150 ], [ 354, 150 ], [200, 180], [ 153, 180 ], [ 7, 150 ] } + }; + outline "Edges" { + top= 0; + left= 0; + shape= "EDGE"; + }; + + row.left= 1; + key.shape= "FKEY"; + key.gap= 1; + section "LeftFunction" { + top= 26; + left= 40; + angle= 10; + row { + top= 1; + keys { , { , 12 }, , , , }; + }; + }; // End of "LeftFunction" section + + key.shape= "LDEF"; + section "LeftAlpha" { + top= 47; + left= 30; + angle= 10; + row { + top= 1; + keys { , , , , , + , { , "KEY6" } + }; + }; + row { + top= 20; + keys { { , "TABK" }, + , , , , { , "KEYT" } + }; + }; + row { + top= 39; + keys { { , "CAPS" }, + , , , , { , "KEYG" } + }; + }; + row { + top= 58; + keys { { , "LFSH" }, + , , , , + }; + }; + row { + top= 77; + keys { { , "LCTL" }, { , "LWIN" }, { , "LALT" } }; + }; + }; // End of "LeftAlpha" section + + key.shape= "FKEY"; + section "RightFunction" { + top= 48; + left= 195; + angle= -10; + row { + top= 1; + left= 1; + keys { , , , , , , }; + }; + }; // End of "RightFunction" section + + key.shape= "RDEF"; + section "RightAlpha" { + top= 71; + left= 190; + angle= -10; + row.left= 1; + row { + top= 1; + keys { { , "KEY7" }, + , , , , , + { , "BKSP" } + }; + }; + row { + top= 20; + keys { + , , , , , , , + { , "BKSL" } + }; + }; + row { + top= 39; + keys { { , "KEYH" }, + , , , , , + { , "RTRN" } + }; + }; + row { + top= 58; + keys { { , "KEYN" }, + , , , , + { , "RTSH" } + }; + }; + row { + top= 77; + left= 40; + keys { { , "RALT" }, { , "RWIN" }, + { , "MENU" }, { , "RCTL" } + }; + }; + }; // End of "RightAlpha" section + + section "SpaceBar" { + top= 139; + left= 111; + key.shape= "SPCE"; + row { keys { }; }; + }; + + section "Editing" { + key.shape="FKEY"; + top= 23; + left= 348; + row { + top= 0; + keys { , , }; + }; + row { + top= 22; + left=20; + keys { , }; + }; + row { + top= 36; + left=20; + keys { , }; + }; + row { + top= 50; + left=20; + keys { , }; + }; + row { + top= 75; + left= 29; + keys { }; + }; + row { + top= 89; + left=20; + keys { , }; + }; + row { + top= 103; + left=29; + keys { }; + }; + }; // End of "Editing" section + + shape "LED" { + cornerRadius= 1, + { [ 7, 2 ] } + }; + indicator.onColor= "green"; + indicator.offColor= "green30"; + indicator.left= 177; + indicator.shape= "LED"; + indicator "Num Lock" { top= 90; }; + indicator "Caps Lock" { top= 107; }; + indicator "Scroll Lock" { top= 127; }; + + section "Keypad" { + top= 44; + left= 412; + row { + top= 1; + keys { , , , }; + }; + row { + top= 20; + keys { , , , { , "KPAD" } }; + }; + row { + top= 39; + keys { , , }; + }; + row { + top= 58; + keys { , , , { , "KPAD" } }; + }; + row { + top= 77; + keys { { , "KP0" }, }; + }; + }; // End of "Keypad" section + + alias = ; + alias = ; +}; diff --git a/xkbdata/geometry/nec b/xkbdata/geometry/nec new file mode 100644 index 0000000..f4af666 --- /dev/null +++ b/xkbdata/geometry/nec @@ -0,0 +1,157 @@ +// +//Copyright 1996, 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. +// + +default xkb_geometry "pc98" { + + description= "Generic PC98"; + width= 405; + height= 172; + + shape.cornerRadius= 1; + shape "NORM" { { [ 17,18] }, { [2,1], [ 15,17] } }; + shape "RTRN" { { [ 20,37] }, { [2,1], [ 18,35] } }; + shape "LFSH" { { [ 42,18] }, { [2,1], [ 40,17] } }; + shape "RTSH" { { [ 31,18] }, { [2,1], [ 29,17] } }; + shape "MODK" { { [ 28,18] }, { [2,1], [ 26,17] } }; + shape "SPCE" { { [115,18] }, { [2,1], [113,17] } }; + shape "FUNC" { { [ 21,18] }, { [2,1], [ 19,17] } }; + shape "BKSP" { { [ 18,18] }, { [2,1], [ 16,17] } }; + shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,36] } }; + shape "TABK" { { [ 30,18] }, { [2,1], [ 28,17] } }; + shape "ARRW" { { [ 35,18] }, { [2,1], [ 33,17] } }; + + section.left= 8; + row.left= 1; + key.shape= "NORM"; + key.gap= 1; + section "Function" { + top= 29; + row { + top= 1; + key.shape="FUNC"; + keys { { , "NORM" }, { , "NORM", 5 }, + { , 6 }, , , , , + { , 6 }, , , , , + { , 6 }, , , , + }; + }; + }; // End of "Function" section + + section "Alpha" { + top= 54; + row { + top= 1; + keys { { , shape="BKSP"}, + , , , , + , , , , , + , , , , + { , "BKSP" } + }; + }; + row { + top= 20; + keys { { , "TABK" }, + , , , , , + , , , , , + , , { , "RTRN", 6 } + }; + }; + row { + top= 39; + keys { , , + , , , , , + , , , , , + , + }; + }; + row { + top= 58; + keys { { , "LFSH" }, + , , , , , + , , , , , , + { , "RTSH" } + }; + }; + row { + top= 77; + keys { { , 35 } , , { , "FUNC" }, + { , "SPCE" }, { , "FUNC" } + + }; + }; + }; // End of "Alpha" section + + section "Editing" { + top= 54; + left= 281; + row { + top= 1; + keys { , }; + }; + row { + top= 20; + keys { , }; + }; + row { + top= 39; + keys { { , "ARRW" } }; + }; + row { + top= 58; + keys { , }; + }; + row { + top= 77; + keys { { , "ARRW" } }; + }; + }; // End of "Editing" section + + section "Keypad" { + top= 54; + left= 320; + row { + top= 1; + keys { , , , }; + }; + row { + top= 20; + keys { , , , }; + }; + row { + top= 39; + keys { , , , }; + }; + row { + top= 58; + keys { , , , }; + }; + row { + top= 77; + keys { , , , }; + }; + }; // End of "Keypad" section + +}; // End of "pc98" geometry diff --git a/xkbdata/geometry/nokia b/xkbdata/geometry/nokia new file mode 100644 index 0000000..5132840 --- /dev/null +++ b/xkbdata/geometry/nokia @@ -0,0 +1,53 @@ +// Zoomed 3x because of text size + +default xkb_geometry "nokiarx51" { + + description= "Nokia RX-51"; + width= 273; // 13x6mm + 2x1.5mm border + 2x5mm border + height= 54; // 3x5mm + 2x1.5mm border + + shape.cornerRadius= 1.5; + shape "NORM" { { [18,15] } }; + shape "SPCE" { { [36,15] } }; + shape "FRAME" { cornerRadius= 2.5, { [243,54] } }; + + solid "FRAME" { + shape= "FRAME"; + color= "white"; + top= 0; + left= 15; + }; + + section.left= 15; + row.left= 4.5; + key.shape= "NORM"; + key.gap= 0; + section "Keys" { + top= 0; + row { + top= 4.5; + keys { { , "NORM", color="grey20" }, + , , , , , + , , , , , , + { , "NORM", color="grey20" } + }; + }; + row { + top= 19.5; + keys { { , "NORM", color="grey20" }, + , , , , , + , , , , , , + { , "NORM", color="grey20" } + }; + }; + row { + top= 34.5; + keys { { , "NORM", color="grey20" }, + , , , , , , , + { , "SPCE", color="white" }, + , , + }; + }; + }; // End of "Keys" section + +}; // End of "rx51" geometry diff --git a/xkbdata/geometry/northgate b/xkbdata/geometry/northgate new file mode 100644 index 0000000..364bf54 --- /dev/null +++ b/xkbdata/geometry/northgate @@ -0,0 +1,168 @@ +default xkb_geometry "omnikey101" { + + description= "North Gate Omnikey 101"; + width= 470; + height= 175; + + shape.cornerRadius= 1; + shape "NORM" { { [18,18] }, { [2,1], [16,17] } }; + shape "BKSP" { { [34,18] }, { [2,1], [32,17] } }; + shape "TABK" { { [27,18] }, { [2,1], [25,17] } }; + shape "RTRN" { + approx = { [15, 0], [40,37] }, + { [15, 0], [40, 0], [40,37], + [ 0,37], [ 0,19], [15,19] }, + { [17, 1], [38, 1], [38,36], + [ 2,36], [ 2,20], [17,20] } + }; + shape "CAPS" { { [ 32,18] }, { [2,1], [30,17] } }; + shape "LFSH" { { [ 41,18] }, { [2,1], [39,17] } }; + shape "RTSH" { { [ 30,18] }, { [2,1], [28,17] } }; + shape "MODK" { { [ 26,18] }, { [2,1], [24,17] } }; + shape "SPCE" { { [129,18] }, { [2,1], [127,17] } }; + shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } }; + shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } }; + + shape "LEDS" { cornerRadius= 0, { [ 76 ,20 ] } }; + shape "LED" { cornerRadius= 0, { [ 1, 3 ] } }; + solid "LedPanel" { + shape= "LEDS"; + top= 32; + left= 375; + color= "grey10"; + }; + + indicator.onColor= "green"; + indicator.offColor= "green30"; + indicator.top= 46.5; + indicator.shape= "LED"; + indicator "Num Lock" { left= 384; }; + indicator "Caps Lock" { left= 409; }; + indicator "Scroll Lock" { left= 434; }; + text.top= 34; + text.color= "black"; + text "NumLockLabel" { left= 380.5; text="Num\nLock"; }; + text "CapsLockLabel" { left= 405; text="Caps\nLock"; }; + text "ScrollLockLabel" { left= 430; text="Scroll\nLock"; }; + + section.left= 19; + row.left= 1; + key.shape= "NORM"; + key.gap= 1; + section "Function" { + top= 32; + row { + top= 1; + keys { { , color="grey20" }, + { , 18}, , , , + { , 9 }, , , , + { , 9 }, , , + }; + }; + }; // End of "Function" section + + section "Alpha" { + top= 65; + row { + top= 1; + keys { , , , , , + , , , , , + , , , + { , "BKSP", color="grey20" } + }; + }; + row { + top= 20; + keys { { , "TABK", color="grey20" }, + , , , , , + , , , , , + , , + { , "RTRN", -14, color="grey20" } + }; + }; + row { + top= 39; + keys { { , "CAPS", color="grey20" }, + , , , , , + , , , , , + + }; + }; + row { + top= 58; + keys { { , "LFSH", color="grey20" }, + , , , , , + , , , , , + { , "RTSH", color="grey20" }, + }; + }; + row { + top= 77; + key.shape= "MODK"; + key.color= "grey20"; + keys { , + { , 23 }, + { , "SPCE", color="white" }, + , + { , 23 } + }; + }; + }; // End of "Alpha" section + + section "Editing" { + top= 32; + left= 308; + key.color= "grey20"; + row { + top= 1; + keys { , , }; + }; + row { + top= 33; + keys { , , }; + }; + row { + top= 53; + keys { , , }; + }; + row { + top= 91; + left= 20; + keys { }; + }; + row { + top= 110; + keys { , , }; + }; + }; // End of "Editing" section + + section "Keypad" { + top= 65; + left= 374; + row { + top= 1; + key.color= "grey20"; + keys { , , , }; + }; + row { + top= 20; + keys { , , , { , "KPAD", color="grey20" } }; + }; + row { + top= 39; + keys { , , }; + }; + row { + top= 58; + keys { , , , { , "KPAD", color="grey20" } }; + }; + row { + top= 77; + keys { { , "KP0" }, }; + }; + }; // End of "Keypad" section + + alias = ; + alias = ; + +}; // End of "default" geometry diff --git a/xkbdata/geometry/pc b/xkbdata/geometry/pc new file mode 100644 index 0000000..f3cba6d --- /dev/null +++ b/xkbdata/geometry/pc @@ -0,0 +1,1000 @@ +// +//Copyright 1996, 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. +// + +default xkb_geometry "pc101" { + + description= "Generic 101-key PC"; + width= 470; + height= 180; + + shape.cornerRadius= 1; + shape "NORM" { { [ 18,18] }, { [2,1], [ 16,16] } }; + shape "BKSP" { { [ 38,18] }, { [2,1], [ 36,16] } }; + shape "TABK" { { [ 28,18] }, { [2,1], [ 26,16] } }; + shape "BKSL" { { [ 28,18] }, { [2,1], [ 26,16] } }; + shape "RTRN" { { [ 42,18] }, { [2,1], [ 40,16] } }; + shape "CAPS" { { [ 33,18] }, { [2,1], [ 31,16] } }; + shape "LFSH" { { [ 42,18] }, { [2,1], [ 40,16] } }; + shape "RTSH" { { [ 52,18] }, { [2,1], [ 50,16] } }; + shape "MODK" { { [ 27,18] }, { [2,1], [ 25,16] } }; + shape "SPCE" { { [133,18] }, { [2,1], [131,16] } }; + shape "KP0" { { [ 37,18] }, { [2,1], [ 35,16] } }; + shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,35] } }; + + shape "LEDS" { cornerRadius= 0, { [ 75 ,20 ] } }; + shape "LED" { cornerRadius= 0, { [ 5, 1 ] } }; + solid "LedPanel" { + shape= "LEDS"; + top= 22; + left= 377; + color= "grey10"; + }; + + indicator.onColor= "green"; + indicator.offColor= "green30"; + indicator.top= 37; + indicator.shape= "LED"; + indicator "Num Lock" { left= 382; }; + indicator "Caps Lock" { left= 407; }; + indicator "Scroll Lock" { left= 433; }; + text.top= 25; + text.color= "black"; + text "NumLockLabel" { left= 378; text="Num\nLock"; }; + text "CapsLockLabel" { left= 403; text="Caps\nLock"; }; + text "ScrollLockLabel" { left= 428; text="Scroll\nLock"; }; + + section.left= 19; + row.left= 1; + key.shape= "NORM"; + key.gap= 1; + section "Function" { + top= 22; + row { + top= 1; + keys { { , color="grey20" }, + { , 20 }, , , , + { , 11 }, , , , + { , 11 }, , , , + { , 8 }, , + }; + }; + }; // End of "Function" section + + section "Alpha" { + top= 61; + row { + top= 1; + keys { , , , , , + , , , , , + , , , + { , "BKSP", color="grey20" } + }; + }; + row { + top= 20; + keys { { , "TABK", color="grey20" }, + , , , , , + , , , , , + , , { , "BKSL" } + }; + }; + row { + top= 39; + keys { { , "CAPS", color="grey20" }, + , , , , , + , , , , , + , { , "RTRN", color="grey20" } + }; + }; + row { + top= 58; + keys { { , "LFSH", color="grey20" }, + , , , , , + , , , , , + { , "RTSH", color="grey20" } + }; + }; + row { + top= 77; + key.shape= "MODK"; + key.color= "grey20"; + keys { , { , 21 }, + { , "SPCE", color="white" }, + , { , 21 } + }; + }; + }; // End of "Alpha" section + + section "Editing" { + top= 61; + left= 312; + key.color= "grey20"; + row { + top= 1; + keys { , , }; + }; + row { + top= 20; + keys { , , }; + }; + row { + top= 58; + left= 20; + keys { }; + }; + row { + top= 77; + keys { , , }; + }; + }; // End of "Editing" section + + section "Keypad" { + top= 61; + left= 376; + row { + top= 1; + key.color= "grey20"; + keys { , , , }; + }; + row { + top= 20; + keys { , , , { , "KPAD", color="grey20" } }; + }; + row { + top= 39; + keys { , , }; + }; + row { + top= 58; + keys { , , , { , "KPAD", color="grey20" } }; + }; + row { + top= 77; + keys { { , "KP0" }, }; + }; + }; // End of "Keypad" section + + alias = ; + alias = ; + +}; // End of "default" geometry + +xkb_geometry "pc102" { + + description= "Generic 102-key PC"; + width= 470; + height= 180; + + shape.cornerRadius= 1; + shape "NORM" { { [ 18,18] }, { [2,1], [ 16,16] } }; + shape "BKSP" { { [ 38,18] }, { [2,1], [ 36,16] } }; + shape "TABK" { { [ 28,18] }, { [2,1], [ 26,16] } }; + shape "BKSL" { { [ 28,18] }, { [2,1], [ 26,16] } }; + shape "RTRN" { + { [0,0], [28,0], [28,37], [5,37], [5,18], [0,18] }, + { [2,1], [26,1], [26,35], [7,35], [7,16], [2,16] } }; + shape "CAPS" { { [ 33,18] }, { [2,1], [ 31,16] } }; + shape "LFSH" { { [ 25,18] }, { [2,1], [ 23,16] } }; + shape "RTSH" { { [ 50,18] }, { [2,1], [ 48,16] } }; + shape "MODK" { { [ 27,18] }, { [2,1], [ 25,16] } }; + shape "SPCE" { { [134,18] }, { [2,1], [132,16] } }; + shape "KP0" { { [ 37,18] }, { [2,1], [ 35,16] } }; + shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,35] } }; + + shape "LEDS" { cornerRadius= 0, { [ 75 ,20 ] } }; + shape "LED" { cornerRadius= 0, { [ 5, 1 ] } }; + solid "LedPanel" { + shape= "LEDS"; + top= 22; + left= 377; + color= "grey10"; + }; + + indicator.onColor= "green"; + indicator.offColor= "green30"; + indicator.top= 37; + indicator.shape= "LED"; + indicator "Num Lock" { left= 382; }; + indicator "Caps Lock" { left= 407; }; + indicator "Scroll Lock" { left= 433; }; + text.top= 25; + text.color= "black"; + text "NumLockLabel" { left= 378; text="Num\nLock"; }; + text "CapsLockLabel" { left= 403; text="Caps\nLock"; }; + text "ScrollLockLabel" { left= 428; text="Scroll\nLock"; }; + + section.left= 19; + row.left= 1; + key.shape= "NORM"; + key.gap= 1; + section "Function" { + top= 22; + row { + top= 1; + keys { { , "TABK", color="grey20" }, + { , 10 }, , , , + { , 11 }, , , , + { , 11 }, , , , + { , 8 }, , + }; + }; + }; // End of "Function" section + + section "Alpha" { + top= 61; + row { + top= 1; + keys { , , , , , + , , , , , + , , , + { , "BKSP", color="grey20" } + }; + }; + row { + top= 20; + keys { { , "TABK", color="grey20" }, + , , , , , + , , , , , + , , { , "RTRN", color="grey20" } + }; + }; + row { + top= 39; + keys { { , "CAPS", color="grey20" }, + , , , , , + , , , , , + , + }; + }; + row { + top= 58; + keys { { , "LFSH", color="grey20" }, + , , , , , , + , , , , , + { , "RTSH", color="grey20" } + }; + }; + row { + top= 77; + key.shape= "MODK"; + key.color= "grey20"; + keys { , { , 20 }, + { , "SPCE", color="white" }, + , { , 21 } + }; + }; + }; // End of "Alpha" section + + section "Editing" { + top= 61; + left= 312; + key.color= "grey20"; + row { + top= 1; + keys { , , }; + }; + row { + top= 20; + keys { , , }; + }; + row { + top= 58; + left= 20; + keys { }; + }; + row { + top= 77; + keys { , , }; + }; + }; // End of "Editing" section + + section "Keypad" { + top= 61; + left= 376; + row { + top= 1; + key.color= "grey20"; + keys { , , , }; + }; + row { + top= 20; + keys { , , , { , "KPAD", color="grey20" } }; + }; + row { + top= 39; + keys { , , }; + }; + row { + top= 58; + keys { , , , { , "KPAD", color="grey20" } }; + }; + row { + top= 77; + keys { { , "KP0" }, }; + }; + }; // End of "Keypad" section + + alias = ; + alias = ; + +}; // End of "pc102" geometry + +xkb_geometry "pc104" { + + description= "Generic 104-key PC"; + width= 470; + height= 180; + + shape.cornerRadius= 1; + shape "NORM" { { [ 18,18] }, { [2,1], [ 16,16] } }; + shape "BKSP" { { [ 38,18] }, { [2,1], [ 36,16] } }; + shape "TABK" { { [ 28,18] }, { [2,1], [ 26,16] } }; + shape "BKSL" { { [ 28,18] }, { [2,1], [ 26,16] } }; + shape "RTRN" { { [ 42,18] }, { [2,1], [ 40,16] } }; + shape "CAPS" { { [ 33,18] }, { [2,1], [ 31,16] } }; + shape "LFSH" { { [ 42,18] }, { [2,1], [ 40,16] } }; + shape "RTSH" { { [ 52,18] }, { [2,1], [ 50,16] } }; + shape "MODK" { { [ 27,18] }, { [2,1], [ 25,16] } }; + shape "SMOD" { { [ 23,18] }, { [2,1], [ 21,16] } }; + shape "SPCE" { { [113,18] }, { [2,1], [111,16] } }; + shape "KP0" { { [ 37,18] }, { [2,1], [ 35,16] } }; + shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,35] } }; + + shape "LEDS" { cornerRadius= 0, { [ 75 ,20 ] } }; + shape "LED" { cornerRadius= 0, { [ 5, 1 ] } }; + solid "LedPanel" { + shape= "LEDS"; + top= 22; + left= 377; + color= "grey10"; + }; + + indicator.onColor= "green"; + indicator.offColor= "green30"; + indicator.top= 37; + indicator.shape= "LED"; + indicator "Num Lock" { left= 382; }; + indicator "Caps Lock" { left= 407; }; + indicator "Scroll Lock" { left= 433; }; + text.top= 25; + text.color= "black"; + text "NumLockLabel" { left= 378; text="Num\nLock"; }; + text "CapsLockLabel" { left= 403; text="Caps\nLock"; }; + text "ScrollLockLabel" { left= 428; text="Scroll\nLock"; }; + + section.left= 19; + row.left= 1; + key.shape= "NORM"; + key.gap= 1; + section "Function" { + top= 22; + row { + top= 1; + keys { { , color="grey20" }, + { , 20 }, , , , + { , 11 }, , , , + { , 11 }, , , , + { , 8 }, , + }; + }; + }; // End of "Function" section + + section "Alpha" { + top= 61; + row { + top= 1; + keys { , , , , , + , , , , , + , , , + { , "BKSP", color="grey20" } + }; + }; + row { + top= 20; + keys { { , "TABK", color="grey20" }, + , , , , , + , , , , , + , , { , "BKSL" } + }; + }; + row { + top= 39; + keys { { , "CAPS", color="grey20" }, + , , , , , + , , , , , + , { , "RTRN", color="grey20" } + }; + }; + row { + top= 58; + keys { { , "LFSH", color="grey20" }, + , , , , , + , , , , , + { , "RTSH", color="grey20" } + }; + }; + row { + top= 77; + key.shape= "SMOD"; + key.color= "grey20"; + keys { { , "MODK" }, , , + { , "SPCE", color="white" }, + , , , + }; + }; + }; // End of "Alpha" section + + section "Editing" { + top= 61; + left= 312; + key.color= "grey20"; + row { + top= 1; + keys { , , }; + }; + row { + top= 20; + keys { , , }; + }; + row { + top= 58; + left= 20; + keys { }; + }; + row { + top= 77; + keys { , , }; + }; + }; // End of "Editing" section + + section "Keypad" { + top= 61; + left= 376; + row { + top= 1; + key.color= "grey20"; + keys { , , , }; + }; + row { + top= 20; + keys { , , , { , "KPAD", color="grey20" } }; + }; + row { + top= 39; + keys { , , }; + }; + row { + top= 58; + keys { , , , { , "KPAD", color="grey20" } }; + }; + row { + top= 77; + keys { { , "KP0" }, }; + }; + }; // End of "Keypad" section + + alias = ; + alias = ; + +}; // End of "pc104" geometry + +xkb_geometry "pc105" { + + description= "Generic 105-key PC"; + width= 470; + height= 180; + + shape.cornerRadius= 1; + + shape "NORM" { { [ 18,18] }, { [2,1], [ 16,16] } }; + shape "BKSP" { { [ 38,18] }, { [2,1], [ 36,16] } }; + shape "TABK" { { [ 28,18] }, { [2,1], [ 26,16] } }; + shape "BKSL" { { [ 28,18] }, { [2,1], [ 26,16] } }; + shape "RTRN" { + { [0,0], [28,0], [28,37], [5,37], [5,18], [0,18] } , + { [2,1], [26,1], [26,35], [7,35], [7,16], [2,16] } , + approx = { [5,0], [28,37] } }; + shape "CAPS" { { [ 33,18] }, { [2,1], [ 31,16] } }; + shape "LFSH" { { [ 25,18] }, { [2,1], [ 23,16] } }; + shape "RTSH" { { [ 50,18] }, { [2,1], [ 48,16] } }; + shape "MODK" { { [ 27,18] }, { [2,1], [ 25,16] } }; + shape "SMOD" { { [ 23,18] }, { [2,1], [ 21,16] } }; + shape "SPCE" { { [113,18] }, { [2,1], [111,16] } }; + shape "KP0" { { [ 37,18] }, { [2,1], [ 35,16] } }; + shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,35] } }; + + shape "LEDS" { cornerRadius= 0, { [ 75 ,20 ] } }; + shape "LED" { cornerRadius= 0, { [ 5, 1 ] } }; + solid "LedPanel" { + shape= "LEDS"; + top= 22; + left= 377; + color= "grey10"; + }; + + indicator.onColor= "green"; + indicator.offColor= "green30"; + indicator.top= 37; + indicator.shape= "LED"; + indicator "Num Lock" { left= 382; }; + indicator "Caps Lock" { left= 407; }; + indicator "Scroll Lock" { left= 433; }; + text.top= 25; + text.color= "black"; + text "NumLockLabel" { left= 378; text="Num\nLock"; }; + text "CapsLockLabel" { left= 403; text="Caps\nLock"; }; + text "ScrollLockLabel" { left= 428; text="Scroll\nLock"; }; + + section.left= 19; + row.left= 1; + key.shape= "NORM"; + key.gap= 1; + section "Function" { + top= 22; + row { + top= 1; + keys { { , color="grey20" }, + { , 20 }, , , , + { , 11 }, , , , + { , 11 }, , , , + { , 8 }, , + }; + }; + }; // End of "Function" section + + section "Alpha" { + top= 61; + row { + top= 1; + keys { , , , , , + , , , , , + , , , + { , "BKSP", color="grey20" } + }; + }; + row { + top= 20; + keys { { , "TABK", color="grey20" }, + , , , , , + , , , , , + , , { , "RTRN", color="grey20" } + }; + }; + row { + top= 39; + keys { { , "CAPS", color="grey20" }, + , , , , , + , , , , , + , + }; + }; + row { + top= 58; + keys { { , "LFSH", color="grey20" }, + , , , , , , + , , , , , + { , "RTSH", color="grey20" } + }; + }; + row { + top= 77; + key.shape= "SMOD"; + key.color= "grey20"; + keys { { , "MODK" }, , , + { , "SPCE", color="white" }, + , , , + }; + }; + }; // End of "Alpha" section + + section "Editing" { + top= 61; + left= 312; + key.color= "grey20"; + row { + top= 1; + keys { , , }; + }; + row { + top= 20; + keys { , , }; + }; + row { + top= 58; + left= 20; + keys { }; + }; + row { + top= 77; + keys { , , }; + }; + }; // End of "Editing" section + + section "Keypad" { + top= 61; + left= 376; + row { + top= 1; + key.color= "grey20"; + keys { , , , }; + }; + row { + top= 20; + keys { , , , { , "KPAD", color="grey20" } }; + }; + row { + top= 39; + keys { , , }; + }; + row { + top= 58; + keys { , , , { , "KPAD", color="grey20" } }; + }; + row { + top= 77; + keys { { , "KP0" }, }; + }; + }; // End of "Keypad" section + + alias = ; + alias = ; + +}; // End of "pc105" geometry + +// Created by Alexander Pohoyda + +xkb_geometry "pc86" { + description = "Generic 86-key PC"; + width = 287; + height = 143; + baseColor = "grey20"; + + shape "EDGE" { cornerRadius = 2, { [287, 143] } }; + shape "LED" { cornerRadius = 2, { [3, 3] } }; + shape "LEDS" { cornerRadius = 0, { [75, 5] } }; + shape "KEYS" { cornerRadius = 0, { [271, 109] } }; + + outline "Edges" { + top = 0; + left = 0; + shape = "EDGE"; + color = "black"; + }; + + solid "KeyPanel" { + shape = "KEYS"; + left = 8; + top = 22; + color = "grey70"; + }; + + solid "LedPanel" { + shape = "LEDS"; + left = 212; + top = 10; + color = "black"; + }; + + indicator.onColor = "green"; + indicator.offColor = "green30"; + indicator.top = 11; + indicator.shape = "LED"; + indicator "Num Lock" { left = 212 + 7; }; + indicator "Caps Lock" { left = 212 + 23; }; + indicator "Scroll Lock" { left = 212 + 39; }; + text.fontSize = 6; + text.top = 10; + text.color = "white"; + text "NumLockLabel" { left = 212 + 7 + 5; text = "Num\nLock"; }; + text "CapsLockLabel" { left = 212 + 23 + 5; text = "Caps\nLock"; }; + text "ScrollLockLabel" { left = 212 + 39 + 5; text = "Scroll\nLock"; }; + + shape.cornerRadius = 1; + shape "SMALL" { { [15, 12] }, { [1.5, 0], [13.5, 10] } }; + shape "NARR" { { [13, 18] }, { [1.5, 0], [11.5, 14] } }; + shape "NORM" { { [18, 18] }, { [3, 0], [15, 14] } }; + shape "NORM_1" { { [22, 18] }, { [4, 0], [22, 18] }, + { [7, 0], [19, 14] } }; + shape "WIDER" { { [23, 18] }, { [3, 0], [20, 14] } }; + shape "WIDEST" { { [27, 18] }, { [3, 0], [24, 14] } }; + shape "SPCE" { { [75, 18] }, { [3, 0], [72, 14] } }; + + section "Function" { + key.shape = "SMALL"; + key.gap = 0.99; + key.color = "grey30"; + left = 8; + top = 22; + row { + top = 1; + keys { , + , , , , + , , , , + , , , , + , , , + }; + }; + }; // End of "Function" section + + section "Control" { + key.shape = "NORM"; + key.gap = 1; + key.color = "grey30"; + left = 8; + top = 111; + row { + top = 1; + keys { , , , + { , shape="SPCE", 39 }, , + , + }; + }; + }; // End of "Control" section + + section "Editing" { + key.shape = "NARR"; + key.gap = 1; + key.color = "grey30"; + left = 265; + top = 34; + row.vertical = True; + row { + top = 1; + keys { , , , }; + }; + }; // End of "Editing" section + + section "Navigation" { + key.gap = 1; + key.shape = "NARR"; + key.color = "grey30"; + left = 236; + top = 92; + row { + left = 14; + top = 1; + keys { }; + }; + row { + top = 20; + keys { , , }; + }; + }; // End of "Navigation" section + + section "Alpha" { + key.gap = 1; + key.shape = "NORM"; + key.color = "grey10"; + left = 8; + top = 35; + row { + top = 1; + keys { { , shape="NORM_1" }, , , , + , , , , , + , , , + { , shape="WIDER", color="grey30" } + }; + }; + row { + top = 20; + keys { { , shape="NARR", color="grey30" }, + , , , , , + , , , , , + , , { , shape="NARR" } + }; + }; + row { + top = 39; + keys { { , color="grey30" }, + , , , , , + , , , , , + , { , shape="WIDEST", color="grey30" } + }; + }; + row { + top = 58; + keys { { , shape="WIDEST", color="grey30" }, + , , , , , + , , , , , + { , shape="WIDER", color="grey30" } + }; + }; + row { + left = 57; + top = 77; + keys { , }; + }; + }; // End of "Alpha" section + + alias = ; + alias = ; +}; // End of "pc86" geometry + +xkb_geometry "pc104alt" { + + description= "Generic 104-key PC with L-shaped Enter key"; + width= 470; + height= 210; + + shape.cornerRadius= 1; + shape "NORM" { { [ 18,18] }, { [2,1], [ 16,16] } }; + shape "BKSP" { { [ 19,18] }, { [2,1], [ 17,16] } }; + shape "TABK" { { [ 28,18] }, { [2,1], [ 26,16] } }; +// shape "RTRN" { { [ 0,19 ], [ 0,37 ], [ 42,37 ], [ 42,0 ], [ 14,0 ], [ 14,19 ] }, +// { [ 2,20 ], [ 2,35 ], [ 40,35 ], [ 40,1 ], [ 16,1 ], [ 16,20 ] }, +// approx = { [ 17,21 ], [ 39,34 ] } +// }; + shape "RTRN" { { [ -14,19 ], [ -14,37 ], [ 28,37 ], [ 28,0 ], [ 0,0 ], [ 0,19 ] }, + { [ -12,20 ], [ -12,35 ], [ 26,35 ], [ 26,1 ], [ 2,1 ], [ 2,20 ] }, + approx = { [ 3,21 ], [ 25,34 ] } + }; + shape "CAPS" { { [ 33,18] }, { [2,1], [ 31,16] } }; + shape "LFSH" { { [ 42,18] }, { [2,1], [ 40,16] } }; + shape "RTSH" { { [ 52,18] }, { [2,1], [ 50,16] } }; + shape "MODK" { { [ 27,18] }, { [2,1], [ 25,16] } }; + shape "SMOD" { { [ 23,18] }, { [2,1], [ 21,16] } }; + shape "SPCE" { { [113,18] }, { [2,1], [111,16] } }; + shape "KP0" { { [ 37,18] }, { [2,1], [ 35,16] } }; + shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,35] } }; + + shape "LEDS" { cornerRadius= 0, { [ 75 ,20 ] } }; + shape "LED" { cornerRadius= 0, { [ 5, 1 ] } }; + solid "LedPanel" { + shape= "LEDS"; + top= 52; + left= 377; + color= "grey10"; + }; + + indicator.onColor= "green"; + indicator.offColor= "green30"; + indicator.top= 67; + indicator.shape= "LED"; + indicator "Num Lock" { left= 382; }; + indicator "Caps Lock" { left= 407; }; + indicator "Scroll Lock" { left= 433; }; + text.top= 55; + text.color= "black"; + text "NumLockLabel" { left= 378; text="Num\nLock"; }; + text "CapsLockLabel" { left= 403; text="Caps\nLock"; }; + text "ScrollLockLabel" { left= 428; text="Scroll\nLock"; }; + + section.left= 19; + row.left= 1; + key.shape= "NORM"; + key.gap= 1; + section "Function" { + top= 52; + row { + top= 1; + keys { { , color="grey20" }, + { , 20 }, , , , + { , 11 }, , , , + { , 11 }, , , , + { , 8 }, , + }; + }; + }; // End of "Function" section + + section "Alpha" { + top= 91; + row { + top= 1; + keys { , , , , , + , , , , , + , , , , + { , "BKSP", color="grey20" } + }; + }; + row { + top= 20; + keys { { , "TABK", color="grey20" }, + , , , , , + , , , , , +// , , { , -13, "RTRN", color="grey20" } + , , { , "RTRN", color="grey20" } + }; + }; + row { + top= 39; + keys { { , "CAPS", color="grey20" }, + , , , , , + , , , , , + + }; + }; + row { + top= 58; + keys { { , "LFSH", color="grey20" }, + , , , , , + , , , , , + { , "RTSH", color="grey20" } + }; + }; + row { + top= 77; + key.shape= "SMOD"; + key.color= "grey20"; + keys { { , "MODK" }, , , + { , "SPCE", color="white" }, + , , , + }; + }; + }; // End of "Alpha" section + + section "Editing" { + top= 91; + left= 312; + key.color= "grey20"; + row { + top= 1; + keys { , , }; + }; + row { + top= 20; + keys { , , }; + }; + row { + top= 58; + left= 20; + keys { }; + }; + row { + top= 77; + keys { , , }; + }; + }; // End of "Editing" section + + section "Keypad" { + top= 91; + left= 376; + row { + top= 1; + key.color= "grey20"; + keys { , , , }; + }; + row { + top= 20; + keys { , , , { , "KPAD", color="grey20" } }; + }; + row { + top= 39; + keys { , , }; + }; + row { + top= 58; + keys { , , , { , "KPAD", color="grey20" } }; + }; + row { + top= 77; + keys { { , "KP0" }, }; + }; + }; // End of "Keypad" section + + alias = ; + alias = ; + +}; // End of "pc104alt" geometry diff --git a/xkbdata/geometry/sanwa b/xkbdata/geometry/sanwa new file mode 100644 index 0000000..350dbd1 --- /dev/null +++ b/xkbdata/geometry/sanwa @@ -0,0 +1,150 @@ +// +//Copyright 1996, 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. +// +default xkb_geometry "sanwaskbkg3" { + + description= "Sanwa Supply SKB-KG3"; + // SKB-KG3BK (black) + // http://www.sanwa.co.jp/product/syohin.asp?code=SKB-KG3BK + // http://www.sanwa.co.jp/zooma/keybord/SKB-KG3BK/ + // SKB-KG3W (white) + // http://www.sanwa.co.jp/product/syohin.asp?code=SKB-KG3W + // http://www.sanwa.co.jp/zooma/keybord/SKB-KG3SW/ + // SKB-KG3SV (silver) + // http://www.sanwa.co.jp/product/syohin.asp?code=SKB-KG3SV + // http://www.sanwa.co.jp/zooma/keybord/SKB-KG3SV/ + + width= 304; + height= 127; + + shape.cornerRadius= 1; + shape "TOP" { { [15.25,13] }, { [2,2], [13.25,11] } }; + shape "NORM" { { [17,16] }, { [2,2], [15,14] } }; + shape "TBBK" { { [24.5,16] }, { [2,2], [22.5,14] } }; + shape "RTRN" { { [0,0], [36,0], [36,34], [8.5,34], [8.5,16], [0,16] }, + { [2,2], [34,2], [34,32], [10.5,32], [10.5,14], [2,14] } }; + shape "CAPS" { { [33,16] }, { [28,16] }, { [2,2], [26,14] } }; + shape "LFSH" { { [41,16] }, { [2,2], [39,14] } }; + shape "CTSH" { { [19.5,16] }, { [2,2], [17.5,14] } }; + shape "SPCE" { { [57.5,16] }, { [2,2], [55.5,14] } }; + + shape "LED" { cornerRadius= 0, { [5,1] } }; + + indicator.onColor= "green"; + indicator.offColor= "green30"; + indicator.top= 3; + indicator.shape= "LED"; + indicator "Num Lock" { left= 247; }; + indicator "Caps Lock" { left= 266; }; + indicator "Scroll Lock" { left= 285; }; + text.color= "black"; + text.top= 1; + text "Vendor1" { left= 10; text="SANWA"; }; + text.top= 4.5; + text "Vendor2" { left= 10; text="SUPPLY"; }; + text "NumLockLabel" { left= 241; text="Num Lock"; }; + text "CapsLockLabel" { left= 260; text="Caps Lock"; }; + text "ScrollLockLabel" { left= 279; text="Scroll Lock"; }; + + section.left= 3; + row.left= 1; + key.shape= "NORM"; + key.gap= 2; + section "Function" { + key.shape= "TOP"; + top= 10; + row { + top= 1; + keys { , , , , , , , + , , , , , , , + {, color="grey20"}, , {, color="grey20"} + }; + }; + overlay "SCLK" { + = + }; + overlay "FN" { + = + }; + }; // End of "Function" section + + section "Alpha" { + top= 24; + row { + top= 2; + keys { , , , , , , , + {, color="grey20"}, {, color="grey20"}, + {, color="grey20"}, {, color="grey20"}, + , , , { , "TBBK" } + }; + }; + row { + top= 20; + keys { { , "TBBK" }, , , , , , + , {, color="grey20"}, {, color="grey20"}, + {, color="grey20"}, {, color="grey20"}, , + , { , "RTRN" } + }; + }; + row { + top= 38; + keys { { , "CAPS" }, , , , , , + , {, color="grey20"}, {, color="grey20"}, + {, color="grey20"}, {, color="grey20"}, , + + }; + }; + row { + top= 56; + keys { { , "LFSH" }, , , , , , + , {, color="grey20"}, , + {, color="grey20"}, {, color="grey20"}, , + {, color="grey20"}, {, key.shape= "CTSH" } + }; + }; + row { + top= 74; + keys { { , key.shape= "CTSH" }, {, color="grey20"}, + , , , {, "SPCE" }, , , + , , {, color="grey20"}, + {, color="grey20"}, + {, key.shape= "CTSH", color="grey20"} + }; + }; + overlay "SCLK" { + =, =, =, =, + =, =, =, =, + =, =, =, =, + =, =, = + }; + overlay "FN" { + =, =, =, = + }; + }; // End of "Alpha" section + + alias = ; + alias = ; + +}; // End of "default" geometry diff --git a/xkbdata/geometry/sgi_vndr/O2 b/xkbdata/geometry/sgi_vndr/O2 new file mode 100644 index 0000000..8bd1779 --- /dev/null +++ b/xkbdata/geometry/sgi_vndr/O2 @@ -0,0 +1,614 @@ +// +// Copyright (c) 1996 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. +// +default xkb_geometry "pc101" { + + // This is an approximate layout for a 101-key (US/ASCII) SGI + // keyboard. I just took a similar layout (101 key PC keyboard) + // and adjusted the sizes of a few keys by eye. I didn't actually + // *measure* a real keyboard. + + description= "101-key keyboard for Silicon Graphics O2"; + + width= 448; + height= 162; + + shape "EDGE" { + cornerRadius= 2, + { [ 15, 0 ], [ 433, 0 ], [ 433, 10 ], [ 448, 10 ], + [ 448, 162 ], [ 0, 162 ], [ 0, 10 ], [ 15, 10 ] } + }; + shape.cornerRadius= 1; + shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } }; + shape "BKSP" { { [ 37,18] }, { [2,1], [35,17] } }; + shape "TABK" { { [ 28,18] }, { [2,1], [26,17] } }; + shape "BKSL" { { [ 27,18] }, { [2,1], [25,17] } }; + shape "RTRN" { { [ 40,18] }, { [2,1], [37,17] } }; + shape "CAPS" { { [ 34,18] }, { [2,1], [29,17] } }; + shape "RTSH" { { [ 49,18] }, { [2,1], [47,17] } }; + shape "LFSH" { { [ 44,18] }, { [2,1], [42,17] } }; + shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } }; + shape "SPCE" { { [130,18] }, { [2,1], [128,17] } }; + shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } }; + shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } }; + shape "LOGO" { { [ 12,12] } }; + + outline "Edges" { + top= 0; + left= 0; + shape= "EDGE"; + }; + + section.left= 6; + row.left= 1; + key.shape= "NORM"; + key.gap= 1; + section "Function" { + top= 25; + row { + top= 1; + keys { { , color="grey20" }, + { , 19}, , , , + { , 11}, , , , + { , 11}, , , + }; + }; + }; // End of "Function" section + + section "Alpha" { + top= 58; + row { + top= 1; + keys { , , , , , + , , , , , + , , , + { , "BKSP", color="grey20" } + }; + }; + row { + top= 20; + keys { { , "TABK", color= "grey20" }, + , , , , , + , , , , , + , , + { , "BKSL" } + }; + }; + row { + top= 39; + keys { { , "CAPS", color="grey20" }, + , , , , , + , , , , , + , { , "RTRN", color="grey20" } + }; + }; + row { + top= 58; + keys { { , "LFSH", color="grey20" }, + , , , , , + , , , , , + { , "RTSH", color="grey20" } + }; + }; + row { + top= 77; + key.shape= "MODK"; + key.color= "grey20"; + keys { , { , 20 }, + { , "SPCE",color="white" }, + , { , 20 } + }; + }; + }; // End of "Alpha" section + + section "Editing" { + top= 25; + left= 299; + key.color= "grey20"; + row { + top= 1; + keys { , , }; + }; + row { + top= 33; + keys { , , }; + }; + row { + top= 53; + keys { , , }; + }; + row { + top= 91; + left= 20; + keys { }; + }; + row { + top= 110; + keys { , , }; + }; + }; // End of "Editing" section + + shape "LEDS" { cornerRadius= 0, { [ 76 ,20 ] } }; + shape "LED" { cornerRadius= 0, { [ 3, 1.5] } }; + solid "LedPanel" { + shape= "LEDS"; + top= 25; + left= 364; + color= "grey10"; + }; + indicator.onColor= "green"; + indicator.offColor= "green30"; + indicator.top= 40.5; + indicator.shape= "LED"; + indicator "Num Lock" { left= 372; }; + indicator "Caps Lock" { left= 397; }; + indicator "Scro llLock" { left= 422; }; + + text.font= "helvetica"; + text.weight= "bold"; + text.slant= "r"; + text.fontWidth= "normal"; + text.fontSize= 12; + text.top= 39.5; + text.color= "black"; + text "NumLockLabel" { left= 376.5; text="1"; }; + text "CapsLockLabel" { left= 401.5; text="A"; }; + text "ScrollLockLabel" { left= 426.5; text="S"; }; + + logo "SGILogoImage" { + top= 26.5; + left= 396; + name= "SGI"; + shape= "LOGO"; + }; + text.font= "helvetica"; + text.weight= "bold"; + text.slant= "o"; + text.fontWidth= "narrow"; + text.fontSize= 18; + text "SiliconLogoText" { + top= 27; + left= 375; + width= 20; + text= "Silicon"; + }; + text "GraphicsLogoText" { + top= 27; + left= 409; + width= 20; + text= "Graphics"; + }; + + section "Keypad" { + top= 58; + left= 363; + row { + top= 1; + key.color= "grey20"; + keys { , , , }; + }; + row { + top= 20; + keys { , , , { , "KPAD", color= "grey20" } }; + }; + row { + top= 39; + keys { , , }; + }; + row { + top= 58; + keys { , , , { , "KPAD", color= "grey20" } }; + }; + row { + top= 77; + keys { { , "KP0" }, }; + }; + }; // End of "Keypad" section + alias = ; + alias = ; +}; + +xkb_geometry "pc102" { + + // This is an approximate layout for 102-key SGI international + // keyboards. I just took a similar layout (101 key PC keyboard) + // and adjusted the sizes of a few keys by eye. I didn't actually + // *measure* a real keyboard. + + description= "Silicon Graphics 102-key Keyboard"; + width= 470; + height= 193; + + shape.cornerRadius= 1; + shape "EDGE" { cornerRadius=2, { [ 470, 193 ] } }; + shape "NORM" { { [18,18] }, { [2,1], [16,17] } }; + shape "BKSP" { { [35,18] }, { [2,1], [33,17] } }; + shape "TABK" { { [27,18] }, { [2,1], [25,17] } }; + shape "RTRN" { + approx = { [ 0, 0], [26,37] }, + { [ 0, 0], [26, 0], [26,37], + [ 5,37], [ 5,18], [ 0,18] }, + { [ 1, 1], [24, 1], [24,36], + [ 7,36], [ 7,17], [ 1,17] } + }; + shape "CAPS" { { [ 32,18] }, { [2,1], [25,17] } }; + shape "RTSH" { { [ 50,18] }, { [2,1], [48,17] } }; + shape "LFSH" { { [ 22,18] }, { [2,1], [20,17] } }; + shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } }; + shape "SPCE" { { [130,18] }, { [2,1], [128,17] } }; + shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } }; + shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } }; + shape "LOGO" { { [ 16,16] } }; + + outline "Edges" { + top= 0; + left= 0; + shape= "EDGE"; + }; + + section.left= 19; + row.left= 1; + key.shape= "NORM"; + key.gap= 1; + section "Function" { + top= 50; + row { + top= 1; + keys { { , color="grey20" }, + { , 18}, , , , + { , 10}, , , , + { , 10}, , , + }; + }; + }; // End of "Function" section + + section "Alpha" { + top= 83; + row { + top= 1; + keys { , , , , , + , , , , , + , , , + { , "BKSP", color= "grey20" } + }; + }; + row { + top= 20; + keys { { , "TABK", color= "grey20" }, + , , , , , + , , , , , + , , + { , "RTRN", color= "grey20" } + }; + }; + row { + top= 39; + keys { { , "CAPS", color= "grey20" }, + , , , , , + , , , , , + , + }; + }; + row { + top= 58; + keys { { , "LFSH", color= "grey20" }, , + , , , , , + , , , , , + { , "RTSH", color= "grey20" } + }; + }; + row { + top= 77; + key.shape= "MODK"; + key.color= "grey20"; + keys { , + { , 19 }, + { , "SPCE", color="white" }, + , + { , 19 } + }; + }; + }; // End of "Alpha" section + + section "Editing" { + top= 50; + left= 308; + key.color= "grey20"; + row { + top= 1; + keys { , , }; + }; + row { + top= 33; + keys { , , }; + }; + row { + top= 53; + keys { , , }; + }; + row { + top= 91; + left= 20; + keys { }; + }; + row { + top= 110; + keys { , , }; + }; + }; // End of "Editing" section + + shape "LEDS" { cornerRadius= 0, { [ 76 ,20 ] } }; + shape "LED" { cornerRadius= 0, { [ 1, 3 ] } }; + solid "LedPanel" { + shape= "LEDS"; + top= 50; + left= 375; + color= "grey10"; + }; + indicator.onColor= "green"; + indicator.offColor= "green30"; + indicator.top= 64.5; + indicator.shape= "LED"; + indicator "Num Lock" { left= 384; }; + indicator "Caps Lock" { left= 409; }; + indicator "Scroll Lock" { left= 434; }; + text.top= 52; + text.color= "black"; + text "NumLockLabel" { left= 380.5; text="Num\nLock"; }; + text "CapsLockLabel" { left= 405; text="Caps\nLock"; }; + text "ScrollLockLabel" { left= 430; text="Scroll\nLock"; }; + + logo "SGILogoImage" { + top= 17; + left= 22; + name= "SGI"; + shape= "LOGO"; + }; + text "SGILogoText" { + top= 21; + left= 40; + width= 50; + text= "SiliconGraphics"; + font= "helvetica"; + slant= "o"; + weight= "bold"; + setWidth= "narrow"; + fontSize= 24; + }; + + section "Keypad" { + top= 83; + left= 374; + row { + top= 1; + key.color= "grey20"; + keys { , , , }; + }; + row { + top= 20; + keys { , , , { , "KPAD", color="grey20" } }; + }; + row { + top= 39; + keys { , , }; + }; + row { + top= 58; + keys { , , , { , "KPAD", color="grey20" } }; + }; + row { + top= 77; + keys { { , "KP0" }, }; + }; + }; // End of "Keypad" section + alias = ; + alias = ; +}; + +xkb_geometry "jp106" { + description= "Silicon Graphics 106-key Japanese keyboard"; + width= 442; + height= 167; + + shape "EDGE" { cornerRadius= 2, { [ 442, 167 ] } }; + shape.cornerRadius= 1; + shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } }; + shape "BKSP" { { [ 18,18] }, { [2,1], [ 16,17] } }; + shape "TABK" { { [ 28,18] }, { [2,1], [ 26,17] } }; + shape "BKSL" { { [ 27,18] }, { [2,1], [ 25,17] } }; + shape "RTRN" { + { [0,0],[ 27,0],[27,37],[4,37],[4,18],[0,18] } , + { [2,1],[ 25,1],[25,36],[5,36],[5,17],[2,17] } }; + shape "CAPS" { { [ 32,18] }, { [2,1], [ 30,17] } }; + shape "LFSH" { { [ 42,18] }, { [2,1], [ 40,17] } }; + shape "RTSH" { { [ 32,18] }, { [2,1], [ 30,17] } }; + shape "MODK" { { [ 28,18] }, { [2,1], [ 26,17] } }; + shape "SPCE" { { [ 46,18] }, { [2,1], [ 44,17] } }; + shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } }; + shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,36] } }; + shape "LOGO" { { [ 16,16] } }; + + outline "Edges" { + top= 0; + left= 0; + shape= "EDGE"; + }; + + logo "SGILogoImage" { + top= 5; + left= 6; + name= "SGI"; + shape= "LOGO"; + }; + + text "SGILogoText" { + top= 9; + left= 25; + width= 50; + text= "SiliconGraphics"; + font= "helvetica"; + slant= "o"; + weight= "bold"; + fontWidth= "narrow"; + fontSize= 24; + }; + + shape "LEDS" { cornerRadius= 0.1, { [ 76 ,20 ] } }; + shape "LED" { cornerRadius= 0, { [ 5, 1 ] } }; + solid "LedPanel" { + shape= "LEDS"; + top= 25; + left= 362; + color= "grey10"; + }; + + indicator.onColor= "green"; + indicator.offColor= "green30"; + indicator.top= 40; + indicator.shape= "LED"; + indicator "Num Lock" { left= 366; }; + indicator "Caps Lock" { left= 391; }; + indicator "Scroll Lock" { left= 416; }; + text.top= 28; + text.color= "black"; + text "NumLockLabel" { left= 366; text="Num\nLock"; }; + text "CapsLockLabel" { left= 391; text="Caps\nLock"; }; + text "ScrollLockLabel" { left= 416; text="Scroll\nLock"; }; + + section.left= 5; + row.left= 1; + key.shape= "NORM"; + key.gap= 1; + section "Function" { + top= 25; + row { + top= 1; + keys { { , color="grey20" }, + { , 18 }, , , , + { , 11 ,color="grey20"}, {,color="grey20"}, + { , color="grey20"}, {,color="grey20"}, + { , 11 }, , , , + { , 8 }, , + }; + }; + }; // End of "Function" section + + section "Alpha" { + top= 61; + row { + top= 1; + keys { {,color="grey20"}, , , + , , , , , + , , , , , + , { , "BKSP", color="grey20" } + }; + }; + row { + top= 20; + keys { { , "TABK", color="grey20" }, + , , , , , + , , , , , + , , { , 1 ,"RTRN",color="grey20" } + }; + }; + row { + top= 39; + keys { { , "CAPS", color="grey20" }, + , , , , , + , , , , , + , + }; + }; + row { + top= 58; + keys { { , "LFSH", color="grey20" }, + , , , , , + , , , , , + , { , "RTSH", color="grey20" } + }; + }; + row { + top= 77; + key.shape= "MODK"; + key.color= "grey20"; + keys { , { , 20 },, + { , "SPCE", color="white" }, + ,,, { , 17 } + }; + }; + }; // End of "Alpha" section + + section "Editing" { + top= 61; + left= 296; + key.color= "grey20"; + row { + top= 1; + keys { , , }; + }; + row { + top= 20; + keys { , , }; + }; + row { + top= 58; + left= 20; + keys { }; + }; + row { + top= 77; + keys { , , }; + }; + }; // End of "Editing" section + + section "Keypad" { + top= 61; + left= 361; + row { + top= 1; + key.color= "grey20"; + keys { , , , }; + }; + row { + top= 20; + keys { , , , { , "KPAD", color="grey20" } }; + }; + row { + top= 39; + keys { , , }; + }; + row { + top= 58; + keys { , , , { , "KPAD", color="grey20" } }; + }; + row { + top= 77; + keys { { , "KP0" }, }; + }; + }; // End of "Keypad" section + + alias = ; + alias = ; + +}; // End of "jp106" geometry diff --git a/xkbdata/geometry/sgi_vndr/indigo b/xkbdata/geometry/sgi_vndr/indigo new file mode 100644 index 0000000..2c17466 --- /dev/null +++ b/xkbdata/geometry/sgi_vndr/indigo @@ -0,0 +1,410 @@ +// +// Copyright (c) 1996 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. +// +default xkb_geometry "pc101" { + + // This is an approximate layout for a 101-key (US/ASCII) SGI + // keyboard. I just took a similar layout (101 key PC keyboard) + // and adjusted the sizes of a few keys by eye. I didn't actually + // *measure* a real keyboard. + + description= "Silicon Graphics 101-key keyboard"; + + width= 472; + height= 193; + + shape "EDGE" { cornerRadius= 2, { [ 472, 193 ] } }; + shape.cornerRadius= 1; + shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } }; + shape "BKSP" { { [ 37,18] }, { [2,1], [35,17] } }; + shape "TABK" { { [ 28,18] }, { [2,1], [26,17] } }; + shape "BKSL" { { [ 27,18] }, { [2,1], [25,17] } }; + shape "RTRN" { { [ 40,18] }, { [2,1], [37,17] } }; + shape "CAPS" { { [ 34,18] }, { [2,1], [29,17] } }; + shape "RTSH" { { [ 49,18] }, { [2,1], [47,17] } }; + shape "LFSH" { { [ 44,18] }, { [2,1], [42,17] } }; + shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } }; + shape "SPCE" { { [130,18] }, { [2,1], [128,17] } }; + shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } }; + shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } }; + shape "LOGO" { { [ 16,16] } }; + + outline "Edges" { + top= 0; + left= 0; + shape= "EDGE"; + }; + + section.left= 19; + row.left= 1; + key.shape= "NORM"; + key.gap= 1; + section "Function" { + top= 50; + row { + top= 1; + keys { { , color="grey20" }, + { , 19}, , , , + { , 11}, , , , + { , 11}, , , + }; + }; + }; // End of "Function" section + + section "Alpha" { + top= 83; + row { + top= 1; + keys { , , , , , + , , , , , + , , , + { , "BKSP", color="grey20" } + }; + }; + row { + top= 20; + keys { { , "TABK", color= "grey20" }, + , , , , , + , , , , , + , , + { , "BKSL" } + }; + }; + row { + top= 39; + keys { { , "CAPS", color="grey20" }, + , , , , , + , , , , , + , { , "RTRN", color="grey20" } + }; + }; + row { + top= 58; + keys { { , "LFSH", color="grey20" }, + , , , , , + , , , , , + { , "RTSH", color="grey20" } + }; + }; + row { + top= 77; + key.shape= "MODK"; + key.color= "grey20"; + keys { , { , 20 }, + { , "SPCE",color="white" }, + , { , 20 } + }; + }; + }; // End of "Alpha" section + + section "Editing" { + top= 50; + left= 312; + key.color= "grey20"; + row { + top= 1; + keys { , , }; + }; + row { + top= 33; + keys { , , }; + }; + row { + top= 53; + keys { , , }; + }; + row { + top= 91; + left= 20; + keys { }; + }; + row { + top= 110; + keys { , , }; + }; + }; // End of "Editing" section + + shape "LEDS" { cornerRadius= 0, { [ 76 ,20 ] } }; + shape "LED" { cornerRadius= 0, { [ 1, 3 ] } }; + solid "LedPanel" { + shape= "LEDS"; + top= 50; + left= 377; + color= "grey10"; + }; + indicator.onColor= "green"; + indicator.offColor= "green30"; + indicator.top= 64.5; + indicator.shape= "LED"; + indicator "Num Lock" { left= 386; }; + indicator "Caps Lock" { left= 411; }; + indicator "Scroll Lock" { left= 436; }; + text.top= 52; + text.color= "black"; + text "NumLockLabel" { left= 382.5; text="Num\nLock"; }; + text "CapsLockLabel" { left= 407; text="Caps\nLock"; }; + text "ScrollLockLabel" { left= 432; text="Scroll\nLock"; }; + + logo "SGILogoImage" { + top= 17; + left= 22; + name= "SGI"; + shape= "LOGO"; + }; + text "SGILogoText" { + top= 21; + left= 40; + width= 50; + text= "SiliconGraphics"; + font= "helvetica"; + slant= "o"; + weight= "bold"; + fontWidth= "narrow"; + fontSize= 24; + }; + + section "Keypad" { + top= 83; + left= 376; + row { + top= 1; + key.color= "grey20"; + keys { , , , }; + }; + row { + top= 20; + keys { , , , { , "KPAD", color= "grey20" } }; + }; + row { + top= 39; + keys { , , }; + }; + row { + top= 58; + keys { , , , { , "KPAD", color= "grey20" } }; + }; + row { + top= 77; + keys { { , "KP0" }, }; + }; + }; // End of "Keypad" section + alias = ; + alias = ; +}; +xkb_geometry "pc102" { + + // This is an approximate layout for 102-key SGI international + // keyboards. I just took a similar layout (101 key PC keyboard) + // and adjusted the sizes of a few keys by eye. I didn't actually + // *measure* a real keyboard. + + description= "Silicon Graphics 102-key Keyboard"; + width= 470; + height= 193; + + shape.cornerRadius= 1; + shape "EDGE" { cornerRadius=2, { [ 470, 193 ] } }; + shape "NORM" { { [18,18] }, { [2,1], [16,17] } }; + shape "BKSP" { { [35,18] }, { [2,1], [33,17] } }; + shape "TABK" { { [27,18] }, { [2,1], [25,17] } }; + shape "RTRN" { + approx = { [ 0, 0], [26,37] }, + { [ 0, 0], [26, 0], [26,37], + [ 5,37], [ 5,18], [ 0,18] }, + { [ 1, 1], [24, 1], [24,36], + [ 7,36], [ 7,17], [ 1,17] } + }; + shape "CAPS" { { [ 32,18] }, { [2,1], [25,17] } }; + shape "RTSH" { { [ 50,18] }, { [2,1], [48,17] } }; + shape "LFSH" { { [ 22,18] }, { [2,1], [20,17] } }; + shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } }; + shape "SPCE" { { [130,18] }, { [2,1], [128,17] } }; + shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } }; + shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } }; + shape "LOGO" { { [ 16,16] } }; + + outline "Edges" { + top= 0; + left= 0; + shape= "EDGE"; + }; + + section.left= 19; + row.left= 1; + key.shape= "NORM"; + key.gap= 1; + section "Function" { + top= 50; + row { + top= 1; + keys { { , color="grey20" }, + { , 18}, , , , + { , 10}, , , , + { , 10}, , , + }; + }; + }; // End of "Function" section + + section "Alpha" { + top= 83; + row { + top= 1; + keys { , , , , , + , , , , , + , , , + { , "BKSP", color= "grey20" } + }; + }; + row { + top= 20; + keys { { , "TABK", color= "grey20" }, + , , , , , + , , , , , + , , + { , "RTRN", color= "grey20" } + }; + }; + row { + top= 39; + keys { { , "CAPS", color= "grey20" }, + , , , , , + , , , , , + , + }; + }; + row { + top= 58; + keys { { , "LFSH", color= "grey20" }, , + , , , , , + , , , , , + { , "RTSH", color= "grey20" } + }; + }; + row { + top= 77; + key.shape= "MODK"; + key.color= "grey20"; + keys { , + { , 19 }, + { , "SPCE", color="white" }, + , + { , 19 } + }; + }; + }; // End of "Alpha" section + + section "Editing" { + top= 50; + left= 308; + key.color= "grey20"; + row { + top= 1; + keys { , , }; + }; + row { + top= 33; + keys { , , }; + }; + row { + top= 53; + keys { , , }; + }; + row { + top= 91; + left= 20; + keys { }; + }; + row { + top= 110; + keys { , , }; + }; + }; // End of "Editing" section + + shape "LEDS" { cornerRadius= 0, { [ 76 ,20 ] } }; + shape "LED" { cornerRadius= 0, { [ 1, 3 ] } }; + solid "LedPanel" { + shape= "LEDS"; + top= 50; + left= 375; + color= "grey10"; + }; + indicator.onColor= "green"; + indicator.offColor= "green30"; + indicator.top= 64.5; + indicator.shape= "LED"; + indicator "Num Lock" { left= 384; }; + indicator "Caps Lock" { left= 409; }; + indicator "Scroll Lock" { left= 434; }; + text.top= 52; + text.color= "black"; + text "NumLockLabel" { left= 380.5; text="Num\nLock"; }; + text "CapsLockLabel" { left= 405; text="Caps\nLock"; }; + text "ScrollLockLabel" { left= 430; text="Scroll\nLock"; }; + + logo "SGILogoImage" { + top= 17; + left= 22; + name= "SGI"; + shape= "LOGO"; + }; + text "SGILogoText" { + top= 21; + left= 40; + width= 50; + text= "SiliconGraphics"; + font= "helvetica"; + slant= "o"; + weight= "bold"; + setWidth= "narrow"; + fontSize= 24; + }; + + section "Keypad" { + top= 83; + left= 374; + row { + top= 1; + key.color= "grey20"; + keys { , , , }; + }; + row { + top= 20; + keys { , , , { , "KPAD", color="grey20" } }; + }; + row { + top= 39; + keys { , , }; + }; + row { + top= 58; + keys { , , , { , "KPAD", color="grey20" } }; + }; + row { + top= 77; + keys { { , "KP0" }, }; + }; + }; // End of "Keypad" section + alias = ; + alias = ; +}; diff --git a/xkbdata/geometry/sgi_vndr/indy b/xkbdata/geometry/sgi_vndr/indy new file mode 100644 index 0000000..9b7a40d --- /dev/null +++ b/xkbdata/geometry/sgi_vndr/indy @@ -0,0 +1,598 @@ +// +// Copyright (c) 1996 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. +// +default xkb_geometry "pc101" { + + // This is an approximate layout for a 101-key (US/ASCII) SGI + // keyboard. I just took a similar layout (101 key PC keyboard) + // and adjusted the sizes of a few keys by eye. I didn't actually + // *measure* a real keyboard. + + description= "Silicon Graphics 101-key keyboard"; + + width= 472; + height= 193; + + shape "EDGE" { cornerRadius= 2, { [ 472, 193 ] } }; + shape.cornerRadius= 1; + shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } }; + shape "BKSP" { { [ 37,18] }, { [2,1], [35,17] } }; + shape "TABK" { { [ 28,18] }, { [2,1], [26,17] } }; + shape "BKSL" { { [ 27,18] }, { [2,1], [25,17] } }; + shape "RTRN" { { [ 40,18] }, { [2,1], [37,17] } }; + shape "CAPS" { { [ 34,18] }, { [2,1], [29,17] } }; + shape "RTSH" { { [ 49,18] }, { [2,1], [47,17] } }; + shape "LFSH" { { [ 44,18] }, { [2,1], [42,17] } }; + shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } }; + shape "SPCE" { { [130,18] }, { [2,1], [128,17] } }; + shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } }; + shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } }; + shape "LOGO" { { [ 16,16] } }; + + outline "Edges" { + top= 0; + left= 0; + shape= "EDGE"; + }; + + section.left= 19; + row.left= 1; + key.shape= "NORM"; + key.gap= 1; + section "Function" { + top= 50; + row { + top= 1; + keys { { , color="grey20" }, + { , 19}, , , , + { , 11}, , , , + { , 11}, , , + }; + }; + }; // End of "Function" section + + section "Alpha" { + top= 83; + row { + top= 1; + keys { , , , , , + , , , , , + , , , + { , "BKSP", color="grey20" } + }; + }; + row { + top= 20; + keys { { , "TABK", color= "grey20" }, + , , , , , + , , , , , + , , + { , "BKSL" } + }; + }; + row { + top= 39; + keys { { , "CAPS", color="grey20" }, + , , , , , + , , , , , + , { , "RTRN", color="grey20" } + }; + }; + row { + top= 58; + keys { { , "LFSH", color="grey20" }, + , , , , , + , , , , , + { , "RTSH", color="grey20" } + }; + }; + row { + top= 77; + key.shape= "MODK"; + key.color= "grey20"; + keys { , { , 20 }, + { , "SPCE",color="white" }, + , { , 20 } + }; + }; + }; // End of "Alpha" section + + section "Editing" { + top= 50; + left= 312; + key.color= "grey20"; + row { + top= 1; + keys { , , }; + }; + row { + top= 33; + keys { , , }; + }; + row { + top= 53; + keys { , , }; + }; + row { + top= 91; + left= 20; + keys { }; + }; + row { + top= 110; + keys { , , }; + }; + }; // End of "Editing" section + + shape "LEDS" { cornerRadius= 0, { [ 76 ,20 ] } }; + shape "LED" { cornerRadius= 0, { [ 1, 3 ] } }; + solid "LedPanel" { + shape= "LEDS"; + top= 50; + left= 377; + color= "grey10"; + }; + indicator.onColor= "green"; + indicator.offColor= "green30"; + indicator.top= 64.5; + indicator.shape= "LED"; + indicator "Num Lock" { left= 386; }; + indicator "Caps Lock" { left= 411; }; + indicator "Scroll Lock" { left= 436; }; + text.top= 52; + text.color= "black"; + text "NumLockLabel" { left= 382.5; text="Num\nLock"; }; + text "CapsLockLabel" { left= 407; text="Caps\nLock"; }; + text "ScrollLockLabel" { left= 432; text="Scroll\nLock"; }; + + logo "SGILogoImage" { + top= 17; + left= 22; + name= "SGI"; + shape= "LOGO"; + }; + text "SGILogoText" { + top= 21; + left= 40; + width= 50; + text= "SiliconGraphics"; + font= "helvetica"; + slant= "o"; + weight= "bold"; + fontWidth= "narrow"; + fontSize= 24; + }; + + section "Keypad" { + top= 83; + left= 376; + row { + top= 1; + key.color= "grey20"; + keys { , , , }; + }; + row { + top= 20; + keys { , , , { , "KPAD", color= "grey20" } }; + }; + row { + top= 39; + keys { , , }; + }; + row { + top= 58; + keys { , , , { , "KPAD", color= "grey20" } }; + }; + row { + top= 77; + keys { { , "KP0" }, }; + }; + }; // End of "Keypad" section + alias = ; + alias = ; +}; + +xkb_geometry "pc102" { + + // This is an approximate layout for 102-key SGI international + // keyboards. I just took a similar layout (101 key PC keyboard) + // and adjusted the sizes of a few keys by eye. I didn't actually + // *measure* a real keyboard. + + description= "Silicon Graphics 102-key Keyboard"; + width= 470; + height= 193; + + shape.cornerRadius= 1; + shape "EDGE" { cornerRadius=2, { [ 470, 193 ] } }; + shape "NORM" { { [18,18] }, { [2,1], [16,17] } }; + shape "BKSP" { { [35,18] }, { [2,1], [33,17] } }; + shape "TABK" { { [27,18] }, { [2,1], [25,17] } }; + shape "RTRN" { + approx = { [ 0, 0], [26,37] }, + { [ 0, 0], [26, 0], [26,37], + [ 5,37], [ 5,18], [ 0,18] }, + { [ 1, 1], [24, 1], [24,36], + [ 7,36], [ 7,17], [ 1,17] } + }; + shape "CAPS" { { [ 32,18] }, { [2,1], [25,17] } }; + shape "RTSH" { { [ 50,18] }, { [2,1], [48,17] } }; + shape "LFSH" { { [ 22,18] }, { [2,1], [20,17] } }; + shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } }; + shape "SPCE" { { [130,18] }, { [2,1], [128,17] } }; + shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } }; + shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } }; + shape "LOGO" { { [ 16,16] } }; + + outline "Edges" { + top= 0; + left= 0; + shape= "EDGE"; + }; + + section.left= 19; + row.left= 1; + key.shape= "NORM"; + key.gap= 1; + section "Function" { + top= 50; + row { + top= 1; + keys { { , color="grey20" }, + { , 18}, , , , + { , 10}, , , , + { , 10}, , , + }; + }; + }; // End of "Function" section + + section "Alpha" { + top= 83; + row { + top= 1; + keys { , , , , , + , , , , , + , , , + { , "BKSP", color= "grey20" } + }; + }; + row { + top= 20; + keys { { , "TABK", color= "grey20" }, + , , , , , + , , , , , + , , + { , "RTRN", color= "grey20" } + }; + }; + row { + top= 39; + keys { { , "CAPS", color= "grey20" }, + , , , , , + , , , , , + , + }; + }; + row { + top= 58; + keys { { , "LFSH", color= "grey20" }, , + , , , , , + , , , , , + { , "RTSH", color= "grey20" } + }; + }; + row { + top= 77; + key.shape= "MODK"; + key.color= "grey20"; + keys { , + { , 19 }, + { , "SPCE", color="white" }, + , + { , 19 } + }; + }; + }; // End of "Alpha" section + + section "Editing" { + top= 50; + left= 308; + key.color= "grey20"; + row { + top= 1; + keys { , , }; + }; + row { + top= 33; + keys { , , }; + }; + row { + top= 53; + keys { , , }; + }; + row { + top= 91; + left= 20; + keys { }; + }; + row { + top= 110; + keys { , , }; + }; + }; // End of "Editing" section + + shape "LEDS" { cornerRadius= 0, { [ 76 ,20 ] } }; + shape "LED" { cornerRadius= 0, { [ 1, 3 ] } }; + solid "LedPanel" { + shape= "LEDS"; + top= 50; + left= 375; + color= "grey10"; + }; + indicator.onColor= "green"; + indicator.offColor= "green30"; + indicator.top= 64.5; + indicator.shape= "LED"; + indicator "Num Lock" { left= 384; }; + indicator "Caps Lock" { left= 409; }; + indicator "Scroll Lock" { left= 434; }; + text.top= 52; + text.color= "black"; + text "NumLockLabel" { left= 380.5; text="Num\nLock"; }; + text "CapsLockLabel" { left= 405; text="Caps\nLock"; }; + text "ScrollLockLabel" { left= 430; text="Scroll\nLock"; }; + + logo "SGILogoImage" { + top= 17; + left= 22; + name= "SGI"; + shape= "LOGO"; + }; + text "SGILogoText" { + top= 21; + left= 40; + width= 50; + text= "SiliconGraphics"; + font= "helvetica"; + slant= "o"; + weight= "bold"; + setWidth= "narrow"; + fontSize= 24; + }; + + section "Keypad" { + top= 83; + left= 374; + row { + top= 1; + key.color= "grey20"; + keys { , , , }; + }; + row { + top= 20; + keys { , , , { , "KPAD", color="grey20" } }; + }; + row { + top= 39; + keys { , , }; + }; + row { + top= 58; + keys { , , , { , "KPAD", color="grey20" } }; + }; + row { + top= 77; + keys { { , "KP0" }, }; + }; + }; // End of "Keypad" section + alias = ; + alias = ; +}; + +xkb_geometry "jp106" { + description= "Silicon Graphics 106-key Japanese keyboard"; + width= 442; + height= 167; + + shape "EDGE" { cornerRadius= 2, { [ 442, 167 ] } }; + shape.cornerRadius= 1; + shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } }; + shape "BKSP" { { [ 18,18] }, { [2,1], [ 16,17] } }; + shape "TABK" { { [ 28,18] }, { [2,1], [ 26,17] } }; + shape "BKSL" { { [ 27,18] }, { [2,1], [ 25,17] } }; + shape "RTRN" { + { [0,0],[ 27,0],[27,37],[4,37],[4,18],[0,18] } , + { [2,1],[ 25,1],[25,36],[5,36],[5,17],[2,17] } }; + shape "CAPS" { { [ 32,18] }, { [2,1], [ 30,17] } }; + shape "LFSH" { { [ 42,18] }, { [2,1], [ 40,17] } }; + shape "RTSH" { { [ 32,18] }, { [2,1], [ 30,17] } }; + shape "MODK" { { [ 28,18] }, { [2,1], [ 26,17] } }; + shape "SPCE" { { [ 46,18] }, { [2,1], [ 44,17] } }; + shape "KP0" { { [ 37,18] }, { [2,1], [ 35,17] } }; + shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,36] } }; + shape "LOGO" { { [ 16,16] } }; + + outline "Edges" { + top= 0; + left= 0; + shape= "EDGE"; + }; + + logo "SGILogoImage" { + top= 5; + left= 6; + name= "SGI"; + shape= "LOGO"; + }; + + text "SGILogoText" { + top= 9; + left= 25; + width= 50; + text= "SiliconGraphics"; + font= "helvetica"; + slant= "o"; + weight= "bold"; + fontWidth= "narrow"; + fontSize= 24; + }; + + shape "LEDS" { cornerRadius= 0.1, { [ 76 ,20 ] } }; + shape "LED" { cornerRadius= 0, { [ 5, 1 ] } }; + solid "LedPanel" { + shape= "LEDS"; + top= 25; + left= 362; + color= "grey10"; + }; + + indicator.onColor= "green"; + indicator.offColor= "green30"; + indicator.top= 40; + indicator.shape= "LED"; + indicator "Num Lock" { left= 366; }; + indicator "Caps Lock" { left= 391; }; + indicator "Scroll Lock" { left= 416; }; + text.top= 28; + text.color= "black"; + text "NumLockLabel" { left= 366; text="Num\nLock"; }; + text "CapsLockLabel" { left= 391; text="Caps\nLock"; }; + text "ScrollLockLabel" { left= 416; text="Scroll\nLock"; }; + + section.left= 5; + row.left= 1; + key.shape= "NORM"; + key.gap= 1; + section "Function" { + top= 25; + row { + top= 1; + keys { { , color="grey20" }, + { , 18 }, , , , + { , 11 ,color="grey20"}, {,color="grey20"}, + { , color="grey20"}, {,color="grey20"}, + { , 11 }, , , , + { , 8 }, , + }; + }; + }; // End of "Function" section + + section "Alpha" { + top= 61; + row { + top= 1; + keys { {,color="grey20"}, , , + , , , , , + , , , , , + , { , "BKSP", color="grey20" } + }; + }; + row { + top= 20; + keys { { , "TABK", color="grey20" }, + , , , , , + , , , , , + , , { , 1 ,"RTRN",color="grey20" } + }; + }; + row { + top= 39; + keys { { , "CAPS", color="grey20" }, + , , , , , + , , , , , + , + }; + }; + row { + top= 58; + keys { { , "LFSH", color="grey20" }, + , , , , , + , , , , , + , { , "RTSH", color="grey20" } + }; + }; + row { + top= 77; + key.shape= "MODK"; + key.color= "grey20"; + keys { , { , 20 },, + { , "SPCE", color="white" }, + ,,, { , 17 } + }; + }; + }; // End of "Alpha" section + + section "Editing" { + top= 61; + left= 296; + key.color= "grey20"; + row { + top= 1; + keys { , , }; + }; + row { + top= 20; + keys { , , }; + }; + row { + top= 58; + left= 20; + keys { }; + }; + row { + top= 77; + keys { , , }; + }; + }; // End of "Editing" section + + section "Keypad" { + top= 61; + left= 361; + row { + top= 1; + key.color= "grey20"; + keys { , , , }; + }; + row { + top= 20; + keys { , , , { , "KPAD", color="grey20" } }; + }; + row { + top= 39; + keys { , , }; + }; + row { + top= 58; + keys { , , , { , "KPAD", color="grey20" } }; + }; + row { + top= 77; + keys { { , "KP0" }, }; + }; + }; // End of "Keypad" section + + alias = ; + alias = ; + +}; // End of "jp106" geometry diff --git a/xkbdata/geometry/sony b/xkbdata/geometry/sony new file mode 100644 index 0000000..7071494 --- /dev/null +++ b/xkbdata/geometry/sony @@ -0,0 +1,179 @@ +// +//Copyright 1996, 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. +// +default xkb_geometry "nwp5461" { + + description= "Sony NEWS NWS-5000 Keyboard"; + width= 425; + height= 190; + + shape.cornerRadius= 1; + shape "NORM" { { [18,18] }, { [2,1], [16,17] } }; + shape "BKSP" { { [28,18] }, { [2,1], [26,17] } }; + shape "TABK" { { [28,18] }, { [2,1], [26,17] } }; + shape "BKSL" { { [28,18] }, { [2,1], [26,17] } }; + shape "RTRN" { + approx = { [15, 0], [33,37] }, + { [15, 0], [33, 0], [33,37], + [ 0,37], [ 0,19], [15,19] }, + { [17, 1], [31, 1], [31,36], + [ 2,36], [ 2,20], [17,20] } + }; + shape "SHFT" { { [42,18] }, { [2,1], [40,17] } }; + shape "MODK" { { [33,18] }, { [2,1], [31,17] } }; + shape "SPCE" { { [85,18] }, { [2,1], [83,17] } }; + shape "KPEN" { { [18,38] }, { [2,1], [16,37] } }; + shape "STOP" { { [28,18] }, { [2,1], [26,17] } }; + shape "CUT" { { [55,18] }, { [2,1], [53,17] } }; + shape "EXEC" { { [32,18] }, { [2,1], [30,17] } }; + shape "UNK" { { [18,18] }, { [2,1], [16,17] } }; + shape "CAPS" { { [18,18] }, { [2,1], [16,17] } }; + shape "FKEY" { { [23,18] }, { [2,1], [21,17] } }; + + section.left= 13; + row.left= 1; + key.shape= "NORM"; + key.gap= 1; + section "Function" { + top= 55; + row { + top= 1; + left= 37; + key.shape="FKEY"; + keys { , , , , , + { , 5 }, , , , , + { , 5 }, + }; + }; + }; // End of "Function" section + + section "Alpha" { + top= 80; + row { + top= 1; + keys { { , color="grey20" } , + , , , , + , , , , + , , , , + , { , "BKSP", color="grey20" } + }; + }; + row { + top= 20; + keys { { , "TABK", color="grey20" }, + , , , , , + , , , , , + , , { , color="grey20" }, + { , "RTRN", -14, color="grey20" } + }; + }; + row { + top= 39; + keys { { , "MODK", color="grey20" }, + , , , , , + , , , , , + , + }; + }; + row { + top= 58; + keys { { , "SHFT", color="grey20" }, + , , , , , + , , , , , , + { , "SHFT", color="grey20" } + }; + }; + row { + top= 77; + key.shape= "MODK"; + key.color= "grey20"; + keys { , { , "CAPS" }, + { , "STOP", color="white" }, + { , "SPCE", color="white" }, + { , "CUT", color="white" }, + { , "UNK" }, { , "UNK" }, + { , "EXEC" } + }; + }; + }; // End of "Alpha" section + + section "Editing" { + top= 80; + left= 312; + key.color= "grey20"; + row { + top= 1; + keys { }; + }; + row { + top= 20; + keys { }; + }; + row { + top= 39; + keys { }; + }; + row { + top= 58; + keys { }; + }; + row { + top= 77; + keys { }; + }; + }; // End of "Editing" section + + section "Keypad" { + top= 61; + left= 334; + row { + top= 1; + key.color= "grey20"; + keys { { , 19 }, , }; + }; + row { + top= 20; + keys { , , , { , color="grey20" } }; + }; + row { + top= 39; + keys { , , , { , color="grey20" } }; + }; + row { + top= 58; + keys { , , , { , "KPEN", color="grey20" } }; + }; + row { + top= 77; + keys { , { , color="grey20" }, }; + }; + row { + top= 96; + key.color= "grey20"; + keys { , , , }; + }; + }; // End of "Keypad" section + +}; // End of "default" geometry diff --git a/xkbdata/geometry/steelseries b/xkbdata/geometry/steelseries new file mode 100644 index 0000000..df3788c --- /dev/null +++ b/xkbdata/geometry/steelseries @@ -0,0 +1,223 @@ +// +//Copyright 1996, 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. +// + + + +// modified from /usr/share/X11/xkb/geometry/pc(pc104) +// +// The Apex 300 (Apex RAW) has 21 additional keys and +// is replaced by a hardware key. These +// additions to the basic PC104 layout are shown in red. +// +// Currently the kernel doesn't initialize these keys; a userspace +// tool is needed (apexctl: https://github.com/tuxmark5/ApexCtl). +// With this tool or a proper driver, the extra keys (except FN) +// can be assigned keycodes via udev-hwdb. +// +// FIXME: Keycodes shown here should be changed to match +// kernel defaults when a driver is developed. +// +// The additional keys are in 4 groups: +// 1) L1-L2 left of Escape (column) , +// 2) M1-M12 above F1-F12 (row) - +// 3) MX1-MX5 left of alpha keys (column) - +// 4) LeftUp, RightUp with regular arrows , +// +// Known key functions: +// + = kbd backlight step dimmer (NoSymbol) +// + = kbd backlight step brighter (NoSymbol) +// + = (AudioPrev) +// + = (AudioPlay, AudioPause) +// + = (AudioNext) +// + = (AudioMute) +// + = (VolumeUp) +// + = (VolumeDown) +// +// And yes, the spacebar really is that ridiculous. +// +// 2017.April +// +default xkb_geometry "apex300" { + + description= "SteelSeries Apex 300 (Apex RAW)"; + width= 450; + height= 150; + + shape.cornerRadius= 1; + shape "NORM" { { [ 18,18] }, { [2,1], [ 16,16] } }; + shape "BKSP" { { [ 38,18] }, { [2,1], [ 36,16] } }; + shape "TABK" { { [ 28,18] }, { [2,1], [ 26,16] } }; + shape "BKSL" { { [ 28,18] }, { [2,1], [ 26,16] } }; + shape "RTRN" { { [ 42,18] }, { [2,1], [ 40,16] } }; + shape "CAPS" { { [ 33,18] }, { [2,1], [ 31,16] } }; + shape "LFSH" { { [ 42,18] }, { [2,1], [ 40,16] } }; + shape "RTSH" { { [ 52,18] }, { [2,1], [ 50,16] } }; + shape "MODK" { { [ 27,18] }, { [2,1], [ 25,16] } }; + shape "SMOD" { { [ 23,18] }, { [2,1], [ 21,16] } }; + shape "SPCE" { { [113,37] }, { [2,1], [111,35] } }; + shape "KP0" { { [ 37,18] }, { [2,1], [ 35,16] } }; + shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,35] } }; + shape "MKEY" { { [ 18,8] }, { [2,1], [ 16,7] } }; + shape "ESCA" { { [ 18,28] }, { [2,1], [ 16,27] } }; + shape "LKEY" { { [ 18,14] }, { [2,1], [ 16,13] } }; + shape "LEDS" { cornerRadius= 0, { [ 54, 6 ] } }; + shape "LED" { cornerRadius= 0, { [ 4, 1 ] } }; + + + solid "LedPanel" { + shape= "LEDS"; + top= 2; + left= 315; + color= "grey10"; + }; + + + indicator.onColor= "red"; + indicator.offColor= "red"; + indicator.top= 7; + indicator.shape= "LED"; + indicator "Num Lock" { left= 321; }; + indicator "Caps Lock" { left= 340; }; + indicator "Scroll Lock" { left= 359; }; + text.top= 2; + text.color= "black"; + text "NumLockLabel" { left= 322; text="N"; }; + text "CapsLockLabel" { left= 341; text="C"; }; + text "ScrollLockLabel" { left= 360; text="S"; }; + text "SteelSeriesLogo" { top= 10; left= 400; text="SteelSeries"; }; + text "FNLogoKeyLabel" { top= 130; left= 248; text="FN"; }; + + key.shape= "NORM"; + key.gap= 1; + key.color= "grey10"; + + + section "Lkeys" { + key.shape= "LKEY"; + key.color= "red"; + row { top= 1; keys { }; }; + row { top= 15; keys { }; }; + }; // end of "Lkeys" section + + + section "MXkeys" { + key.shape= "NORM"; + key.color= "red"; + row { top= 35; keys { }; }; // 40 59 78 97 116 + row { top= 54; keys { }; }; // 35 54 73 92 111 + row { top= 73; keys { }; }; + row { top= 92; keys { }; }; + row { top=111; keys { }; }; + }; // end of "MXkeys" section + + + section "Escape" { + left= 23; + key.shape= "ESCA"; + key.color= "grey30"; + row { top= 1; keys { }; }; + }; // end of "Escape" section + + + section "Mkeys" { + left= 61; + key.color= "red"; + key.shape= "MKEY"; + row { top= 1; + keys { , , , , + { , 11 }, , , , + { , 11 }, , , }; }; + }; // end of "Mkeys" section + + + section "Function" { + left= 61; + key.color= "grey30"; + row { top= 10; + keys { , , , , + { , 11 }, , , , + { , 11 }, , , , + { , 5 }, , }; }; + }; // end of "Function" section + + + section "Alpha" { + top= 35; + left= 23; + key.color= "grey10"; + row { keys { , , , , , + , , , , , + , , , + { , "BKSP", color="grey30" } }; }; + row { top= 19; + keys { { , "TABK", color="grey30" }, + , , , , , + , , , , , + , , { , "BKSL" } }; }; + row { top= 38; + keys { { , "CAPS", color="grey30" }, + , , , , , + , , , , , + , { , "RTRN", color="grey30" } }; }; + row { top= 57; + keys { { , "LFSH", color="grey30" }, + , , , , , + , , , , , + { , "RTSH", color="grey30" } }; }; + row { top= 76; + key.shape= "SMOD"; + key.color= "grey30"; + keys { { , "MODK" }, , , { , "SPCE" }, + , { , color="red" }, , }; }; + }; // end of "Alpha" section + + + section "Editing" { + top= 35; + left= 313; + key.color= "grey30"; + row { keys { , , }; }; + row { top= 19; keys { , , }; }; + row { top= 57; keys { { , color="red" }, , { , color="red" } }; }; + row { top= 76; keys { , , }; }; + }; // end of "Editing" section + + + section "Keypad" { + top= 35; + left= 373; + key.color= "grey10"; + row { keys { , , , }; }; + row { top= 19; keys { , , , { , "KPAD" } }; }; + row { top= 38; keys { , , }; }; + row { top= 57; keys { , , , { , "KPAD" } }; }; + row { top= 76; keys { { , "KP0" }, }; }; + }; // end of "Keypad" section + + alias = ; + alias = ; + +}; // end of "apex300" geometry diff --git a/xkbdata/geometry/sun b/xkbdata/geometry/sun new file mode 100644 index 0000000..fc6d5a6 --- /dev/null +++ b/xkbdata/geometry/sun @@ -0,0 +1,756 @@ +// Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. +// +//Copyright 1996, 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. +// + +xkb_geometry "t6" { + + // This is an approximate layout for a (US/ASCII) Sun Type6 + // keyboard. I just took a similar layout (101 key PC keyboard) + // and adjusted the sizes. + + width= 515; + height= 170; + + shape "EDGE" { cornerRadius= 2, { [ 515, 170 ] } }; + shape.cornerRadius= 1; + shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } }; + shape "BKSP" { { [ 37,18] }, { [2,1], [35,17] } }; + shape "TABK" { { [ 27,18] }, { [2,1], [25,17] } }; + shape "BKSL" { { [ 27,18] }, { [2,1], [25,17] } }; + shape "RTRN" { { [ 42,18] }, { [2,1], [40,17] } }; + shape "CAPS" { { [ 32,18] }, { [2,1], [30,17] } }; + shape "LFSH" { { [ 42,18] }, { [2,1], [40,17] } }; + shape "RTSH" { { [ 51,18] }, { [2,1], [49,17] } }; + shape "LCTL" { { [ 32,18] }, { [2,1], [30,17] } }; + shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } }; + shape "SPCE" { { [136,18] }, { [2,1], [134,17] } }; + shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } }; + shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } }; + shape "HELP" { { [ 37,18] }, { [2,1], [35,17] } }; + shape "RMTA" { { [ 28,18] }, { [2,1], [26,17] } }; + shape "LMTA" { { [ 28,18] }, { [2,1], [26,17] } }; + shape "LOGO" { { [ 16,16] } }; + + outline "Edges" { + top= 0; + left= 0; + shape= "EDGE"; + }; + + section.left= 14; + row.left= 1; + key.shape= "NORM"; + key.gap= 1; + section "Function" { + top= 24; + row { + top= 1; + keys { { , "HELP" }, { , 9 }, + { , 19 }, , , , + { , 11 }, , , , + { , 11 }, , , , + { , 9 }, , , + { , 9 }, , , + }; + }; + }; // End of "Function" section + + section "Alpha" { + top= 61; + row { + top= 1; + keys { , , + { , 9}, , , , , + , , , , , + , , , + { , "BKSP", color="grey20" } + }; + }; + row { + top= 20; + keys { , , { , 9, shape="TABK" }, + , , , , , + , , , , , + , , + { , "BKSL" } + }; + }; + row { + top= 39; + keys { , , { , 9, shape="CAPS" }, + , , , , , + , , , , , + , + { , "RTRN" } + }; + }; + row { + top= 58; + keys { , , { , 9 , shape="LFSH" }, + , , , , , + , , , , , + { , "RTSH", color="grey20" } + }; + }; + row { + top= 77; + keys { , , { , 9, shape="LCTL" }, + , { , "LMTA" }, + { , "SPCE" }, + { , "RMTA" }, , + }; + }; + }; // End of "Alpha" section + + section "Editing" { + top= 61; + left= 352; + row { + top= 1; + keys { , , }; + }; + row { + top= 20; + keys { , , }; + }; + row { + top= 58; + left= 20; + keys { }; + }; + row { + top= 77; + keys { , , }; + }; + }; // End of "Editing" section + + section "Keypad" { + top= 61; + left= 420; + row { + top= 1; + keys { , , , }; + }; + row { + top= 20; + keys { , , , { , "KPAD", color= "grey20" } }; + }; + row { + top= 39; + keys { , , }; + }; + row { + top= 58; + keys { , , , { , "KPAD", color= "grey20" } }; + }; + row { + top= 77; + keys { { , "KP0" }, }; + }; + }; // End of "Keypad" section + + shape "LEDS" { cornerRadius= 0, { [ 78 ,21 ] } }; + shape "LED" { cornerRadius= 2, { [ 3, 6 ] } }; + solid "LedPanel" { + shape= "LEDS"; + top= 1; + left= 218; + }; + indicator.onColor= "green"; + indicator.offColor= "green30"; + indicator.top= 10; + indicator.shape= "LED"; + indicator "CapsLock" { left= 243; }; + indicator "Compose" { left= 281; }; + indicator "ScrollLock" { left= 262; }; + indicator "NumLock" { left= 224; }; + text.top= 1; + text.color= "black"; + text "CapsLockLabel" { left= 243; text="Caps\nLock"; }; + text "ComposeLabel" { left= 281; text="Compose"; }; + text "ScrollLockLabel" { left= 262; text="Scroll\nLock"; }; + text "NumLockLabel" { left= 224; text="Num\nLock"; }; + +}; + +xkb_geometry "t6tuv" { + + // This is an approximate layout for a (US/ASCII) Sun Type6 + // keyboard. I just took a similar layout (101 key PC keyboard) + // and adjusted the sizes. + + width= 515; + height= 170; + + shape "EDGE" { cornerRadius= 2, { [ 515, 170 ] } }; + shape.cornerRadius= 1; + shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } }; + shape "BKSP" { { [ 37,18] }, { [2,1], [35,17] } }; + shape "TABK" { { [ 27,18] }, { [2,1], [25,17] } }; + shape "RTRN" { + approx = { [ 0, 0], [28,37] }, + { [ 0, 0], [28, 0], [28,37], + [ 5,37], [ 5,18], [ 0,18] }, + { [ 1, 1], [26, 1], [26,36], + [ 7,36], [ 7,17], [ 1,17] } + }; + shape "CAPS" { { [ 32,18] }, { [2,1], [30,17] } }; + shape "LFSH" { { [ 24,18] }, { [2,1], [22,17] } }; + shape "RTSH" { { [ 51,18] }, { [2,1], [49,17] } }; + shape "LCTL" { { [ 32,18] }, { [2,1], [30,17] } }; + shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } }; + shape "SPCE" { { [137,18] }, { [2,1], [135,17] } }; + shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } }; + shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } }; + shape "RMTA" { { [ 28,18] }, { [2,1], [26,17] } }; + shape "LMTA" { { [ 28,18] }, { [2,1], [26,17] } }; + shape "HELP" { { [ 37,18] }, { [2,1], [35,17] } }; + shape "LOGO" { { [ 16,16] } }; + + outline "Edges" { + top= 0; + left= 0; + shape= "EDGE"; + }; + + section.left= 14; + row.left= 1; + key.shape= "NORM"; + key.gap= 1; + section "Function" { + top= 24; + row { + top= 1; + keys { { , "HELP" }, { , 9 }, + { , 19 }, , , , + { , 11 }, , , , + { , 11 }, , , , + { , 9 }, , , + { , 9 }, , , + }; + }; + }; // End of "Function" section + + section "Alpha" { + top= 61; + row { + top= 1; + keys { , , + { , 9}, , , , , + , , , , , + , , , + { , "BKSP", color="grey20" } + }; + }; + row { + top= 20; + keys { , , { , 9, shape="TABK" }, + , , , , , + , , , , , + , , + { , "RTRN" } + }; + }; + row { + top= 39; + keys { , , { , 9, shape="CAPS" }, + , , , , , + , , , , , + , + }; + }; + row { + top= 58; + keys { , , { , 9 , shape="LFSH" }, , + , , , , , + , , , , , + { , "RTSH", color="grey20" } + }; + }; + row { + top= 77; + keys { , , { , 9, shape="LCTL" }, + , { , "LMTA" }, + { , "SPCE" }, + { , "RMTA" }, , + }; + }; + }; // End of "Alpha" section + + section "Editing" { + top= 61; + left= 352; + row { + top= 1; + keys { , , }; + }; + row { + top= 20; + keys { , , }; + }; + row { + top= 58; + left= 20; + keys { }; + }; + row { + top= 77; + keys { , , }; + }; + }; // End of "Editing" section + + section "Keypad" { + top= 61; + left= 420; + row { + top= 1; + keys { , , , }; + }; + row { + top= 20; + keys { , , , { , "KPAD", color= "grey20" } }; + }; + row { + top= 39; + keys { , , }; + }; + row { + top= 58; + keys { , , , { , "KPAD", color= "grey20" } }; + }; + row { + top= 77; + keys { { , "KP0" }, }; + }; + }; // End of "Keypad" section + + shape "LEDS" { cornerRadius= 0, { [ 78 ,21 ] } }; + shape "LED" { cornerRadius= 2, { [ 3, 6 ] } }; + solid "LedPanel" { + shape= "LEDS"; + top= 1; + left= 218; + }; + indicator.onColor= "green"; + indicator.offColor= "green30"; + indicator.top= 10; + indicator.shape= "LED"; + indicator "CapsLock" { left= 243; }; + indicator "Compose" { left= 281; }; + indicator "ScrollLock" { left= 262; }; + indicator "NumLock" { left= 224; }; + text.top= 1; + text.color= "black"; + text "CapsLockLabel" { left= 243; text="Caps\nLock"; }; + text "ComposeLabel" { left= 281; text="Compose"; }; + text "ScrollLockLabel" { left= 262; text="Scroll\nLock"; }; + text "NumLockLabel" { left= 224; text="Num\nLock"; }; + +}; + +xkb_geometry "t6jp" { + + // This is an approximate layout for a (US/ASCII) Sun Type6 + // keyboard. I just took a similar layout (101 key PC keyboard) + // and adjusted the sizes. + + width= 515; + height= 170; + + shape "EDGE" { cornerRadius= 2, { [ 515, 170 ] } }; + shape.cornerRadius= 1; + shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } }; + shape "BKSP" { { [ 37,18] }, { [2,1], [35,17] } }; + shape "TABK" { { [ 27,18] }, { [2,1], [25,17] } }; + shape "KANJ" { { [ 27,18] }, { [2,1], [25,17] } }; + shape "EXEC" { { [ 27,18] }, { [2,1], [25,17] } }; + shape "RTRN" { + approx = { [ 0, 0], [28,37] }, + { [ 0, 0], [28, 0], [28,37], + [ 5,37], [ 5,18], [ 0,18] }, + { [ 1, 1], [26, 1], [26,36], + [ 7,36], [ 7,17], [ 1,17] } + }; + shape "CAPS" { { [ 32,18] }, { [2,1], [30,17] } }; + shape "LFSH" { { [ 42,18] }, { [2,1], [40,17] } }; + shape "RTSH" { { [ 33,18] }, { [2,1], [31,17] } }; + shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } }; + shape "SPCE" { { [ 96,18] }, { [2,1], [94,17] } }; + shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } }; + shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } }; + shape "HELP" { { [ 37,18] }, { [2,1], [35,17] } }; + shape "LOGO" { { [ 16,16] } }; + + outline "Edges" { + top= 0; + left= 0; + shape= "EDGE"; + }; + + section.left= 14; + row.left= 1; + key.shape= "NORM"; + key.gap= 1; + section "Function" { + top= 24; + row { + top= 1; + keys { { , "HELP" }, { , 9 }, + { , 19 }, , , , + { , 11 }, , , , + { , 11 }, , , , + { , 9 }, , , + { , 9 }, , , + }; + }; + }; // End of "Function" section + + section "Alpha" { + top= 61; + row { + top= 1; + keys { , , + { , 9}, , , , , + , , , , , + , , , + { , "BKSP", color="grey20" } + }; + }; + row { + top= 20; + keys { , , { , 9, shape="TABK" }, + , , , , , + , , , , , + , , + { , "RTRN" } + }; + }; + row { + top= 39; + keys { , , { , 9, shape="CAPS" }, + , , , , , + , , , , , + , + }; + }; + row { + top= 58; + keys { , , { , 9 , shape="LFSH" }, + , , , , , + , , , , , , + { , "RTSH", color="grey20" } + }; + }; + row { + top= 77; + keys { , , { , 9 }, + , , { , "EXEC" }, + { , "SPCE" }, { , "KANJ" }, , + , , + }; + }; + }; // End of "Alpha" section + + section "Editing" { + top= 61; + left= 352; + row { + top= 1; + keys { , , }; + }; + row { + top= 20; + keys { , , }; + }; + row { + top= 58; + left= 20; + keys { }; + }; + row { + top= 77; + keys { , , }; + }; + }; // End of "Editing" section + + section "Keypad" { + top= 61; + left= 420; + row { + top= 1; + keys { , , , }; + }; + row { + top= 20; + keys { , , , { , "KPAD", color= "grey20" } }; + }; + row { + top= 39; + keys { , , }; + }; + row { + top= 58; + keys { , , , { , "KPAD", color= "grey20" } }; + }; + row { + top= 77; + keys { { , "KP0" }, }; + }; + }; // End of "Keypad" section + + shape "LEDS" { cornerRadius= 0, { [ 78 ,21 ] } }; + shape "LED" { cornerRadius= 2, { [ 3, 6 ] } }; + solid "LedPanel" { + shape= "LEDS"; + top= 1; + left= 218; + }; + indicator.onColor= "green"; + indicator.offColor= "green30"; + indicator.top= 10; + indicator.shape= "LED"; + indicator "CapsLock" { left= 243; }; + indicator "Compose" { left= 281; }; + indicator "ScrollLock" { left= 262; }; + indicator "NumLock" { left= 224; }; + text.top= 1; + text.color= "black"; + text "CapsLockLabel" { left= 243; text="Caps\nLock"; }; + text "ComposeLabel" { left= 281; text="Compose"; }; + text "ScrollLockLabel" { left= 262; text="Scroll\nLock"; }; + text "NumLockLabel" { left= 224; text="Num\nLock"; }; + +}; + +xkb_geometry "t6unix" { + + // This is an approximate layout for a (US/ASCII) Sun Type6 + // keyboard. I just took a similar layout (101 key PC keyboard) + // and adjusted the sizes. + + width= 515; + height= 170; + + shape "EDGE" { cornerRadius= 2, { [ 515, 170 ] } }; + shape.cornerRadius= 1; + shape "NORM" { { [ 18,18] }, { [2,1], [16,17] } }; + shape "BKSP" { { [ 28,18] }, { [2,1], [26,17] } }; + shape "TABK" { { [ 27,18] }, { [2,1], [25,17] } }; + shape "RTRN" { { [ 42,18] }, { [2,1], [40,17] } }; + shape "CAPS" { { [ 32,18] }, { [2,1], [30,17] } }; + shape "LFSH" { { [ 42,18] }, { [2,1], [40,17] } }; + shape "RTSH" { { [ 51,18] }, { [2,1], [49,17] } }; + shape "LCTL" { { [ 32,18] }, { [2,1], [30,17] } }; + shape "MODK" { { [ 28,18] }, { [2,1], [26,17] } }; + shape "SPCE" { { [136,18] }, { [2,1], [134,17] } }; + shape "KP0" { { [ 37,18] }, { [2,1], [35,17] } }; + shape "KPAD" { { [ 18,37] }, { [2,1], [16,36] } }; + shape "HELP" { { [ 37,18] }, { [2,1], [35,17] } }; + shape "RMTA" { { [ 28,18] }, { [2,1], [26,17] } }; + shape "LMTA" { { [ 28,18] }, { [2,1], [26,17] } }; + shape "LOGO" { { [ 16,16] } }; + + outline "Edges" { + top= 0; + left= 0; + shape= "EDGE"; + }; + + section.left= 14; + row.left= 1; + key.shape= "NORM"; + key.gap= 1; + section "Function" { + top= 24; + row { + top= 1; + keys { { , "HELP" }, { , 9 }, + { , 19 }, , , , + { , 11 }, , , , + { , 11 }, , , , + { , 9 }, , , + { , 9 }, , , + }; + }; + }; // End of "Function" section + + section "Alpha" { + top= 61; + row { + top= 1; + keys { , , + { , 9}, , , , , + , , , , , + , , , + , + }; + }; + row { + top= 20; + keys { , , { , 9, shape="TABK" }, + , , , , , + , , , , , + , , + { , "BKSP", color="grey20" } + }; + }; + row { + top= 39; + keys { , , { , 9, shape="CAPS" }, + , , , , , + , , , , , + , + { , "RTRN" } + }; + }; + row { + top= 58; + keys { , , { , 9 , shape="LFSH" }, + , , , , , + , , , , , + { , "RTSH", color="grey20" } + }; + }; + row { + top= 77; + keys { , , { , 9, shape="LCTL" }, + , {, "LMTA"}, + { , "SPCE" }, + {, "RMTA"}, , + }; + }; + }; // End of "Alpha" section + + section "Editing" { + top= 61; + left= 352; + row { + top= 1; + keys { , , }; + }; + row { + top= 20; + keys { , , }; + }; + row { + top= 58; + left= 20; + keys { }; + }; + row { + top= 77; + keys { , , }; + }; + }; // End of "Editing" section + + section "Keypad" { + top= 61; + left= 420; + row { + top= 1; + keys { , , , }; + }; + row { + top= 20; + keys { , , , { , "KPAD", color= "grey20" } }; + }; + row { + top= 39; + keys { , , }; + }; + row { + top= 58; + keys { , , , { , "KPAD", color= "grey20" } }; + }; + row { + top= 77; + keys { { , "KP0" }, }; + }; + }; // End of "Keypad" section + + shape "LEDS" { cornerRadius= 0, { [ 78 ,21 ] } }; + shape "LED" { cornerRadius= 2, { [ 3, 6 ] } }; + solid "LedPanel" { + shape= "LEDS"; + top= 1; + left= 218; + }; + indicator.onColor= "green"; + indicator.offColor= "green30"; + indicator.top= 10; + indicator.shape= "LED"; + indicator "CapsLock" { left= 243; }; + indicator "Compose" { left= 281; }; + indicator "ScrollLock" { left= 262; }; + indicator "NumLock" { left= 224; }; + text.top= 1; + text.color= "black"; + text "CapsLockLabel" { left= 243; text="Caps\nLock"; }; + text "ComposeLabel" { left= 281; text="Compose"; }; + text "ScrollLockLabel" { left= 262; text="Scroll\nLock"; }; + text "NumLockLabel" { left= 224; text="Num\nLock"; }; +}; + + +default xkb_geometry "type6" { + include "sun(t6)" + description= "Sun Type6 keyboard (US, Korea, Taiwan)"; +}; + +xkb_geometry "type6jp" { + include "sun(t6jp)" + description= "Sun Type6 Japanese keyboard"; +}; + +xkb_geometry "type6tuv" { + include "sun(t6tuv)" + description= "Sun Type6 TUV keyboard"; +}; + +xkb_geometry "type6unix" { + include "sun(t6unix)" + description= "Sun Type6 Unix keyboard"; +}; + +xkb_geometry "type7" { + include "sun(t6)" + description= "Sun Type7 keyboard (US, Korea, Taiwan)"; +}; + +xkb_geometry "type7jp" { + include "sun(t6jp)" + description= "Sun Type7 Japanese keyboard"; +}; + +xkb_geometry "type7tuv" { + include "sun(t6tuv)" + description= "Sun Type7 TUV keyboard"; +}; + +xkb_geometry "type7unix" { + include "sun(t6unix)" + description= "Sun Type7 Unix keyboard"; +}; diff --git a/xkbdata/geometry/teck b/xkbdata/geometry/teck new file mode 100644 index 0000000..889978d --- /dev/null +++ b/xkbdata/geometry/teck @@ -0,0 +1,627 @@ +default xkb_geometry "teck227" { + description="Truly Ergonomic Computer Keyboard Model 227 with wide Alt. (Standard US layout)"; + + width=296; + height=155; + + shape.cornerRadius=1; + + shape "NORM" { { [ 18,18] }, { [2,1], [ 16,16] } }; + shape "DBL" { { [36, 18] }, { [2,1], [ 34,16] } }; + shape "RSUP" { + { [ 2, 0], [ 12, 1] , [ 22, 0], [24, 18], [ 12, 19 ], [0, 18] }, + { [ 4, 1], [ 12, 2] , [ 20, 1], [22, 16], [ 12, 17 ], [2, 16] } + }; + shape "DEL" { + { [ 2, 0], [ 14, 1] , [ 26, 0], [28, 18], [ 14, 19 ], [0, 18] }, + { [ 4, 1], [ 14, 2] , [ 24, 1], [26, 16], [ 14, 17 ], [2, 16] } + }; + shape "AE11" { + { [ 2, 0], [ 16, 1] , [ 30, 0], [32, 18], [ 16, 19 ], [0, 18] }, + { [ 4, 1], [ 16, 2] , [ 28, 1], [30, 16], [ 16, 17 ], [2, 16] } + }; + shape "BKSP" { + { [ 2, 0], [ 18, 1] , [ 34, 0], [36, 18], [ 18, 19 ], [0, 18] }, + { [ 4, 1], [ 18, 2] , [ 32, 1], [34, 16], [ 18, 17 ], [2, 16] } + }; + shape "RTRN" { + { [ 2, 0], [ 20, 1] , [ 38, 0], [40, 18], [ 20, 19 ], [0, 18] }, + { [ 4, 1], [ 20, 2] , [ 36, 1], [38, 16], [ 20, 17 ], [2, 16] } + }; + + section "Function" { + left=17; + top=3; + row { + keys { , + { , 3 }, , , , + { , 3 }, , , , + { , 3 }, , , , + { , 3 } + }; + }; + overlay "FN" { + =, + =, + =, + =, + =, + =, + =, + =, + =, + =, + =, + =, + =, + = + }; + }; + + section "Special Keys" { + top=22; + left=122; + row { + keys { + , , + }; + }; + overlay "MISC" { + =, + = + }; + }; + + section "LeftNumbers" { + top=32; + left=12; + angle=6; + row { + keys { + , , , , , , + }; + }; + }; + + section "CenterNumbers" { + top=45; + left=136; + row { + keys { + { , "RSUP" } + }; + }; + }; + + section "RightNumbers" { + top=45; + left=159; + angle=-6; + row { + keys { + , , , , , , + }; + }; + overlay "KPAD" { + =, + =, + = + }; + }; + + section "LeftAlphaQWER" { + top=51; + left=10; + angle=6; + row { + keys { + , , , , , , + }; + }; + }; + + section "CenterAlphaQWER" { + top=64; + left=134; + row { + keys { + { , "DEL" } + }; + }; + }; + + section "RightAlphaQWER" { + top=64; + left=161; + angle=-6; + row { + keys { + , , , , , , + }; + }; + overlay "KPAD" { + =, + =, + =, + =, + = + }; + }; + + section "LeftAlphaASDF" { + top=52; + left=10; + angle=6; + row { + top=18; + keys { + { , "DBL" }, , , , , + }; + }; + }; + + section "CenterAlphaASDF" { + top=83; + left=132; + row { + keys { + { , "AE11" } + }; + }; + }; + + section "RightAlphaASDF" { + top=65; + left=161; + angle=-6; + row { + top=18; + keys { + , , , , , { , "DBL" } + }; + }; + overlay "KPAD" { + =, + =, + =, + = + }; + }; + + section "LeftAlphaZXCV" { + top=89; + left=6; + angle=6; + row { + keys { + { , "DBL" }, + , , , , + }; + }; + }; + + section "CenterAlphaZXCV" { + top=102; + left=130; + row { + keys { + { , "BKSP" } + }; + }; + }; + + section "RightAlphaZXCV" { + top=102; + left=165; + angle=-6; + row { + keys { + , , , , , + { , "DBL" } + }; + }; + overlay "KPAD" { + =, + =, + = + }; + }; + + section "LeftSpecial" { + top=108; + left=4; + angle=6; + row { + keys { + { , "DBL" }, + { , "DBL", 54 } + }; + }; + }; + + section "CenterSpecial" { + top=121; + left=128; + row { + keys { + { , "RTRN" } + }; + }; + }; + + section "RightSpecial" { + top=121; + left=167; + angle=-6; + row { + keys { + { , "DBL" }, + { , "DBL", 54 } + }; + }; + }; + + section "pgup, pgdown, home and end" { + top=112; + left=40; + angle=6; + row { + left=18; + keys { + + }; + }; + row { + top=9; + keys { + , { , 18 } + }; + }; + row { + top=18; + left=18; + keys { + + }; + }; + }; + + section "Arrows" { + top=117; + left=203; + angle=-6; + row { + left=18; + keys { + + }; + }; + row { + top=9; + keys { + , { , 18 } + }; + }; + row { + top=18; + left=18; + keys { + + }; + }; + }; +}; + +xkb_geometry "teck229" { + description="Truly Ergonomic Computer Keyboard Model 229 with standard sized Alt and an additional Menu and Super key. (Standard US layout)"; + + width=296; + height=155; + + shape.cornerRadius=1; + + shape "NORM" { { [ 18,18] }, { [2,1], [ 16,16] } }; + shape "DBL" { { [36, 18] }, { [2,1], [ 34,16] } }; + shape "RSUP" { + { [ 2, 0], [ 12, 1] , [ 22, 0], [24, 18], [ 12, 19 ], [0, 18] }, + { [ 4, 1], [ 12, 2] , [ 20, 1], [22, 16], [ 12, 17 ], [2, 16] } + }; + shape "DEL" { + { [ 2, 0], [ 14, 1] , [ 26, 0], [28, 18], [ 14, 19 ], [0, 18] }, + { [ 4, 1], [ 14, 2] , [ 24, 1], [26, 16], [ 14, 17 ], [2, 16] } + }; + shape "AE11" { + { [ 2, 0], [ 16, 1] , [ 30, 0], [32, 18], [ 16, 19 ], [0, 18] }, + { [ 4, 1], [ 16, 2] , [ 28, 1], [30, 16], [ 16, 17 ], [2, 16] } + }; + shape "BKSP" { + { [ 2, 0], [ 18, 1] , [ 34, 0], [36, 18], [ 18, 19 ], [0, 18] }, + { [ 4, 1], [ 18, 2] , [ 32, 1], [34, 16], [ 18, 17 ], [2, 16] } + }; + shape "RTRN" { + { [ 2, 0], [ 20, 1] , [ 38, 0], [40, 18], [ 20, 19 ], [0, 18] }, + { [ 4, 1], [ 20, 2] , [ 36, 1], [38, 16], [ 20, 17 ], [2, 16] } + }; + + section "Function" { + left=17; + top=3; + row { + keys { , + { , 3 }, , , , + { , 3 }, , , , + { , 3 }, , , , + { , 3 } + }; + }; + overlay "FN" { + =, + =, + =, + =, + =, + =, + =, + =, + =, + =, + =, + =, + =, + = + }; + }; + + section "Special Keys" { + top=22; + left=122; + row { + keys { + , , + }; + }; + overlay "MISC" { + =, + = + }; + }; + + section "LeftNumbers" { + top=32; + left=12; + angle=6; + row { + keys { + , , , , , , + }; + }; + }; + + section "CenterNumbers" { + top=45; + left=136; + row { + keys { + { , "RSUP" } + }; + }; + }; + + section "RightNumbers" { + top=45; + left=159; + angle=-6; + row { + keys { + , , , , , , + }; + }; + overlay "KPAD" { + =, + =, + = + }; + }; + + section "LeftAlphaQWER" { + top=51; + left=10; + angle=6; + row { + keys { + , , , , , , + }; + }; + }; + + section "CenterAlphaQWER" { + top=64; + left=134; + row { + keys { + { , "DEL" } + }; + }; + }; + + section "RightAlphaQWER" { + top=64; + left=161; + angle=-6; + row { + keys { + , , , , , , + }; + }; + overlay "KPAD" { + =, + =, + =, + =, + = + }; + }; + + section "LeftAlphaASDF" { + top=52; + left=10; + angle=6; + row { + top=18; + keys { + { , "DBL" }, , , , , + }; + }; + }; + + section "CenterAlphaASDF" { + top=83; + left=132; + row { + keys { + { , "AE11" } + }; + }; + }; + + section "RightAlphaASDF" { + top=65; + left=161; + angle=-6; + row { + top=18; + keys { + , , , , , { , "DBL" } + }; + }; + overlay "KPAD" { + =, + =, + =, + = + }; + }; + + section "LeftAlphaZXCV" { + top=89; + left=6; + angle=6; + row { + keys { + { , "DBL" }, + , , , , + }; + }; + }; + + section "CenterAlphaZXCV" { + top=102; + left=130; + row { + keys { + { , "BKSP" } + }; + }; + }; + + section "RightAlphaZXCV" { + top=102; + left=165; + angle=-6; + row { + keys { + , , , , , + { , "DBL" } + }; + }; + overlay "KPAD" { + =, + =, + = + }; + }; + + section "LeftSpecial" { + top=108; + left=4; + angle=6; + row { + keys { + , , + { , "DBL", 54 } + }; + }; + }; + + section "CenterSpecial" { + top=121; + left=128; + row { + keys { + { , "RTRN" } + }; + }; + }; + + section "RightSpecial" { + top=121; + left=167; + angle=-6; + row { + keys { + { , "DBL" }, + { , 54 }, + }; + }; + }; + + section "pgup, pgdown, home and end" { + top=112; + left=40; + angle=6; + row { + left=18; + keys { + + }; + }; + row { + top=9; + keys { + , { , 18 } + }; + }; + row { + top=18; + left=18; + keys { + + }; + }; + }; + + section "Arrows" { + top=117; + left=203; + angle=-6; + row { + left=18; + keys { + + }; + }; + row { + top=9; + keys { + , { , 18 } + }; + }; + row { + top=18; + left=18; + keys { + + }; + }; + }; +}; diff --git a/xkbdata/geometry/thinkpad b/xkbdata/geometry/thinkpad new file mode 100644 index 0000000..48e8cdc --- /dev/null +++ b/xkbdata/geometry/thinkpad @@ -0,0 +1,470 @@ +// -*- indent-tabs-mode: nil -*- + +// Created by Alexander Pohoyda +// Geometry specification for IBM ThinkPad keyboard. +// Compatible Models: THINKPAD 560Z 2640-90U, THINKPAD 560Z 2640-91U, +// THINKPAD 560Z 2640-B0U, THINKPAD 560Z 2640-B1U, THINKPAD 560Z 2640-RR3, +// THINKPAD 600 2645-31U, THINKPAD 600 2645-35U, THINKPAD 600 2645-41U, +// THINKPAD 600 2645-42U, THINKPAD 600 2645-45U, THINKPAD 600 2645-48U, +// THINKPAD 600 2645-51U, THINKPAD 600 2645-85U, THINKPAD 600 2645-A1U, +// THINKPAD 600 2645-RR1, THINKPAD 600 2645-RR2, THINKPAD 600E 2645-3AU, +// THINKPAD 600E 2645-4AU, THINKPAD 600E 2645-4BU, THINKPAD 600E 2645-55U, +// THINKPAD 600E 2645-5AU, THINKPAD 600E 2645-5BU, THINKPAD 600E 2645-5JU, +// THINKPAD 600E 2645-8AO, THINKPAD 600E 2645-8AU, THINKPAD 600E 2645-8BU, +// THINKPAD 600E 2645-AAU, THINKPAD 600E 2645-RRB, THINKPAD 600E 2645-RRD, +// THINKPAD 600E 2645-RRF, THINKPAD 600E 2645-RRS, THINKPAD A22E 2645-45U + +xkb_geometry "common" { + width = 290; + height = 150; + baseColor = "grey80"; + labelColor = "white"; + + shape "FN0" { cornerRadius = 1, { [17, 12] }, { [2, 0], [15, 10] } }; + shape "NORM" { cornerRadius = 1, { [18, 18] }, { [2.5, 0], [15.5, 14] } }; + shape "BKSP" { cornerRadius = 1, { [37, 18] }, { [2.5, 0], [34.5, 14] } }; + shape "TABK" { cornerRadius = 1, { [27, 18] }, { [2.5, 0], [24.5, 14] } }; + shape "CAPS" { cornerRadius = 1, { [31, 18] }, { [1, 0], [30, 16] }, + { [1, 0], [26, 16] }, + { [2.5, 0], [24.5, 14] } }; + shape "RTSH" { cornerRadius = 1, { [50, 18] }, { [2.5, 0], [46.5, 14] } }; + shape "MODK" { cornerRadius = 1, { [27.5, 18] }, { [2.5, 0], [25, 14] } }; + shape "SPCE" { cornerRadius = 1, { [100, 18] }, { [2.5, 0], [97.5, 14] } }; + shape "ARRS" { cornerRadius = 1, { [16, 13] }, { [1.5, 0], [14.5, 11] } }; + + shape "LED" { cornerRadius = 2, { [3, 3] } }; + + shape "KEYS" { cornerRadius = 2, + { [0, 0], [19, 0], [19, 13], [172, 13], + [172, 0], [286, 0], [286, 138], [216, 138], + [216, 124], [0, 124] } }; + + solid "KeyPanel" { + shape = "KEYS"; + left = 2; + top = 5; + color = "black"; + }; + + shape "NULL1" { cornerRadius = 1, + { [0, 0], [50, 0], [50, 18], [34, 18], [34, 4], + [16, 4], [16, 18], [0, 18] } }; + + solid "NullPanel1" { + shape = "NULL1"; + left = 237; + top = 110; + color = "grey80"; + }; + + shape "NULL2" { cornerRadius = 1, { [17, 13] } }; + + solid "NullPanel2" { + shape = "NULL2"; + left = 219; + top = 129; + color = "grey80"; + }; + + shape "NULL3" { cornerRadius = 1, + { [0, 26], + [72, 26], [72, 13], [76, 13], [76, 26], + [149, 26], [149, 13], [153, 13], [153, 26], + [226, 26], [226, 0], [230, 0], [230, 26], + [284, 26], [285, 27], + [0, 27] } }; + + solid "NullPanel3" { + shape = "NULL3"; + left = 3; + top = 6; + color = "grey80"; + }; + + indicator.onColor = "green"; + indicator.offColor = "grey10"; + indicator.top = 4; + indicator.shape = "LED"; + indicator "HDDActivity" { onColor = "red"; left = 100; }; + indicator "Num Lock" { left = 108; }; + indicator "Caps Lock" { left = 114; }; + indicator "Scroll Lock" { left = 120; }; + indicator "Power" { left = 128; }; + + key.gap = 1; + key.color = "grey60"; + + section "Function" { + left = 2; + top = 5; + key.shape = "FN0"; + row { + top = 1; + keys { , { , 155 }, , }; + }; + row { + top = 14; + keys { , , , , + { , 6 }, , , , + { , 6 }, , , + }; + }; + }; // End of "Function" section + + section "Control" { + left= 2; + top = 109; + key.shape = "MODK"; + row { + top = 1; + keys { { , "NORM" }, , , + { , "SPCE" }, , + }; + }; + }; // End of "Control" section + + section "Editing" { + top = 5; + left = 233; + key.shape = "FN0"; + row { + top = 1; + keys { , , }; + }; + row { + top = 14; + keys { , , }; + }; + }; // End of "Editing" section + + section "Navigation" { + top = 114; + left = 236; + key.shape = "ARRS"; + row { + top = 1; + left = 17; + keys { }; + }; + row { + top = 15; + keys { , , }; + }; + }; // End of "Navigation" section + + shape "STIK" { cornerRadius = 4, { [7, 7] } }; + + solid "STIK" { + priority = 255; + color = "red"; + shape = "STIK"; + top = 85; + left = 126; + }; +}; + +// 85 keys +// US/English (FRU 02K4785). +xkb_geometry "us" { + include "thinkpad(common)" + description = "IBM ThinkPad 560Z/600/600E/A22E, US"; + + shape "RTRN" { cornerRadius = 1, { [43, 18] }, { [2.5, 0], [40.5, 14] } }; + shape "LFSH" { cornerRadius = 1, { [43, 18] }, { [2.5, 0], [40.5, 14] } }; + shape "BKSL" { cornerRadius = 1, { [28, 18] }, { [2.5, 0], [25.5, 14] } }; + + section "Alpha" { + left = 2; + top = 33; + key.gap = 1; + key.color = "grey60"; + key.shape = "NORM"; + row { + top = 1; + keys { , , , , , + , , , , , + , , , { , "BKSP" } + }; + }; + row { + top = 20; + keys { { , "TABK" }, + , , , , , + , , , , , + , , { , "BKSL" } + }; + }; + row { + top = 39; + keys { { , "CAPS" }, + , , , , , + , , , , , + , { , "RTRN" } + }; + }; + row { + top = 58; + keys { { , "LFSH" }, + , , , , , + , , , , , + { , "RTSH" } + }; + }; + }; // End of "Alpha" section +}; + +// 86 keys +// Tested on: DE/German, UK/English (FRU 02K4787). +xkb_geometry "intl" { + include "thinkpad(common)" + description = "IBM ThinkPad 560Z/600/600E/A22E, Intl"; + + shape "RTRN" { cornerRadius = 1, { [28, 0], [28, 37], [4, 37], [4, 18], + [0, 18], [0, 0] }, + { [25.5, 0], [25.5, 33], [6.5, 33], + [6.5, 14], [2.5, 14], [2.5, 0] } }; + shape "LFSH" { cornerRadius = 1, { [24, 18] }, { [2.5, 0], [21.5, 14] } }; + + section "Alpha" { + left = 2; + top = 33; + key.gap = 1; + key.color = "grey60"; + key.shape = "NORM"; + row { + top = 1; + keys { , , , , , + , , , , , + , , , { , "BKSP" } + }; + }; + row { + top = 20; + keys { { , "TABK" }, + , , , , , + , , , , , + , , { , "RTRN" } + }; + }; + row { + top = 39; + keys { { , "CAPS" }, + , , , , , + , , , , , + , + }; + }; + row { + top = 58; + keys { { , "LFSH" }, , + , , , , , + , , , , , + { , "RTSH" } + }; + }; + }; // End of "Alpha" section +}; + +xkb_geometry "60" { + width = 290; + height = 140; + baseColor = "grey80"; + labelColor = "white"; + + shape "NORM" { cornerRadius = 1, { [18, 18] }, { [2, 0], [16, 16] } }; + + shape "ESC" { cornerRadius = 1, { [17, 13] }, { [1.5, 0], [15.5, 12] } }; + shape "FN0" { cornerRadius = 1, { [17, 11] }, { [1.5, 0], [15.5, 10] } }; + + shape "BKSP" { cornerRadius = 1, { [37, 18] }, { [2, 0], [35, 16] } }; + + shape "TABK" { cornerRadius = 1, { [27.5, 18] }, { [2, 0], [25.5, 16] } }; + shape "BKSL" { cornerRadius = 1, { [27.5, 18] }, { [2, 0], [25.5, 16] } }; + + shape "CAPS" { cornerRadius = 1, { [30.5, 18] }, { [2, 0], [28.5, 16] } }; + shape "RTRN" { cornerRadius = 1, { [43.5, 18] }, { [2, 0], [41.5, 16] } }; + + shape "LFSH" { cornerRadius = 1, { [40, 18] }, { [2, 0], [38, 16] } }; + shape "RTSH" { cornerRadius = 1, { [53, 18] }, { [2, 0], [51, 16] } }; + + shape "LCTL" { cornerRadius = 1, { [21, 18] }, { [2, 0], [19, 16] } }; + shape "LWIN" { cornerRadius = 1, { [15, 18] }, { [1.5, 0], [13.5, 16] } }; + + shape "SPCE" { cornerRadius = 1, { [97, 18] }, { [2, 0], [95, 16] } }; + + shape "ARR1" { cornerRadius = 1, { [17, 13] }, { [1.5, 0], [15.5, 12] } }; + shape "ARR2" { cornerRadius = 1, { [17, 11] }, { [1.5, 0], [15.5, 10] } }; + + shape "VOL" { cornerRadius = 2.5, { [5, 5] } }; + shape "TVTG" { cornerRadius = 0.5, { [0, 1], [17, 1], [17, 4], [0, 4] } }; + + shape "KEYS" { cornerRadius = 2, + { [0, 0], [19, 0], [19, 16], [172, 16], + [172, 4], [286, 4], [286, 133], [231, 133], + [231, 126], [0, 126] } }; + + solid "KeyPanel" { + shape = "KEYS"; + left = 2; + top = 3; + color = "black"; + }; + + shape "NULL0" { cornerRadius = 0.5, + { [0, 26], + [72, 26], [72, 14], [76, 14], [76, 26], + [149, 26], [149, 14], [153, 14], [153, 26], + [226, 26], [226, 2], [230, 2], [230, 26], + [284, 26], [284, 27], + [0, 27] } }; + + solid "NullPanel0" { + shape = "NULL0"; + left = 3; + top = 6; + color = "grey80"; + }; + + shape "NULL1" { cornerRadius = 0.5, { [0, 12], [17, 12], [17, 13], [0, 13] } }; + + solid "NullPanel1" { + shape = "NULL1"; + left = 3; + top = 6; + color = "grey80"; + }; + + shape "MEDIA" { cornerRadius = 0.5, { [0, 0], [55, 0], [55, 10], [0, 10] } }; + + solid "MediaPanel" { + shape = "MEDIA"; + left = 25.5; + top = 6; + color = "black"; + }; + + section "Volume" { + left = 22; + top = 8.5; + key.shape = "VOL"; + key.gap = 6; + key.color = "grey20"; + + row { + keys { , , , {, "TVTG", color = "blue"} }; + }; + }; + + key.gap = 1; + key.color = "grey60"; + + section "Function" { + left = 2; + top = 3; + key.shape = "FN0"; + row { + key.shape = "ESC"; + top = 1; + keys { }; + }; + row { + top = 5; + keys { { , 173 }, , }; + }; + row { + top = 17; + keys { , , , , + { , 6 }, , , , + { , 6 }, , , + }; + }; + }; // End of "Function" section + + section "Control" { + left = 2; + top = 109; + key.shape = "NORM"; + row { + top = 1; + keys { , { , "LCTL" }, { , "LWIN" }, , + { , "SPCE" }, , , + }; + }; + }; // End of "Control" section + + section "Editing" { + top = 7; + left = 233; + key.shape = "FN0"; + row { + top = 1; + keys { , , }; + }; + row { + top = 13; + keys { , , }; + }; + }; // End of "Editing" section + + section "Navigation" { + top = 109; + left = 233; + row { + key.shape = "ARR1"; + top = 1; + keys { , , }; + }; + row { + key.shape = "ARR2"; + top = 15; + keys { , , }; + }; + }; // End of "Navigation" section + + shape "STIK" { cornerRadius = 3.5, { [7, 7] } }; + + solid "STIK" { + priority = 255; + color = "red"; + shape = "STIK"; + top = 85.5; + left = 125.5; + }; + + section "Alpha" { + left = 2; + top = 33; + key.shape = "NORM"; + row { + top = 1; + keys { , , , , , + , , , , , + , , , { , "BKSP" } + }; + }; + row { + top = 20; + keys { { , "TABK" }, + , , , , , + , , , , , + , , { , "BKSL" } + }; + }; + row { + top = 39; + keys { { , "CAPS" }, + , , , , , + , , , , , + , { , "RTRN", color = "blue" } + }; + }; + row { + top = 58; + keys { { , "LFSH" }, + , , , , , + , , , , , + { , "RTSH" } + }; + }; + }; // End of "Alpha" section +}; diff --git a/xkbdata/geometry/typematrix b/xkbdata/geometry/typematrix new file mode 100644 index 0000000..46f72cb --- /dev/null +++ b/xkbdata/geometry/typematrix @@ -0,0 +1,733 @@ +// -*- indent-tabs-mode: nil -*- + +// Created by Frédéric Boiteux +// and Gildas Cotomale + +// Note : the special/multimedia keys (Calc, WWW, Desktop…) have a keycode +// , found in definition file /usr/share/X11/xkb/keycodes/evdev. +// Fn = ; +// Calc = ; +// WWW = ; +// CycleWindows = ; +// Mail = ; +// PlayPause = ; +// Desktop = ; + + +xkb_geometry "tm2020" { + description = "TypeMatrix EZ-Reach 2020"; + + // Keyboard total size : + width = 308; + height = 152; + // Background / foreground colours + baseColor = "white"; + labelColor = "black"; + + // Key shapes: base key = 16 mm each side + shape "NORM" { cornerRadius=1, { [16, 16] }, { [1, 1], [15, 15] }}; + shape "ALPL" { cornerRadius=1, { [24.25, 16] }, { [1, 1], [23, 15] }}; + shape "DHAL" { cornerRadius=1, { [24.25, 32.5] }, { [1, 1], [23, 31.5] }}; + shape "FUNC" { cornerRadius=1, { [16, 12] }, { [2.5, 0], [13.5, 10] }}; + shape "FUNL" { cornerRadius=1, { [24.25, 12] }, { [2.5, 0], [21.5, 10] }}; + shape "SPCE" { cornerRadius=1, { [57, 26] }, { [2.5, 1], [54.5, 24] }}; + shape "DBLA" { cornerRadius=1, { [32.5, 16] }, { [1, 1], [31, 15] }}; + shape "LED" { cornerRadius=2, { [4, 4] }}; + shape "DECO" { cornerRadius=1, { [3, 18] }}; + + section "Function" { + left = 4; + top = 24; + key.gap = 0.5; + key.color = "grey10"; + key.shape = "FUNC"; + row { + keys { { , "FUNL" }, + , , , , }; + key.color = "grey20"; + keys { { , "FUNL" } }; + }; + row { + left = 150; + key.color = "red"; + keys { { , "FUNL" } }; + key.color = "grey10"; + keys { , , , , , , + { , "FUNL" } }; + }; + }; + + section "Alpha" { + left = 4; + top = 36.5; + key.gap = 0.5; + key.color = "grey10"; + key.shape = "NORM"; + row { + top = 0; + keys { { , "ALPL" }, + , , , , , + { , "DHAL" } }; + }; + row { + top = 16.5; + keys { { , "ALPL" }, + , , , , }; + }; + row { + top = 33; + keys { { , "DHAL" }, + , , , , , + { , "DHAL" } }; + }; + row { + top = 49.5; + left = 24.5; + keys { , , , , }; + }; + row { + top = 0; + left = 150; + keys { { , "DHAL" }, + , , }; + key.color = "grey20"; + keys { , , , { , "ALPL" } }; + }; + row { + top = 16.5; + left = 174.5; + keys { , , }; + key.color = "grey20"; + keys { , , , { , "ALPL" } }; + }; + row { + top = 33; + left = 150; + keys { { , "DHAL" }, + , , }; + key.color = "grey20"; + keys { , , , { , "DHAL" } }; + }; + row { + top = 49.5; + left = 174.5; + keys { , , }; + key.color = "grey20"; + keys { , , }; + }; + }; + + section "Control" { + left = 4; + top = 102.5; + key.gap = 0.5; + key.color = "grey10"; + key.shape = "ALPL"; + row { + top = 0; + keys { , , }; + keys { { , "SPCE"} }; + }; + row { + top = 16.5; + keys { , , }; + }; + row { + top = 0; + left = 150; + key.shape = "NORM"; + keys { { , "SPCE"}, }; + key.color = "grey20"; + keys { , , , { , "DHAL" } }; + }; + row { + top = 16.5; + left = 207.5; + key.shape = "NORM"; + key.color = "grey20"; + keys { { , "DBLA" }, , }; + }; + }; + + // Leds + indicator.top = 12; + indicator.onColor = "green"; + indicator.offColor = "grey10"; + indicator.shape = "LED"; + indicator "Num Lock" { left = 252; }; + indicator "Caps Lock" { left = 266; }; + indicator "Misc" { left = 280; }; + text.top= 5; + text.color= "black"; + text "NumLockLabel" { left= 252; text="1"; }; + text "CapsLockLabel" { left= 266; text="A"; }; + text "MiscLabel" { left= 280; text="D"; }; + + text "Logo" { left = 29; top = 10; text="TypeMatrix™"; }; + + // Other decorations: drawings + solid "rainure1" { shape = "DECO"; top = 1; left = 110; color = "grey10";}; + solid "rainure2" { shape = "DECO"; top = 1; left = 115; color = "grey10";}; + solid "rainure3" { shape = "DECO"; top = 1; left = 120; color = "grey10";}; + solid "rainure4" { shape = "DECO"; top = 1; left = 125; color = "grey10";}; + solid "rainure5" { shape = "DECO"; top = 1; left = 130; color = "grey10";}; + solid "rainure6" { shape = "DECO"; top = 1; left = 135; color = "grey10";}; + solid "rainure7" { shape = "DECO"; top = 1; left = 140; color = "grey10";}; + solid "rainure8" { shape = "DECO"; top = 1; left = 145; color = "grey10";}; + solid "rainure9" { shape = "DECO"; top = 1; left = 150; color = "grey10";}; + solid "rainure10" { shape = "DECO"; top = 1; left = 155; color = "grey10";}; + solid "rainure11" { shape = "DECO"; top = 1; left = 160; color = "grey10";}; + solid "rainure12" { shape = "DECO"; top = 1; left = 165; color = "grey10";}; + solid "rainure13" { shape = "DECO"; top = 1; left = 170; color = "grey10";}; +}; // geometry tm2020 + + +xkb_geometry "tm2030_shape" { + // Keyboard total size + width = 320; + height = 130; + // Background / foreground colours + baseColor = "white"; + labelColor = "black"; + + // Key shapes: base key = 20 mm each side + shape "NORM" { cornerRadius=1, { [18, 18] }, { [1.5, 1.5], [16.5, 14] } }; + shape "FUNC" { cornerRadius=1, { [18, 12] }, { [2.5, 0], [15.5, 10] } }; + shape "LFSH" { cornerRadius=1, { [18, 36.5] }, { [2.5, 0], [15.5, 30] } }; + shape "ALT1" { cornerRadius=1, { [27.5, 18] }, { [2.5, 0], [23.5, 14] } }; + shape "BKSP" { cornerRadius=1, { [18, 30.5] }, { [1.5, 1.5], [16.5, 29] } }; + shape "SPCE" { cornerRadius=1, { [92, 25] }, { [1.5, 1.5], [90.5, 22] } }; + shape "LED" { cornerRadius=2, { [4, 4] } }; + shape "PAN1" { cornerRadius=1, { [27, 126.5] } }; + shape "PAN2" { cornerRadius=1, { [92, 13] } }; + + // Other decorations: panels + solid "panneau1" { + shape = "PAN1"; + left = 0; + top = 0; + color = "grey40"; + }; + solid "panneau2" { + shape = "PAN2"; + left = 101.5; + top = 113.5; + color = "grey40"; + }; + + // Leds: they must be put after panels, otherwise the panels overwrite them + indicator.left = 6; + indicator.onColor = "green"; + indicator.offColor = "grey10"; + indicator.shape = "LED"; + + indicator "Num Lock" { top = 11 ; }; + indicator "Caps Lock" { top = 27.5; }; + indicator "Scroll Lock" { top = 44 ; }; + + text.left = 12; + text.color = "black"; + text "NumLockLabel" { top = 11; text="num"; }; + text "CapsLockLabel" { top = 27.5; text="caps"; }; + text "SrollLockLabel" { top = 44; text="scroll"; }; +}; // geometry tm2030_shape + + +xkb_geometry "tm2030_MiscDiod_dvk" { + text "ModeLabel" { left = 12; top = 58; color = "black"; text="Dvorak"; }; +}; + +xkb_geometry "tm2030_MiscDiod_102" { + text "ModeLabel" { left = 12; top = 58; color = "black"; text="102"; }; +}; + +xkb_geometry "tm2030_MiscDiod_106" { + text "ModeLabel" { left = 12; top = 58; color = "black"; text="106"; }; +}; + +xkb_geometry "tm2030_MiscDiod_off" { + indicator "Misc" { left = 6; top = 60.5; shape = "LED"; + offColor = "grey10"; onColor = "grey10"; }; +}; + +xkb_geometry "tm2030_MiscDiod_on" { + indicator "Misc" { left = 6; top = 60.5; shape = "LED"; + offColor = "green"; onColor = "green"; }; +}; + + +xkb_geometry "tm2030USB_func" { + section "Function" { + left = 27; + top = 1.5; + key.gap = 0.5; + key.color = "grey30"; + key.shape = "FUNC"; + row { + keys { , , , , , }; + }; + row { + left = 129.5; + keys { , , , , , , + , }; + }; + }; +}; // geometry tm2030USB_func + + +xkb_geometry "tm2030USB_alpha" { + section "Alpha" { + left = 27; + top = 14; + key.gap = 0.5; + key.color = "grey10"; + key.shape = "NORM"; + row { + top = 0; + keys { , , , , , }; + }; + row { + top = 18.5; + keys { , , , , , }; + }; + row { + top = 37; + keys { { , "LFSH" }, , , , , }; + }; + row { + top = 55.5; + left = 18.5; + keys { , , , , }; + }; + + row { + top = 0; + left = 129.5; + keys { , , , , , , , }; + }; + row { + top = 18.5; + left = 129.5; + keys { , , , , , , , }; + }; + row { + top = 37; + left = 129.5; + keys { , , , , , , { , "LFSH" }, }; + }; + row { + top = 55.5; + left = 129.5; + keys { , , , , , }; + }; + row { + top = 55.5; + left = 259; + keys { }; + }; + row { + top = 74; + left = 74; + keys { { , "SPCE" } }; + }; + }; +}; // geometry tm2030USB_alpha + + +xkb_geometry "tm2030USB_ctrl" { + section "Control" { + left = 27; + top = 0; + key.gap = 0.5; + key.color = "grey30"; + key.shape = "NORM"; + row { + top = 88; + keys { , , , }; + }; + row { + top = 106.5; + keys { , { , "ALT1" }, { , "ALT1" } }; + }; + row { + top = 88; + left = 166.5; + keys { , , , , { , "LFSH"}, }; + }; + row { + top = 106.5; + left = 166.5; + keys { , , , }; + }; + row { + top = 106.5; + left = 259; + keys { }; + }; + row { + top = 1; + left = 111.5; + vertical = true; + keys { , { , "BKSP" }, { , "LFSH" } }; + }; + }; +}; // geometry tm2030USB_ctrl + + +xkb_geometry "tm2030PS2" { + include "typematrix(tm2030_shape)" + include "typematrix(tm2030_MiscDiod_dvk)" + include "typematrix(tm2030_MiscDiod_off)" + + description = "TypeMatrix EZ-Reach 2030 PS2"; + + section "Function" { + left = 27; + top = 1.5; + key.gap = 0.5; + key.color = "grey10"; + key.shape = "FUNC"; + row { + key.color = "grey30"; + keys { }; + }; + row { + left = 18.5; + keys { , , , }; + }; + row { + left = 92.5; + key.color = "grey30"; + keys { }; + }; + row { + left = 129.5; + key.color = "grey30"; + keys { , , }; + }; + row { + left = 185; + keys { , , , }; + }; + row { + left = 259; + key.color = "grey30"; + keys { }; + }; + }; + + section "Alpha" { + left = 27; + top = 14; + key.gap = 0.5; + key.color = "grey10"; + key.shape = "NORM"; + row { + top = 0; + keys { , , , , , }; + }; + row { + top = 18.5; + keys { , , , , , }; + }; + row { + top = 37; + keys { { , "LFSH" }, , , , , }; + }; + row { + top = 55.5; + left = 18.5; + keys { , , , , }; + }; + + row { + top = 0; + left = 129.5; + keys { , , , , , , , }; + }; + row { + top = 18.5; + left = 129.5; + keys { , , }; + }; + row { + top = 18.5; + left = 185; + key.color = "grey30"; + keys { , , , }; + }; + row { + top = 18.5; + left = 259; + keys { }; + }; + row { + top = 37; + left = 129.5; + keys { , , }; + }; + row { + top = 37; + left = 185; + key.color = "grey30"; + keys { , , , { , "LFSH" }, + {, key.color="red"} }; + }; + row { + top = 55.5; + left = 129.5; + keys { , , }; + }; + row { + top = 55.5; + left = 185; + key.color = "grey30"; + keys { , , }; + }; + row { + top = 55.5; + left = 259; + keys { }; + }; + row { + top = 74; + left = 74; + keys { { , "SPCE" } }; + }; + }; + + section "Control" { + left = 27; + top = 0; + key.gap = 0.5; + key.color = "grey10"; + key.shape = "NORM"; + row { + top = 88; + keys { , , , }; + }; + row { + top = 106.5; + keys { , { , "ALT1" }, { , "ALT1" } }; + }; + row { + top = 88; + left = 166.5; + keys { }; + }; + row { + top = 88; + left = 185; + key.color = "grey30"; + keys { , , , { , "LFSH"} }; + }; + row { + top = 88; + left = 259; + keys { }; + }; + row { + top = 106.5; + left = 166.5; + keys { }; + }; + row { + top = 106.5; + left = 185; + key.color = "grey30"; + keys { , , }; + }; + row { + top = 106.5; + left = 259; + keys { }; + }; + row { + top = 1; + left = 111.5; + key.color = "grey10"; + vertical = true; + keys { , { , "BKSP" }, { , "LFSH" } }; + }; + }; +}; // geometry tm2030PS2 + + +xkb_geometry "tm2030USB" { + include "typematrix(tm2030_shape)" + include "typematrix(tm2030_MiscDiod_102)" + include "typematrix(tm2030_MiscDiod_off)" + + description = "TypeMatrix EZ-Reach 2030 USB"; + + include "typematrix(tm2030USB_func)" + include "typematrix(tm2030USB_alpha)" + include "typematrix(tm2030USB_ctrl)" +}; // geometry tm2030USB + + +// European 102/105 keys mode. +// Same as the standard keyboard, except for one key: Play becomes LSGT. +xkb_geometry "tm2030USB-102" { + include "typematrix(tm2030_shape)" + include "typematrix(tm2030_MiscDiod_102)" + include "typematrix(tm2030_MiscDiod_on)" + + description = "TypeMatrix EZ-Reach 2030 USB (102/105:EU mode)"; + + include "typematrix(tm2030USB_func)" + include "typematrix(tm2030USB_alpha)" + + section "Control" { + left = 27; + top = 0; + key.gap = 0.5; + key.color = "grey30"; + key.shape = "NORM"; + row { + top = 88; + keys { , , , }; + }; + row { + top = 106.5; + keys { , { , "ALT1" }, { , "ALT1" } }; + }; + row { + top = 88; + left = 166.5; + keys { , , , , { , "LFSH"}, }; + }; + row { + top = 106.5; + left = 166.5; + keys { , , , }; + }; + row { + top = 106.5; + left = 259; + keys { }; + }; + row { + top = 1; + left = 111.5; + vertical = true; + keys { , { , "BKSP" }, { , "LFSH" } }; + }; + }; +}; // geometry tm2030USB-102 + + +// Japan / Korean 106 keys mode. +// Same as the standard keyboard, except for the following keys: +// – is replaced by +// – WWW key becomes +// — Calc key becomes +// — key becomes +// — and Mail key becomes + +// About control keys: +// NFER/MEHU and XFER/KANJ: TMx keeps LWIN (and RWIN if it happens to exist). +// HKTG/HIRA: TMx keeps MENU/COMP, but locates this key in alpha section (see above). + +xkb_geometry "tm2030USB-106" { + include "typematrix(tm2030_shape)" + include "typematrix(tm2030_MiscDiod_106)" + include "typematrix(tm2030_MiscDiod_on)" + + description = "TypeMatrix EZ-Reach 2030 USB (106:JP mode)"; + + include "typematrix(tm2030USB_func)" + + section "Alpha" { + left = 27; + top = 14; + key.gap = 0.5; + key.color = "grey10"; + key.shape = "NORM"; + row { + top = 0; + keys { , , , , , }; + }; + row { + top = 18.5; + keys { , , , , , }; + }; + row { + top = 37; + keys { { , "LFSH" }, , , , , }; + }; + row { + top = 55.5; + left = 18.5; + keys { , , , , }; + }; + + row { + top = 0; + left = 129.5; + keys { , , , , , , , }; + }; + row { + top = 18.5; + left = 129.5; + keys { , , , , , , , }; + }; + row { + top = 37; + left = 129.5; + keys { , , , , , , { , "LFSH" }, }; + }; + row { + top = 55.5; + left = 129.5; + keys { , , , , , }; + }; + row { + top = 55.5; + left = 259; + keys { }; + }; + row { + top = 74; + left = 74; + keys { { , "SPCE" } }; + }; + }; + + section "Control" { + left = 27; + top = 0; + key.gap = 0.5; + key.color = "grey30"; + key.shape = "NORM"; + row { + top = 88; + keys { , , , }; + }; + row { + top = 106.5; + keys { , { , "ALT1" }, { , "ALT1" } }; + }; + row { + top = 88; + left = 166.5; + keys { , , , , { , "LFSH"}, }; + }; + row { + top = 106.5; + left = 166.5; + keys { , , , }; + }; + row { + top = 106.5; + left = 259; + keys { }; + }; + row { + top = 1; + left = 111.5; + vertical = true; + keys { , { , "BKSP" }, { , "LFSH" } }; + }; + }; +}; // geometry tm2030USB-106 diff --git a/xkbdata/geometry/winbook b/xkbdata/geometry/winbook new file mode 100644 index 0000000..842eefb --- /dev/null +++ b/xkbdata/geometry/winbook @@ -0,0 +1,143 @@ +default xkb_geometry "XP5" { + + description= "WinBook XP5"; + width= 281; + height= 180; + + shape.cornerRadius= 1; + + shape "NORM" { + { [17,17] }, + { [ 2, 1], [ 15, 15 ] } + }; + shape "FKEY" { + { [ 15, 10 ] }, + { [ 1, 0 ], [ 14, 9.5 ] } + }; + shape "ONE" { + { [ 28, 17 ] }, + { [ 11, 0 ], [ 28, 17 ] }, + { [ 13, 1 ], [ 26, 15 ] } + }; + shape "WIDE" { // backspace, caps lock, ctrl alt ? + { [ 24.5, 17 ] }, + { [ 2, 1 ], [ 22.5, 15 ] } + }; + shape "WIDR" { // backslash, left shift + { [ 35, 17 ] }, + { [ 2, 1 ], [ 33, 15 ] } + }; + shape "RTRN" { + { [ 45, 17 ] }, + { [ 2, 1 ], [ 43, 15 ] } + }; + shape "SPCE" { + { [ 90, 17 ] }, + { [ 2, 1 ], [ 88, 15 ] } + }; + shape "STIK" { + cornerRadius= 4, + { [ 8, 8 ] } + }; + shape "BTN" { + { [ 31, 6 ] } + }; + + section.left= 2; + row.left= 1; + key.shape= "NORM"; + key.gap= 0.5; + + key.color= "grey10"; + labelColor= "white"; + baseColor= "grey20"; + + section "Whole" { + top= 10; + row { + top= 11; + key.shape= "FKEY"; + keys { + , + , , , , , , + , , , , , , + , , , + }; + }; + row { + top= 22; + keys { + { , "ONE" }, + , , , , , + , , , , , , + { , shape="WIDE" }, + + }; + }; + row { + top= 40; + keys { + , , , , , , , + , , , , , , + { , "WIDR" } + }; + }; + row { + top= 58; + keys { { , shape="WIDE" }, + , , , , , + , , , , , + , + { , shape="RTRN" } + }; + }; + row { + top= 76; + keys { + { , shape="WIDR" }, + , , , , , + , , , , , + , , + }; + }; + row { + top= 94; + keys { + { , "WIDE" }, , { , "WIDE" }, + , { , shape="SPCE" }, , , + , , + }; + }; + overlay "KPAD" { + =, =, =, =, + =, =, =, =, + =, =, =, =, + =, =, = + }; + }; // End of "Whole" section + + solid "STIK" { + color= "red"; + shape= "STIK"; + top= 81; + left= 112; + }; + + solid "BTN1" { + color= "red"; + shape= "BTN"; + top= 137; + left= 93; + }; + + solid "BTN2" { + color= "red"; + shape= "BTN"; + top= 137; + left= 127; + }; + + alias = ; + alias = ; + +}; diff --git a/xkbdata/keycodes.dir b/xkbdata/keycodes.dir new file mode 100644 index 0000000..d7bf6d1 --- /dev/null +++ b/xkbdata/keycodes.dir @@ -0,0 +1,36 @@ +-d------ -------- aliases(qwerty) +-------- -------- aliases(azerty) +-------- -------- aliases(qwertz) +-d------ -------- amiga(usa1) +-------- -------- amiga(de) +-d------ -------- ataritt(us) +-------- -------- ataritt(de) +-d------ -------- empty(empty) +-d------ -------- evdev(evdev) +-d------ -------- fujitsu(138) +-d------ -------- hp(hp-101) +-------- -------- hp(hil) +-------- -------- ibm(rs6k-101) +-------- -------- ibm(rs6k-102) +-d------ -------- jolla(jolla) +-d------ -------- macintosh(macintosh) +-------- -------- macintosh(old) +-------- -------- macintosh(hhk) +-------- -------- macintosh(alukbd) +-------- -------- macintosh(jisevdev) +-d------ -------- olpc(olpc) +-------- -------- olpc(olpcm) +-------- -------- sony(nwp5461) +-------- -------- sun(type6) +-------- -------- sun(type6tuv) +-------- -------- sun(type6_jp) +-------- -------- sun(type6_euro) +-------- -------- sun(type6unix) +-d------ -------- sun(type6_usb) +-------- -------- sun(type6tuv_usb) +-------- -------- sun(type6_jp_usb) +-d------ -------- xfree86(xfree86) +-------- -------- xfree86(basic) +-------- -------- xfree86(102) +-------- -------- xfree86(thinkpadz60) +-d------ -------- xfree98(pc98) diff --git a/xkbdata/keycodes/README b/xkbdata/keycodes/README new file mode 100644 index 0000000..6363f3d --- /dev/null +++ b/xkbdata/keycodes/README @@ -0,0 +1,6 @@ +The keycodes component of a keyboard mapping specifies the range and +interpretation of the raw keycodes reported by the device. It sets the keycodes +symbolic name, the minimum and maximum legal codes for the keyboard, and the +symbolic name for each key. The keycodes component might also contain aliases +for some keys, symbolic names for some indicators and a description of which +indicators are physically present. diff --git a/xkbdata/keycodes/aliases b/xkbdata/keycodes/aliases new file mode 100644 index 0000000..f398772 --- /dev/null +++ b/xkbdata/keycodes/aliases @@ -0,0 +1,99 @@ + +// keycode aliases for phonetic keyboard maps + +default +xkb_keycodes "qwerty" { + + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; +}; + +xkb_keycodes "azerty" { + + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; +}; + +xkb_keycodes "qwertz" { + + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; +}; diff --git a/xkbdata/keycodes/amiga b/xkbdata/keycodes/amiga new file mode 100644 index 0000000..877d94f --- /dev/null +++ b/xkbdata/keycodes/amiga @@ -0,0 +1,225 @@ +default xkb_keycodes "usa1" { + + minimum= 8; + maximum= 255; + + = 77; + = 88; + = 89; + = 90; + = 91; + = 92; + = 93; + = 94; + = 95; + = 96; + = 97; + + = 8; + = 9; + = 10; + = 11; + = 12; + = 13; + = 14; + = 15; + = 16; + = 17; + = 18; + = 19; + = 20; + = 21; + = 73; + + = 74; + = 24; + = 25; + = 26; + = 27; + = 28; + = 29; + = 30; + = 31; + = 32; + = 33; + = 34; + = 35; + = 76; + + = 107; + = 106; + = 40; + = 41; + = 42; + = 43; + = 44; + = 45; + = 46; + = 47; + = 48; + = 49; + = 50; + + = 104; + = 57; + = 58; + = 59; + = 60; + = 61; + = 62; + = 63; + = 64; + = 65; + = 66; + = 105; + + = 108; + = 110; + = 72; + = 111; + = 109; + + = 78; + = 103; + = 84; + = 87; + = 85; + = 86; + + = 98; + = 99; + = 100; + = 101; + + = 69; + = 70; + = 71; + = 82; + + = 53; + = 54; + = 55; + = 102; + + = 37; + = 38; + = 39; + + = 23; + = 68; + = 75; +}; + +xkb_keycodes "de" { + + minimum= 8; + maximum= 255; + + = 77; + = 88; + = 89; + = 90; + = 91; + = 92; + = 93; + = 94; + = 95; + = 96; + = 97; + + = 8; + = 9; + = 10; + = 11; + = 12; + = 13; + = 14; + = 15; + = 16; + = 17; + = 18; + = 19; + = 20; + = 21; + = 73; + + = 74; + = 24; + = 25; + = 26; + = 27; + = 28; + = 29; + = 30; + = 31; + = 32; + = 33; + = 34; + = 35; + = 76; + + = 107; + = 106; + = 40; + = 41; + = 42; + = 43; + = 44; + = 45; + = 46; + = 47; + = 48; + = 49; + = 50; + = 51; + + = 104; + = 56; + = 57; + = 58; + = 59; + = 60; + = 61; + = 62; + = 63; + = 64; + = 65; + = 66; + = 105; + + = 108; + = 110; + = 72; + = 111; + = 109; + + = 78; + = 103; + = 84; + = 87; + = 85; + = 86; + + = 98; + = 99; + = 100; + = 101; + + = 69; + = 70; + = 71; + = 82; + + = 53; + = 54; + = 55; + = 102; + + = 37; + = 38; + = 39; + + = 23; + = 68; + = 75; +}; diff --git a/xkbdata/keycodes/ataritt b/xkbdata/keycodes/ataritt new file mode 100644 index 0000000..c7df8dd --- /dev/null +++ b/xkbdata/keycodes/ataritt @@ -0,0 +1,117 @@ +default xkb_keycodes "us" { + + minimum= 8; + maximum= 255; + + = 9; + = 10; + = 11; + = 12; + = 13; + = 14; + = 15; + = 16; + = 17; + = 18; + = 19; + = 20; + = 21; + = 49; + = 22; + + = 23; + = 24; + = 25; + = 26; + = 27; + = 28; + = 29; + = 30; + = 31; + = 32; + = 33; + = 34; + = 35; + = 36; + = 91; + + = 37; + = 38; + = 39; + = 40; + = 41; + = 42; + = 43; + = 44; + = 45; + = 46; + = 47; + = 48; + = 51; + + = 50; + = 52; + = 53; + = 54; + = 55; + = 56; + = 57; + = 58; + = 59; + = 60; + = 61; + = 62; + + = 64; + = 65; + = 66; + + = 67; + = 68; + = 69; + = 70; + = 71; + = 72; + = 73; + = 74; + = 75; + = 76; + + = 106; + = 105; + = 90; + = 79; + = 80; + = 83; + = 88; + = 85; + + = 107; + = 108; + = 109; + = 110; + + = 111; + = 112; + = 113; + = 82; + + = 114; + = 115; + = 116; + = 86; + + = 117; + = 118; + = 119; + + = 120; + = 121; + = 122; +}; + +xkb_keycodes "de" { + include "ataritt(us)" + + = 104; +}; diff --git a/xkbdata/keycodes/digital_vndr/lk b/xkbdata/keycodes/digital_vndr/lk new file mode 100644 index 0000000..30b49d3 --- /dev/null +++ b/xkbdata/keycodes/digital_vndr/lk @@ -0,0 +1,270 @@ +// +//Copyright (c) 1996 Digital Equipment Corporation +// +//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 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 DIGITAL EQUIPMENT CORPORATION 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 Digital Equipment +//Corporation shall not be used in advertising or otherwise to promote +//the sale, use or other dealings in this Software without prior written +//authorization from Digital Equipment Corporation. +// +// HISTORY +// Log +// Revision 1.2 1996/06/18 09:13:22 erik +// use flags correctly, assorted cleanups and consortium fixes +// +// Revision 1.1.6.2 1995/08/07 17:40:34 William_Walker +// Upgrade XKB to protocol 0.62 (dual submit from decx11) +// [1995/08/06 14:06:25 William_Walker] +// +// Revision 1.1.2.4 1995/08/05 15:25:55 William_Walker +// Upgrade to XKB protocol 0.62 +// [1995/08/05 14:39:58 William_Walker] +// +// Revision 1.1.2.3 1995/06/27 12:17:31 William_Walker +// Rename to ISO9995 compliant . +// [1995/06/26 20:24:04 William_Walker] +// +// Revision 1.1.2.2 1995/06/05 19:21:28 William_Walker +// New file. I love keymaps. +// [1995/06/05 18:07:29 William_Walker] +// +// EndLog +// +// @(#)RCSfile: lk Revision: /main/3 (DEC) Date: 1996/01/24 12:13:31 +// +xkb_keycodes "lk_common" { + // "Function" keys + = 86; + = 87; + = 88; + = 89; + = 90; + = 100; + = 101; + = 102; + = 103; + = 104; + = 113; + = 114; + + = 170; + = 167; + = 169; + = 168; + + // "Keypad" keys + = 157; + = 158; + = 159; + = 153; + = 154; + = 155; + = 150; + = 151; + = 152; + = 149; + = 146; + = 148; + + // "Alphanumeric" keys + = 191; + = 192; + = 197; + = 203; + = 208; + = 214; + = 219; + = 224; + = 229; + = 234; + = 239; + = 249; + = 245; + = 188; + + = 190; + = 193; + = 198; + = 204; + = 209; + = 215; + = 220; + = 225; + = 230; + = 235; + = 240; + = 250; + = 246; + = 189; + + = 175; + = 176; + = 194; + = 199; + = 205; + = 210; + = 216; + = 221; + = 226; + = 231; + = 236; + = 242; + = 251; + + = 174; + = 195; + = 200; + = 206; + = 211; + = 217; + = 222; + = 227; + = 232; + = 237; + = 243; + = 171; + + = 212; + + = 255; // Support R5 Lock Down Modifiers + + alias = ; +}; + +xkb_keycodes "lkx01" { + include "digital_vndr/lk(lk_common)" + = 201; + = 115; + = 116; + = 128; + = 129; + = 130; + = 131; + = 124; + = 125; + = 138; + = 139; + = 140; + = 141; + = 142; + = 143; + = 161; + = 162; + = 163; + = 164; + = 160; + = 156; + = 247; + = 177; +}; + +xkb_keycodes "lk201" { + include "digital_vndr/lk(lkx01)" + indicator 4 = "Scroll Lock"; + indicator 3 = "Caps Lock"; + indicator 2 = "Compose"; + indicator 1 = "Wait"; +}; + +xkb_keycodes "lk421" { + include "digital_vndr/lk(lkx01)" + = 172; + = 178; + = 173; +}; + +xkb_keycodes "lk401" { + include "digital_vndr/lk(lk421)" + indicator 4 = "Scroll Lock"; + indicator 3 = "Caps Lock"; +}; + +xkb_keycodes "lk44x" { + include "digital_vndr/lk(lk_common)" + = 85; + = 115; + = 116; + = 124; + = 138; + = 139; + = 140; + = 141; + = 142; + = 143; + = 161; + = 162; + = 163; + = 164; + = 156; + = 172; + = 178; + = 173; +}; + +xkb_keycodes "lk443" { + include "digital_vndr/lk(lk44x)" + = 247; + indicator 3 = "Caps Lock"; + indicator 4 = "Scroll Lock"; + indicator 5 = "Num Lock"; +}; + +xkb_keycodes "lk444" { + include "digital_vndr/lk(lk44x)" + = 201; + = 247; + indicator 3 = "Caps Lock"; + indicator 4 = "Scroll Lock"; + indicator 5 = "Num Lock"; +}; + +// LK201-LT = lk201 +// LK421-AJ = lk421 +AB11 +// LK421-JJ = lk421aj+MUHE+KANJ+HIRA +// LK401-AJ = lk401 +// LK401-BJ = lk401 +MUHE+KANJ+HIRA +// LK401-JJ = lk401bj+AB11 +// LK401-LT = lk401 +// LK441-LT = lk443 + +xkb_keycodes "lk421aj" { + include "digital_vndr/lk(lk421)" + = 252; +}; + +xkb_keycodes "lk421jj" { + include "digital_vndr/lk(lk421aj)" + = 94; + = 95; + = 97; +}; + +xkb_keycodes "lk401bj" { + include "digital_vndr/lk(lk401)" + = 94; + = 95; + = 97; +}; + +xkb_keycodes "lk401jj" { + include "digital_vndr/lk(lk401bj)" + = 252; +}; diff --git a/xkbdata/keycodes/digital_vndr/pc b/xkbdata/keycodes/digital_vndr/pc new file mode 100644 index 0000000..33ef848 --- /dev/null +++ b/xkbdata/keycodes/digital_vndr/pc @@ -0,0 +1,277 @@ +// +//Copyright (c) 1996 Digital Equipment Corporation +// +//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 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 DIGITAL EQUIPMENT CORPORATION 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 Digital Equipment +//Corporation shall not be used in advertising or otherwise to promote +//the sale, use or other dealings in this Software without prior written +//authorization from Digital Equipment Corporation. +// +// HISTORY +// Log +// Revision 1.2 1996/06/18 09:13:25 erik +// use flags correctly, assorted cleanups and consortium fixes +// +// Revision 1.1.6.3 1995/10/25 21:00:14 William_Walker +// Add pc104-key support +// [1995/10/23 15:46:21 William_Walker] +// +// Revision 1.1.6.2 1995/08/07 17:40:37 William_Walker +// Upgrade XKB to protocol 0.62 (dual submit from decx11) +// [1995/08/06 14:06:28 William_Walker] +// +// Revision 1.1.2.4 1995/08/05 15:25:56 William_Walker +// Upgrade to XKB protocol 0.62 +// [1995/08/05 14:40:02 William_Walker] +// +// Revision 1.1.2.3 1995/06/27 12:17:32 William_Walker +// Rename to ISO9995 compliant . +// [1995/06/26 20:24:07 William_Walker] +// +// Revision 1.1.2.2 1995/06/05 19:21:31 William_Walker +// New file. I love keymaps. +// [1995/06/05 18:07:34 William_Walker] +// +// EndLog +// +// @(#)RCSfile: pc Revision: /main/3 (DEC) Date: 1996/01/24 12:13:36 +// +xkb_keycodes "pc_common" { + // "Function" keys + = 9; + = 15; + = 23; + = 31; + = 39; + = 47; + = 55; + = 63; + = 71; + = 79; + = 86; + = 94; + + // "Editing" keys + + = 99; + = 97; + = 96; + = 106; + + // "Keypad" keys + = 108; + = 117; + = 125; + + = 107; + = 115; + = 116; + + = 105; + = 114; + = 122; + = 121; + + = 112; + = 113; + + // "Alphanumeric" keys + = 22; + = 30; + = 38; + = 37; + = 46; + = 54; + = 61; + = 62; + = 70; + = 69; + = 78; + = 85; + = 102; + + = 13; + = 21; + = 29; + = 36; + = 45; + = 44; + = 53; + = 60; + = 67; + = 68; + = 77; + = 84; + = 91; + + = 20; + = 28; + = 27; + = 35; + = 43; + = 52; + = 51; + = 59; + = 66; + = 75; + = 76; + = 82; + = 90; + + = 18; + = 26; + = 34; + = 33; + = 42; + = 50; + = 49; + = 58; + = 65; + = 73; + = 74; + = 89; + + = 17; + = 25; + = 41; + = 57; + + = 255; // Support R5 Lock Down Modifiers + +}; + +xkb_keycodes "pc10x" { + include "digital_vndr/pc(pc_common)" + = 8; + = 14; + = 87; + = 95; + = 98; + = 103; + = 110; + = 111; + = 100; + = 101; + = 109; + = 118; + = 119; + = 126; + = 132; + = 124; + = 88; + + alias = ; + + indicator 3 = "Caps Lock"; + indicator 4 = "Scroll Lock"; +}; + +xkb_keycodes "pc101" { + include "digital_vndr/pc(pc10x)" + = 92; + indicator 5 = "Num Lock"; +}; + + +xkb_keycodes "pc102" { + include "digital_vndr/pc(pc10x)" + = 19; + = 83; + indicator 5 = "Num Lock"; +}; + +xkb_keycodes "pc104" { + include "digital_vndr/pc(pc101)" + = 139; + = 140; + = 141; +}; + +xkb_keycodes "lk411_common" { + include "digital_vndr/pc(pc_common)" + = 8; + = 14; + = 24; + = 10; + = 16; + = 87; + = 95; + = 98; + = 11; + = 12; + = 110; + = 103; + = 100; + = 101; + = 111; + = 109; + = 118; + = 119; + = 126; + = 132; + = 19; + = 124; + = 40; + = 88; + + alias = ; + + indicator 3 = "Caps Lock"; + indicator 4 = "Scroll Lock"; +}; + +xkb_keycodes "lk411" { + include "digital_vndr/pc(lk411_common)" + = 92; +}; + +xkb_keycodes "lk450" { + include "digital_vndr/pc(lk411)" + indicator 2 = "Compose"; + indicator 1 = "Wait"; +}; + +// Japanese variants +// +// PCXAJ-AA = pc+BKSL+AC12+AB11+MUHE+KANJ+HIRA+indicator +// LK411-AJ = lk411+MUHE+KANJ+HIRA +// LK411-JJ = lk411+BKSL+AZ01+MUHE+KANJ+HIRA +// LK411-LT = lk411 + +xkb_keycodes "pcxajaa" { + include "digital_vndr/pc(pc10x)" + = 93; + = 83; + = 81; + = 133; + = 134; + = 135; + indicator 5 = "Group 2"; +}; + +xkb_keycodes "lk411jj" { + include "digital_vndr/pc(lk411_common)" + = 81; + = 83; + = 133; + = 134; + = 135; +}; diff --git a/xkbdata/keycodes/empty b/xkbdata/keycodes/empty new file mode 100644 index 0000000..eedc943 --- /dev/null +++ b/xkbdata/keycodes/empty @@ -0,0 +1,4 @@ +default xkb_keycodes "empty" { + minimum= 8; + maximum= 255; +}; diff --git a/xkbdata/keycodes/evdev b/xkbdata/keycodes/evdev new file mode 100644 index 0000000..e7a42d9 --- /dev/null +++ b/xkbdata/keycodes/evdev @@ -0,0 +1,598 @@ +// translation from evdev scancodes to something resembling xfree86 keycodes. + +default xkb_keycodes "evdev" { + minimum = 8; + maximum = 255; + + # Added for pc105 compatibility + = 94; + + = 49; + = 10; + = 11; + = 12; + = 13; + = 14; + = 15; + = 16; + = 17; + = 18; + = 19; + = 20; + = 21; + = 22; + + = 23; + = 24; + = 25; + = 26; + = 27; + = 28; + = 29; + = 30; + = 31; + = 32; + = 33; + = 34; + = 35; + = 51; + alias = ; + = 36; + + = 66; + = 38; + = 39; + = 40; + = 41; + = 42; + = 43; + = 44; + = 45; + = 46; + = 47; + = 48; + + = 50; + = 52; + = 53; + = 54; + = 55; + = 56; + = 57; + = 58; + = 59; + = 60; + = 61; + = 62; + + = 64; + = 37; + = 65; + = 105; + = 108; + // Microsoft keyboard extra keys + = 133; + = 134; + = 135; + alias = ; + + = 9; + = 67; + = 68; + = 69; + = 70; + = 71; + = 72; + = 73; + = 74; + = 75; + = 76; + = 95; + = 96; + + = 107; + // = 107; + = 78; + = 127; + // = 419; + + = 118; + = 110; + = 112; + = 119; + = 115; + = 117; + + = 111; + = 113; + = 116; + = 114; + + = 77; + = 106; + = 63; + = 82; + + = 79; + = 80; + = 81; + = 86; + + = 83; + = 84; + = 85; + + = 87; + = 88; + = 89; + = 104; + + = 90; + = 91; + = 125; + + = 191; + = 192; + = 193; + = 194; + = 195; + = 196; + = 197; + = 198; + = 199; + = 200; + = 201; + = 202; + + // Keys that are generated on Japanese keyboards + + // = 93; // Hankaku/Zenkakau toggle - not actually used + alias = ; + = 101; // Hiragana/Katakana toggle + = 97; // backslash/underscore + = 100; // Henkan + = 102; // Muhenkan + = 132; // Yen + = 98; // Katakana + = 99; // Hiragana + = 103; // KPJPComma + + // Keys that are generated on Korean keyboards + + = 130; // Hangul Latin toggle + = 131; // Hangul to Hanja conversion + + // Solaris compatibility + + alias = ; + alias = ; + = 121; + = 122; + = 123; + = 124; + = 136; + = 137; + = 138; + = 139; + = 140; + = 141; + = 142; + = 143; + = 144; + = 145; + = 146; + alias = ; + alias = ; + alias = ; + alias = ; + + // Extended keys that may be generated on "Internet" keyboards. + // evdev has standardize names for these. + + = 109; // #define KEY_LINEFEED 101 + + // Key codes below are autogenerated + = 120; // #define KEY_MACRO 112 + alias = ; // #define KEY_MUTE 113 + alias = ; // #define KEY_VOLUMEDOWN 114 + alias = ; // #define KEY_VOLUMEUP 115 + alias = ; // #define KEY_POWER 116 + alias = ; // #define KEY_KPEQUAL 117 + = 126; // #define KEY_KPPLUSMINUS 118 + alias = ; // #define KEY_PAUSE 119 + = 128; // #define KEY_SCALE 120 + = 129; // #define KEY_KPCOMMA 121 + alias = ; // #define KEY_HANGEUL 122 + alias = ; // #define KEY_HANJA 123 + alias = ; // #define KEY_YEN 124 + alias = ; // #define KEY_LEFTMETA 125 + alias = ; // #define KEY_RIGHTMETA 126 + alias = ; // #define KEY_COMPOSE 127 + alias = ; // #define KEY_STOP 128 + alias = ; // #define KEY_AGAIN 129 + alias = ; // #define KEY_PROPS 130 + alias = ; // #define KEY_UNDO 131 + alias = ; // #define KEY_FRONT 132 + alias = ; // #define KEY_COPY 133 + alias = ; // #define KEY_OPEN 134 + alias = ; // #define KEY_PASTE 135 + alias = ; // #define KEY_FIND 136 + alias = ; // #define KEY_CUT 137 + alias = ; // #define KEY_HELP 138 + = 147; // #define KEY_MENU 139 + = 148; // #define KEY_CALC 140 + = 149; // #define KEY_SETUP 141 + = 150; // #define KEY_SLEEP 142 + = 151; // #define KEY_WAKEUP 143 + = 152; // #define KEY_FILE 144 + = 153; // #define KEY_SENDFILE 145 + = 154; // #define KEY_DELETEFILE 146 + = 155; // #define KEY_XFER 147 + = 156; // #define KEY_PROG1 148 + = 157; // #define KEY_PROG2 149 + = 158; // #define KEY_WWW 150 + = 159; // #define KEY_MSDOS 151 + = 160; // #define KEY_COFFEE 152 + = 161; // #define KEY_ROTATE_DISPLAY 153 + = 162; // #define KEY_CYCLEWINDOWS 154 + = 163; // #define KEY_MAIL 155 + = 164; // #define KEY_BOOKMARKS 156 + = 165; // #define KEY_COMPUTER 157 + = 166; // #define KEY_BACK 158 + = 167; // #define KEY_FORWARD 159 + = 168; // #define KEY_CLOSECD 160 + = 169; // #define KEY_EJECTCD 161 + = 170; // #define KEY_EJECTCLOSECD 162 + = 171; // #define KEY_NEXTSONG 163 + = 172; // #define KEY_PLAYPAUSE 164 + = 173; // #define KEY_PREVIOUSSONG 165 + = 174; // #define KEY_STOPCD 166 + = 175; // #define KEY_RECORD 167 + = 176; // #define KEY_REWIND 168 + = 177; // #define KEY_PHONE 169 + = 178; // #define KEY_ISO 170 + = 179; // #define KEY_CONFIG 171 + = 180; // #define KEY_HOMEPAGE 172 + = 181; // #define KEY_REFRESH 173 + = 182; // #define KEY_EXIT 174 + = 183; // #define KEY_MOVE 175 + = 184; // #define KEY_EDIT 176 + = 185; // #define KEY_SCROLLUP 177 + = 186; // #define KEY_SCROLLDOWN 178 + = 187; // #define KEY_KPLEFTPAREN 179 + = 188; // #define KEY_KPRIGHTPAREN 180 + = 189; // #define KEY_NEW 181 + = 190; // #define KEY_REDO 182 + alias = ; // #define KEY_F13 183 + alias = ; // #define KEY_F14 184 + alias = ; // #define KEY_F15 185 + alias = ; // #define KEY_F16 186 + alias = ; // #define KEY_F17 187 + alias = ; // #define KEY_F18 188 + alias = ; // #define KEY_F19 189 + alias = ; // #define KEY_F20 190 + alias = ; // #define KEY_F21 191 + alias = ; // #define KEY_F22 192 + alias = ; // #define KEY_F23 193 + alias = ; // #define KEY_F24 194 + = 208; // #define KEY_PLAYCD 200 + = 209; // #define KEY_PAUSECD 201 + = 210; // #define KEY_PROG3 202 + = 211; // #define KEY_PROG4 203 conflicts with AB11 + = 212; // #define KEY_DASHBOARD 204 + = 213; // #define KEY_SUSPEND 205 + = 214; // #define KEY_CLOSE 206 + = 215; // #define KEY_PLAY 207 + = 216; // #define KEY_FASTFORWARD 208 + = 217; // #define KEY_BASSBOOST 209 + = 218; // #define KEY_PRINT 210 + = 219; // #define KEY_HP 211 + = 220; // #define KEY_CAMERA 212 + = 221; // #define KEY_SOUND 213 + = 222; // #define KEY_QUESTION 214 + = 223; // #define KEY_EMAIL 215 + = 224; // #define KEY_CHAT 216 + = 225; // #define KEY_SEARCH 217 + = 226; // #define KEY_CONNECT 218 + = 227; // #define KEY_FINANCE 219 + = 228; // #define KEY_SPORT 220 + = 229; // #define KEY_SHOP 221 + = 230; // #define KEY_ALTERASE 222 + = 231; // #define KEY_CANCEL 223 + = 232; // #define KEY_BRIGHTNESSDOWN 224 + = 233; // #define KEY_BRIGHTNESSUP 225 + = 234; // #define KEY_MEDIA 226 + = 235; // #define KEY_SWITCHVIDEOMODE 227 + = 236; // #define KEY_KBDILLUMTOGGLE 228 + = 237; // #define KEY_KBDILLUMDOWN 229 + = 238; // #define KEY_KBDILLUMUP 230 + = 239; // #define KEY_SEND 231 + = 240; // #define KEY_REPLY 232 + = 241; // #define KEY_FORWARDMAIL 233 + = 242; // #define KEY_SAVE 234 + = 243; // #define KEY_DOCUMENTS 235 + = 244; // #define KEY_BATTERY 236 + = 245; // #define KEY_BLUETOOTH 237 + = 246; // #define KEY_WLAN 238 + = 247; // #define KEY_UWB 239 + = 248; // #define KEY_UNKNOWN 240 + = 249; // #define KEY_VIDEO_NEXT 241 + = 250; // #define KEY_VIDEO_PREV 242 + = 251; // #define KEY_BRIGHTNESS_CYCLE 243 + = 252; // #define KEY_BRIGHTNESS_AUTO 244 + = 253; // #define KEY_DISPLAY_OFF 245 + = 254; // #define KEY_WWAN 246 + = 255; // #define KEY_RFKILL 247 + + // Key codes below cannot be used in X + + = 256; // #define KEY_MICMUTE 248 + = 360; // #define KEY_OK 352 + = 361; // #define KEY_SELECT 353 + = 362; // #define KEY_GOTO 354 + = 363; // #define KEY_CLEAR 355 + = 364; // #define KEY_POWER2 356 + = 365; // #define KEY_OPTION 357 + = 366; // #define KEY_INFO 358 + = 367; // #define KEY_TIME 359 + = 368; // #define KEY_VENDOR 360 + = 369; // #define KEY_ARCHIVE 361 + = 370; // #define KEY_PROGRAM 362 + = 371; // #define KEY_CHANNEL 363 + = 372; // #define KEY_FAVORITES 364 + = 373; // #define KEY_EPG 365 + = 374; // #define KEY_PVR 366 + = 375; // #define KEY_MHP 367 + = 376; // #define KEY_LANGUAGE 368 + = 377; // #define KEY_TITLE 369 + = 378; // #define KEY_SUBTITLE 370 + = 379; // #define KEY_ANGLE 371 + = 380; // #define KEY_FULL_SCREEN 372 + = 381; // #define KEY_MODE 373 + = 382; // #define KEY_KEYBOARD 374 + = 383; // #define KEY_ASPECT_RATIO 375 + = 384; // #define KEY_PC 376 + = 385; // #define KEY_TV 377 + = 386; // #define KEY_TV2 378 + = 387; // #define KEY_VCR 379 + = 388; // #define KEY_VCR2 380 + = 389; // #define KEY_SAT 381 + = 390; // #define KEY_SAT2 382 + = 391; // #define KEY_CD 383 + = 392; // #define KEY_TAPE 384 + = 393; // #define KEY_RADIO 385 + = 394; // #define KEY_TUNER 386 + = 395; // #define KEY_PLAYER 387 + = 396; // #define KEY_TEXT 388 + = 397; // #define KEY_DVD 389 + = 398; // #define KEY_AUX 390 + = 399; // #define KEY_MP3 391 + = 400; // #define KEY_AUDIO 392 + = 401; // #define KEY_VIDEO 393 + = 402; // #define KEY_DIRECTORY 394 + = 403; // #define KEY_LIST 395 + = 404; // #define KEY_MEMO 396 + = 405; // #define KEY_CALENDAR 397 + = 406; // #define KEY_RED 398 + = 407; // #define KEY_GREEN 399 + = 408; // #define KEY_YELLOW 400 + = 409; // #define KEY_BLUE 401 + = 410; // #define KEY_CHANNELUP 402 + = 411; // #define KEY_CHANNELDOWN 403 + = 412; // #define KEY_FIRST 404 + = 413; // #define KEY_LAST 405 + = 414; // #define KEY_AB 406 + = 415; // #define KEY_NEXT 407 + = 416; // #define KEY_RESTART 408 + = 417; // #define KEY_SLOW 409 + = 418; // #define KEY_SHUFFLE 410 + = 419; // #define KEY_BREAK 411 + = 420; // #define KEY_PREVIOUS 412 + = 421; // #define KEY_DIGITS 413 + = 422; // #define KEY_TEEN 414 + = 423; // #define KEY_TWEN 415 + = 424; // #define KEY_VIDEOPHONE 416 + = 425; // #define KEY_GAMES 417 + = 426; // #define KEY_ZOOMIN 418 + = 427; // #define KEY_ZOOMOUT 419 + = 428; // #define KEY_ZOOMRESET 420 + = 429; // #define KEY_WORDPROCESSOR 421 + = 430; // #define KEY_EDITOR 422 + = 431; // #define KEY_SPREADSHEET 423 + = 432; // #define KEY_GRAPHICSEDITOR 424 + = 433; // #define KEY_PRESENTATION 425 + = 434; // #define KEY_DATABASE 426 + = 435; // #define KEY_NEWS 427 + = 436; // #define KEY_VOICEMAIL 428 + = 437; // #define KEY_ADDRESSBOOK 429 + = 438; // #define KEY_MESSENGER 430 + = 439; // #define KEY_DISPLAYTOGGLE 431 + = 440; // #define KEY_SPELLCHECK 432 + = 441; // #define KEY_LOGOFF 433 + = 442; // #define KEY_DOLLAR 434 + = 443; // #define KEY_EURO 435 + = 444; // #define KEY_FRAMEBACK 436 + = 445; // #define KEY_FRAMEFORWARD 437 + = 446; // #define KEY_CONTEXT_MENU 438 + = 447; // #define KEY_MEDIA_REPEAT 439 + = 448; // #define KEY_10CHANNELSUP 440 + = 449; // #define KEY_10CHANNELSDOWN 441 + = 450; // #define KEY_IMAGES 442 + = 452; // #define KEY_NOTIFICATION_CENTER 444 + = 453; // #define KEY_PICKUP_PHONE 445 + = 454; // #define KEY_HANGUP_PHONE 446 + = 456; // #define KEY_DEL_EOL 448 + = 457; // #define KEY_DEL_EOS 449 + = 458; // #define KEY_INS_LINE 450 + = 459; // #define KEY_DEL_LINE 451 + = 472; // #define KEY_FN 464 + = 473; // #define KEY_FN_ESC 465 + = 474; // #define KEY_FN_F1 466 + = 475; // #define KEY_FN_F2 467 + = 476; // #define KEY_FN_F3 468 + = 477; // #define KEY_FN_F4 469 + = 478; // #define KEY_FN_F5 470 + = 479; // #define KEY_FN_F6 471 + = 480; // #define KEY_FN_F7 472 + = 481; // #define KEY_FN_F8 473 + = 482; // #define KEY_FN_F9 474 + = 483; // #define KEY_FN_F10 475 + = 484; // #define KEY_FN_F11 476 + = 485; // #define KEY_FN_F12 477 + = 486; // #define KEY_FN_1 478 + = 487; // #define KEY_FN_2 479 + = 488; // #define KEY_FN_D 480 + = 489; // #define KEY_FN_E 481 + = 490; // #define KEY_FN_F 482 + = 491; // #define KEY_FN_S 483 + = 492; // #define KEY_FN_B 484 + = 493; // #define KEY_FN_RIGHT_SHIFT 485 + = 505; // #define KEY_BRL_DOT1 497 + = 506; // #define KEY_BRL_DOT2 498 + = 507; // #define KEY_BRL_DOT3 499 + = 508; // #define KEY_BRL_DOT4 500 + = 509; // #define KEY_BRL_DOT5 501 + = 510; // #define KEY_BRL_DOT6 502 + = 511; // #define KEY_BRL_DOT7 503 + = 512; // #define KEY_BRL_DOT8 504 + = 513; // #define KEY_BRL_DOT9 505 + = 514; // #define KEY_BRL_DOT10 506 + = 520; // #define KEY_NUMERIC_0 512 + = 521; // #define KEY_NUMERIC_1 513 + = 522; // #define KEY_NUMERIC_2 514 + = 523; // #define KEY_NUMERIC_3 515 + = 524; // #define KEY_NUMERIC_4 516 + = 525; // #define KEY_NUMERIC_5 517 + = 526; // #define KEY_NUMERIC_6 518 + = 527; // #define KEY_NUMERIC_7 519 + = 528; // #define KEY_NUMERIC_8 520 + = 529; // #define KEY_NUMERIC_9 521 + = 530; // #define KEY_NUMERIC_STAR 522 + = 531; // #define KEY_NUMERIC_POUND 523 + = 532; // #define KEY_NUMERIC_A 524 + = 533; // #define KEY_NUMERIC_B 525 + = 534; // #define KEY_NUMERIC_C 526 + = 535; // #define KEY_NUMERIC_D 527 + = 536; // #define KEY_CAMERA_FOCUS 528 + = 537; // #define KEY_WPS_BUTTON 529 + = 538; // #define KEY_TOUCHPAD_TOGGLE 530 + = 539; // #define KEY_TOUCHPAD_ON 531 + = 540; // #define KEY_TOUCHPAD_OFF 532 + = 541; // #define KEY_CAMERA_ZOOMIN 533 + = 542; // #define KEY_CAMERA_ZOOMOUT 534 + = 543; // #define KEY_CAMERA_UP 535 + = 544; // #define KEY_CAMERA_DOWN 536 + = 545; // #define KEY_CAMERA_LEFT 537 + = 546; // #define KEY_CAMERA_RIGHT 538 + = 547; // #define KEY_ATTENDANT_ON 539 + = 548; // #define KEY_ATTENDANT_OFF 540 + = 549; // #define KEY_ATTENDANT_TOGGLE 541 + = 550; // #define KEY_LIGHTS_TOGGLE 542 + = 568; // #define KEY_ALS_TOGGLE 560 + = 569; // #define KEY_ROTATE_LOCK_TOGGLE 561 + = 584; // #define KEY_BUTTONCONFIG 576 + = 585; // #define KEY_TASKMANAGER 577 + = 586; // #define KEY_JOURNAL 578 + = 587; // #define KEY_CONTROLPANEL 579 + = 588; // #define KEY_APPSELECT 580 + = 589; // #define KEY_SCREENSAVER 581 + = 590; // #define KEY_VOICECOMMAND 582 + = 591; // #define KEY_ASSISTANT 583 + = 592; // #define KEY_KBD_LAYOUT_NEXT 584 + = 600; // #define KEY_BRIGHTNESS_MIN 592 + = 601; // #define KEY_BRIGHTNESS_MAX 593 + = 616; // #define KEY_KBDINPUTASSIST_PREV 608 + = 617; // #define KEY_KBDINPUTASSIST_NEXT 609 + = 618; // #define KEY_KBDINPUTASSIST_PREVGROUP 610 + = 619; // #define KEY_KBDINPUTASSIST_NEXTGROUP 611 + = 620; // #define KEY_KBDINPUTASSIST_ACCEPT 612 + = 621; // #define KEY_KBDINPUTASSIST_CANCEL 613 + = 622; // #define KEY_RIGHT_UP 614 + = 623; // #define KEY_RIGHT_DOWN 615 + = 624; // #define KEY_LEFT_UP 616 + = 625; // #define KEY_LEFT_DOWN 617 + = 626; // #define KEY_ROOT_MENU 618 + = 627; // #define KEY_MEDIA_TOP_MENU 619 + = 628; // #define KEY_NUMERIC_11 620 + = 629; // #define KEY_NUMERIC_12 621 + = 630; // #define KEY_AUDIO_DESC 622 + = 631; // #define KEY_3D_MODE 623 + = 632; // #define KEY_NEXT_FAVORITE 624 + = 633; // #define KEY_STOP_RECORD 625 + = 634; // #define KEY_PAUSE_RECORD 626 + = 635; // #define KEY_VOD 627 + = 636; // #define KEY_UNMUTE 628 + = 637; // #define KEY_FASTREVERSE 629 + = 638; // #define KEY_SLOWREVERSE 630 + = 639; // #define KEY_DATA 631 + = 640; // #define KEY_ONSCREEN_KEYBOARD 632 + = 641; // #define KEY_PRIVACY_SCREEN_TOGGLE 633 + = 642; // #define KEY_SELECTIVE_SCREENSHOT 634 + = 664; // #define KEY_MACRO1 656 + = 665; // #define KEY_MACRO2 657 + = 666; // #define KEY_MACRO3 658 + = 667; // #define KEY_MACRO4 659 + = 668; // #define KEY_MACRO5 660 + = 669; // #define KEY_MACRO6 661 + = 670; // #define KEY_MACRO7 662 + = 671; // #define KEY_MACRO8 663 + = 672; // #define KEY_MACRO9 664 + = 673; // #define KEY_MACRO10 665 + = 674; // #define KEY_MACRO11 666 + = 675; // #define KEY_MACRO12 667 + = 676; // #define KEY_MACRO13 668 + = 677; // #define KEY_MACRO14 669 + = 678; // #define KEY_MACRO15 670 + = 679; // #define KEY_MACRO16 671 + = 680; // #define KEY_MACRO17 672 + = 681; // #define KEY_MACRO18 673 + = 682; // #define KEY_MACRO19 674 + = 683; // #define KEY_MACRO20 675 + = 684; // #define KEY_MACRO21 676 + = 685; // #define KEY_MACRO22 677 + = 686; // #define KEY_MACRO23 678 + = 687; // #define KEY_MACRO24 679 + = 688; // #define KEY_MACRO25 680 + = 689; // #define KEY_MACRO26 681 + = 690; // #define KEY_MACRO27 682 + = 691; // #define KEY_MACRO28 683 + = 692; // #define KEY_MACRO29 684 + = 693; // #define KEY_MACRO30 685 + = 696; // #define KEY_MACRO_RECORD_START 688 + = 697; // #define KEY_MACRO_RECORD_STOP 689 + = 698; // #define KEY_MACRO_PRESET_CYCLE 690 + = 699; // #define KEY_MACRO_PRESET1 691 + = 700; // #define KEY_MACRO_PRESET2 692 + = 701; // #define KEY_MACRO_PRESET3 693 + = 704; // #define KEY_KBD_LCD_MENU1 696 + = 705; // #define KEY_KBD_LCD_MENU2 697 + = 706; // #define KEY_KBD_LCD_MENU3 698 + = 707; // #define KEY_KBD_LCD_MENU4 699 + = 708; // #define KEY_KBD_LCD_MENU5 700 + // End of autogenerated key codes + + // Fake keycodes for virtual keys + = 92; + = 203; + = 204; + = 205; + = 206; + = 207; + + indicator 1 = "Caps Lock"; + indicator 2 = "Num Lock"; + indicator 3 = "Scroll Lock"; + indicator 4 = "Compose"; + indicator 5 = "Kana"; + indicator 6 = "Sleep"; + indicator 7 = "Suspend"; + indicator 8 = "Mute"; + indicator 9 = "Misc"; + indicator 10 = "Mail"; + indicator 11 = "Charging"; + + alias = ; + + // For Brazilian ABNT2 + alias = ; +}; diff --git a/xkbdata/keycodes/fujitsu b/xkbdata/keycodes/fujitsu new file mode 100644 index 0000000..ca259f8 --- /dev/null +++ b/xkbdata/keycodes/fujitsu @@ -0,0 +1,186 @@ +// +//Copyright 1996, 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. +// +default xkb_keycodes "138" { + + minimum= 8; + maximum= 255; + + = 37; + = 38; + = 39; + = 40; + = 41; + = 42; + = 43; + = 44; + = 45; + = 46; + = 47; + = 48; + = 49; + = 50; + = 51; + + = 61; + = 62; + = 63; + = 64; + = 65; + = 66; + = 67; + = 68; + = 69; + = 70; + = 71; + = 72; + = 73; + + = 84; + = 85; + = 86; + = 87; + = 88; + = 89; + = 90; + = 91; + = 92; + = 93; + = 94; + = 95; + = 96; + = 97; + + = 107; + = 108; + = 109; + = 110; + = 111; + = 112; + = 113; + = 114; + = 115; + = 116; + = 117; + = 52; + = 118; + + = 127; + = 27; + = 128; + = 125; + = 129; + = 10; + = 130; + = 23; + = 75; + = 119; + = 56; + + = 13; + = 14; + = 16; + = 18; + = 20; + = 22; + = 24; + = 25; + = 26; + = 15; + = 17; + = 19; + = 137; + = 138; + = 139; + = 140; + = 141; + = 142; + = 143; + = 144; + = 145; + = 146; + = 147; + = 148; + = 153; + = 154; + = 155; + = 156; + = 149; + = 150; + = 151; + = 152; + + = 34; + = 59; + = 81; + = 105; + = 126; + + = 9; + = 30; + = 21; + = 29; + + = 82; + = 83; + = 12; + = 35; + = 32; + = 36; + = 28; + = 74; + = 60; + = 33; + = 103; + = 57; + = 80; + = 11; + + = 55; + = 54; + = 133; + = 79; + + = 76; + = 77; + = 78; + = 53; + + = 99; + = 100; + = 101; + = 58; + + = 120; + = 121; + = 122; + = 98; + + = 102; + = 31; + + = 123; + = 124; +}; diff --git a/xkbdata/keycodes/hp b/xkbdata/keycodes/hp new file mode 100644 index 0000000..81983a0 --- /dev/null +++ b/xkbdata/keycodes/hp @@ -0,0 +1,270 @@ +// +//Copyright 1996, 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. +// +default xkb_keycodes "hp-101" { + + = 23; + = 31; + = 39; + = 47; + = 46; + = 55; + = 63; + = 70; + = 71; + = 79; + = 78; + = 87; + = 94; + = 111; + + = 22; + = 30; + = 38; + = 45; + = 54; + = 53; + = 62; + = 69; + = 76; + = 77; + = 86; + = 93; + = 100; + = 101; + + = 29; + = 37; + = 36; + = 44; + = 52; + = 61; + = 60; + = 68; + = 75; + = 84; + = 85; + = 91; + = 99; + + = 27; + = 35; + = 43; + = 42; + = 51; + = 59; + = 58; + = 67; + = 74; + = 82; + = 83; + = 98; + + = 26; + = 34; + = 50; + = 66; + = 97; + + = 17; + = 16; + = 24; + = 32; + = 40; + = 48; + = 56; + = 64; + = 72; + = 80; + = 88; + = 95; + = 103; + + = 96; + = 104; + = 107; + + = 112; + = 119; + = 120; + = 109; + = 110; + = 118; + + = 108; + = 106; + = 105; + = 115; + + = 127; + = 128; + = 135; + = 141; + + = 117; + = 126; + = 134; + = 133; + + = 116; + = 124; + = 125; + + = 114; + = 123; + = 131; + = 130; + + = 121; + = 122; + + indicator 1 = "Caps Lock"; + indicator 2 = "Num Lock"; + indicator 3 = "Scroll Lock"; +}; + +xkb_keycodes "hil" { + + = 71; + = 70; + = 69; + = 68; + = 67; + = 66; + = 65; + = 64; + = 96; + = 97; + = 98; + = 99; + = 100; + = 101; + + = 63; + = 62; + = 61; + = 60; + = 59; + = 58; + = 57; + = 56; + = 104; + = 105; + = 106; + = 107; + = 108; + = 109; + + = 55; + = 53; + = 52; + = 51; + = 50; + = 49; + = 48; + = 112; + = 113; + = 114; + = 115; + = 116; + = 117; + + = 13; + = 36; + = 35; + = 34; + = 33; + = 32; + = 128; + = 120; + = 121; + = 122; + = 123; + = 12; + + = 14; + = 11; + = 129; + = 10; + = 87; + + = 39; + = 15; + = 86; + = 84; + = 83; + = 82; + = 81; + = 80; + = 88; + = 89; + = 90; + = 91; + = 92; + = 45; + = 41; + = 43; + = 47; + = 94; + = 95; + + = 102; + = 103; + = 110; + = 111; + + = 118; + = 119; + = 127; + = 125; + + = 134; + = 132; + = 133; + = 135; + + = 25; + = 29; + = 27; + = 31; + + = 21; + = 17; + = 19; + = 23; + + = 16; + = 18; + = 20; + = 22; + + = 24; + = 26; + = 28; + = 46; + + = 30; + = 44; +}; diff --git a/xkbdata/keycodes/ibm b/xkbdata/keycodes/ibm new file mode 100644 index 0000000..9ebf058 --- /dev/null +++ b/xkbdata/keycodes/ibm @@ -0,0 +1,150 @@ +// +//Copyright 1996, 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. +// +xkb_keycodes "rs6k-101" { + + = 9; + = 10; + = 11; + = 12; + = 13; + = 14; + = 15; + = 16; + = 17; + = 18; + = 19; + = 20; + = 21; + = 23; + + = 24; + = 25; + = 26; + = 27; + = 28; + = 29; + = 30; + = 31; + = 32; + = 33; + = 34; + = 35; + = 36; + = 37; + + = 38; + = 39; + = 40; + = 41; + = 42; + = 43; + = 44; + = 45; + = 46; + = 47; + = 48; + = 49; + = 51; + + = 52; + = 54; + = 55; + = 56; + = 57; + = 58; + = 59; + = 60; + = 61; + = 62; + = 63; + = 65; + + = 66; + = 68; + = 69; + = 70; + = 72; + + = 118; + = 120; + = 121; + = 122; + = 123; + = 124; + = 125; + = 126; + = 127; + = 128; + = 129; + = 130; + = 131; + + = 132; + = 133; + = 134; + + = 83; + = 88; + = 93; + = 84; + = 89; + = 94; + + = 91; + = 87; + = 92; + = 97; + + = 98; + = 103; + = 108; + = 113; + + = 99; + = 104; + = 109; + = 114; + + = 100; + = 105; + = 110; + + = 101; + = 106; + = 111; + = 116; + + = 107; + = 112; + + indicator 1 = "Caps Lock"; + indicator 2 = "Num Lock"; + indicator 3 = "Scroll Lock"; +}; +xkb_keycodes "rs6k-102" { + include "ibm(rs6k-101)" + = 53; +}; diff --git a/xkbdata/keycodes/jolla b/xkbdata/keycodes/jolla new file mode 100644 index 0000000..1a4d6ac --- /dev/null +++ b/xkbdata/keycodes/jolla @@ -0,0 +1,10 @@ +default +xkb_keycodes "jolla" { + + // These keycodes are beyond the X11 255 limit value so it would + // only be valid for the use with SW which supports extended keycodes, + // like xkbcommon. + + = 264; // Jolla phone has the wired headset button sending this keycode + +}; diff --git a/xkbdata/keycodes/macintosh b/xkbdata/keycodes/macintosh new file mode 100644 index 0000000..4c76e5e --- /dev/null +++ b/xkbdata/keycodes/macintosh @@ -0,0 +1,208 @@ +// +//Copyright (c) 1996 X Consortium +// +//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 X CONSORTIUM 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 X Consortium 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 X Consortium. +// +// +default xkb_keycodes "macintosh" { + include "xfree86" + + = 182; + = 183; + = 184; + = 157; + +}; + +xkb_keycodes "old" { + + minimum= 8; + maximum= 255; + + = 61; + = 58; + = 26; + = 27; + = 28; + = 29; + = 31; + = 30; + = 34; + = 36; + = 33; + = 37; + = 35; + = 32; + = 59; + + = 56; + = 20; + = 21; + = 22; + = 23; + = 25; + = 24; + = 40; + = 42; + = 39; + = 43; + = 41; + = 38; + = 50; + + = 65; + = 8; + = 9; + = 10; + = 11; + = 13; + = 12; + = 46; + = 48; + = 45; + = 49; + = 47; + = 44; + + = 18; + = 14; + = 15; + = 16; + = 17; + = 19; + = 53; + = 54; + = 51; + = 55; + = 52; + + = 57; + + = 62; // Left Control + = 63; // Left Option + = 64; // Left Shift + = 66; // Left Command +// = 131; // Right Shift +// = 132; // Right Command +// = 133; // Right Control +// = 134; // Right Option + + = 130; + = 128; + = 107; + = 126; + = 104; + = 105; + = 106; + = 108; + = 109; + = 117; + = 111; + = 119; + + = 113; + = 115; + = 121; + + = 122; + = 123; + = 124; + = 125; + = 127; + = 129; + + = 70; + = 67; + = 69; + = 68; + + = 79; + = 89; + = 83; + = 75; + + = 97; + = 99; + = 100; + = 86; + + = 94; + = 95; + = 96; + = 77; + + = 91; + = 92; + = 93; + = 84; + + = 90; + = 73; + + indicator 3 = "Scroll Lock"; + indicator 2 = "Num Lock"; + indicator 1 = "Caps Lock"; + + alias = ; +}; + +xkb_keycodes "hhk" { + include "macintosh" + + = 51; + + = 49; + = 131; + = 129; + = 208; + + = 111; + = 78; + = 110; +}; + +// Aluminium Keyboards +xkb_keycodes "alukbd" { + include "xfree86" + + // Fkeys missing in xfree86 keycodes + = 129; + = 130; + + // Eject key that matches the geometry definition + alias = ; + + // Japanese keypad separator (KPSP in base, JPCM in evdev) + alias = ; +}; + +// Aluminium Keyboards JIS +// As of HID Usage Table v1.11, it seems there are no usages +// for keys EISU or KANA. JIS Aluminium Keyboards overcome +// this by outputting usages of keys Hanja and Hangul +xkb_keycodes "jisevdev" { + alias = ; // Switch to kana mode + alias = ; // Switch to alphanumeric mode +}; diff --git a/xkbdata/keycodes/olpc b/xkbdata/keycodes/olpc new file mode 100644 index 0000000..d8f1ff8 --- /dev/null +++ b/xkbdata/keycodes/olpc @@ -0,0 +1,24 @@ + +// OLPC's mechanical keyboard moves several keys to the AA row. make +// them easier to write symbol files naturally. + +// see http://wiki.laptop.org/go/OLPC_English_Non-membrane_Keyboard +// and http://wiki.laptop.org/go/OLPC_Spanish_Non-membrane_Keyboard + +default +xkb_keycodes "olpc" { + + alias = ; // many OLPC keyboards don't put tilde there + alias = ; // on model olpc, physical position of BKSL + +}; + +default +xkb_keycodes "olpcm" { + + alias = ; // many OLPC keyboards don't put tilde there + alias = ; // on model olpcm, new physical position of BKSL + alias = ; // on model olpcm, new physical position of =+ + alias = ; // on model olpcm, new physical position of '" + +}; diff --git a/xkbdata/keycodes/sgi_vndr/indigo b/xkbdata/keycodes/sgi_vndr/indigo new file mode 100644 index 0000000..1ce551d --- /dev/null +++ b/xkbdata/keycodes/sgi_vndr/indigo @@ -0,0 +1,139 @@ +default xkb_keycodes "pc101" { + minimum= 8; + maximum= 255; + + = 62; + = 15; + = 21; + = 22; + = 29; + = 30; + = 37; + = 38; + = 45; + = 46; + = 53; + = 54; + = 61; + = 68; + + = 16; + = 17; + = 23; + = 24; + = 31; + = 32; + = 39; + = 40; + = 47; + = 48; + = 55; + = 56; + = 63; + = 58; + + = 11; + = 18; + = 19; + = 25; + = 26; + = 33; + = 34; + = 41; + = 42; + = 49; + = 50; + = 57; + + = 13; + = 27; + = 28; + = 35; + = 36; + = 43; + = 44; + = 51; + = 52; + = 59; + = 60; + = 12; + = 64; + + = 91; + = 10; + = 90; + = 93; + = 92; + + = 14; + = 94; + = 95; + = 96; + = 97; + = 98; + = 99; + = 100; + = 101; + = 102; + = 103; + = 104; + = 105; + + = 106; + = 107; + = 108; + + = 109; + = 110; + = 111; + = 69; + = 112; + = 113; + + = 88; + = 80; + = 81; + = 87; + + = 114; + = 115; + = 116; + = 83; + + = 74; + = 75; + = 82; + = 117; + + = 70; + = 76; + = 77; + + = 65; + = 71; + = 72; + = 89; + + = 66; + = 73; + + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + + virtual indicator 1 = "L1"; + virtual indicator 2 = "L2"; + virtual indicator 3 = "L3"; + virtual indicator 4 = "L4"; + indicator 5 = "Caps Lock"; + indicator 6 = "Num Lock"; + indicator 7 = "Scroll Lock"; +}; +xkb_keycodes "pc102" { + include "sgi_vndr/indigo(pc101)" + = 118; +}; diff --git a/xkbdata/keycodes/sgi_vndr/indy b/xkbdata/keycodes/sgi_vndr/indy new file mode 100644 index 0000000..55cb189 --- /dev/null +++ b/xkbdata/keycodes/sgi_vndr/indy @@ -0,0 +1,202 @@ +default xkb_keycodes "universal" { + minimum= 8; + maximum= 255; + include "sgi_vndr/indy(pc105)" + alternate = 91; + alternate = 100; + alternate = 101; +}; +xkb_keycodes "pc101" { + minimum= 8; + maximum= 255; + + = 22; + = 30; + = 38; + = 46; + = 45; + = 54; + = 62; + = 69; + = 70; + = 78; + = 77; + = 86; + = 93; + = 110; + + = 21; + = 29; + = 37; + = 44; + = 53; + = 52; + = 61; + = 68; + = 75; + = 76; + = 85; + = 92; + = 99; + = 98; + + = 28; + = 36; + = 35; + = 43; + = 51; + = 60; + = 59; + = 67; + = 74; + = 83; + = 84; + = 90; + + = 26; + = 34; + = 42; + = 41; + = 50; + = 58; + = 57; + = 66; + = 73; + = 81; + = 82; + = 97; + = 100; + + = 33; + = 25; + = 49; + = 96; + = 65; + + = 16; + = 15; + = 23; + = 31; + = 39; + = 47; + = 55; + = 63; + = 71; + = 79; + = 87; + = 94; + = 102; + + = 95; + = 103; + = 106; + + = 111; + = 118; + = 119; + = 108; + = 109; + = 117; + + = 107; + = 105; + = 104; + = 114; + + = 126; + = 127; + = 134; + = 140; + + = 116; + = 125; + = 133; + = 132; + + = 115; + = 123; + = 124; + + = 113; + = 122; + = 130; + = 129; + + = 120; + = 121; + + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + + virtual indicator 1 = "L1"; + virtual indicator 2 = "L2"; + virtual indicator 3 = "L3"; + virtual indicator 4 = "L4"; + indicator 5 = "Caps Lock"; + indicator 6 = "Num Lock"; + indicator 7 = "Scroll Lock"; + +}; +xkb_keycodes "pc102" { + = 91; + = 27; + augment "sgi_vndr/indy(pc101)" + maximum= 255; + minimum= 8; +}; +xkb_keycodes "pc104" { + include "sgi_vndr/indy(pc101)" + minimum= 8; + maximum= 255; + + // These key names are here to support so-called "Windows95" + // keyboards like the Microsoft Natural keyboard. + = 147; + = 148; + = 149; +}; +xkb_keycodes "pc105" { + = 27; + augment "sgi_vndr/indy(pc104)" + minimum= 8; + maximum= 255; +}; +xkb_keycodes "jp106" { + = 22; + = 89; + = 91; + = 141; + = 142; + = 143; + alias = ; + alias = ; + alias = ; + augment "sgi_vndr/indy(pc101)" + minimum= 8; + maximum= 255; +}; +// can be combined with any other "indy" keycode +// description to add virtual keys which can be +// used to implement an overlay-based numeric +// keypad. +partial hidden xkb_keycodes "overlayKeypad" { + = 17; + = 18; + = 19; + = 146; + = 145; + = 144; + = 136; + = 137; + = 138; + = 135; + = 139; +}; +partial hidden xkb_keycodes "shiftLock" { + indicator 5 = "Shift Lock"; +}; diff --git a/xkbdata/keycodes/sgi_vndr/iris b/xkbdata/keycodes/sgi_vndr/iris new file mode 100644 index 0000000..0473347 --- /dev/null +++ b/xkbdata/keycodes/sgi_vndr/iris @@ -0,0 +1,10 @@ +default xkb_keycodes "iris" { + include "sgi_vndr/indigo(pc101)" + indicator 1 = "L1"; + indicator 2 = "L2"; + indicator 3 = "L3"; + indicator 4 = "L4"; + indicator 5 = "Caps Lock"; + indicator 6 = "Num Lock"; + indicator 7 = "Scroll Lock"; +}; diff --git a/xkbdata/keycodes/sony b/xkbdata/keycodes/sony new file mode 100644 index 0000000..5c03471 --- /dev/null +++ b/xkbdata/keycodes/sony @@ -0,0 +1,141 @@ +// +//Copyright 1996, 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. +// +xkb_keycodes "nwp5461" { + + = 18; + = 19; + = 20; + = 21; + = 22; + = 23; + = 24; + = 25; + = 26; + = 27; + = 28; + = 29; + = 30; + = 31; + = 32; + + = 33; + = 34; + = 35; + = 36; + = 37; + = 38; + = 39; + = 40; + = 41; + = 42; + = 43; + = 44; + = 45; + = 46; + + = 47; + = 48; + = 49; + = 50; + = 51; + = 52; + = 53; + = 54; + = 55; + = 56; + = 57; + = 58; + = 59; + = 60; + + = 61; + = 62; + = 63; + = 64; + = 65; + = 66; + = 67; + = 68; + = 69; + = 70; + = 71; + = 72; + = 73; + + = 74; + = 75; + = 76; + = 77; + = 78; + = 81; + + = 8; + = 9; + = 10; + = 11; + = 12; + = 13; + = 14; + = 15; + = 16; + = 17; + = 111; + = 112; + + = 113; + = 114; + = 115; + = 116; + = 117; + + = 109; + = 95; + = 98; + = 99; + = 100; + + = 107; + = 108; + = 89; + + = 82; + = 83; + = 84; + = 85; + + = 86; + = 87; + = 88; + = 93; + + = 90; + = 91; + = 92; + = 97; + + = 94; + = 96; +}; diff --git a/xkbdata/keycodes/sun b/xkbdata/keycodes/sun new file mode 100644 index 0000000..5a9d210 --- /dev/null +++ b/xkbdata/keycodes/sun @@ -0,0 +1,246 @@ +// Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved. +// +//Copyright 1996, 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. +// + +xkb_keycodes "type6" { + + minimum= 8; + maximum= 132; + + = 36; + = 37; + = 38; + = 39; + = 40; + = 41; + = 42; + = 43; + = 44; + = 45; + = 46; + = 47; + = 48; + = 49; + = 50; + + = 60; + = 61; + = 62; + = 63; + = 64; + = 65; + = 66; + = 67; + = 68; + = 69; + = 70; + = 71; + = 72; + = 73; + = 74; + = 20; + alias = ; + + = 83; + = 84; + = 85; + = 86; + = 87; + = 88; + = 89; + = 90; + = 91; + = 92; + = 93; + = 94; + = 95; + = 96; + + = 106; + = 107; + = 108; + = 109; + = 110; + = 111; + = 112; + = 113; + = 114; + = 115; + = 116; + = 117; + + = 26; + = 126; + = 127; + = 128; + = 129; + + = 12; + = 13; + = 15; + = 17; + = 19; + = 21; + = 23; + = 24; + = 25; + = 14; + = 16; + = 18; + = 8; + = 10; + = 32; + = 33; + = 56; + = 58; + = 79; + = 80; + = 102; + = 104; + + = 29; + = 30; + = 28; + + = 105; + = 53; + = 54; + = 78; + + = 75; + = 76; + = 77; + = 132; + + = 98; + = 99; + = 100; + + = 119; + = 120; + = 121; + = 97; + + = 101; + = 57; + + = 27; + = 31; + = 34; + = 35; + + = 51; + = 59; + = 81; + = 103; + = 130; + = 125; + + = 52; + = 9; + = 11; + = 55; + indicator 4 = "Caps Lock"; + indicator 3 = "Compose"; + indicator 2 = "Scroll Lock"; + indicator 1 = "Num Lock"; +}; + + +xkb_keycodes "type6tuv" { + include "sun(type6)" + = 131; +}; + +xkb_keycodes "type6_jp" { + include "sun(type6)" + = 122; + = 123; + = 124; + = 118; +}; + +xkb_keycodes "type6_euro" { + include "sun(type6)" + = 131; +}; + +xkb_keycodes "type6unix" { + include "sun(type6)" +}; + +// Even though this is labeled as _usb, I verified these keycodes as accurate +// on my type5 serial and type6 serial keyboards as well on linux-2.6 boxes. +// I'm not sure where the "type6" keycodes above are coming from... +default xkb_keycodes "type6_usb" { + include "xfree86" + +// = 232; +// = 133; +// = 134; +// = 135; +// = 140; +// = 248; +// = 191; +// = 192; +// = 122; +// = 188; + + // = 245; + + // The blank has keycode 239 on my type6 serial kb, but 134 on + // my type6 usb keyboard (same as ) +// = 239; + + // AltGr + PrScr actually sends a different keycode +// = 92; + +// = 160; +// = 174; +// = 176; +// = 222; + + = 155; + = 160; + = 235; + + indicator 4 = "Compose"; +}; + +xkb_keycodes "type6tuv_usb" { + include "sun(type6_usb)" +// = 94; +// = 51; +}; + +xkb_keycodes "type6_jp_usb" { + include "sun(type6_usb)" + alias = ; // 123 + alias = ; // 131 + alias = ; // 129 + alias = ; // 208 + indicator 5 = "Kana"; +}; diff --git a/xkbdata/keycodes/xfree86 b/xkbdata/keycodes/xfree86 new file mode 100644 index 0000000..47dc893 --- /dev/null +++ b/xkbdata/keycodes/xfree86 @@ -0,0 +1,410 @@ +// "standard" XFree86 codes +// It seems that the "default" must be the first entry in the file. + +default xkb_keycodes "xfree86" { + include "xfree86(basic)" + = 51; + alias = ; + = 94; +}; + +xkb_keycodes "basic" { + + minimum= 8; + maximum= 255; + + = 49; + alias = ; // Some geometries use AE00 + = 10; + = 11; + = 12; + = 13; + = 14; + = 15; + = 16; + = 17; + = 18; + = 19; + = 20; + = 21; + = 22; + + = 23; + = 24; + = 25; + = 26; + = 27; + = 28; + = 29; + = 30; + = 31; + = 32; + = 33; + = 34; + = 35; + = 36; + + = 66; + = 38; + = 39; + = 40; + = 41; + = 42; + = 43; + = 44; + = 45; + = 46; + = 47; + = 48; + + = 50; + = 52; + = 53; + = 54; + = 55; + = 56; + = 57; + = 58; + = 59; + = 60; + = 61; + = 62; + + = 64; + = 37; + = 65; + = 109; + = 113; + // Microsoft keyboard extra keys + = 115; + = 116; + = 117; + + = 9; + = 67; + = 68; + = 69; + = 70; + = 71; + = 72; + = 73; + = 74; + = 75; + = 76; + = 95; + = 96; + + = 111; + = 92; + = 78; + = 110; + = 114; + + = 106; + = 97; + = 99; + = 107; + = 103; + = 105; + + = 98; + = 100; + = 104; + = 102; + + = 77; + = 112; + = 63; + = 82; + + = 79; + = 80; + = 81; + = 86; + + = 83; + = 84; + = 85; + + = 87; + = 88; + = 89; + = 108; + + = 90; + = 91; + = 126; + + = 118; + = 119; + = 120; + = 121; + = 122; + = 123; + + // Keys that are generated on Japanese keyboards + + alias = ; // Hankaku_Zenkaku toggle + = 208; // Hiragana_Katakana toggle + = 211; // backslash/underscore + = 129; // Henkan + = 131; // Muhenkan + = 133; // Yen + = 210; // Alphanumeric mode on macintosh + = 209; // Kana mode on macintosh + + // Keys that are generated on Korean keyboards + + alias = ; // Hangul Latin toggle + alias = ; // Hangul to Hanja conversion + + // Extended keys that may be generated on "Internet" keyboards. + // These are not standardised, hence the meaningless names. + // The entries commented out are never generated because the raw codes + // in those positions are already used for well-defined keys. + + = 130; + = 132; + alias = ; + = 134; + = 135; + = 136; + = 137; + = 138; + = 139; + = 140; + = 141; + = 142; + = 143; + = 144; + = 145; + = 146; + = 147; + = 148; + = 149; + = 150; + = 151; + = 152; + = 153; + = 154; + = 155; + // = 156; + // = 157; + = 158; + = 159; + = 160; + = 161; + = 162; + = 163; + = 164; + = 165; + = 166; + = 167; + = 168; + = 169; + // = 170; + = 171; + = 172; + = 173; + = 174; + = 175; + = 176; + = 177; + = 178; + = 179; + = 180; + // = 181; + // = 182; + // = 183; + // = 184; + = 185; + = 186; + = 187; + = 188; + // = 189; + // = 190; + // = 191; + // = 192; + // = 193; + = 194; + = 195; + = 196; + = 197; + // = 198; + // = 199; + // = 200; + // = 201; + = 202; + // = 203; + // = 204; + // = 205; + // = 206; + // = 207; + // = 208; + // = 209; + // = 210; + // = 211; + = 212; + = 213; + = 214; + = 215; + = 216; + = 217; + = 218; + // = 219; + // = 220; + // = 221; + = 222; + = 223; + = 224; + = 225; + = 226; + = 227; + = 228; + = 229; + = 230; + = 231; + = 232; + = 233; + = 234; + = 235; + = 236; + = 237; + = 238; + = 239; + = 240; + = 241; + = 242; + = 243; + = 244; + = 245; + = 246; + = 247; + = 248; + = 249; + = 250; + = 251; + = 252; + alias = ; + = 253; + alias = ; + = 254; + = 255; + + // MacBooks generate 0x65 for the lower brightness key + = 101; + + // Required for apple/logitech_g15 keyboard + = 93; + + // Codes generated for scancodes 0x59-0x5f, 0x62-0x76 + = 157; // + = 170; // + = 181; // + alias = ; + = 182; // + = 183; // + = 184; // + = 189; // + = 190; // + = 191; // + = 192; // + = 193; // + = 198; // + = 199; // + = 200; // + = 201; // + = 203; // + = 204; // + = 205; // + = 206; // + = 207; // + alias = ; // + alias = ; // + alias = ; // + alias = ; // + = 219; // + = 220; // + = 221; // + + // Solaris compatibility + + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + alias = ; + + // Other codes never generated. The XFree86 ddx never generates + // these codes. + // Thus we can use them as fake keys + = 8; + = 124; // + = 125; // + = 156; // + = 127; // + = 128; // + + indicator 1 = "Caps Lock"; + indicator 2 = "Num Lock"; + indicator 3 = "Scroll Lock"; + + alias = ; + + // For Brazilian ABNT2 + alias = ; +}; + +// What keyboard is this? + +xkb_keycodes "102" { + include "xfree86(xfree86)" + + // There will be warnings from xkbcomp because of multiple definitions. + + = 122; + = 123; + + = 121; + = 118; + + = 131; + = 135; + = 119; + = 129; + = 130; + = 134; + + = 128; + = 132; + = 120; + = 133; + + = 125; + + = 124; +}; + + +// IBM ThinkPad Z60m/Z60t/Z61m/Z61t +xkb_keycodes "thinkpadz60" { + include "xfree86(xfree86)" + = 227; +}; diff --git a/xkbdata/keycodes/xfree98 b/xkbdata/keycodes/xfree98 new file mode 100644 index 0000000..734573a --- /dev/null +++ b/xkbdata/keycodes/xfree98 @@ -0,0 +1,152 @@ +// +//Copyright 1996, 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. +// +// +default xkb_keycodes "pc98" { + + minimum= 8; + maximum= 255; + + = 8; + = 9; + = 10; + = 11; + = 12; + = 13; + = 14; + = 15; + = 16; + = 17; + = 18; + = 19; + = 20; + = 21; + = 22; + + = 23; + = 24; + = 25; + = 26; + = 27; + = 28; + = 29; + = 30; + = 31; + = 32; + = 33; + = 34; + = 35; + = 36; + + = 124; + = 121; + = 37; + = 38; + = 39; + = 40; + = 41; + = 42; + = 43; + = 44; + = 45; + = 46; + = 47; + = 48; + + = 120; + = 49; + = 50; + = 51; + = 52; + = 53; + = 54; + = 55; + = 56; + = 57; + = 58; + = 59; + + = 122; + = 123; + = 89; + = 60; + = 61; + + = 104; + = 105; + = 106; + = 107; + = 108; + = 109; + = 110; + = 111; + = 112; + = 113; + = 114; + = 115; + = 90; + = 91; + = 92; + = 93; + = 94; + + + = 64; + = 65; + = 63; + = 62; + = 66; + = 67; + = 68; + = 69; + + = 70; + = 71; + + = 72; + = 73; + + = 74; + = 75; + = 76; + = 77; + + = 78; + = 79; + = 80; + = 81; + + = 82; + = 83; + = 84; + = 85; + + = 86; + = 87; + = 88; + + indicator 1 = "Caps Lock"; + indicator 2 = "Kana"; +}; diff --git a/xkbdata/rules/README b/xkbdata/rules/README new file mode 100644 index 0000000..bcf19ce --- /dev/null +++ b/xkbdata/rules/README @@ -0,0 +1,2 @@ +This directory lists sets of rules which can be used to obtain an exact XKB +configuration. diff --git a/xkbdata/rules/base b/xkbdata/rules/base new file mode 100644 index 0000000..db9e5e1 --- /dev/null +++ b/xkbdata/rules/base @@ -0,0 +1,1295 @@ +// DO NOT EDIT THIS FILE - IT WAS AUTOGENERATED BY merge.py FROM rules/*.part +// +// +// Rules for resolving XKB components for use with XFree86 +// Copyright 1996 by Joseph Moss +// +// 2002 Modifier: Ivan Pascal The XFree86 Project +// + +// If you want non-latin layouts to implicitly include the en_US layout, +// then uncomment the following lines: +//! $nonlatin = af am ara bd bg bt by eg et ge gn gr id il in ir \ +// jp jv kg kh kr kz la lk ma me mk mm mn mv my \ +// pk rs ru sy th tj tz ua uz + +// PC models +! $pcmodels = pc86 pc101 pc102 pc104 pc104alt pc105 + +// Jolla devices and keyboards +! $jollamodels = jollasbj + +// Microsoft models (using MS geometry) +! $msmodels = microsoft microsoft4000 microsoft7000 microsoftpro microsoftprousb microsoftprose microsoftsurface + +// Nokia devices and keyboards +! $nokiamodels = nokiasu8w nokiarx44 nokiarx51 + +// TypeMatrix geometries +! $tmgeometries = tm2020 tm2030PS2 tm2030USB tm2030USB-102 tm2030USB-106 + +// Layouts that provide further specializations for the OLPC +! $olpclayouts = af am ara br ca es et fr it kh kz in mn np ru th tr us + +! $macbooks = macbook78 macbook79 +! $maclaptop = ibook powerbook macbook78 macbook79 +! $applealu = applealu_ansi applealu_iso applealu_jis +! $macs = macintosh macintosh_old ibook powerbook macbook78 macbook79 + +! $macvendorlayouts = ch de dk fi fr gb is it latam nl no pt se us + +// The countries that predominantly have AZERTY or QWERTZ layouts: +! $azerty = be fr +! $qwertz = al ch cz de hr hu ro si sk + + +// All layouts with 3rd and 4th levels: +! $threelevellayouts = af al az \ + bd be bg br bt \ + ca ch cm cn cz \ + de dk dz \ + ee es eu \ + fi fo fr \ + gb ge gh gr \ + hr hu \ + ie il in ir is it \ + kh kz \ + latam \ + lk lt lv \ + ml mm mn mt \ + ng nl no \ + ph pk pl pt \ + ro rs \ + se si sk sn sy \ + tg tm tr tw \ + ua us \ + vn \ + za + +! $thinkpads = thinkpad thinkpad60 thinkpadz60 + +! $sun = sun_type6_jp sun_type6_usb sun_type6_euro_usb \ + sun_type6_jp_usb sun_type6_unix_usb sun_type7_jp_usb \ + sun_type7_usb sun_type7_euro_usb sun_type7_unix_usb + +! $sun_jp = sun_type6_jp sun_type6_jp_usb sun_type7_jp_usb + +// Sun Type_6_7 keyboards with custom layouts +! $sun_custom = ara be br ca ch cz de dk \ + ee es fi fr gb gr it jp \ + kr lt lv nl no pl pt ro \ + ru se sk tr tw ua us + +! $sun_var = sun_type6 sun_type6_suncompat sun_type6_de sun_type6_fr \ + sun_type7 sun_type7_suncompat suncompat + +! $sun_compat = sun_type6 sun_type6_suncompat sun_type7_suncompat suncompat + + +! $inetkbds = acer_c300 acer_ferrari4k acer_laptop \ + airkey \ + apple armada azonaRF2300 \ + benqx brother \ + btc5113rf btc9000 btc9000a btc9001ah btc5090 btc9019u \ + cherryblue cherrybluea cherryblueb \ + cherrycyboard cherrycmexpert \ + chicony chicony0108 chicony0420 chicony9885 \ + compalfl90 \ + compaqeak8 compaqik7 compaqik13 compaqik18 \ + creativedw7000 \ + cymotionlinux \ + dell dellm65 inspiron dellusbmm \ + emachines ennyah_dkb1008 evdev \ + genius geniuscomfy2 \ + gyration honeywell_euroboard \ + hp250x hp5xx hp500fa hpdv5 \ + hpi6 hpxe3gc hpxe3gf hpxe4xxx hpxt1000 hpzt11xx \ + ibm_spacesaver ipaq inspiron intel \ + logiaccess logicda logicink \ + logiex110 logiclx300 \ + logiinkse logiinkseusb logiitc logiik \ + logitech_base itouch logiultrax \ + logitech_g15 \ + logidinovo logidinovoedge \ + microsoft4000 microsoft7000 microsoftinet microsoftprousb microsoftprooem microsoftprose \ + microsoftoffice microsoftmult \ + mx1998 mx2500 mx2750 \ + oretec \ + pc105 \ + presario propeller \ + qtronix \ + rapidaccess rapidaccess2 thinkpad60 \ + samsung4500 samsung4510 \ + silvercrest \ + sk1300 sk2500 sk6200 sk7100 \ + sven sven303 symplon \ + teck227 teck229 \ + toshiba_s3000 trust trustda \ + unitekkb1925 yahoo \ + apex300 + +! $inetmediakbds = acer_ferrari4k acer_laptop btc5090 btc9019u cherryblueb \ + cherrybluea herrycyboard chicony042 compaqik13 compaqik18 \ + armada presario dellm65 inspiron dellusbmm diamond \ + ennyah_dkb1008 genius geniuscomfy2 hpi6 hpxe3gc hpxe3gf \ + hpxt1000 hpzt11xx hpdv5 hpxe4xxx hp5xx thinkpad60 ogitech_base \ + logidinovo logidinovoedge logitech_g15 mx1998 mx2500 mx2750 \ + microsoft4000 microsoft7000 microsoftprooem microsoftmult \ + propeller samsung4500 samsung4510 sk1300 sk2500 sk7100 \ + toshiba_s3000 trust trustda cymotionlinux silvercrest \ + emachines benqx unitekkb1925 creativedw7000 compalfl90 \ + pc105 a4techKB21 a4techKBS8 a4_rfkb23 asus_laptop btc6301urf \ + dexxa dtk2000 fscaa1667g geniuskb19e geniuscomfy latitude \ + microsoftpro precision_m scorpius sp_inet targa_v811 thinkpad \ + tm2030USB-102 tm2030USB-106 trust_slimline + +! $dvoraklayouts = br ca de ee es fr gb no pl se us + +! model = keycodes + amiga = amiga(de) + ataritt = ataritt(de) + empty = empty + $sun_jp = sun(type6_jp_usb) + $sun = sun(type6_usb) + pc98 = xfree98(pc98) + $applealu = macintosh(alukbd) + macintosh_hhk = macintosh(hhk) + macintosh_old = macintosh(old) + $macs = macintosh + thinkpadz60 = xfree86(thinkpadz60) + * = xfree86 + +! layout[1] = keycodes + $azerty = +aliases(azerty) + $qwertz = +aliases(qwertz) + * = +aliases(qwerty) + +! layout = keycodes + $azerty = +aliases(azerty) + $qwertz = +aliases(qwertz) + * = +aliases(qwerty) + +! option = keycodes + +! model layout = geometry + thinkpad us = thinkpad(us) + +! model = geometry + microsoftelite = microsoft(elite) + $msmodels = microsoft(natural) + dell101 = dell(dell101) + dellm65 = dell(dellm65) + latitude = dell(latitude) + flexpro = keytronic(FlexPro) + hp6000 = hp(omnibook) + hpmini110 = hp(mini110) + hpdv5 = hp(dv5) + omnikey101 = northgate(omnikey101) + sanwaskbkg3 = sanwa(sanwaskbkg3) + $pcmodels = pc(%m) + everex = everex(STEPnote) + thinkpad = thinkpad(intl) + thinkpad60 = thinkpad(60) + thinkpadz60 = thinkpad(60) + apex300 = steelseries(apex300) + $tmgeometries = typematrix(%m) + winbook = winbook(XP5) + pc98 = nec(pc98) + $applealu = macintosh(%m) + $macbooks = macintosh(%m) + $macs = macintosh(macintosh) + hhk = hhk(basic) + kinesis = kinesis(model100) + $nokiamodels = nokia(%m) + sun_type6_jp = sun(type6jp) + sun_type6_usb = sun(type6) + sun_type6_euro_usb = sun(type6tuv) + sun_type6_jp_usb = sun(type6jp) + sun_type6_unix_usb = sun(type6unix) + sun_type7_jp_usb = sun(type6jp) + sun_type7_usb = sun(type7) + sun_type7_euro_usb = sun(type7tuv) + sun_type7_unix_usb = sun(type7unix) + * = pc(pc104) + +! model layout variant = symbols + * ben basic = pc+in(ben) + * ben probhat = pc+in(ben_probhat) + * dev basic = pc+in(deva) + * dvorak $dvoraklayouts = pc+%v(dvorak) + * dvorak basic = pc+us(dvorak) + * dvorak pl_basic = pc+pl(dvorak) + * dvorak pl = pc+pl(dvorak_quotes) + * dvorak pl_altquotes = pc+pl(dvorak_altquotes) + * dzdwi basic = pc+bt(basic) + * fi basic = pc+fi(classic) + * ge azerty_tskapo = pc+fr(geo) + * guj basic = pc+in(guj) + * gur basic = pc+in(guru) + * ie laptop = pc+ie(basic) + * ie CloGaelachLaptop = pc+ie(CloGaelach) + * in urd = pc+in(urd-phonetic) + * iu basic = pc+ca(ike) + * lo basic = pc+la(basic) + * kan basic = pc+in(kan) + * mal basic = pc+in(mal) + * mal mlplusnum = pc+in(mal) + * ogham basic = pc+ie(ogam) + * ogham laptop = pc+ie(ogam) + * ogham is434 = pc+ie(ogam_is434) + * ogham is434laptop = pc+ie(ogam_is434) + * ori basic = pc+in(ori) + * ro de = pc+ro(winkeys) + * ro us = pc+ro(std) + * ro academic = pc+ro(std) + * ro std_comma = pc+ro(std) + * ro comma = pc+ro(basic) + * ru os = pc+ru(os_legacy) + * pk urd = pc+pk(urd-phonetic) + * sapmi basic = pc+no(smi) + * sapmi nodeadkeys = pc+no(smi_nodeadkeys) + * sapmi sefi = pc+fi(smi) + * sin phonetic-static = pc+in(sin_phonetic) + * syr basic = pc+sy(syc) + * syr phonetic = pc+sy(syc_phonetic) + * tam INSCRIPT = pc+in(tam) + * tam UNI = pc+in(tam_unicode) + * tam NUMERAL-KEYBOARD = pc+in(tam_keyboard_with_numerals) + * tam TAB = pc+in(tam_TAB) + * tam TSCII = pc+in(tam_TSCII) + * tel basic = pc+in(tel) + * yu basic = pc+srp(latin) + * yu unicode = pc+srp(latinunicode) + * yu yz = pc+srp(latinyz) + * yu unicodeyz = pc+srp(latinunicodeyz) + classmate us intl = pc+us(classmate-intl) + classmate us alt-intl = pc+us(classmate-alt-intl) + classmate us altgr-intl = pc+us(classmate-altgr-intl) + nokiarx51 cz qwerty = nokia_vndr/rx-51(cz_qwerty) + * $sun_custom $sun_var = pc+sun_vndr/%l%(v) + +! model layout = symbols + * ar = pc+ara + * ben = pc+in(ben) + * bs = pc+ba + * cs = pc+rs + * cz_qwerty = pc+cz(qwerty) + * dev = pc+in(deva) + * dvorak = pc+us(dvorak) + * dzdwi = pc+bt + * el = pc+gr + * en_US = pc+latin + * guj = pc+in(guj) + * gur = pc+in(guru) + * iu = pc+ca(ike) + * lo = pc+la + * kan = pc+in(kan) + * mi = pc+mao + * ogham = pc+ie(ogam) + * ori = pc+ie(ori) + * sapmi = pc+no(smi) + * sr = pc+srp + * syr = pc+sy(syc) + * tel = pc+in(tel) + * tml = pc+in(tam) + * yu = pc+srp + * fr-latin9 = pc+fr(latin9) + * us_intl = pc+us(alt-intl) + * ben(basic) = pc+in(ben) + * ben(probhat) = pc+in(ben_probhat) + * dev(basic) = pc+in(deva) + * dvorak($dvoraklayouts) = pc+%v(dvorak) + * dvorak(basic) = pc+us(dvorak) + * dvorak(pl_basic) = pc+pl(dvorak) + * dvorak(pl) = pc+pl(dvorak_quotes) + * dvorak(pl_altquotes) = pc+pl(dvorak_altquotes) + * dzdwi(basic) = pc+bt(basic) + * fi(basic) = pc+fi(classic) + * ge(azerty_tskapo) = pc+fr(geo) + * guj(basic) = pc+in(guj) + * gur(basic) = pc+in(guru) + * ie(laptop) = pc+ie(basic) + * ie(CloGaelachLaptop) = pc+ie(CloGaelach) + * in(urd) = pc+in(urd-phonetic) + * iu(basic) = pc+ca(ike) + * lo(basic) = pc+la(basic) + * kan(basic) = pc+in(kan) + * mal(basic) = pc+in(mal) + * mal(mlplusnum) = pc+in(mal) + * ogham(basic) = pc+ie(ogam) + * ogham(laptop) = pc+ie(ogam) + * ogham(is434) = pc+ie(ogam_is434) + * ogham(is434laptop) = pc+ie(ogam_is434) + * ori(basic) = pc+in(ori) + * ro(de) = pc+ro(winkeys) + * ro(us) = pc+ro(std) + * ro(academic) = pc+ro(std) + * ro(std_comma) = pc+ro(std) + * ro(comma) = pc+ro(basic) + * ru(os) = pc+ru(os_legacy) + * pk(urd) = pc+pk(urd-phonetic) + * sapmi(basic) = pc+no(smi) + * sapmi(nodeadkeys) = pc+no(smi_nodeadkeys) + * sapmi(sefi) = pc+fi(smi) + * sin(phonetic-static) = pc+in(sin_phonetic) + * syr(basic) = pc+sy(syc) + * syr(phonetic) = pc+sy(syc_phonetic) + * tam(INSCRIPT) = pc+in(tam) + * tam(UNI) = pc+in(tam_unicode) + * tam(NUMERAL-KEYBOARD) = pc+in(tam_keyboard_with_numerals) + * tam(TAB) = pc+in(tam_TAB) + * tam(TSCII) = pc+in(tam_TSCII) + * tel(basic) = pc+in(tel) + * yu(basic) = pc+srp(latin) + * yu(unicode) = pc+srp(latinunicode) + * yu(yz) = pc+srp(latinyz) + * yu(unicodeyz) = pc+srp(latinunicodeyz) + ataritt $nonlatin = xfree68_vndr/ataritt(us)+%l%(v):2 + ataritt * = xfree68_vndr/ataritt(us)+%l%(v) + amiga $nonlatin = xfree68_vndr/amiga(usa1)+%l%(v):2 + amiga * = xfree68_vndr/amiga(usa1)+%l%(v) + classmate us = pc+%l(classmate) + empty * = empty(basic) + * empty = empty(basic) + jollasbj $nonlatin = jolla_vndr/sbj(common)+us+%l%(v):2 + jollasbj * = jolla_vndr/sbj(common)+%l%(v) + $sun $sun_custom = pc+sun_vndr/%l%(v) + pc98 nec_vndr/jp = nec_vndr/jp(pc98) + macintosh_old us = macintosh_vndr/us(oldmac) + macintosh_old en_US = macintosh_vndr/us(oldmac) + macintosh_old $macvendorlayouts = macintosh_vndr/us(oldmac)+macintosh_vndr/%l%(v) + macintosh_old $nonlatin = macintosh_vndr/us(oldmac)+%l%(v):2 + macintosh_old * = macintosh_vndr/us(oldmac)+%l%(v) + applealu_jis jp = macintosh_vndr/apple(alukbd)+macintosh_vndr/jp(usmac)+macintosh_vndr/jp(mac):2 + applealu_jis * = macintosh_vndr/apple(alukbd)+%l%(v)+macintosh_vndr/jp(mac):2 + $applealu $macvendorlayouts = macintosh_vndr/apple(alukbd)+macintosh_vndr/%l%(v) + $applealu * = macintosh_vndr/apple(alukbd)+%l%(v) + $macs en_US = pc+macintosh_vndr/us(extended) + $macs $macvendorlayouts = pc+macintosh_vndr/%l%(v) + nokiarx44 * = nokia_vndr/rx-44(%l) + nokiarx51 cz(qwerty) = nokia_vndr/rx-51(common)+nokia_vndr/rx-51(cz_qwerty) + nokiarx51 * = nokia_vndr/rx-51(common)+nokia_vndr/rx-51(%l%_v) + nokiasu8w * = nokia_vndr/su-8w(%l) + olpc $olpclayouts = olpc+%l%(m) + olpc * = olpc+%l%(v) + olpcm $olpclayouts = olpc+%l%(m) + olpcm * = olpc+%l%(v) + $thinkpads br = pc+br(thinkpad) + sl-c3x00 * = pc+sharp_vndr/sl-c3x00(basic) + ws003sh * = pc+sharp_vndr/ws003sh(basic) + ws007sh * = pc+sharp_vndr/ws007sh(basic) + ws011sh * = pc+sharp_vndr/ws011sh(basic) + ws020sh * = pc+sharp_vndr/ws020sh(basic) + * $nonlatin = pc+us+%l%(v):2 + * * = pc+%l%(v) + +! model layout[1] = symbols + * ar = pc+ara%(v[1]) + * ben = pc+in(ben) + * bs = pc+ba%(v[1]) + * cs = pc+rs%(v[1]) + * cz_qwerty = pc+cz(qwerty) + * dev = pc+in(deva) + * dvorak = pc+us(dvorak) + * dzdwi = pc+bt%(v[1]) + * el = pc+gr%(v[1]) + * en_US = pc+latin%(v[1]) + * guj = pc+in(guj) + * gur = pc+in(guru) + * iu = pc+ca(ike) + * lo = pc+la%(v[1]) + * kan = pc+in(kan) + * mi = pc+mao%(v[1]) + * ogham = pc+ie(ogam) + * ori = pc+ie(ori) + * sapmi = pc+no(smi) + * sr = pc+srp%(v[1]) + * syr = pc+sy(syc) + * tel = pc+in(tel) + * tml = pc+in(tam) + * yu = pc+srp%(v[1]) + * fr-latin9 = pc+fr(latin9) + * us_intl = pc+us(alt-intl) + * ben(basic) = pc+in(ben) + * ben(probhat) = pc+in(ben_probhat) + * dev(basic) = pc+in(deva) + * dvorak($dvoraklayouts) = pc+%v(dvorak) + * dvorak(basic) = pc+us(dvorak) + * dvorak(pl_basic) = pc+pl(dvorak) + * dvorak(pl) = pc+pl(dvorak_quotes) + * dvorak(pl_altquotes) = pc+pl(dvorak_altquotes) + * dzdwi(basic) = pc+bt(basic) + * fi(basic) = pc+fi(classic) + * ge(azerty_tskapo) = pc+fr(geo) + * guj(basic) = pc+in(guj) + * gur(basic) = pc+in(guru) + * ie(laptop) = pc+ie(basic) + * ie(CloGaelachLaptop) = pc+ie(CloGaelach) + * in(urd) = pc+in(urd-phonetic) + * iu(basic) = pc+ca(ike) + * lo(basic) = pc+la(basic) + * kan(basic) = pc+in(kan) + * mal(basic) = pc+in(mal) + * mal(mlplusnum) = pc+in(mal) + * ogham(basic) = pc+ie(ogam) + * ogham(laptop) = pc+ie(ogam) + * ogham(is434) = pc+ie(ogam_is434) + * ogham(is434laptop) = pc+ie(ogam_is434) + * ori(basic) = pc+in(ori) + * ro(de) = pc+ro(winkeys) + * ro(us) = pc+ro(std) + * ro(academic) = pc+ro(std) + * ro(std_comma) = pc+ro(std) + * ro(comma) = pc+ro(basic) + * ru(os) = pc+ru(os_legacy) + * pk(urd) = pc+pk(urd-phonetic) + * sapmi(basic) = pc+no(smi) + * sapmi(nodeadkeys) = pc+no(smi_nodeadkeys) + * sapmi(sefi) = pc+fi(smi) + * sin(phonetic-static) = pc+in(sin_phonetic) + * syr(basic) = pc+sy(syc) + * syr(phonetic) = pc+sy(syc_phonetic) + * tam(INSCRIPT) = pc+in(tam) + * tam(UNI) = pc+in(tam_unicode) + * tam(NUMERAL-KEYBOARD) = pc+in(tam_keyboard_with_numerals) + * tam(TAB) = pc+in(tam_TAB) + * tam(TSCII) = pc+in(tam_TSCII) + * tel(basic) = pc+in(tel) + * yu(basic) = pc+srp(latin) + * yu(unicode) = pc+srp(latinunicode) + * yu(yz) = pc+srp(latinyz) + * yu(unicodeyz) = pc+srp(latinunicodeyz) + ataritt * = xfree68_vndr/ataritt(us)+%l[1]%(v[1]) + amiga * = xfree68_vndr/amiga(usa1)+%l[1]%(v[1]) + jollasbj * = jolla_vndr/sbj(common)+%l[1]%(v[1]) + $sun $sun_custom = pc+sun_vndr/%l[1]%(v[1]) + macintosh_old us = macintosh_vndr/us(oldmac) + macintosh_old $macvendorlayouts = macintosh_vndr/us(oldmac)+macintosh_vndr/%l[1]%(v[1]) + macintosh_old * = macintosh_vndr/us(oldmac)+%l[1]%(v[1]) + applealu_jis us = macintosh_vndr/apple(alukbd)+macintosh_vndr/jp(usmac) + $applealu $macvendorlayouts = macintosh_vndr/apple(alukbd)+macintosh_vndr/%l[1]%(v[1]) + $applealu * = macintosh_vndr/apple(alukbd)+%l[1]%(v[1]) + $macs $macvendorlayouts = pc+macintosh_vndr/%l[1]%(v[1]) + nokiarx51 cz(qwerty) = nokia_vndr/rx-51(common)+nokia_vndr/rx-51(cz_qwerty) + nokiarx51 * = nokia_vndr/rx-51(common)+nokia_vndr/rx-51(%l[1]%_v[1]) + $thinkpads br = pc+%l[1](thinkpad) + * * = pc+%l[1]%(v[1]) + +! model layout[1] variant[1] = symbols + * ben basic = pc+in(ben) + * ben probhat = pc+in(ben_probhat) + * dev basic = pc+in(deva) + * dvorak $dvoraklayouts = pc+%v(dvorak) + * dvorak basic = pc+us(dvorak) + * dvorak pl_basic = pc+pl(dvorak) + * dvorak pl = pc+pl(dvorak_quotes) + * dvorak pl_altquotes = pc+pl(dvorak_altquotes) + * dzdwi basic = pc+bt(basic) + * fi basic = pc+fi(classic) + * ge azerty_tskapo = pc+fr(geo) + * guj basic = pc+in(guj) + * gur basic = pc+in(guru) + * ie laptop = pc+ie(basic) + * ie CloGaelachLaptop = pc+ie(CloGaelach) + * in urd = pc+in(urd-phonetic) + * iu basic = pc+ca(ike) + * lo basic = pc+la(basic) + * kan basic = pc+in(kan) + * mal basic = pc+in(mal) + * mal mlplusnum = pc+in(mal) + * ogham basic = pc+ie(ogam) + * ogham laptop = pc+ie(ogam) + * ogham is434 = pc+ie(ogam_is434) + * ogham is434laptop = pc+ie(ogam_is434) + * ori basic = pc+in(ori) + * ro de = pc+ro(winkeys) + * ro us = pc+ro(std) + * ro academic = pc+ro(std) + * ro std_comma = pc+ro(std) + * ro comma = pc+ro(basic) + * ru os = pc+ru(os_legacy) + * pk urd = pc+pk(urd-phonetic) + * sapmi basic = pc+no(smi) + * sapmi nodeadkeys = pc+no(smi_nodeadkeys) + * sapmi sefi = pc+fi(smi) + * sin phonetic-static = pc+in(sin_phonetic) + * syr basic = pc+sy(syc) + * syr phonetic = pc+sy(syc_phonetic) + * tam INSCRIPT = pc+in(tam) + * tam UNI = pc+in(tam_unicode) + * tam NUMERAL-KEYBOARD = pc+in(tam_keyboard_with_numerals) + * tam TAB = pc+in(tam_TAB) + * tam TSCII = pc+in(tam_TSCII) + * tel basic = pc+in(tel) + * yu basic = pc+srp(latin) + * yu unicode = pc+srp(latinunicode) + * yu yz = pc+srp(latinyz) + * yu unicodeyz = pc+srp(latinunicodeyz) + +! model layout[2] = symbols + * ar = +ara%(v[2]):2 + * ben = +in(ben):2 + * bs = +ba%(v[2]):2 + * cs = +rs%(v[2]):2 + * cz_qwerty = +cz(qwerty):2 + * dev = +in(deva):2 + * dvorak = +us(dvorak):2 + * dzdwi = +bt%(v[2]):2 + * el = +gr%(v[2]):2 + * en_US = +latin%(v[2]):2 + * guj = +in(guj):2 + * gur = +in(guru):2 + * iu = +ca(ike):2 + * lo = +la%(v[2]):2 + * kan = +in(kan):2 + * mi = +mao%(v[2]):2 + * ogham = +ie(ogam):2 + * ori = +ie(ori):2 + * sapmi = +no(smi):2 + * sr = +srp%(v[2]):2 + * syr = +sy(syc):2 + * tel = +in(tel):2 + * tml = +in(tam):2 + * yu = +srp%(v[2]):2 + * fr-latin9 = +fr(latin9):2 + * us_intl = +us(alt-intl):2 + * ben(basic) = +in(ben):2 + * ben(probhat) = +in(ben_probhat):2 + * dev(basic) = +in(deva):2 + * dvorak($dvoraklayouts) = +%v(dvorak):2 + * dvorak(basic) = +us(dvorak):2 + * dvorak(pl_basic) = +pl(dvorak):2 + * dvorak(pl) = +pl(dvorak_quotes):2 + * dvorak(pl_altquotes) = +pl(dvorak_altquotes):2 + * dzdwi(basic) = +bt(basic):2 + * fi(basic) = +fi(classic):2 + * ge(azerty_tskapo) = +fr(geo):2 + * guj(basic) = +in(guj):2 + * gur(basic) = +in(guru):2 + * ie(laptop) = +ie(basic):2 + * ie(CloGaelachLaptop) = +ie(CloGaelach):2 + * in(urd) = +in(urd-phonetic):2 + * iu(basic) = +ca(ike):2 + * lo(basic) = +la(basic):2 + * kan(basic) = +in(kan):2 + * mal(basic) = +in(mal):2 + * mal(mlplusnum) = +in(mal):2 + * ogham(basic) = +ie(ogam):2 + * ogham(laptop) = +ie(ogam):2 + * ogham(is434) = +ie(ogam_is434):2 + * ogham(is434laptop) = +ie(ogam_is434):2 + * ori(basic) = +in(ori):2 + * ro(de) = +ro(winkeys):2 + * ro(us) = +ro(std):2 + * ro(academic) = +ro(std):2 + * ro(std_comma) = +ro(std):2 + * ro(comma) = +ro(basic):2 + * ru(os) = +ru(os_legacy):2 + * pk(urd) = +pk(urd-phonetic):2 + * sapmi(basic) = +no(smi):2 + * sapmi(nodeadkeys) = +no(smi_nodeadkeys):2 + * sapmi(sefi) = +fi(smi):2 + * sin(phonetic-static) = +in(sin_phonetic):2 + * syr(basic) = +sy(syc):2 + * syr(phonetic) = +sy(syc_phonetic):2 + * tam(INSCRIPT) = +in(tam):2 + * tam(UNI) = +in(tam_unicode):2 + * tam(NUMERAL-KEYBOARD) = +in(tam_keyboard_with_numerals):2 + * tam(TAB) = +in(tam_TAB):2 + * tam(TSCII) = +in(tam_TSCII):2 + * tel(basic) = +in(tel):2 + * yu(basic) = +srp(latin):2 + * yu(unicode) = +srp(latinunicode):2 + * yu(yz) = +srp(latinyz):2 + * yu(unicodeyz) = +srp(latinunicodeyz):2 + nokiarx51 cz(qwerty) = +nokia_vndr/rx-51(cz_qwerty):2 + nokiarx51 * = +nokia_vndr/rx-51(%l[2]%_v[2]):2 + $sun $sun_custom = +sun_vndr/%l[2]%(v[2]):2 + * * = +%l[2]%(v[2]):2 + +! model layout[3] = symbols + * ar = +ara%(v[3]):3 + * ben = +in(ben):3 + * bs = +ba%(v[3]):3 + * cs = +rs%(v[3]):3 + * cz_qwerty = +cz(qwerty):3 + * dev = +in(deva):3 + * dvorak = +us(dvorak):3 + * dzdwi = +bt%(v[3]):3 + * el = +gr%(v[3]):3 + * en_US = +latin%(v[3]):3 + * guj = +in(guj):3 + * gur = +in(guru):3 + * iu = +ca(ike):3 + * lo = +la%(v[3]):3 + * kan = +in(kan):3 + * mi = +mao%(v[3]):3 + * ogham = +ie(ogam):3 + * ori = +ie(ori):3 + * sapmi = +no(smi):3 + * sr = +srp%(v[3]):3 + * syr = +sy(syc):3 + * tel = +in(tel):3 + * tml = +in(tam):3 + * yu = +srp%(v[3]):3 + * fr-latin9 = +fr(latin9):3 + * us_intl = +us(alt-intl):3 + * ben(basic) = +in(ben):3 + * ben(probhat) = +in(ben_probhat):3 + * dev(basic) = +in(deva):3 + * dvorak($dvoraklayouts) = +%v(dvorak):3 + * dvorak(basic) = +us(dvorak):3 + * dvorak(pl_basic) = +pl(dvorak):3 + * dvorak(pl) = +pl(dvorak_quotes):3 + * dvorak(pl_altquotes) = +pl(dvorak_altquotes):3 + * dzdwi(basic) = +bt(basic):3 + * fi(basic) = +fi(classic):3 + * ge(azerty_tskapo) = +fr(geo):3 + * guj(basic) = +in(guj):3 + * gur(basic) = +in(guru):3 + * ie(laptop) = +ie(basic):3 + * ie(CloGaelachLaptop) = +ie(CloGaelach):3 + * in(urd) = +in(urd-phonetic):3 + * iu(basic) = +ca(ike):3 + * lo(basic) = +la(basic):3 + * kan(basic) = +in(kan):3 + * mal(basic) = +in(mal):3 + * mal(mlplusnum) = +in(mal):3 + * ogham(basic) = +ie(ogam):3 + * ogham(laptop) = +ie(ogam):3 + * ogham(is434) = +ie(ogam_is434):3 + * ogham(is434laptop) = +ie(ogam_is434):3 + * ori(basic) = +in(ori):3 + * ro(de) = +ro(winkeys):3 + * ro(us) = +ro(std):3 + * ro(academic) = +ro(std):3 + * ro(std_comma) = +ro(std):3 + * ro(comma) = +ro(basic):3 + * ru(os) = +ru(os_legacy):3 + * pk(urd) = +pk(urd-phonetic):3 + * sapmi(basic) = +no(smi):3 + * sapmi(nodeadkeys) = +no(smi_nodeadkeys):3 + * sapmi(sefi) = +fi(smi):3 + * sin(phonetic-static) = +in(sin_phonetic):3 + * syr(basic) = +sy(syc):3 + * syr(phonetic) = +sy(syc_phonetic):3 + * tam(INSCRIPT) = +in(tam):3 + * tam(UNI) = +in(tam_unicode):3 + * tam(NUMERAL-KEYBOARD) = +in(tam_keyboard_with_numerals):3 + * tam(TAB) = +in(tam_TAB):3 + * tam(TSCII) = +in(tam_TSCII):3 + * tel(basic) = +in(tel):3 + * yu(basic) = +srp(latin):3 + * yu(unicode) = +srp(latinunicode):3 + * yu(yz) = +srp(latinyz):3 + * yu(unicodeyz) = +srp(latinunicodeyz):3 + nokiarx51 cz(qwerty) = +nokia_vndr/rx-51(cz_qwerty):3 + nokiarx51 * = +nokia_vndr/rx-51(%l[3]%_v[3]):3 + $sun $sun_custom = +sun_vndr/%l[3]%(v[3]):3 + * * = +%l[3]%(v[3]):3 + +! model layout[4] = symbols + * ar = +ara%(v[4]):4 + * ben = +in(ben):4 + * bs = +ba%(v[4]):4 + * cs = +rs%(v[4]):4 + * cz_qwerty = +cz(qwerty):4 + * dev = +in(deva):4 + * dvorak = +us(dvorak):4 + * dzdwi = +bt%(v[4]):4 + * el = +gr%(v[4]):4 + * en_US = +latin%(v[4]):4 + * guj = +in(guj):4 + * gur = +in(guru):4 + * iu = +ca(ike):4 + * lo = +la%(v[4]):4 + * kan = +in(kan):4 + * mi = +mao%(v[4]):4 + * ogham = +ie(ogam):4 + * ori = +ie(ori):4 + * sapmi = +no(smi):4 + * sr = +srp%(v[4]):4 + * syr = +sy(syc):4 + * tel = +in(tel):4 + * tml = +in(tam):4 + * yu = +srp%(v[4]):4 + * fr-latin9 = +fr(latin9):4 + * us_intl = +us(alt-intl):4 + * ben(basic) = +in(ben):4 + * ben(probhat) = +in(ben_probhat):4 + * dev(basic) = +in(deva):4 + * dvorak($dvoraklayouts) = +%v(dvorak):4 + * dvorak(basic) = +us(dvorak):4 + * dvorak(pl_basic) = +pl(dvorak):4 + * dvorak(pl) = +pl(dvorak_quotes):4 + * dvorak(pl_altquotes) = +pl(dvorak_altquotes):4 + * dzdwi(basic) = +bt(basic):4 + * fi(basic) = +fi(classic):4 + * ge(azerty_tskapo) = +fr(geo):4 + * guj(basic) = +in(guj):4 + * gur(basic) = +in(guru):4 + * ie(laptop) = +ie(basic):4 + * ie(CloGaelachLaptop) = +ie(CloGaelach):4 + * in(urd) = +in(urd-phonetic):4 + * iu(basic) = +ca(ike):4 + * lo(basic) = +la(basic):4 + * kan(basic) = +in(kan):4 + * mal(basic) = +in(mal):4 + * mal(mlplusnum) = +in(mal):4 + * ogham(basic) = +ie(ogam):4 + * ogham(laptop) = +ie(ogam):4 + * ogham(is434) = +ie(ogam_is434):4 + * ogham(is434laptop) = +ie(ogam_is434):4 + * ori(basic) = +in(ori):4 + * ro(de) = +ro(winkeys):4 + * ro(us) = +ro(std):4 + * ro(academic) = +ro(std):4 + * ro(std_comma) = +ro(std):4 + * ro(comma) = +ro(basic):4 + * ru(os) = +ru(os_legacy):4 + * pk(urd) = +pk(urd-phonetic):4 + * sapmi(basic) = +no(smi):4 + * sapmi(nodeadkeys) = +no(smi_nodeadkeys):4 + * sapmi(sefi) = +fi(smi):4 + * sin(phonetic-static) = +in(sin_phonetic):4 + * syr(basic) = +sy(syc):4 + * syr(phonetic) = +sy(syc_phonetic):4 + * tam(INSCRIPT) = +in(tam):4 + * tam(UNI) = +in(tam_unicode):4 + * tam(NUMERAL-KEYBOARD) = +in(tam_keyboard_with_numerals):4 + * tam(TAB) = +in(tam_TAB):4 + * tam(TSCII) = +in(tam_TSCII):4 + * tel(basic) = +in(tel):4 + * yu(basic) = +srp(latin):4 + * yu(unicode) = +srp(latinunicode):4 + * yu(yz) = +srp(latinyz):4 + * yu(unicodeyz) = +srp(latinunicodeyz):4 + nokiarx51 cz(qwerty) = +nokia_vndr/rx-51(cz_qwerty):4 + nokiarx51 * = +nokia_vndr/rx-51(%l[4]%_v[4]):4 + $sun $sun_custom = +sun_vndr/%l[4]%(v[4]):4 + * * = +%l[4]%(v[4]):4 + +! model layout[2] variant[2] = symbols + * ben basic = +in(ben):2 + * ben probhat = +in(ben_probhat):2 + * dev basic = +in(deva):2 + * dvorak $dvoraklayouts = +%v(dvorak):2 + * dvorak basic = +us(dvorak):2 + * dvorak pl_basic = +pl(dvorak):2 + * dvorak pl = +pl(dvorak_quotes):2 + * dvorak pl_altquotes = +pl(dvorak_altquotes):2 + * dzdwi basic = +bt(basic):2 + * fi basic = +fi(classic):2 + * ge azerty_tskapo = +fr(geo):2 + * guj basic = +in(guj):2 + * gur basic = +in(guru):2 + * ie laptop = +ie(basic):2 + * ie CloGaelachLaptop = +ie(CloGaelach):2 + * in urd = +in(urd-phonetic):2 + * iu basic = +ca(ike):2 + * lo basic = +la(basic):2 + * kan basic = +in(kan):2 + * mal basic = +in(mal):2 + * mal mlplusnum = +in(mal):2 + * ogham basic = +ie(ogam):2 + * ogham laptop = +ie(ogam):2 + * ogham is434 = +ie(ogam_is434):2 + * ogham is434laptop = +ie(ogam_is434):2 + * ori basic = +in(ori):2 + * ro de = +ro(winkeys):2 + * ro us = +ro(std):2 + * ro academic = +ro(std):2 + * ro std_comma = +ro(std):2 + * ro comma = +ro(basic):2 + * ru os = +ru(os_legacy):2 + * pk urd = +pk(urd-phonetic):2 + * sapmi basic = +no(smi):2 + * sapmi nodeadkeys = +no(smi_nodeadkeys):2 + * sapmi sefi = +fi(smi):2 + * sin phonetic-static = +in(sin_phonetic):2 + * syr basic = +sy(syc):2 + * syr phonetic = +sy(syc_phonetic):2 + * tam INSCRIPT = +in(tam):2 + * tam UNI = +in(tam_unicode):2 + * tam NUMERAL-KEYBOARD = +in(tam_keyboard_with_numerals):2 + * tam TAB = +in(tam_TAB):2 + * tam TSCII = +in(tam_TSCII):2 + * tel basic = +in(tel):2 + * yu basic = +srp(latin):2 + * yu unicode = +srp(latinunicode):2 + * yu yz = +srp(latinyz):2 + * yu unicodeyz = +srp(latinunicodeyz):2 + +! model layout[3] variant[3] = symbols + * ben basic = +in(ben):3 + * ben probhat = +in(ben_probhat):3 + * dev basic = +in(deva):3 + * dvorak $dvoraklayouts = +%v(dvorak):3 + * dvorak basic = +us(dvorak):3 + * dvorak pl_basic = +pl(dvorak):3 + * dvorak pl = +pl(dvorak_quotes):3 + * dvorak pl_altquotes = +pl(dvorak_altquotes):3 + * dzdwi basic = +bt(basic):3 + * fi basic = +fi(classic):3 + * ge azerty_tskapo = +fr(geo):3 + * guj basic = +in(guj):3 + * gur basic = +in(guru):3 + * ie laptop = +ie(basic):3 + * ie CloGaelachLaptop = +ie(CloGaelach):3 + * in urd = +in(urd-phonetic):3 + * iu basic = +ca(ike):3 + * lo basic = +la(basic):3 + * kan basic = +in(kan):3 + * mal basic = +in(mal):3 + * mal mlplusnum = +in(mal):3 + * ogham basic = +ie(ogam):3 + * ogham laptop = +ie(ogam):3 + * ogham is434 = +ie(ogam_is434):3 + * ogham is434laptop = +ie(ogam_is434):3 + * ori basic = +in(ori):3 + * ro de = +ro(winkeys):3 + * ro us = +ro(std):3 + * ro academic = +ro(std):3 + * ro std_comma = +ro(std):3 + * ro comma = +ro(basic):3 + * ru os = +ru(os_legacy):3 + * pk urd = +pk(urd-phonetic):3 + * sapmi basic = +no(smi):3 + * sapmi nodeadkeys = +no(smi_nodeadkeys):3 + * sapmi sefi = +fi(smi):3 + * sin phonetic-static = +in(sin_phonetic):3 + * syr basic = +sy(syc):3 + * syr phonetic = +sy(syc_phonetic):3 + * tam INSCRIPT = +in(tam):3 + * tam UNI = +in(tam_unicode):3 + * tam NUMERAL-KEYBOARD = +in(tam_keyboard_with_numerals):3 + * tam TAB = +in(tam_TAB):3 + * tam TSCII = +in(tam_TSCII):3 + * tel basic = +in(tel):3 + * yu basic = +srp(latin):3 + * yu unicode = +srp(latinunicode):3 + * yu yz = +srp(latinyz):3 + * yu unicodeyz = +srp(latinunicodeyz):3 + +! model layout[4] variant[4] = symbols + * ben basic = +in(ben):4 + * ben probhat = +in(ben_probhat):4 + * dev basic = +in(deva):4 + * dvorak $dvoraklayouts = +%v(dvorak):4 + * dvorak basic = +us(dvorak):4 + * dvorak pl_basic = +pl(dvorak):4 + * dvorak pl = +pl(dvorak_quotes):4 + * dvorak pl_altquotes = +pl(dvorak_altquotes):4 + * dzdwi basic = +bt(basic):4 + * fi basic = +fi(classic):4 + * ge azerty_tskapo = +fr(geo):4 + * guj basic = +in(guj):4 + * gur basic = +in(guru):4 + * ie laptop = +ie(basic):4 + * ie CloGaelachLaptop = +ie(CloGaelach):4 + * in urd = +in(urd-phonetic):4 + * iu basic = +ca(ike):4 + * lo basic = +la(basic):4 + * kan basic = +in(kan):4 + * mal basic = +in(mal):4 + * mal mlplusnum = +in(mal):4 + * ogham basic = +ie(ogam):4 + * ogham laptop = +ie(ogam):4 + * ogham is434 = +ie(ogam_is434):4 + * ogham is434laptop = +ie(ogam_is434):4 + * ori basic = +in(ori):4 + * ro de = +ro(winkeys):4 + * ro us = +ro(std):4 + * ro academic = +ro(std):4 + * ro std_comma = +ro(std):4 + * ro comma = +ro(basic):4 + * ru os = +ru(os_legacy):4 + * pk urd = +pk(urd-phonetic):4 + * sapmi basic = +no(smi):4 + * sapmi nodeadkeys = +no(smi_nodeadkeys):4 + * sapmi sefi = +fi(smi):4 + * sin phonetic-static = +in(sin_phonetic):4 + * syr basic = +sy(syc):4 + * syr phonetic = +sy(syc_phonetic):4 + * tam INSCRIPT = +in(tam):4 + * tam UNI = +in(tam_unicode):4 + * tam NUMERAL-KEYBOARD = +in(tam_keyboard_with_numerals):4 + * tam TAB = +in(tam_TAB):4 + * tam TSCII = +in(tam_TSCII):4 + * tel basic = +in(tel):4 + * yu basic = +srp(latin):4 + * yu unicode = +srp(latinunicode):4 + * yu yz = +srp(latinyz):4 + * yu unicodeyz = +srp(latinunicodeyz):4 + +! model = symbols + a4techKB21 = +inet(media_nav_common) + a4techKBS8 = +inet(media_nav_acpi_common) + a4_rfkb23 = +inet(media_nav_acpi_common) + asus_laptop = +inet(media_common) + acer_tm_800 = +inet(acer_laptop) + benqx730 = +inet(benqx) + benqx800 = +inet(benqx) + btc5126t = +inet(nav_acpi_common) + btc9116u = +inet(btc9019u) + btc6301urf = +inet(media_nav_acpi_common) + chromebook = +inet(chromebook) + dellsk8125 = +inet(dell) + dellsk8135 = +inet(dell) + cherrybunlim = +inet(nav_common) + dexxa = +inet(media_nav_common) + dtk2000 = +inet(media_nav_acpi_common) + fscaa1667g = +inet(media_nav_common) + geniuskb19e = +inet(media_nav_acpi_common) + geniuscomfy = +inet(media_nav_acpi_common) + geniuskkb2050hs = +inet(dellusbmm) + hpnx9020 = +inet(hpi6) + latitude = +inet(media_common) + logicd = +inet(logitech_base) + logicd_it = +inet(logitech_base) + logicd_nav = +inet(logitech_base) + logicd_opt = +inet(logitech_base) + logiultrax = +inet(logitech_base) + logiclx300 = +inet(logiex110) + logii350 = +inet(logiex110) + logimel = +inet(logiex110) + logicdit = +inet(logicd) + logicdo = +inet(logicd) + logicdp = +inet(logicd) + logicdpa = +inet(logicda) + logiciink = +inet(logicink) + ltcd = +inet(logicda) + microsoftccurve2k = +inet(microsoftprooem) + microsoftpro = +inet(media_nav_acpi_common) + precision_m = +inet(media_nav_common) + scorpius = +inet(media_nav_acpi_common) + sp_inet = +inet(media_nav_acpi_common) + targa_v811 = +inet(media_nav_acpi_common) + thinkpad = +inet(media_nav_common) + thinkpadz60 = +inet(thinkpad60) + tm2030USB-102 = +inet(media_nav_acpi_common) + tm2030USB-106 = +inet(media_nav_acpi_common) + trust_slimline = +inet(media_nav_acpi_common) + vsonku306 = +inet(microsoftprooem) + $inetkbds = +inet(%m) + $maclaptop = +inet(apple)+level3(enter_switch) + $applealu = +inet(apple) + $macs = +inet(apple) + sun_type7_jp_usb = +sun_vndr/solaris(defaults_type7jp) + $sun = +sun_vndr/solaris(defaults) + +! model layout = symbols + $inetmediakbds jp = +jp(henkan) + +! layout variant = compat + de neo = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + de adnw = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + de koy = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + de bone = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + de bone_eszett_home = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + de neo_qwertz = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + de neo_qwerty = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + jp $sun_compat = complete+japan(kana_lock) + +! layout[1] variant[1] = compat + de neo = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + de adnw = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + de koy = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + de bone = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + de bone_eszett_home = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + de neo_qwertz = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + de neo_qwerty = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + jp $sun_compat = complete+japan(kana_lock) + +! layout[2] variant[2] = compat + de neo = +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2 + de adnw = +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2 + de koy = +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2 + de bone = +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2 + de bone_eszett_home = +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2 + de neo_qwertz = +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2 + de neo_qwerty = +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2 + jp $sun_compat = +complete+japan(kana_lock):2 + +! layout[3] variant[3] = compat + de neo = +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3 + de adnw = +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3 + de koy = +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3 + de bone = +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3 + de bone_eszett_home = +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3 + de neo_qwertz = +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3 + de neo_qwerty = +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3 + jp $sun_compat = +complete+japan(kana_lock):3 + +! layout[4] variant[4] = compat + de neo = +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4 + de adnw = +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4 + de koy = +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4 + de bone = +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4 + de bone_eszett_home = +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4 + de neo_qwertz = +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4 + de neo_qwerty = +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4 + jp $sun_compat = +complete+japan(kana_lock):4 + +! model layout = compat + pc98 nec_vndr/jp = pc98(basic) + * jp = complete+japan + olpc * = olpc + olpcm * = olpc + * * = complete + +! model layout[1] = compat + * * = complete + +! model = types + $macs = complete+numpad(mac) + $applealu = complete+numpad(mac) + $nokiamodels = complete+nokia + * = complete + +! layout option = symbols + $threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle) + * lv3:ralt_alt = +level3(ralt_alt) + * misc:typo = +typo(base) + * misc:apl = +apl(level3) + +! layout[1] option = symbols + $threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):1 + * lv3:ralt_alt = +level3(ralt_alt):1 + * misc:typo = +typo(base):1 + * misc:apl = +apl(level3):1 + +! layout[2] option = symbols + $threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):2 + * lv3:ralt_alt = +level3(ralt_alt):2 + * misc:typo = +typo(base):2 + * misc:apl = +apl(level3):2 + +! layout[3] option = symbols + $threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):3 + * lv3:ralt_alt = +level3(ralt_alt):3 + * misc:typo = +typo(base):3 + * misc:apl = +apl(level3):3 + +! layout[4] option = symbols + $threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):4 + * lv3:ralt_alt = +level3(ralt_alt):4 + * misc:typo = +typo(base):4 + * misc:apl = +apl(level3):4 + +! option = symbols + grp:shift_toggle = +group(shifts_toggle) + altwin:menu = +altwin(menu) + altwin:menu_win = +altwin(menu_win) + altwin:meta_alt = +altwin(meta_alt) + altwin:alt_win = +altwin(alt_win) + altwin:ctrl_win = +altwin(ctrl_win) + altwin:ctrl_rwin = +altwin(ctrl_rwin) + altwin:ctrl_alt_win = +altwin(ctrl_alt_win) + altwin:meta_win = +altwin(meta_win) + altwin:left_meta_win = +altwin(left_meta_win) + altwin:hyper_win = +altwin(hyper_win) + altwin:alt_super_win = +altwin(alt_super_win) + altwin:swap_lalt_lwin = +altwin(swap_lalt_lwin) + altwin:swap_alt_win = +altwin(swap_alt_win) + altwin:prtsc_rwin = +altwin(prtsc_rwin) + grab:debug = +srvr_ctrl(grab_debug) + grp:switch = +group(switch) + grp:lswitch = +group(lswitch) + grp:win_switch = +group(win_switch) + grp:lwin_switch = +group(lwin_switch) + grp:rwin_switch = +group(rwin_switch) + grp:menu_switch = +group(menu_switch) + grp:toggle = +group(toggle) + grp:shifts_toggle = +group(shifts_toggle) + grp:ctrls_toggle = +group(ctrls_toggle) + grp:alts_toggle = +group(alts_toggle) + grp:caps_toggle = +capslock(grouplock) + grp:caps_switch = +capslock(groupshift) + grp:shift_caps_toggle = +group(shift_caps_toggle) + grp:shift_caps_switch = +group(shift_caps_switch) + grp:win_space_toggle = +group(win_space_toggle) + grp:win_menu_switch = +group(win_menu_switch) + grp:alt_caps_toggle = +group(alt_caps_toggle) + grp:alt_space_toggle = +group(alt_space_toggle) + grp:menu_toggle = +group(menu_toggle) + grp:lwin_toggle = +group(lwin_toggle) + grp:rwin_toggle = +group(rwin_toggle) + grp:lshift_toggle = +group(lshift_toggle) + grp:rshift_toggle = +group(rshift_toggle) + grp:rctrl_switch = +group(rctrl_switch) + grp:lctrl_toggle = +group(lctrl_toggle) + grp:rctrl_toggle = +group(rctrl_toggle) + grp:lalt_toggle = +group(lalt_toggle) + grp:sclk_toggle = +group(sclk_toggle) + grp:lctrl_rctrl_switch = +group(lctrl_rctrl_switch) + grp:lctrl_lwin_rctrl_menu = +group(lctrl_lwin_rctrl_menu) + grp:lctrl_lalt_toggle = +group(lctrl_lalt_toggle) + grp:rctrl_ralt_toggle = +group(rctrl_ralt_toggle) + grp:ctrl_alt_toggle = +group(ctrl_alt_toggle) + grp:ctrl_alt_toggle_bidir = +group(ctrl_alt_toggle_bidir) + grp:lctrl_lshift_toggle = +group(lctrl_lshift_toggle) + grp:rctrl_rshift_toggle = +group(rctrl_rshift_toggle) + grp:ctrl_shift_toggle = +group(ctrl_shift_toggle) + grp:ctrl_shift_toggle_bidir = +group(ctrl_shift_toggle_bidir) + grp:lalt_lshift_toggle = +group(lalt_lshift_toggle) + grp:ralt_rshift_toggle = +group(ralt_rshift_toggle) + grp:alt_shift_toggle = +group(alt_shift_toggle) + grp:alt_shift_toggle_bidir = +group(alt_shift_toggle_bidir) + grp:lctrl_lwin_toggle = +group(lctrl_lwin_toggle) + lv3:switch = +level3(switch) + lv3:ralt_switch = +level3(ralt_switch) + lv3:ralt_switch_multikey = +level3(ralt_switch_multikey) + lv3:lalt_switch = +level3(lalt_switch) + lv3:alt_switch = +level3(alt_switch) + lv3:menu_switch = +level3(menu_switch) + lv3:win_switch = +level3(win_switch) + lv3:lwin_switch = +level3(lwin_switch) + lv3:rwin_switch = +level3(rwin_switch) + lv3:enter_switch = +level3(enter_switch) + lv3:4_switch_isolated = +level3(4_switch_isolated) + lv3:9_switch_isolated = +level3(9_switch_isolated) + caps:capslock = +capslock(capslock) + caps:numlock = +capslock(numlock) + caps:shiftlock = +capslock(shiftlock) + caps:swapescape = +capslock(swapescape) + caps:escape = +capslock(escape) + caps:escape_shifted_capslock = +capslock(escape_shifted_capslock) + caps:backspace = +capslock(backspace) + caps:super = +capslock(super) + caps:hyper = +capslock(hyper) + caps:menu = +capslock(menu) + caps:none = +capslock(none) + caps:ctrl_modifier = +capslock(ctrl_modifier) + ctrl:nocaps = +ctrl(nocaps) + ctrl:lctrl_meta = +ctrl(lctrl_meta) + ctrl:swapcaps = +ctrl(swapcaps) + ctrl:swapcaps_hyper = +ctrl(swapcaps_hyper) + ctrl:swapcaps_and_switch_layout = +ctrl(swapcaps_and_switch_layout) + ctrl:ac_ctrl = +ctrl(ac_ctrl) + ctrl:aa_ctrl = +ctrl(aa_ctrl) + ctrl:rctrl_ralt = +ctrl(rctrl_ralt) + ctrl:menu_rctrl = +ctrl(menu_rctrl) + ctrl:ralt_rctrl = +ctrl(ralt_rctrl) + ctrl:swap_lalt_lctl = +ctrl(swap_lalt_lctl) + ctrl:swap_lwin_lctl = +ctrl(swap_lwin_lctl) + ctrl:swap_rwin_rctl = +ctrl(swap_rwin_rctl) + ctrl:swap_lalt_lctl_lwin = +ctrl(swap_lalt_lctl_lwin) + compose:ralt = +compose(ralt) + compose:lwin = +compose(lwin) + compose:lwin-altgr = +compose(lwin-altgr) + compose:rwin = +compose(rwin) + compose:rwin-altgr = +compose(rwin-altgr) + compose:menu = +compose(menu) + compose:menu-altgr = +compose(menu-altgr) + compose:lctrl = +compose(lctrl) + compose:lctrl-altgr = +compose(lctrl-altgr) + compose:rctrl = +compose(rctrl) + compose:rctrl-altgr = +compose(rctrl-altgr) + compose:caps = +compose(caps) + compose:caps-altgr = +compose(caps-altgr) + compose:102 = +compose(102) + compose:102-altgr = +compose(102-altgr) + compose:paus = +compose(paus) + compose:prsc = +compose(prsc) + compose:sclk = +compose(sclk) + srvrkeys:none = +srvr_ctrl(no_srvr_keys) + eurosign:e = +eurosign(e) + 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) + keypad:oss_wang = +keypad(oss_wang) + keypad:future = +keypad(future) + keypad:future_wang = +keypad(future_wang) + keypad:hex = +keypad(ops)+keypad(hex) + keypad:atm = +keypad(ops)+keypad(hex)+keypad(atm) + nbsp:none = +nbsp(none) + nbsp:level2 = +nbsp(level2) + nbsp:level3 = +nbsp(level3) + nbsp:level3s = +nbsp(level3s) + nbsp:level3n = +nbsp(level3n) + nbsp:level4 = +nbsp(level4) + nbsp:level4n = +nbsp(level4n) + nbsp:level4nl = +nbsp(level4nl) + nbsp:zwnj2 = +nbsp(zwnj2) + nbsp:zwnj2zwj3 = +nbsp(zwnj2zwj3) + nbsp:zwnj2zwj3nb4 = +nbsp(zwnj2zwj3nb4) + nbsp:zwnj2nb3 = +nbsp(zwnj2nb3) + nbsp:zwnj2nb3s = +nbsp(zwnj2nb3s) + nbsp:zwnj2nb3zwj4 = +nbsp(zwnj2nb3zwj4) + nbsp:zwnj2nb3nnb4 = +nbsp(zwnj2nb3nnb4) + nbsp:zwnj3zwj4 = +nbsp(zwnj3zwj4) + japan:nicola_f_bs = +jp(nicola_f_bs) + japan:hztg_escape = +jp(hztg_escape) + korean:ralt_hangul = +kr(ralt_hangul) + korean:rctrl_hangul = +kr(rctrl_hangul) + korean:ralt_hanja = +kr(ralt_hanja) + korean:rctrl_hanja = +kr(rctrl_hanja) + kpdl:dot = +kpdl(dot) + kpdl:comma = +kpdl(comma) + kpdl:dotoss = +kpdl(dotoss) + kpdl:dotoss_latin9 = +kpdl(dotoss_latin9) + kpdl:commaoss = +kpdl(commaoss) + kpdl:momayyezoss = +kpdl(momayyezoss) + kpdl:kposs = +kpdl(kposs) + kpdl:semi = +kpdl(semi) + shift:breaks_caps = +shift(breaks_caps) + esperanto:qwerty = +epo(qwerty) + esperanto:dvorak = +epo(dvorak) + esperanto:colemak = +epo(colemak) + terminate:ctrl_alt_bksp = +terminate(ctrl_alt_bksp) + keypad:pointerkeys = +keypad(pointerkeys) + apple:alupckeys = +macintosh_vndr/apple(alupckeys) + shift:both_capslock = +shift(both_capslock) + shift:lshift_both_capslock = +shift(lshift_both_capslock) + shift:rshift_both_capslock = +shift(rshift_both_capslock) + shift:both_capslock_cancel = +shift(both_capslock_cancel) + shift:lshift_both_capslock_cancel = +shift(lshift_both_capslock_cancel) + shift:rshift_both_capslock_cancel = +shift(rshift_both_capslock_cancel) + shift:both_shiftlock = +shift(both_shiftlock) + shift:lshift_both_shiftlock = +shift(lshift_both_shiftlock) + shift:rshift_both_shiftlock = +shift(rshift_both_shiftlock) + solaris:sun_compat = +sun_vndr/solaris(sun_compat) + lv2:lsgt_switch = +level2(lsgt_switch) + lv3:caps_switch = +level3(caps_switch) + lv3:bksl_switch = +level3(bksl_switch) + lv3:lsgt_switch = +level3(lsgt_switch) + lv3:caps_switch_latch = +level3(caps_switch_latch) + lv3:bksl_switch_latch = +level3(bksl_switch_latch) + lv3:lsgt_switch_latch = +level3(lsgt_switch_latch) + lv5:lsgt_switch = +level5(lsgt_switch) + lv5:ralt_switch = +level5(ralt_switch) + lv5:lsgt_switch_lock = +level5(lsgt_switch_lock) + lv5:ralt_switch_lock = +level5(ralt_switch_lock) + lv5:lwin_switch_lock = +level5(lwin_switch_lock) + lv5:rwin_switch_lock = +level5(rwin_switch_lock) + lv5:lsgt_switch_lock_cancel = +level5(lsgt_switch_lock_cancel) + lv5:ralt_switch_lock_cancel = +level5(ralt_switch_lock_cancel) + lv5:lwin_switch_lock_cancel = +level5(lwin_switch_lock_cancel) + lv5:rwin_switch_lock_cancel = +level5(rwin_switch_lock_cancel) + parens:swap_brackets = +parens(swap_brackets) + + +! option = compat + grp_led:num = +lednum(group_lock) + grp_led:caps = +ledcaps(group_lock) + grp_led:scroll = +ledscroll(group_lock) + mod_led:compose = +ledcompose(compose) + japan:kana_lock = +japan(kana_lock) + caps:shiftlock = +ledcaps(shift_lock) + grab:break_actions = +xfree86(grab_break) + + +! option = types + caps:internal = +caps(internal) + caps:internal_nocancel = +caps(internal_nocancel) + caps:shift = +caps(shift) + caps:shift_nocancel = +caps(shift_nocancel) + numpad:pc = +numpad(pc) + numpad:mac = +numpad(mac) + numpad:microsoft = +numpad(microsoft) + numpad:shift3 = +numpad(shift3) diff --git a/xkbdata/rules/base.extras.xml b/xkbdata/rules/base.extras.xml new file mode 100644 index 0000000..82aa2c1 --- /dev/null +++ b/xkbdata/rules/base.extras.xml @@ -0,0 +1,1454 @@ + + + + + + + + apl + apl + APL + + eng + + + + + + dyalog + dlg + APL symbols (Dyalog APL) + + + + + sax + sax + APL symbols (SAX, Sharp APL for Unix) + + + + + unified + ufd + APL symbols (unified) + + + + + apl2 + apl2 + APL symbols (IBM APL2) + + + + + aplplusII + aplII + APL symbols (Manugistics APL*PLUS II) + + + + + aplx + aplx + APL symbols (APLX unified) + + + + + + + ca + fr + French (Canada) + + fra + + + + + + kut + kut + Kutenai + + + + + shs + shs + Secwepemctsin + + + + + sun_type6 + Multilingual (Canada, Sun Type 6/7) + + + + + + + de + de + German + + deu + + + + + + hu + German (with Hungarian letters, no dead keys) + + deu + hun + + + + + + pl + Polish (Germany, no dead keys) + + deu + pol + + + + + + sun_type6 + German (Sun Type 6/7) + + + + + adnw + German (Aus der Neo-Welt) + + + + + koy + German (KOY) + + + + + bone + German (Bone) + + + + + bone_eszett_home + German (Bone, eszett in the home row) + + + + + neo_qwertz + German (Neo, QWERTZ) + + + + + neo_qwerty + German (Neo, QWERTY) + + + + + ru-recom + + ru + Russian (Germany, recommended) + + rus + + + + + + ru-translit + + ru + Russian (Germany, transliteration) + + rus + + + + + + lld + de_lld + German (Ladin) + + deu + lld + + + + + + + + eg + Coptic + + cop + egy + + + + + + hu + Hungarian + + + + + oldhun + oldhun + Old Hungarian + + + + + oldhunlig + oldhun(lig) + Old Hungarian (for ligatures) + + + + + + + + ir + fa + Persian + + fas + + + + + + ave + Avestan + + ave + + + + + + + + lt + lt + Lithuanian + + lit + + + + + + us_dvorak + Lithuanian (Dvorak) + + + + + sun_type6 + Lithuanian (Sun Type 6/7) + + + + + + + lv + lv + Latvian + + lav + + + + + + dvorak + Latvian (Dvorak) + + + + + ykeydvorak + Latvian (Dvorak, with Y) + + + + + minuskeydvorak + Latvian (Dvorak, with minus) + + + + + dvorakprogr + Latvian (programmer Dvorak) + + + + + ykeydvorakprogr + Latvian (programmer Dvorak, with Y) + + + + + minuskeydvorakprogr + Latvian (programmer Dvorak, with minus) + + + + + colemak + Latvian (Colemak) + + + + + apostrophecolemak + Latvian (Colemak, with apostrophe) + + + + + sun_type6 + Latvian (Sun Type 6/7) + + + + + apostrophe-deadquotes + Latvian (apostrophe, dead quotes) + + + + + + + us + en + English (US) + + eng + + + + + + intl-unicode + English (US, intl., AltGr Unicode combining) + + + + + alt-intl-unicode + English (US, intl., AltGr Unicode combining, alt.) + + + + + ats + Atsina + + + + + + crd + Coeur d'Alene Salish + + crd + + + + + + cz_sk_de + Czech Slovak and German (US) + + eng + ces + slk + deu + + + + + + cz_sk_pl_de_es_fi_sv + Czech, Slovak, Polish, Spanish, Finnish, Swedish and German (US) + + eng + cze + slo + pol + ger + spa + fin + swe + + + + + + drix + English (Drix) + + + + + de_se_fi + German, Swedish and Finnish (US) + + eng + deu + swe + fin + + + + + + ibm238l + English (US, IBM Arabic 238_L) + + + + + sun_type6 + English (US, Sun Type 6/7) + + + + + carpalx + English (Carpalx) + + + + + carpalx-intl + English (Carpalx, intl., with dead keys) + + + + + carpalx-altgr-intl + English (Carpalx, intl., with AltGr dead keys) + + + + + carpalx-full + English (Carpalx, full optimization) + + + + + carpalx-full-intl + English (Carpalx, full optimization, intl., with dead keys) + + + + + carpalx-full-altgr-intl + English (Carpalx, full optimization, intl., with AltGr dead keys) + + + + + 3l + English (3l) + + + + + 3l-cros + English (3l, Chromebook) + + + + + 3l-emacs + English (3l, emacs) + + + + + scn + Sicilian (US keyboard) + + eng + ita + scn + + + + + + altgr-weur + English (Western European AltGr dead keys) + dan + nld + eng + fin + fra + deu + ita + nor + por + spa + swe + + + + + + + + pl + pl + Polish + + pol + + + + + + intl + Polish (intl., with dead keys) + + + + + colemak + Polish (Colemak) + + + + + colemak_dh + Polish (Colemak-DH) + + + + + sun_type6 + Polish (Sun Type 6/7) + + + + + glagolica + Polish (Glagolica) + + + + + lefty + Polish (lefty) + + + + + + + ro + ro + Romanian + + ron + + + + + + crh_dobruja + crh + Crimean Tatar (Dobruja Q) + + crh + + + + + + ergonomic + Romanian (ergonomic Touchtype) + + + + + sun_type6 + Romanian (Sun Type 6/7) + + + + + + + rs + sr + Serbian + + srp + + + + + + combiningkeys + Serbian (combining accents instead of dead keys) + + + + + + + ru + ru + Russian + + + + + chu + Church Slavonic + + chu + + + + + + ruu + ru + Russian (with Ukrainian-Belorussian layout) + + rus + ukr + bel + + + + + + rulemak + Russian (Rulemak, phonetic Colemak) + + + + + phonetic_mac + Russian (phonetic Macintosh) + + + + + sun_type6 + Russian (Sun Type 6/7) + + + + + unipunct + Russian (with US punctuation) + + + + + gost-6431-75-48 + Russian (GOST 6431-75) + + + + + gost-14289-88 + Russian (GOST 14289-88) + + + + + prxn + ru + Russian (Polyglot and Reactionary) + + RU + RS + BA + ME + MK + BG + MD + UA + BY + KZ + MN + KG + TJ + UZ + TM + AZ + + + rus + ukr + bel + srp + mkd + bul + chu + kaz + kir + uzb + bak + aze + tat + uig + kdr + tyv + kjh + crh + tgk + abk + sah + mon + kal + sjd + chv + oss + krl + ale + wbl + kur + niv + dng + kom + udm + sel + ulc + ude + oac + oaa + gld + eve + evn + kca + itl + yrk + neg + + + + + + + + am + hy + Armenian + + hye + + + + + + olpc-phonetic + Armenian (OLPC, phonetic) + + + + + + + il + he + Hebrew + + heb + + + + + + biblicalSIL + Hebrew (Biblical, SIL phonetic) + + heb + + + + + + + + ara + ar + Arabic + + + + + sun_type6 + Arabic (Sun Type 6/7) + + + + + basic_ext + Arabic (Arabic numerals, extensions in the 4th level) + + + + + basic_ext_digits + Arabic (Eastern Arabic numerals, extensions in the 4th level) + + + + + uga + Ugaritic instead of Arabic + + + + + ergoarabic + Arabic (ErgoArabic) + + + + + + + be + be + Belgian + + + + + sun_type6 + Belgian (Sun Type 6/7) + + + + + + + br + pt + Portuguese (Brazil) + + + + + sun_type6 + Portuguese (Brazil, Sun Type 6/7) + + + + + + + cz + cs + Czech + + + + + sun_type6 + Czech (Sun Type 6/7) + + + + + prog + Czech (programming) + + + + + typo + Czech (typographic) + + + + + coder + Czech (coder) + + + + + prog_typo + Czech (programming, typographic) + + + + + + + dk + da + Danish + + + + + sun_type6 + Danish (Sun Type 6/7) + + + + + + + nl + nl + Dutch + + + + + sun_type6 + Dutch (Sun Type 6/7) + + + + + + + ee + et + Estonian + + + + + sun_type6 + Estonian (Sun Type 6/7) + + + + + + + fi + fi + Finnish + + + + + sun_type6 + Finnish (Sun Type 6/7) + + + + + das + Finnish (DAS) + + + + + fidvorak + Finnish (Dvorak) + + + + + + + fr + fr + French + + + + + sun_type6 + French (Sun Type 6/7) + + + + + us-alt + French (US with dead keys, alt.) + + + + + us-azerty + French (US, AZERTY) + + + + + + + gr + gr + Greek + + + + + sun_type6 + Greek (Sun Type 6/7) + + + + + colemak + Greek (Colemak) + + + + + + + it + it + Italian + + + + + sun_type6 + Italian (Sun Type 6/7) + + + + + lld + it_lld + Italian (Ladin) + + ita + lld + + + + + + dvorak + Italian (Dvorak) + + ita + + + + + + + + jp + ja + Japanese + + + + + sun_type6 + Japanese (Sun Type 6) + + + + + sun_type7 + Japanese (Sun Type 7, PC-compatible) + + + + + sun_type7_suncompat + Japanese (Sun Type 7, Sun-compatible) + + + + + + + no + no + Norwegian + + + + + sun_type6 + Norwegian (Sun Type 6/7) + + + + + + + pk + ur + Urdu (Pakistan) + + + + + urd-navees + Urdu (Pakistan, Navees) + + urd + + + + + + + + pt + pt + Portuguese + + + + + sun_type6 + Portuguese (Sun Type 6/7) + + + + + colemak + Portuguese (Colemak) + + + + + + + sk + sk + Slovak + + + + + acc + Slovak (ACC layout, only accented letters) + + + + + sun_type6 + Slovak (Sun Type 6/7) + + + + + + + es + es + Spanish + + + + + sun_type6 + Spanish (Sun Type 6/7) + + + + + + + se + sv + Swedish + + + + + dvorak_a5 + Swedish (Dvorak A5) + + + + + sun_type6 + Swedish (Sun Type 6/7) + + + + + ovd + Elfdalian (Swedish, with combining ogonek) + + ovd + + + + + + + + ch + de + German (Switzerland) + + + + + sun_type6_de + German (Switzerland, Sun Type 6/7) + + + + + sun_type6_fr + French (Switzerland, Sun Type 6/7) + + + + + + + tr + tr + Turkish + + + + + sun_type6 + Turkish (Sun Type 6/7) + + + + + otk + Old Turkic + + + + + us + Turkish (Turkey, Latin Q, Swap i and ı) + + + + + + + ua + uk + Ukrainian + + + + + sun_type6 + Ukrainian (Sun Type 6/7) + + + + + + + gb + en + English (UK) + + + + + sun_type6 + English (UK, Sun Type 6/7) + + + + + + + kr + ko + Korean + + + + + sun_type6 + Korean (Sun Type 6/7) + + + + + + + vn + + vi + Vietnamese + + vie + + + + + + aderty + Vietnamese (AÐERTY) + + + + + qderty + Vietnamese (QĐERTY) + + + + + + + eu + + eu + EurKEY (US) + + cat + dan + eng + est + fao + fin + deu + ell + gsw + ita + lav + lit + nld + nor + por + spa + swe + + + + + + trans + + International Phonetic Alphabet + + + + + qwerty + International Phonetic Alphabet (QWERTY) + + + + + + + in + + in + Indian + + + + + modi-kagapa + mr + Modi (KaGaPa phonetic) + + mar + + + + + + san-misc + sas + Sanskrit symbols + + san + + + + + + urd-navees + ur + Urdu (Navees) + + urd + + + + + + + + + + + lv3 + Key to choose the 3rd level + + + + + + + + parens + Parentheses position + + + + + diff --git a/xkbdata/rules/base.lst b/xkbdata/rules/base.lst new file mode 100644 index 0000000..519f734 --- /dev/null +++ b/xkbdata/rules/base.lst @@ -0,0 +1,993 @@ +! model + pc86 Generic 86-key PC + pc101 Generic 101-key PC + pc102 Generic 102-key PC + pc104 Generic 104-key PC + pc104alt Generic 104-key PC with L-shaped Enter key + pc105 Generic 105-key PC + dell101 Dell 101-key PC + latitude Dell Latitude laptop + dellm65 Dell Precision M65 laptop + everex Everex STEPnote + flexpro Keytronic FlexPro + microsoft Microsoft Natural + omnikey101 Northgate OmniKey 101 + winbook Winbook Model XP5 + pc98 PC-98 + a4techKB21 A4Tech KB-21 + a4techKBS8 A4Tech KBS-8 + a4_rfkb23 A4Tech Wireless Desktop RFKB-23 + airkey Acer AirKey V + azonaRF2300 Azona RF2300 Wireless Internet + scorpius Advance Scorpius KI + brother Brother Internet + btc5113rf BTC 5113RF Multimedia + btc5126t BTC 5126T + btc6301urf BTC 6301URF + btc9000 BTC 9000 + btc9000a BTC 9000A + btc9001ah BTC 9001AH + btc5090 BTC 5090 + btc9019u BTC 9019U + btc9116u BTC 9116U Mini Wireless Internet and Gaming + cherryblue Cherry Blue Line CyBo@rd + cherryblueb Cherry CyMotion Master XPress + cherrybluea Cherry Blue Line CyBo@rd (alt.) + cherrycyboard Cherry CyBo@rd USB-Hub + cherrycmexpert Cherry CyMotion Expert + cherrybunlim Cherry B.UNLIMITED + chicony Chicony Internet + chicony0108 Chicony KU-0108 + chicony0420 Chicony KU-0420 + chicony9885 Chicony KB-9885 + compaqeak8 Compaq Easy Access + compaqik7 Compaq Internet (7 keys) + compaqik13 Compaq Internet (13 keys) + compaqik18 Compaq Internet (18 keys) + cymotionlinux Cherry CyMotion Master Linux + armada Compaq Armada laptop + presario Compaq Presario laptop + ipaq Compaq iPaq + dell Dell + dellsk8125 Dell SK-8125 + dellsk8135 Dell SK-8135 + dellusbmm Dell USB Multimedia + inspiron Dell Inspiron 6000/8000 laptop + precision_m Dell Precision M laptop + dexxa Dexxa Wireless Desktop + diamond Diamond 9801/9802 + dtk2000 DTK2000 + ennyah_dkb1008 Ennyah DKB-1008 + fscaa1667g Fujitsu-Siemens Amilo laptop + genius Genius Comfy KB-16M/Multimedia KWD-910 + geniuscomfy Genius Comfy KB-12e + geniuscomfy2 Genius Comfy KB-21e-Scroll + geniuskb19e Genius KB-19e NB + geniuskkb2050hs Genius KKB-2050HS + gyration Gyration + kinesis Kinesis + logitech_base Logitech + logitech_g15 Logitech G15 extra keys via G15daemon + hpi6 Hewlett-Packard Internet + hp250x Hewlett-Packard NEC SK-2500 Multimedia + hpxe3gc Hewlett-Packard Omnibook XE3 GC + hpxe3gf Hewlett-Packard Omnibook XE3 GF + hpxt1000 Hewlett-Packard Omnibook XT1000 + hpdv5 Hewlett-Packard Pavilion dv5 + hpzt11xx Hewlett-Packard Pavilion ZT1100 + hp500fa Hewlett-Packard Omnibook 500 FA + hp5xx Hewlett-Packard Omnibook 500 + hpnx9020 Hewlett-Packard nx9020 + hp6000 Hewlett-Packard Omnibook 6000/6100 + honeywell_euroboard Honeywell Euroboard + hpmini110 Hewlett-Packard Mini 110 laptop + rapidaccess IBM Rapid Access + rapidaccess2 IBM Rapid Access II + thinkpad IBM ThinkPad 560Z/600/600E/A22E + thinkpad60 IBM ThinkPad R60/T60/R61/T61 + thinkpadz60 IBM ThinkPad Z60m/Z60t/Z61m/Z61t + ibm_spacesaver IBM Space Saver + logiaccess Logitech Access + logiclx300 Logitech Cordless Desktop LX-300 + logii350 Logitech Internet 350 + logimel Logitech Internet 350 + logicd Logitech Cordless Desktop + logicd_it Logitech Cordless Desktop iTouch + logicd_nav Logitech Cordless Desktop Navigator + logicd_opt Logitech Cordless Desktop Optical + logicda Logitech Cordless Desktop (alt.) + logicdpa2 Logitech Cordless Desktop Pro (2nd alt.) + logicfn Logitech Cordless Freedom/Desktop Navigator + logicdn Logitech Cordless Desktop Navigator + logiitc Logitech iTouch Cordless Y-RB6 + logiik Logitech Internet + itouch Logitech iTouch + logicink Logitech Internet Navigator + logiex110 Logitech Cordless Desktop EX110 + logiinkse Logitech iTouch Internet Navigator SE + logiinkseusb Logitech iTouch Internet Navigator SE USB + logiultrax Logitech Ultra-X + logiultraxc Logitech Ultra-X Cordless Media Desktop + logidinovo Logitech diNovo + logidinovoedge Logitech diNovo Edge + mx1998 Memorex MX1998 + mx2500 Memorex MX2500 EZ-Access + mx2750 Memorex MX2750 + microsoft4000 Microsoft Natural Ergonomic 4000 + microsoft7000 Microsoft Natural Wireless Ergonomic 7000 + microsoftinet Microsoft Internet + microsoftpro Microsoft Natural Pro/Internet Pro + microsoftprousb Microsoft Natural Pro USB/Internet Pro + microsoftprooem Microsoft Natural Pro OEM + vsonku306 ViewSonic KU-306 Internet + microsoftprose Microsoft Internet Pro (Swedish) + microsoftoffice Microsoft Office Keyboard + microsoftmult Microsoft Wireless Multimedia 1.0A + microsoftsurface Microsoft Surface + microsoftelite Microsoft Natural Elite + microsoftccurve2k Microsoft Comfort Curve 2000 + oretec Ortek Multimedia/Internet MCK-800 + propeller Propeller Voyager KTEZ-1000 + qtronix QTronix Scorpius 98N+ + samsung4500 Samsung SDM 4500P + samsung4510 Samsung SDM 4510P + sanwaskbkg3 Sanwa Supply SKB-KG3 + sk1300 NEC SK-1300 + sk2500 NEC SK-2500 + sk6200 NEC SK-6200 + sk7100 NEC SK-7100 + sp_inet Super Power Multimedia + sven SVEN Ergonomic 2500 + sven303 SVEN Slim 303 + symplon Symplon PaceBook tablet + toshiba_s3000 Toshiba Satellite S3000 + trust Trust Wireless Classic + trustda Trust Direct Access + trust_slimline Trust Slimline + tm2020 TypeMatrix EZ-Reach 2020 + tm2030PS2 TypeMatrix EZ-Reach 2030 PS2 + tm2030USB TypeMatrix EZ-Reach 2030 USB + tm2030USB-102 TypeMatrix EZ-Reach 2030 USB (102/105:EU mode) + tm2030USB-106 TypeMatrix EZ-Reach 2030 USB (106:JP mode) + yahoo Yahoo! Internet + macbook78 MacBook/MacBook Pro + macbook79 MacBook/MacBook Pro (intl.) + macintosh Macintosh + macintosh_old Macintosh Old + macintosh_hhk Happy Hacking for Mac + acer_c300 Acer C300 + acer_ferrari4k Acer Ferrari 4000 + acer_laptop Acer laptop + asus_laptop Asus laptop + apple Apple + apple_laptop Apple laptop + applealu_ansi Apple Aluminium (ANSI) + applealu_iso Apple Aluminium (ISO) + applealu_jis Apple Aluminium (JIS) + silvercrest Silvercrest Multimedia Wireless + emachines eMachines m6800 laptop + benqx BenQ X-Touch + benqx730 BenQ X-Touch 730 + benqx800 BenQ X-Touch 800 + hhk Happy Hacking + classmate Classmate PC + olpc OLPC + sun_type7_usb Sun Type 7 USB + sun_type7_euro_usb Sun Type 7 USB (European) + sun_type7_unix_usb Sun Type 7 USB (Unix) + sun_type7_jp_usb Sun Type 7 USB (Japanese)/Japanese 106-key + sun_type6_usb Sun Type 6/7 USB + sun_type6_euro_usb Sun Type 6/7 USB (European) + sun_type6_unix_usb Sun Type 6 USB (Unix) + sun_type6_jp_usb Sun Type 6 USB (Japanese) + sun_type6_jp Sun Type 6 (Japanese) + targa_v811 Targa Visionary 811 + unitekkb1925 Unitek KB-1925 + compalfl90 FL90 + creativedw7000 Creative Desktop Wireless 7000 + teck227 Truly Ergonomic 227 + teck229 Truly Ergonomic 229 + apex300 SteelSeries Apex 300 (Apex RAW) + chromebook Chromebook + +! layout + us English (US) + af Dari + ara Arabic + al Albanian + am Armenian + at German (Austria) + au English (Australian) + az Azerbaijani + by Belarusian + be Belgian + bd Bangla + in Indian + ba Bosnian + br Portuguese (Brazil) + bg Bulgarian + dz Berber (Algeria, Latin) + ma Arabic (Morocco) + cm English (Cameroon) + mm Burmese + ca French (Canada) + cd French (Democratic Republic of the Congo) + cn Chinese + hr Croatian + cz Czech + dk Danish + nl Dutch + bt Dzongkha + ee Estonian + ir Persian + iq Iraqi + fo Faroese + fi Finnish + fr French + gh English (Ghana) + gn N'Ko (AZERTY) + ge Georgian + de German + gr Greek + hu Hungarian + is Icelandic + il Hebrew + it Italian + jp Japanese + kg Kyrgyz + kh Khmer (Cambodia) + kz Kazakh + la Lao + latam Spanish (Latin American) + lt Lithuanian + lv Latvian + mao Maori + me Montenegrin + mk Macedonian + mt Maltese + mn Mongolian + no Norwegian + pl Polish + pt Portuguese + ro Romanian + ru Russian + rs Serbian + si Slovenian + sk Slovak + es Spanish + se Swedish + ch German (Switzerland) + sy Arabic (Syria) + tj Tajik + lk Sinhala (phonetic) + th Thai + tr Turkish + tw Taiwanese + ua Ukrainian + gb English (UK) + uz Uzbek + vn Vietnamese + kr Korean + ie Irish + pk Urdu (Pakistan) + mv Dhivehi + za English (South Africa) + epo Esperanto + np Nepali + ng English (Nigeria) + et Amharic + sn Wolof + brai Braille + tm Turkmen + ml Bambara + tz Swahili (Tanzania) + tg French (Togo) + ke Swahili (Kenya) + bw Tswana + ph Filipino + md Moldavian + id Indonesian (Latin) + jv Indonesian (Javanese) + my Malay (Jawi, Arabic Keyboard) + custom A user-defined custom Layout + +! variant + chr us: Cherokee + haw us: Hawaiian + euro us: English (US, euro on 5) + intl us: English (US, intl., with dead keys) + alt-intl us: English (US, alt. intl.) + colemak us: English (Colemak) + colemak_dh us: English (Colemak-DH) + colemak_dh_iso us: English (Colemak-DH ISO) + dvorak us: English (Dvorak) + dvorak-intl us: English (Dvorak, intl., with dead keys) + dvorak-alt-intl us: English (Dvorak, alt. intl.) + dvorak-l us: English (Dvorak, left-handed) + dvorak-r us: English (Dvorak, right-handed) + dvorak-classic us: English (classic Dvorak) + dvp us: English (programmer Dvorak) + dvorak-mac us: English (Dvorak, Macintosh) + symbolic us: English (US, Symbolic) + rus us: Russian (US, phonetic) + mac us: English (Macintosh) + altgr-intl us: English (intl., with AltGr dead keys) + olpc2 us: English (the divide/multiply toggle the layout) + hbs us: Serbo-Croatian (US) + norman us: English (Norman) + workman us: English (Workman) + workman-intl us: English (Workman, intl., with dead keys) + ps af: Pashto + uz af: Uzbek (Afghanistan) + ps-olpc af: Pashto (Afghanistan, OLPC) + fa-olpc af: Dari (Afghanistan, OLPC) + uz-olpc af: Uzbek (Afghanistan, OLPC) + azerty ara: Arabic (AZERTY) + azerty_digits ara: Arabic (AZERTY, Eastern Arabic numerals) + digits ara: Arabic (Eastern Arabic numerals) + qwerty ara: Arabic (QWERTY) + qwerty_digits ara: Arabic (QWERTY, Eastern Arabic numerals) + buckwalter ara: Arabic (Buckwalter) + olpc ara: Arabic (OLPC) + mac ara: Arabic (Macintosh) + plisi al: Albanian (Plisi) + veqilharxhi al: Albanian (Veqilharxhi) + phonetic am: Armenian (phonetic) + phonetic-alt am: Armenian (alt. phonetic) + eastern am: Armenian (eastern) + western am: Armenian (western) + eastern-alt am: Armenian (alt. eastern) + nodeadkeys at: German (Austria, no dead keys) + mac at: German (Austria, Macintosh) + cyrillic az: Azerbaijani (Cyrillic) + legacy by: Belarusian (legacy) + latin by: Belarusian (Latin) + ru by: Russian (Belarus) + intl by: Belarusian (intl.) + oss be: Belgian (alt.) + oss_latin9 be: Belgian (Latin-9 only, alt.) + iso-alternate be: Belgian (ISO, alt.) + nodeadkeys be: Belgian (no dead keys) + wang be: Belgian (Wang 724 AZERTY) + probhat bd: Bangla (Probhat) + ben in: Bangla (India) + ben_probhat in: Bangla (India, Probhat) + ben_baishakhi in: Bangla (India, Baishakhi) + ben_bornona in: Bangla (India, Bornona) + ben_gitanjali in: Bangla (India, Gitanjali) + ben_inscript in: Bangla (India, Baishakhi InScript) + eeyek in: Manipuri (Eeyek) + guj in: Gujarati + guru in: Punjabi (Gurmukhi) + jhelum in: Punjabi (Gurmukhi Jhelum) + kan in: Kannada + kan-kagapa in: Kannada (KaGaPa, phonetic) + mal in: Malayalam + mal_lalitha in: Malayalam (Lalitha) + mal_enhanced in: Malayalam (enhanced InScript, with rupee) + ori in: Oriya + ori-bolnagri in: Oriya (Bolnagri) + ori-wx in: Oriya (Wx) + olck in: Ol Chiki + tam_tamilnet in: Tamil (TamilNet '99) + tam_tamilnet_with_tam_nums in: Tamil (TamilNet '99 with Tamil numerals) + tam_tamilnet_TAB in: Tamil (TamilNet '99, TAB encoding) + tam_tamilnet_TSCII in: Tamil (TamilNet '99, TSCII encoding) + tam in: Tamil (InScript) + tel in: Telugu + tel-kagapa in: Telugu (KaGaPa, phonetic) + tel-sarala in: Telugu (Sarala) + urd-phonetic in: Urdu (phonetic) + urd-phonetic3 in: Urdu (alt. phonetic) + urd-winkeys in: Urdu (Windows) + bolnagri in: Hindi (Bolnagri) + hin-wx in: Hindi (Wx) + hin-kagapa in: Hindi (KaGaPa, phonetic) + san-kagapa in: Sanskrit (KaGaPa, phonetic) + mar-kagapa in: Marathi (KaGaPa, phonetic) + eng in: English (India, with rupee) + iipa in: Indic IPA + marathi in: Marathi (enhanced InScript) + alternatequotes ba: Bosnian (with guillemets) + unicode ba: Bosnian (with Bosnian digraphs) + unicodeus ba: Bosnian (US, with Bosnian digraphs) + us ba: Bosnian (US) + nodeadkeys br: Portuguese (Brazil, no dead keys) + dvorak br: Portuguese (Brazil, Dvorak) + nativo br: Portuguese (Brazil, Nativo) + nativo-us br: Portuguese (Brazil, Nativo for US keyboards) + nativo-epo br: Esperanto (Brazil, Nativo) + thinkpad br: Portuguese (Brazil, IBM/Lenovo ThinkPad) + phonetic bg: Bulgarian (traditional phonetic) + bas_phonetic bg: Bulgarian (new phonetic) + bekl bg: Bulgarian (enhanced) + azerty-deadkeys dz: Kabyle (AZERTY, with dead keys) + qwerty-gb-deadkeys dz: Kabyle (QWERTY, UK, with dead keys) + qwerty-us-deadkeys dz: Kabyle (QWERTY, US, with dead keys) + ber dz: Berber (Algeria, Tifinagh) + ar dz: Arabic (Algeria) + french ma: French (Morocco) + tifinagh ma: Berber (Morocco, Tifinagh) + tifinagh-alt ma: Berber (Morocco, Tifinagh alt.) + tifinagh-alt-phonetic ma: Berber (Morocco, Tifinagh phonetic, alt.) + tifinagh-extended ma: Berber (Morocco, Tifinagh extended) + tifinagh-phonetic ma: Berber (Morocco, Tifinagh phonetic) + tifinagh-extended-phonetic ma: Berber (Morocco, Tifinagh extended phonetic) + rif ma: Tarifit + french cm: French (Cameroon) + qwerty cm: Cameroon Multilingual (QWERTY, intl.) + azerty cm: Cameroon (AZERTY, intl.) + dvorak cm: Cameroon (Dvorak, intl.) + mmuock cm: Mmuock + zawgyi mm: Burmese Zawgyi + shn mm: Shan + zgt mm: Shan (Zawgyi Tai) + mnw mm: Mon + mnw-a1 mm: Mon (A1) + fr-dvorak ca: French (Canada, Dvorak) + fr-legacy ca: French (Canada, legacy) + multix ca: Canadian (intl.) + multi ca: Canadian (intl., 1st part) + multi-2gr ca: Canadian (intl., 2nd part) + ike ca: Inuktitut + eng ca: English (Canada) + mon_trad cn: Mongolian (Bichig) + mon_trad_todo cn: Mongolian (Todo) + mon_trad_xibe cn: Mongolian (Xibe) + mon_trad_manchu cn: Mongolian (Manchu) + mon_trad_galik cn: Mongolian (Galik) + mon_todo_galik cn: Mongolian (Todo Galik) + mon_manchu_galik cn: Mongolian (Manchu Galik) + tib cn: Tibetan + tib_asciinum cn: Tibetan (with ASCII numerals) + ug cn: Uyghur + altgr-pinyin cn: Hanyu Pinyin Letters (with AltGr dead keys) + alternatequotes hr: Croatian (with guillemets) + unicode hr: Croatian (with Croatian digraphs) + unicodeus hr: Croatian (US, with Croatian digraphs) + us hr: Croatian (US) + bksl cz: Czech (with <\|> key) + qwerty cz: Czech (QWERTY) + qwerty_bksl cz: Czech (QWERTY, extended backslash) + qwerty-mac cz: Czech (QWERTY, Macintosh) + ucw cz: Czech (UCW, only accented letters) + dvorak-ucw cz: Czech (US, Dvorak, UCW support) + rus cz: Russian (Czech, phonetic) + nodeadkeys dk: Danish (no dead keys) + winkeys dk: Danish (Windows) + mac dk: Danish (Macintosh) + mac_nodeadkeys dk: Danish (Macintosh, no dead keys) + dvorak dk: Danish (Dvorak) + us nl: Dutch (US) + mac nl: Dutch (Macintosh) + std nl: Dutch (standard) + nodeadkeys ee: Estonian (no dead keys) + dvorak ee: Estonian (Dvorak) + us ee: Estonian (US) + pes_keypad ir: Persian (with Persian keypad) + ku ir: Kurdish (Iran, Latin Q) + ku_f ir: Kurdish (Iran, F) + ku_alt ir: Kurdish (Iran, Latin Alt-Q) + ku_ara ir: Kurdish (Iran, Arabic-Latin) + ku iq: Kurdish (Iraq, Latin Q) + ku_f iq: Kurdish (Iraq, F) + ku_alt iq: Kurdish (Iraq, Latin Alt-Q) + ku_ara iq: Kurdish (Iraq, Arabic-Latin) + nodeadkeys fo: Faroese (no dead keys) + winkeys fi: Finnish (Windows) + classic fi: Finnish (classic) + nodeadkeys fi: Finnish (classic, no dead keys) + smi fi: Northern Saami (Finland) + mac fi: Finnish (Macintosh) + nodeadkeys fr: French (no dead keys) + oss fr: French (alt.) + oss_latin9 fr: French (alt., Latin-9 only) + oss_nodeadkeys fr: French (alt., no dead keys) + latin9 fr: French (legacy, alt.) + latin9_nodeadkeys fr: French (legacy, alt., no dead keys) + bepo fr: French (BEPO) + bepo_latin9 fr: French (BEPO, Latin-9 only) + bepo_afnor fr: French (BEPO, AFNOR) + dvorak fr: French (Dvorak) + mac fr: French (Macintosh) + azerty fr: French (AZERTY) + afnor fr: French (AZERTY, AFNOR) + bre fr: French (Breton) + oci fr: Occitan + geo fr: Georgian (France, AZERTY Tskapo) + us fr: French (US) + generic gh: English (Ghana, multilingual) + akan gh: Akan + ewe gh: Ewe + fula gh: Fula + ga gh: Ga + hausa gh: Hausa (Ghana) + avn gh: Avatime + gillbt gh: English (Ghana, GILLBT) + ergonomic ge: Georgian (ergonomic) + mess ge: Georgian (MESS) + ru ge: Russian (Georgia) + os ge: Ossetian (Georgia) + deadacute de: German (dead acute) + deadgraveacute de: German (dead grave acute) + nodeadkeys de: German (no dead keys) + e1 de: German (E1) + e2 de: German (E2) + T3 de: German (T3) + us de: German (US) + ro de: Romanian (Germany) + ro_nodeadkeys de: Romanian (Germany, no dead keys) + dvorak de: German (Dvorak) + neo de: German (Neo 2) + mac de: German (Macintosh) + mac_nodeadkeys de: German (Macintosh, no dead keys) + dsb de: Lower Sorbian + dsb_qwertz de: Lower Sorbian (QWERTZ) + qwerty de: German (QWERTY) + tr de: Turkish (Germany) + ru de: Russian (Germany, phonetic) + deadtilde de: German (dead tilde) + simple gr: Greek (simple) + extended gr: Greek (extended) + nodeadkeys gr: Greek (no dead keys) + polytonic gr: Greek (polytonic) + standard hu: Hungarian (standard) + nodeadkeys hu: Hungarian (no dead keys) + qwerty hu: Hungarian (QWERTY) + 101_qwertz_comma_dead hu: Hungarian (QWERTZ, 101-key, comma, dead keys) + 101_qwertz_comma_nodead hu: Hungarian (QWERTZ, 101-key, comma, no dead keys) + 101_qwertz_dot_dead hu: Hungarian (QWERTZ, 101-key, dot, dead keys) + 101_qwertz_dot_nodead hu: Hungarian (QWERTZ, 101-key, dot, no dead keys) + 101_qwerty_comma_dead hu: Hungarian (QWERTY, 101-key, comma, dead keys) + 101_qwerty_comma_nodead hu: Hungarian (QWERTY, 101-key, comma, no dead keys) + 101_qwerty_dot_dead hu: Hungarian (QWERTY, 101-key, dot, dead keys) + 101_qwerty_dot_nodead hu: Hungarian (QWERTY, 101-key, dot, no dead keys) + 102_qwertz_comma_dead hu: Hungarian (QWERTZ, 102-key, comma, dead keys) + 102_qwertz_comma_nodead hu: Hungarian (QWERTZ, 102-key, comma, no dead keys) + 102_qwertz_dot_dead hu: Hungarian (QWERTZ, 102-key, dot, dead keys) + 102_qwertz_dot_nodead hu: Hungarian (QWERTZ, 102-key, dot, no dead keys) + 102_qwerty_comma_dead hu: Hungarian (QWERTY, 102-key, comma, dead keys) + 102_qwerty_comma_nodead hu: Hungarian (QWERTY, 102-key, comma, no dead keys) + 102_qwerty_dot_dead hu: Hungarian (QWERTY, 102-key, dot, dead keys) + 102_qwerty_dot_nodead hu: Hungarian (QWERTY, 102-key, dot, no dead keys) + mac_legacy is: Icelandic (Macintosh, legacy) + mac is: Icelandic (Macintosh) + dvorak is: Icelandic (Dvorak) + lyx il: Hebrew (lyx) + phonetic il: Hebrew (phonetic) + biblical il: Hebrew (Biblical, Tiro) + nodeadkeys it: Italian (no dead keys) + winkeys it: Italian (Windows) + mac it: Italian (Macintosh) + us it: Italian (US) + geo it: Georgian (Italy) + ibm it: Italian (IBM 142) + intl it: Italian (intl., with dead keys) + scn it: Sicilian + fur it: Friulian (Italy) + kana jp: Japanese (Kana) + kana86 jp: Japanese (Kana 86) + OADG109A jp: Japanese (OADG 109A) + mac jp: Japanese (Macintosh) + dvorak jp: Japanese (Dvorak) + phonetic kg: Kyrgyz (phonetic) + ruskaz kz: Russian (Kazakhstan, with Kazakh) + kazrus kz: Kazakh (with Russian) + ext kz: Kazakh (extended) + latin kz: Kazakh (Latin) + stea la: Lao (STEA) + nodeadkeys latam: Spanish (Latin American, no dead keys) + deadtilde latam: Spanish (Latin American, dead tilde) + dvorak latam: Spanish (Latin American, Dvorak) + colemak latam: Spanish (Latin American, Colemak) + colemak-gaming latam: Spanish (Latin American, Colemak for gaming) + std lt: Lithuanian (standard) + us lt: Lithuanian (US) + ibm lt: Lithuanian (IBM LST 1205-92) + lekp lt: Lithuanian (LEKP) + lekpa lt: Lithuanian (LEKPa) + sgs lt: Samogitian + ratise lt: Lithuanian (Ratise) + apostrophe lv: Latvian (apostrophe) + tilde lv: Latvian (tilde) + fkey lv: Latvian (F) + modern lv: Latvian (modern) + ergonomic lv: Latvian (ergonomic, ŪGJRMV) + adapted lv: Latvian (adapted) + cyrillic me: Montenegrin (Cyrillic) + cyrillicyz me: Montenegrin (Cyrillic, ZE and ZHE swapped) + latinunicode me: Montenegrin (Latin, Unicode) + latinyz me: Montenegrin (Latin, QWERTY) + latinunicodeyz me: Montenegrin (Latin, Unicode, QWERTY) + cyrillicalternatequotes me: Montenegrin (Cyrillic, with guillemets) + latinalternatequotes me: Montenegrin (Latin, with guillemets) + nodeadkeys mk: Macedonian (no dead keys) + us mt: Maltese (US) + alt-us mt: Maltese (US, with AltGr overrides) + alt-gb mt: Maltese (UK, with AltGr overrides) + nodeadkeys no: Norwegian (no dead keys) + winkeys no: Norwegian (Windows) + dvorak no: Norwegian (Dvorak) + smi no: Northern Saami (Norway) + smi_nodeadkeys no: Northern Saami (Norway, no dead keys) + mac no: Norwegian (Macintosh) + mac_nodeadkeys no: Norwegian (Macintosh, no dead keys) + colemak no: Norwegian (Colemak) + legacy pl: Polish (legacy) + qwertz pl: Polish (QWERTZ) + dvorak pl: Polish (Dvorak) + dvorak_quotes pl: Polish (Dvorak, with Polish quotes on quotemark key) + dvorak_altquotes pl: Polish (Dvorak, with Polish quotes on key 1) + csb pl: Kashubian + szl pl: Silesian + ru_phonetic_dvorak pl: Russian (Poland, phonetic Dvorak) + dvp pl: Polish (programmer Dvorak) + nodeadkeys pt: Portuguese (no dead keys) + mac pt: Portuguese (Macintosh) + mac_nodeadkeys pt: Portuguese (Macintosh, no dead keys) + nativo pt: Portuguese (Nativo) + nativo-us pt: Portuguese (Nativo for US keyboards) + nativo-epo pt: Esperanto (Portugal, Nativo) + std ro: Romanian (standard) + winkeys ro: Romanian (Windows) + phonetic ru: Russian (phonetic) + phonetic_winkeys ru: Russian (phonetic, Windows) + phonetic_YAZHERTY ru: Russian (phonetic, YAZHERTY) + typewriter ru: Russian (typewriter) + legacy ru: Russian (legacy) + typewriter-legacy ru: Russian (typewriter, legacy) + tt ru: Tatar + os_legacy ru: Ossetian (legacy) + os_winkeys ru: Ossetian (Windows) + cv ru: Chuvash + cv_latin ru: Chuvash (Latin) + udm ru: Udmurt + kom ru: Komi + sah ru: Yakut + xal ru: Kalmyk + dos ru: Russian (DOS) + mac ru: Russian (Macintosh) + srp ru: Serbian (Russia) + bak ru: Bashkirian + chm ru: Mari + phonetic_azerty ru: Russian (phonetic, AZERTY) + phonetic_dvorak ru: Russian (phonetic, Dvorak) + phonetic_fr ru: Russian (phonetic, French) + yz rs: Serbian (Cyrillic, ZE and ZHE swapped) + latin rs: Serbian (Latin) + latinunicode rs: Serbian (Latin, Unicode) + latinyz rs: Serbian (Latin, QWERTY) + latinunicodeyz rs: Serbian (Latin, Unicode, QWERTY) + alternatequotes rs: Serbian (Cyrillic, with guillemets) + latinalternatequotes rs: Serbian (Latin, with guillemets) + rue rs: Pannonian Rusyn + alternatequotes si: Slovenian (with guillemets) + us si: Slovenian (US) + bksl sk: Slovak (extended backslash) + qwerty sk: Slovak (QWERTY) + qwerty_bksl sk: Slovak (QWERTY, extended backslash) + nodeadkeys es: Spanish (no dead keys) + winkeys es: Spanish (Windows) + deadtilde es: Spanish (dead tilde) + dvorak es: Spanish (Dvorak) + ast es: Asturian (Spain, with bottom-dot H and L) + cat es: Catalan (Spain, with middle-dot L) + mac es: Spanish (Macintosh) + nodeadkeys se: Swedish (no dead keys) + dvorak se: Swedish (Dvorak) + rus se: Russian (Sweden, phonetic) + rus_nodeadkeys se: Russian (Sweden, phonetic, no dead keys) + smi se: Northern Saami (Sweden) + mac se: Swedish (Macintosh) + svdvorak se: Swedish (Svdvorak) + us_dvorak se: Swedish (Dvorak, intl.) + us se: Swedish (US) + swl se: Swedish Sign Language + legacy ch: German (Switzerland, legacy) + de_nodeadkeys ch: German (Switzerland, no dead keys) + fr ch: French (Switzerland) + fr_nodeadkeys ch: French (Switzerland, no dead keys) + fr_mac ch: French (Switzerland, Macintosh) + de_mac ch: German (Switzerland, Macintosh) + syc sy: Syriac + syc_phonetic sy: Syriac (phonetic) + ku sy: Kurdish (Syria, Latin Q) + ku_f sy: Kurdish (Syria, F) + ku_alt sy: Kurdish (Syria, Latin Alt-Q) + legacy tj: Tajik (legacy) + tam_unicode lk: Tamil (Sri Lanka, TamilNet '99) + tam_TAB lk: Tamil (Sri Lanka, TamilNet '99, TAB encoding) + us lk: Sinhala (US) + tis th: Thai (TIS-820.2538) + pat th: Thai (Pattachote) + f tr: Turkish (F) + alt tr: Turkish (Alt-Q) + ku tr: Kurdish (Turkey, Latin Q) + ku_f tr: Kurdish (Turkey, F) + ku_alt tr: Kurdish (Turkey, Latin Alt-Q) + intl tr: Turkish (intl., with dead keys) + ot tr: Ottoman (Q) + otf tr: Ottoman (F) + otk tr: Old Turkic + otkf tr: Old Turkic (F) + indigenous tw: Taiwanese (indigenous) + saisiyat tw: Saisiyat (Taiwan) + phonetic ua: Ukrainian (phonetic) + typewriter ua: Ukrainian (typewriter) + winkeys ua: Ukrainian (Windows) + macOS ua: Ukrainian (macOS) + legacy ua: Ukrainian (legacy) + rstu ua: Ukrainian (standard RSTU) + rstu_ru ua: Russian (Ukraine, standard RSTU) + homophonic ua: Ukrainian (homophonic) + crh ua: Crimean Tatar (Turkish Q) + crh_f ua: Crimean Tatar (Turkish F) + crh_alt ua: Crimean Tatar (Turkish Alt-Q) + extd gb: English (UK, extended, Windows) + intl gb: English (UK, intl., with dead keys) + dvorak gb: English (UK, Dvorak) + dvorakukp gb: English (UK, Dvorak, with UK punctuation) + mac gb: English (UK, Macintosh) + mac_intl gb: English (UK, Macintosh, intl.) + colemak gb: English (UK, Colemak) + colemak_dh gb: English (UK, Colemak-DH) + pl gb: Polish (British keyboard) + gla gb: Scottish Gaelic + latin uz: Uzbek (Latin) + us vn: Vietnamese (US) + fr vn: Vietnamese (French) + kr104 kr: Korean (101/104-key compatible) + CloGaelach ie: CloGaelach + UnicodeExpert ie: Irish (UnicodeExpert) + ogam ie: Ogham + ogam_is434 ie: Ogham (IS434) + urd-crulp pk: Urdu (Pakistan, CRULP) + urd-nla pk: Urdu (Pakistan, NLA) + ara pk: Arabic (Pakistan) + snd pk: Sindhi + legacy epo: Esperanto (legacy) + igbo ng: Igbo + yoruba ng: Yoruba + hausa ng: Hausa (Nigeria) + left_hand brai: Braille (left-handed) + left_hand_invert brai: Braille (left-handed inverted thumb) + right_hand brai: Braille (right-handed) + right_hand_invert brai: Braille (right-handed inverted thumb) + alt tm: Turkmen (Alt-Q) + fr-oss ml: French (Mali, alt.) + us-mac ml: English (Mali, US, Macintosh) + us-intl ml: English (Mali, US, intl.) + kik ke: Kikuyu + qwerty-bay ph: Filipino (QWERTY, Baybayin) + capewell-dvorak ph: Filipino (Capewell-Dvorak, Latin) + capewell-dvorak-bay ph: Filipino (Capewell-Dvorak, Baybayin) + capewell-qwerf2k6 ph: Filipino (Capewell-QWERF 2006, Latin) + capewell-qwerf2k6-bay ph: Filipino (Capewell-QWERF 2006, Baybayin) + colemak ph: Filipino (Colemak, Latin) + colemak-bay ph: Filipino (Colemak, Baybayin) + dvorak ph: Filipino (Dvorak, Latin) + dvorak-bay ph: Filipino (Dvorak, Baybayin) + gag md: Moldavian (Gagauz) + phonetic id: Indonesian (Arab Pegon, phonetic) + phoneticx id: Indonesian (Arab Pegon, extended phonetic) + phonetic my: Malay (Jawi, phonetic) + +! option + grp Switching to another layout + grp:switch Right Alt (while pressed) + grp:lswitch Left Alt (while pressed) + grp:lwin_switch Left Win (while pressed) + grp:rwin_switch Right Win (while pressed) + grp:win_switch Any Win (while pressed) + grp:menu_switch Menu (while pressed), Shift+Menu for Menu + grp:caps_switch Caps Lock (while pressed), Alt+Caps Lock for the original Caps Lock action + grp:rctrl_switch Right Ctrl (while pressed) + grp:toggle Right Alt + grp:lalt_toggle Left Alt + grp:caps_toggle Caps Lock + grp:shift_caps_toggle Shift+Caps Lock + grp:shift_caps_switch Caps Lock to first layout; Shift+Caps Lock to last layout + grp:win_menu_switch Left Win to first layout; Right Win/Menu to last layout + grp:lctrl_rctrl_switch Left Ctrl to first layout; Right Ctrl to last layout + grp:alt_caps_toggle Alt+Caps Lock + grp:shifts_toggle Both Shift together + grp:alts_toggle Both Alt together + grp:ctrls_toggle Both Ctrl together + grp:ctrl_shift_toggle Ctrl+Shift + grp:lctrl_lshift_toggle Left Ctrl+Left Shift + grp:rctrl_rshift_toggle Right Ctrl+Right Shift + grp:ctrl_alt_toggle Alt+Ctrl + grp:alt_shift_toggle Alt+Shift + grp:lalt_lshift_toggle Left Alt+Left Shift + grp:alt_space_toggle Alt+Space + grp:menu_toggle Menu + grp:lwin_toggle Left Win + grp:win_space_toggle Win+Space + grp:rwin_toggle Right Win + grp:lshift_toggle Left Shift + grp:rshift_toggle Right Shift + grp:lctrl_toggle Left Ctrl + grp:rctrl_toggle Right Ctrl + grp:sclk_toggle Scroll Lock + grp:lctrl_lwin_rctrl_menu Left Ctrl+Left Win to first layout; Right Ctrl+Menu to second layout + grp:lctrl_lwin_toggle Left Ctrl+Left Win + lv2 Key to choose the 2nd level + lv2:lsgt_switch The "< >" key + lv3 Key to choose the 3rd level + lv3:switch Right Ctrl + lv3:menu_switch Menu + lv3:win_switch Any Win + lv3:lwin_switch Left Win + lv3:rwin_switch Right Win + lv3:alt_switch Any Alt + lv3:lalt_switch Left Alt + lv3:ralt_switch Right Alt + lv3:ralt_switch_multikey Right Alt; Shift+Right Alt as Compose + lv3:ralt_alt Right Alt never chooses 3rd level + lv3:enter_switch Enter on keypad + lv3:caps_switch Caps Lock + lv3:bksl_switch Backslash + lv3:lsgt_switch The "< >" key + lv3:caps_switch_latch Caps Lock; acts as onetime lock when pressed together with another 3rd-level chooser + lv3:bksl_switch_latch Backslash; acts as onetime lock when pressed together with another 3rd level chooser + lv3:lsgt_switch_latch The "< >" key; acts as onetime lock when pressed together with another 3rd level chooser + ctrl Ctrl position + ctrl:nocaps Caps Lock as Ctrl + ctrl:lctrl_meta Left Ctrl as Meta + ctrl:swapcaps Swap Ctrl and Caps Lock + ctrl:swapcaps_hyper Caps Lock as Ctrl, Ctrl as Hyper + ctrl:ac_ctrl To the left of "A" + ctrl:aa_ctrl At the bottom left + ctrl:rctrl_ralt Right Ctrl as Right Alt + ctrl:menu_rctrl Menu as Right Ctrl + ctrl:swap_lalt_lctl Swap Left Alt with Left Ctrl + ctrl:swap_lwin_lctl Swap Left Win with Left Ctrl + ctrl:swap_rwin_rctl Swap Right Win with Right Ctrl + ctrl:swap_lalt_lctl_lwin Left Alt as Ctrl, Left Ctrl as Win, Left Win as Left Alt + grp_led Use keyboard LED to show alternative layout + grp_led:num Num Lock + grp_led:caps Caps Lock + grp_led:scroll Scroll Lock + mod_led Use keyboard LED to indicate modifiers + mod_led:compose Compose + keypad Layout of numeric keypad + keypad:legacy Legacy + keypad:oss Unicode arrows and math operators + keypad:future Unicode arrows and math operators on default level + keypad:legacy_wang Legacy Wang 724 + keypad:oss_wang Wang 724 keypad with Unicode arrows and math operators + keypad:future_wang Wang 724 keypad with Unicode arrows and math operators on default level + keypad:hex Hexadecimal + keypad:atm Phone and ATM style + kpdl Numeric keypad Delete behavior + kpdl:dot Legacy key with dot + kpdl:comma Legacy key with comma + kpdl:dotoss Four-level key with dot + kpdl:dotoss_latin9 Four-level key with dot, Latin-9 only + kpdl:commaoss Four-level key with comma + kpdl:momayyezoss Four-level key with momayyez + kpdl:kposs Four-level key with abstract separators + kpdl:semi Semicolon on third level + caps Caps Lock behavior + caps:internal Caps Lock uses internal capitalization; Shift "pauses" Caps Lock + caps:internal_nocancel Caps Lock uses internal capitalization; Shift does not affect Caps Lock + caps:shift Caps Lock acts as Shift with locking; Shift "pauses" Caps Lock + caps:shift_nocancel Caps Lock acts as Shift with locking; Shift does not affect Caps Lock + caps:capslock Caps Lock toggles normal capitalization of alphabetic characters + caps:shiftlock Caps Lock toggles Shift Lock (affects all keys) + caps:swapescape Swap Esc and Caps Lock + caps:escape Make Caps Lock an additional Esc + caps:escape_shifted_capslock Make Caps Lock an additional Esc, but Shift + Caps Lock is the regular Caps Lock + caps:backspace Make Caps Lock an additional Backspace + caps:super Make Caps Lock an additional Super + caps:hyper Make Caps Lock an additional Hyper + caps:menu Make Caps Lock an additional Menu key + caps:numlock Make Caps Lock an additional Num Lock + caps:ctrl_modifier Make Caps Lock an additional Ctrl + caps:none Caps Lock is disabled + altwin Alt and Win behavior + altwin:menu Add the standard behavior to Menu key + altwin:menu_win Menu is mapped to Win + altwin:meta_alt Alt and Meta are on Alt + altwin:alt_win Alt is mapped to Win and the usual Alt + altwin:ctrl_win Ctrl is mapped to Win and the usual Ctrl + altwin:ctrl_rwin Ctrl is mapped to Right Win and the usual Ctrl + altwin:ctrl_alt_win Ctrl is mapped to Alt, Alt to Win + altwin:meta_win Meta is mapped to Win + altwin:left_meta_win Meta is mapped to Left Win + altwin:hyper_win Hyper is mapped to Win + altwin:alt_super_win Alt is mapped to Right Win, Super to Menu + altwin:swap_lalt_lwin Left Alt is swapped with Left Win + altwin:swap_alt_win Alt is swapped with Win + altwin:prtsc_rwin Win is mapped to PrtSc and the usual Win + Compose key Position of Compose key + compose:ralt Right Alt + compose:lwin Left Win + compose:lwin-altgr 3rd level of Left Win + compose:rwin Right Win + compose:rwin-altgr 3rd level of Right Win + compose:menu Menu + compose:menu-altgr 3rd level of Menu + compose:lctrl Left Ctrl + compose:lctrl-altgr 3rd level of Left Ctrl + compose:rctrl Right Ctrl + compose:rctrl-altgr 3rd level of Right Ctrl + compose:caps Caps Lock + compose:caps-altgr 3rd level of Caps Lock + compose:102 The "< >" key + compose:102-altgr 3rd level of the "< >" key + compose:paus Pause + compose:prsc PrtSc + compose:sclk Scroll Lock + compat Compatibility options + numpad:pc Default numeric keypad keys + numpad:mac Numeric keypad always enters digits (as in macOS) + numpad:microsoft Num Lock on: digits; Shift for arrows. Num Lock off: arrows (as in Windows) + numpad:shift3 Shift does not cancel Num Lock, chooses 3rd level instead + srvrkeys:none Special keys (Ctrl+Alt+<key>) handled in a server + apple:alupckeys Apple Aluminium emulates Pause, PrtSc, Scroll Lock + shift:breaks_caps Shift cancels Caps Lock + misc:typo Enable extra typographic characters + misc:apl Enable APL overlay characters + shift:both_capslock Both Shift together enable Caps Lock + shift:both_capslock_cancel Both Shift together enable Caps Lock; one Shift key disables it + shift:both_shiftlock Both Shift together enable Shift Lock + keypad:pointerkeys Shift + Num Lock enables PointerKeys + grab:break_actions Allow breaking grabs with keyboard actions (warning: security risk) + grab:debug Allow grab and window tree logging + currencysign Currency signs + eurosign:e Euro on E + eurosign:2 Euro on 2 + eurosign:4 Euro on 4 + eurosign:5 Euro on 5 + rupeesign:4 Rupee on 4 + lv5 Key to choose 5th level + lv5:lsgt_switch The "< >" key chooses 5th level + lv5:ralt_switch Right Alt chooses 5th level + lv5:menu_switch Menu chooses 5th level + lv5:lsgt_switch_lock The "< >" key chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser + lv5:ralt_switch_lock Right Alt chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser + lv5:lwin_switch_lock Left Win chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser + lv5:rwin_switch_lock Right Win chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser + lv5:lsgt_switch_lock_cancel The "< >" key chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser + lv5:lsgt_switch The "< >" key chooses 5th level + lv5:ralt_switch Right Alt chooses 5th level + lv5:menu_switch Menu chooses 5th level + lv5:lsgt_switch_lock The "< >" key chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser + lv5:ralt_switch_lock Right Alt chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser + lv5:lwin_switch_lock Left Win chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser + lv5:rwin_switch_lock Right Win chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser + nbsp Non-breaking space input + nbsp:none Usual space at any level + nbsp:level2 Non-breaking space at the 2nd level + nbsp:level3 Non-breaking space at the 3rd level + nbsp:level3s Non-breaking space at the 3rd level, nothing at the 4th level + nbsp:level3n Non-breaking space at the 3rd level, thin non-breaking space at the 4th level + nbsp:level4 Non-breaking space at the 4th level + nbsp:level4n Non-breaking space at the 4th level, thin non-breaking space at the 6th level + nbsp:level4nl Non-breaking space at the 4th level, thin non-breaking space at the 6th level (via Ctrl+Shift) + nbsp:zwnj2 Zero-width non-joiner at the 2nd level + nbsp:zwnj2zwj3 Zero-width non-joiner at the 2nd level, zero-width joiner at the 3rd level + nbsp:zwnj2zwj3nb4 Zero-width non-joiner at the 2nd level, zero-width joiner at the 3rd level, non-breaking space at the 4th level + nbsp:zwnj2nb3 Zero-width non-joiner at the 2nd level, non-breaking space at the 3rd level + nbsp:zwnj2nb3s Zero-width non-joiner at the 2nd level, non-breaking space at the 3rd level, nothing at the 4th level + nbsp:zwnj2nb3zwj4 Zero-width non-joiner at the 2nd level, non-breaking space at the 3rd level, zero-width joiner at the 4th level + nbsp:zwnj2nb3nnb4 Zero-width non-joiner at the 2nd level, non-breaking space at the 3rd level, thin non-breaking space at the 4th level + nbsp:zwnj3zwj4 Zero-width non-joiner at the 3rd level, zero-width joiner at the 4th level + japan Japanese keyboard options + japan:kana_lock Kana Lock key is locking + japan:nicola_f_bs NICOLA-F style Backspace + japan:hztg_escape Make Zenkaku Hankaku an additional Esc + korean Korean Hangul/Hanja keys + korean:ralt_hangul Make right Alt a Hangul key + korean:rctrl_hangul Make right Ctrl a Hangul key + korean:ralt_hanja Make right Alt a Hanja key + korean:rctrl_hanja Make right Ctrl a Hanja key + esperanto Esperanto letters with superscripts + esperanto:qwerty At the corresponding key in a QWERTY layout + esperanto:dvorak At the corresponding key in a Dvorak layout + esperanto:colemak At the corresponding key in a Colemak layout + solaris Old Solaris keycodes compatibility + solaris:sun_compat Sun key compatibility + terminate Key sequence to kill the X server + terminate:ctrl_alt_bksp Ctrl+Alt+Backspace diff --git a/xkbdata/rules/base.xml b/xkbdata/rules/base.xml new file mode 100644 index 0000000..0ed9ce8 --- /dev/null +++ b/xkbdata/rules/base.xml @@ -0,0 +1,7779 @@ + + + + + + + pc86 + Generic 86-key PC + Generic + + + + + pc101 + Generic 101-key PC + Generic + + + + + pc102 + Generic 102-key PC + Generic + + + + + pc104 + Generic 104-key PC + Generic + + + + + pc104alt + Generic 104-key PC with L-shaped Enter key + Generic + + + + + pc105 + Generic 105-key PC + Generic + + + + + dell101 + Dell 101-key PC + Dell + + + + + latitude + Dell Latitude laptop + Dell + + + + + dellm65 + Dell Precision M65 laptop + Dell + + + + + everex + Everex STEPnote + Everex + + + + + flexpro + Keytronic FlexPro + Keytronic + + + + + microsoft + Microsoft Natural + Microsoft + + + + + omnikey101 + Northgate OmniKey 101 + Northgate + + + + + winbook + Winbook Model XP5 + Generic + + + + + pc98 + PC-98 + Generic + + + + + a4techKB21 + A4Tech KB-21 + A4Tech + + + + + a4techKBS8 + A4Tech KBS-8 + A4Tech + + + + + a4_rfkb23 + A4Tech Wireless Desktop RFKB-23 + A4Tech + + + + + airkey + Acer AirKey V + Acer + + + + + azonaRF2300 + Azona RF2300 Wireless Internet + Azona + + + + + scorpius + Advance Scorpius KI + Scorpius + + + + + brother + Brother Internet + Brother + + + + + btc5113rf + BTC 5113RF Multimedia + BTC + + + + + btc5126t + BTC 5126T + BTC + + + + + btc6301urf + BTC 6301URF + BTC + + + + + btc9000 + BTC 9000 + BTC + + + + + btc9000a + BTC 9000A + BTC + + + + + btc9001ah + BTC 9001AH + BTC + + + + + btc5090 + BTC 5090 + BTC + + + + + btc9019u + BTC 9019U + BTC + + + + + btc9116u + BTC 9116U Mini Wireless Internet and Gaming + BTC + + + + + cherryblue + Cherry Blue Line CyBo@rd + Cherry + + + + + cherryblueb + Cherry CyMotion Master XPress + Cherry + + + + + cherrybluea + Cherry Blue Line CyBo@rd (alt.) + Cherry + + + + + cherrycyboard + Cherry CyBo@rd USB-Hub + Cherry + + + + + cherrycmexpert + Cherry CyMotion Expert + Cherry + + + + + cherrybunlim + Cherry B.UNLIMITED + Cherry + + + + + chicony + Chicony Internet + Chicony + + + + + chicony0108 + Chicony KU-0108 + Chicony + + + + + chicony0420 + Chicony KU-0420 + Chicony + + + + + chicony9885 + Chicony KB-9885 + Chicony + + + + + compaqeak8 + Compaq Easy Access + Compaq + + + + + compaqik7 + Compaq Internet (7 keys) + Compaq + + + + + compaqik13 + Compaq Internet (13 keys) + Compaq + + + + + compaqik18 + Compaq Internet (18 keys) + Compaq + + + + + cymotionlinux + Cherry CyMotion Master Linux + Cherry + + + + + armada + Compaq Armada laptop + Compaq + + + + + presario + Compaq Presario laptop + Compaq + + + + + ipaq + Compaq iPaq + Compaq + + + + + dell + Dell + Dell + + + + + dellsk8125 + Dell SK-8125 + Dell + + + + + dellsk8135 + Dell SK-8135 + Dell + + + + + dellusbmm + Dell USB Multimedia + Dell + + + + + inspiron + Dell Inspiron 6000/8000 laptop + Dell + + + + + precision_m + Dell Precision M laptop + Dell + + + + + dexxa + Dexxa Wireless Desktop + Dexxa + + + + + diamond + Diamond 9801/9802 + Diamond + + + + + dtk2000 + DTK2000 + DTK + + + + + ennyah_dkb1008 + Ennyah DKB-1008 + Ennyah + + + + + fscaa1667g + Fujitsu-Siemens Amilo laptop + Fujitsu-Siemens + + + + + genius + Genius Comfy KB-16M/Multimedia KWD-910 + Genius + + + + + geniuscomfy + Genius Comfy KB-12e + Genius + + + + + geniuscomfy2 + Genius Comfy KB-21e-Scroll + Genius + + + + + geniuskb19e + Genius KB-19e NB + Genius + + + + + geniuskkb2050hs + Genius KKB-2050HS + Genius + + + + + gyration + Gyration + Gyration + + + + + kinesis + Kinesis + Kinesis + + + + + logitech_base + Logitech + Logitech + + + + + logitech_g15 + Logitech G15 extra keys via G15daemon + Logitech + + + + + hpi6 + Hewlett-Packard Internet + Hewlett-Packard + + + + + hp250x + Hewlett-Packard NEC SK-2500 Multimedia + Hewlett-Packard + + + + + hpxe3gc + Hewlett-Packard Omnibook XE3 GC + Hewlett-Packard + + + + + hpxe3gf + Hewlett-Packard Omnibook XE3 GF + Hewlett-Packard + + + + + hpxt1000 + Hewlett-Packard Omnibook XT1000 + Hewlett-Packard + + + + + hpdv5 + Hewlett-Packard Pavilion dv5 + Hewlett-Packard + + + + + hpzt11xx + Hewlett-Packard Pavilion ZT1100 + Hewlett-Packard + + + + + hp500fa + Hewlett-Packard Omnibook 500 FA + Hewlett-Packard + + + + + hp5xx + Hewlett-Packard Omnibook 500 + Hewlett-Packard + + + + + hpnx9020 + Hewlett-Packard nx9020 + Hewlett-Packard + + + + + hp6000 + Hewlett-Packard Omnibook 6000/6100 + Hewlett-Packard + + + + + honeywell_euroboard + Honeywell Euroboard + Hewlett-Packard + + + + + hpmini110 + Hewlett-Packard Mini 110 laptop + Hewlett-Packard + + + + + rapidaccess + IBM Rapid Access + Lenovo (previously IBM) + + + + + rapidaccess2 + IBM Rapid Access II + Lenovo (previously IBM) + + + + + thinkpad + IBM ThinkPad 560Z/600/600E/A22E + Lenovo (previously IBM) + + + + + thinkpad60 + IBM ThinkPad R60/T60/R61/T61 + Lenovo (previously IBM) + + + + + thinkpadz60 + IBM ThinkPad Z60m/Z60t/Z61m/Z61t + Lenovo (previously IBM) + + + + + ibm_spacesaver + IBM Space Saver + Lenovo (previously IBM) + + + + + logiaccess + Logitech Access + Logitech + + + + + logiclx300 + Logitech Cordless Desktop LX-300 + Logitech + + + + + logii350 + Logitech Internet 350 + Logitech + 046d:c313 + + + + + logimel + Logitech Internet 350 + Logitech + + + + + logicd + Logitech Cordless Desktop + Logitech + + + + + logicd_it + Logitech Cordless Desktop iTouch + Logitech + + + + + logicd_nav + Logitech Cordless Desktop Navigator + Logitech + + + + + logicd_opt + Logitech Cordless Desktop Optical + Logitech + + + + + logicda + Logitech Cordless Desktop (alt.) + Logitech + + + + + logicdpa2 + Logitech Cordless Desktop Pro (2nd alt.) + Logitech + + + + + logicfn + Logitech Cordless Freedom/Desktop Navigator + Logitech + + + + + logicdn + Logitech Cordless Desktop Navigator + Logitech + + + + + logiitc + Logitech iTouch Cordless Y-RB6 + Logitech + + + + + logiik + Logitech Internet + Logitech + + + + + itouch + Logitech iTouch + Logitech + + + + + logicink + Logitech Internet Navigator + Logitech + + + + + logiex110 + Logitech Cordless Desktop EX110 + Logitech + + + + + logiinkse + Logitech iTouch Internet Navigator SE + Logitech + + + + + logiinkseusb + Logitech iTouch Internet Navigator SE USB + Logitech + + + + + logiultrax + Logitech Ultra-X + Logitech + + + + + logiultraxc + Logitech Ultra-X Cordless Media Desktop + Logitech + + + + + logidinovo + Logitech diNovo + Logitech + + + + + logidinovoedge + Logitech diNovo Edge + Logitech + + + + + mx1998 + Memorex MX1998 + Memorex + + + + + mx2500 + Memorex MX2500 EZ-Access + Memorex + + + + + mx2750 + Memorex MX2750 + Memorex + + + + + microsoft4000 + Microsoft Natural Ergonomic 4000 + Microsoft + + + + + microsoft7000 + Microsoft Natural Wireless Ergonomic 7000 + Microsoft + + + + + microsoftinet + Microsoft Internet + Microsoft + + + + + microsoftpro + Microsoft Natural Pro/Internet Pro + Microsoft + + + + + microsoftprousb + Microsoft Natural Pro USB/Internet Pro + Microsoft + + + + + microsoftprooem + Microsoft Natural Pro OEM + Microsoft + + + + + vsonku306 + ViewSonic KU-306 Internet + ViewSonic + + + + + microsoftprose + Microsoft Internet Pro (Swedish) + Microsoft + + + + + microsoftoffice + Microsoft Office Keyboard + Microsoft + + + + + microsoftmult + Microsoft Wireless Multimedia 1.0A + Microsoft + + + + + microsoftsurface + Microsoft Surface + Microsoft + + + + + microsoftelite + Microsoft Natural Elite + Microsoft + + + + + microsoftccurve2k + Microsoft Comfort Curve 2000 + Microsoft + + + + + oretec + Ortek Multimedia/Internet MCK-800 + Ortek + + + + + propeller + Propeller Voyager KTEZ-1000 + KeyTronic + + + + + qtronix + QTronix Scorpius 98N+ + QTronix + + + + + samsung4500 + Samsung SDM 4500P + Samsung + + + + + samsung4510 + Samsung SDM 4510P + Samsung + + + + + sanwaskbkg3 + Sanwa Supply SKB-KG3 + Sanwa Supply Inc. + + + + + sk1300 + NEC SK-1300 + NEC + + + + + sk2500 + NEC SK-2500 + NEC + + + + + sk6200 + NEC SK-6200 + NEC + + + + + sk7100 + NEC SK-7100 + NEC + + + + + sp_inet + Super Power Multimedia + Generic + + + + + sven + SVEN Ergonomic 2500 + SVEN + + + + + sven303 + SVEN Slim 303 + SVEN + + + + + symplon + Symplon PaceBook tablet + Symplon + + + + + toshiba_s3000 + Toshiba Satellite S3000 + Toshiba + + + + + trust + Trust Wireless Classic + Trust + + + + + trustda + Trust Direct Access + Trust + + + + + trust_slimline + Trust Slimline + Trust + + + + + tm2020 + TypeMatrix EZ-Reach 2020 + TypeMatrix + + + + + tm2030PS2 + TypeMatrix EZ-Reach 2030 PS2 + TypeMatrix + + + + + tm2030USB + TypeMatrix EZ-Reach 2030 USB + TypeMatrix + + + + + tm2030USB-102 + TypeMatrix EZ-Reach 2030 USB (102/105:EU mode) + TypeMatrix + + + + + tm2030USB-106 + TypeMatrix EZ-Reach 2030 USB (106:JP mode) + TypeMatrix + + + + + yahoo + Yahoo! Internet + Yahoo! + + + + + macbook78 + MacBook/MacBook Pro + Apple + + + + + macbook79 + MacBook/MacBook Pro (intl.) + Apple + + + + + macintosh + Macintosh + Apple + + + + + macintosh_old + Macintosh Old + Apple + + + + + macintosh_hhk + Happy Hacking for Mac + Fujitsu + + + + + acer_c300 + Acer C300 + Acer + + + + + acer_ferrari4k + Acer Ferrari 4000 + Acer + + + + + acer_laptop + Acer laptop + Acer + + + + + asus_laptop + Asus laptop + Asus + + + + + apple + Apple + Apple + + + + + apple_laptop + Apple laptop + Apple + + + + + applealu_ansi + Apple Aluminium (ANSI) + Apple + + + + + applealu_iso + Apple Aluminium (ISO) + Apple + + + + + applealu_jis + Apple Aluminium (JIS) + Apple + + + + + silvercrest + Silvercrest Multimedia Wireless + Silvercrest + + + + + emachines + eMachines m6800 laptop + eMachines + + + + + benqx + BenQ X-Touch + BenQ + + + + + benqx730 + BenQ X-Touch 730 + BenQ + + + + + benqx800 + BenQ X-Touch 800 + BenQ + + + + + hhk + Happy Hacking + Fujitsu + + + + + classmate + Classmate PC + Intel + + + + + olpc + OLPC + OLPC + + + + + sun_type7_usb + Sun Type 7 USB + Sun Microsystems + + + + + sun_type7_euro_usb + Sun Type 7 USB (European) + Sun Microsystems + + + + + sun_type7_unix_usb + Sun Type 7 USB (Unix) + Sun Microsystems + + + + + sun_type7_jp_usb + Sun Type 7 USB (Japanese)/Japanese 106-key + Sun Microsystems + + + + + sun_type6_usb + Sun Type 6/7 USB + Sun Microsystems + + + + + sun_type6_euro_usb + Sun Type 6/7 USB (European) + Sun Microsystems + + + + + sun_type6_unix_usb + Sun Type 6 USB (Unix) + Sun Microsystems + + + + + sun_type6_jp_usb + Sun Type 6 USB (Japanese) + Sun Microsystems + + + + + sun_type6_jp + Sun Type 6 (Japanese) + Sun Microsystems + + + + + targa_v811 + Targa Visionary 811 + Targa + + + + + unitekkb1925 + Unitek KB-1925 + Unitek Group + + + + + compalfl90 + FL90 + Compal Electronics + + + + + creativedw7000 + Creative Desktop Wireless 7000 + Creative + + + + + teck227 + Truly Ergonomic 227 + Truly Ergonomic + + + + + teck229 + Truly Ergonomic 229 + Truly Ergonomic + + + + + apex300 + SteelSeries Apex 300 (Apex RAW) + SteelSeries + + + + + chromebook + Chromebook + Google + + + + + + + us + + en + English (US) + + eng + + + + + + chr + + chr + Cherokee + + chr + + + + + + haw + haw + Hawaiian + + haw + + + + + + euro + English (US, euro on 5) + + + + + intl + English (US, intl., with dead keys) + + + + + alt-intl + English (US, alt. intl.) + + + + + colemak + English (Colemak) + + + + + colemak_dh + English (Colemak-DH) + + + + + colemak_dh_iso + English (Colemak-DH ISO) + + + + + dvorak + English (Dvorak) + + + + + dvorak-intl + English (Dvorak, intl., with dead keys) + + + + + dvorak-alt-intl + English (Dvorak, alt. intl.) + + + + + dvorak-l + English (Dvorak, left-handed) + + + + + dvorak-r + English (Dvorak, right-handed) + + + + + dvorak-classic + English (classic Dvorak) + + + + + dvp + English (programmer Dvorak) + + + + + dvorak-mac + English (Dvorak, Macintosh) + + + + + symbolic + English (US, Symbolic) + + + + + rus + + ru + Russian (US, phonetic) + + rus + + + + + + mac + English (Macintosh) + + + + + altgr-intl + English (intl., with AltGr dead keys) + + eng + fra + deu + + + + + + olpc2 + English (the divide/multiply toggle the layout) + + + + + hbs + Serbo-Croatian (US) + + eng + bos + hbs + hrv + srp + + + + + + norman + English (Norman) + + + + + workman + English (Workman) + + + + + workman-intl + English (Workman, intl., with dead keys) + + + + + + + af + + fa + Dari + + + + + ps + + ps + Pashto + + pus + + + + + + uz + + uz + Uzbek (Afghanistan) + + uzb + + + + + + ps-olpc + + ps + Pashto (Afghanistan, OLPC) + + pus + + + + + + fa-olpc + + fa + Dari (Afghanistan, OLPC) + + + + + uz-olpc + + uz + Uzbek (Afghanistan, OLPC) + + uzb + + + + + + + + ara + + ar + Arabic + + AE + BH + DZ + EG + EH + JO + KW + LB + LY + MA + MR + OM + PS + QA + SA + SD + SY + TN + YE + + + ara + + + + + + azerty + Arabic (AZERTY) + + + + + azerty_digits + Arabic (AZERTY, Eastern Arabic numerals) + + + + + digits + Arabic (Eastern Arabic numerals) + + + + + qwerty + Arabic (QWERTY) + + + + + qwerty_digits + Arabic (QWERTY, Eastern Arabic numerals) + + + + + buckwalter + Arabic (Buckwalter) + + + + + olpc + Arabic (OLPC) + + + + + mac + Arabic (Macintosh) + + + + + + + al + + sq + Albanian + + sqi + + + + + + plisi + Albanian (Plisi) + + + + + veqilharxhi + Albanian (Veqilharxhi) + + + + + + + am + + hy + Armenian + + hye + + + + + + phonetic + Armenian (phonetic) + + + + + phonetic-alt + Armenian (alt. phonetic) + + + + + eastern + Armenian (eastern) + + + + + western + Armenian (western) + + + + + eastern-alt + Armenian (alt. eastern) + + + + + + + at + + de + German (Austria) + + deu + + + + + + nodeadkeys + German (Austria, no dead keys) + + + + + mac + German (Austria, Macintosh) + + + + + + + au + + en + English (Australian) + + eng + + + + + + az + + az + Azerbaijani + + aze + + + + + + cyrillic + Azerbaijani (Cyrillic) + + + + + + + by + + by + Belarusian + + bel + + + + + + legacy + Belarusian (legacy) + + + + + latin + Belarusian (Latin) + + + + + ru + Russian (Belarus) + + + + + intl + Belarusian (intl.) + + + + + + + be + + be + Belgian + + deu + nld + fra + + + + + + oss + Belgian (alt.) + + + + + oss_latin9 + Belgian (Latin-9 only, alt.) + + + + + iso-alternate + Belgian (ISO, alt.) + + + + + nodeadkeys + Belgian (no dead keys) + + + + + wang + Belgian (Wang 724 AZERTY) + + + + + + + bd + + bn + Bangla + + ben + + sat + + + + + + probhat + Bangla (Probhat) + + + + + + + in + + in + Indian + + + + + ben + + bn + Bangla (India) + + ben + + sat + + + + + + ben_probhat + + bn + Bangla (India, Probhat) + + ben + + sat + + + + + + ben_baishakhi + Bangla (India, Baishakhi) + + ben + + sat + + + + + + ben_bornona + Bangla (India, Bornona) + + ben + + sat + + + + + + ben_gitanjali + Bangla (India, Gitanjali) + + ben + + sat + + + + + + ben_inscript + Bangla (India, Baishakhi InScript) + + ben + + sat + + + + + + eeyek + Manipuri (Eeyek) + + mni + + + + + + guj + + gu + Gujarati + + guj + + + + + + guru + + pa + Punjabi (Gurmukhi) + + pan + + + + + + jhelum + + pa + Punjabi (Gurmukhi Jhelum) + + pan + + + + + + kan + + kn + Kannada + + kan + + + + + + kan-kagapa + + kn + Kannada (KaGaPa, phonetic) + + kan + + + + + + mal + + ml + Malayalam + + mal + + + + + + mal_lalitha + + ml + Malayalam (Lalitha) + + mal + + + + + + mal_enhanced + + ml + Malayalam (enhanced InScript, with rupee) + + mal + + + + + + ori + + or + Oriya + + ori + + sat + + + + + + ori-bolnagri + + or + Oriya (Bolnagri) + + ori + + sat + + + + + + ori-wx + + or + Oriya (Wx) + + ori + + sat + + + + + + olck + + sat + Ol Chiki + + + sat + + + + + + tam_tamilnet + + ta + Tamil (TamilNet '99) + + tam + + + + + + tam_tamilnet_with_tam_nums + + ta + Tamil (TamilNet '99 with Tamil numerals) + + tam + + + + + + tam_tamilnet_TAB + + ta + Tamil (TamilNet '99, TAB encoding) + + tam + + + + + + tam_tamilnet_TSCII + + ta + Tamil (TamilNet '99, TSCII encoding) + + tam + + + + + + tam + + ta + Tamil (InScript) + + tam + + + + + + tel + + te + Telugu + + tel + + + + + + tel-kagapa + + te + Telugu (KaGaPa, phonetic) + + tel + + + + + + tel-sarala + + te + Telugu (Sarala) + + tel + + + + + + urd-phonetic + + ur + Urdu (phonetic) + + urd + + + + + + urd-phonetic3 + + ur + Urdu (alt. phonetic) + + urd + + + + + + urd-winkeys + + ur + Urdu (Windows) + + urd + + + + + + bolnagri + + hi + Hindi (Bolnagri) + + hin + + + + + + hin-wx + + hi + Hindi (Wx) + + hin + + + + + + hin-kagapa + + hi + Hindi (KaGaPa, phonetic) + + hin + + + + + + san-kagapa + + sa + Sanskrit (KaGaPa, phonetic) + + san + + + + + + mar-kagapa + + mr + Marathi (KaGaPa, phonetic) + + mar + + + + + + eng + + en + English (India, with rupee) + + eng + + + + + + iipa + Indic IPA + + eng + + + + + + marathi + Marathi (enhanced InScript) + + mar + + + + + + + + ba + + bs + Bosnian + + bos + + + + + + alternatequotes + Bosnian (with guillemets) + + + + + unicode + Bosnian (with Bosnian digraphs) + + + + + unicodeus + Bosnian (US, with Bosnian digraphs) + + + + + us + Bosnian (US) + + + + + + + br + + pt + Portuguese (Brazil) + + por + + + + + + nodeadkeys + Portuguese (Brazil, no dead keys) + + + + + dvorak + Portuguese (Brazil, Dvorak) + + + + + nativo + Portuguese (Brazil, Nativo) + + + + + nativo-us + Portuguese (Brazil, Nativo for US keyboards) + + + + + nativo-epo + Esperanto (Brazil, Nativo) + + epo + + + + + + thinkpad + Portuguese (Brazil, IBM/Lenovo ThinkPad) + + + + + + + bg + + bg + Bulgarian + + bul + + + + + + phonetic + Bulgarian (traditional phonetic) + + + + + bas_phonetic + Bulgarian (new phonetic) + + + + + bekl + Bulgarian (enhanced) + + + + + + + dz + kab + Berber (Algeria, Latin) + + + + + azerty-deadkeys + kab + Kabyle (AZERTY, with dead keys) + + kab + + + + + + qwerty-gb-deadkeys + kab + Kabyle (QWERTY, UK, with dead keys) + + kab + + + + + + qwerty-us-deadkeys + kab + Kabyle (QWERTY, US, with dead keys) + + kab + + + + + + ber + kab + Berber (Algeria, Tifinagh) + + kab + + + + + + ar + ar + Arabic (Algeria) + + ara + + + + + + + + ma + + ar + Arabic (Morocco) + + + + + french + + fr + French (Morocco) + + fra + + + + + + tifinagh + + ber + Berber (Morocco, Tifinagh) + + ber + + + + + + tifinagh-alt + + ber + Berber (Morocco, Tifinagh alt.) + + ber + + + + + + tifinagh-alt-phonetic + + ber + Berber (Morocco, Tifinagh phonetic, alt.) + + ber + + + + + + tifinagh-extended + + ber + Berber (Morocco, Tifinagh extended) + + ber + + + + + + tifinagh-phonetic + + ber + Berber (Morocco, Tifinagh phonetic) + + ber + + + + + + tifinagh-extended-phonetic + + ber + Berber (Morocco, Tifinagh extended phonetic) + + ber + + + + + + rif + + rif + Tarifit + + rif + + + + + + + + cm + + cm + English (Cameroon) + + eng + + + + + + french + French (Cameroon) + + fra + + + + + + qwerty + Cameroon Multilingual (QWERTY, intl.) + + eng + bas + nmg + fub + ewo + xmd + mfh + bkm + ozm + lns + sox + pny + wes + lem + nyj + mfk + mcp + ass + xed + dua + anv + bum + btb + bfd + azo + ken + yam + yat + yas + + + + + + azerty + Cameroon (AZERTY, intl.) + + fra + bas + nmg + fub + ewo + xmd + mfh + bkm + ozm + lns + sox + pny + wes + lem + nyj + mfk + mcp + ass + xed + dua + anv + bum + btb + bfd + azo + ken + yam + yat + yas + + + + + + dvorak + Cameroon (Dvorak, intl.) + + + + + mmuock + Mmuock + + + + + + + mm + + my + Burmese + + mya + + + + + + zawgyi + zg + Burmese Zawgyi + + mya + + + + + + + shn + shn + Shan + + shn + eng + + + + + + zgt + zgt + Shan (Zawgyi Tai) + + shn + eng + + + + + + + mnw + mon + Mon + + mnw + eng + + + + + + mnw-a1 + mon-a1 + Mon (A1) + + mnw + eng + + + + + + + + ca + + fr + French (Canada) + + fra + + + + + + fr-dvorak + + fr + French (Canada, Dvorak) + + + + + fr-legacy + + fr + French (Canada, legacy) + + + + + multix + Canadian (intl.) + + + + + multi + Canadian (intl., 1st part) + + + + + multi-2gr + Canadian (intl., 2nd part) + + + + + ike + + ike + Inuktitut + + iku + + + + + + eng + + en + English (Canada) + + eng + + + + + + + + cd + + fr + French (Democratic Republic of the Congo) + + fra + + + + + + + cn + + zh + Chinese + + zho + + + + + + + mon_trad + Mongolian (Bichig) + + mvf + + + + + + mon_trad_todo + Mongolian (Todo) + + mvf + + + + + + mon_trad_xibe + Mongolian (Xibe) + + sjo + + + + + + mon_trad_manchu + Mongolian (Manchu) + + mnc + + + + + + mon_trad_galik + Mongolian (Galik) + + mvf + + + + + + mon_todo_galik + Mongolian (Todo Galik) + + mvf + + + + + + mon_manchu_galik + Mongolian (Manchu Galik) + + mnc + + + + + + + tib + Tibetan + + bod + + + + + + tib_asciinum + Tibetan (with ASCII numerals) + + bod + + + + + + ug + ug + Uyghur + + uig + + + + + + altgr-pinyin + Hanyu Pinyin Letters (with AltGr dead keys) + + zho + + + + + + + + hr + + hr + Croatian + + hrv + + + + + + alternatequotes + Croatian (with guillemets) + + + + + unicode + Croatian (with Croatian digraphs) + + + + + unicodeus + Croatian (US, with Croatian digraphs) + + + + + us + Croatian (US) + + + + + + + cz + + cs + Czech + + ces + + + + + + bksl + Czech (with <\|> key) + + + + + qwerty + Czech (QWERTY) + + + + + qwerty_bksl + Czech (QWERTY, extended backslash) + + + + + qwerty-mac + Czech (QWERTY, Macintosh) + + + + + ucw + Czech (UCW, only accented letters) + + + + + dvorak-ucw + Czech (US, Dvorak, UCW support) + + + + + rus + + ru + Russian (Czech, phonetic) + + rus + + + + + + + + dk + + da + Danish + + dan + + + + + + nodeadkeys + Danish (no dead keys) + + + + + winkeys + Danish (Windows) + + + + + mac + Danish (Macintosh) + + + + + mac_nodeadkeys + Danish (Macintosh, no dead keys) + + + + + dvorak + Danish (Dvorak) + + + + + + + nl + + nl + Dutch + + nld + + + + + + us + Dutch (US) + + + + + mac + Dutch (Macintosh) + + + + + std + Dutch (standard) + + + + + + + bt + + dz + Dzongkha + + dzo + + + + + + ee + + et + Estonian + + est + + + + + + nodeadkeys + Estonian (no dead keys) + + + + + dvorak + Estonian (Dvorak) + + + + + us + Estonian (US) + + + + + + + ir + + fa + Persian + + fas + + + + + + pes_keypad + Persian (with Persian keypad) + + + + + ku + + ku + Kurdish (Iran, Latin Q) + + kur + + + + + + ku_f + + ku + Kurdish (Iran, F) + + kur + + + + + + ku_alt + + ku + Kurdish (Iran, Latin Alt-Q) + + kur + + + + + + ku_ara + + ku + Kurdish (Iran, Arabic-Latin) + + kur + + + + + + + + iq + + ar + Iraqi + + ara + kur + + + + + + ku + + ku + Kurdish (Iraq, Latin Q) + + kur + + + + + + ku_f + + ku + Kurdish (Iraq, F) + + kur + + + + + + ku_alt + + ku + Kurdish (Iraq, Latin Alt-Q) + + kur + + + + + + ku_ara + + ku + Kurdish (Iraq, Arabic-Latin) + + kur + + + + + + + + fo + + fo + Faroese + + fao + + + + + + nodeadkeys + Faroese (no dead keys) + + + + + + + fi + + fi + Finnish + + fin + + + + + + winkeys + Finnish (Windows) + + + + + classic + Finnish (classic) + + + + + nodeadkeys + Finnish (classic, no dead keys) + + + + + smi + Northern Saami (Finland) + + sme + + + + + + mac + Finnish (Macintosh) + + + + + + + fr + + fr + French + + fra + + + + + + nodeadkeys + French (no dead keys) + + + + + oss + French (alt.) + + + + + oss_latin9 + French (alt., Latin-9 only) + + + + + oss_nodeadkeys + French (alt., no dead keys) + + + + + latin9 + French (legacy, alt.) + + + + + latin9_nodeadkeys + French (legacy, alt., no dead keys) + + + + + bepo + French (BEPO) + + + + + bepo_latin9 + French (BEPO, Latin-9 only) + + + + + bepo_afnor + French (BEPO, AFNOR) + + + + + dvorak + French (Dvorak) + + + + + mac + French (Macintosh) + + + + + azerty + French (AZERTY) + + + + + afnor + French (AZERTY, AFNOR) + + + + + bre + French (Breton) + + + + + oci + Occitan + + oci + + + + + + geo + Georgian (France, AZERTY Tskapo) + + kat + + + + + + us + French (US) + + + + + + + gh + + en + English (Ghana) + + eng + + + + + + generic + English (Ghana, multilingual) + + + + + akan + + ak + Akan + + aka + + + + + + ewe + + ee + Ewe + + ewe + + + + + + fula + + ff + Fula + + ful + + + + + + ga + + gaa + Ga + + gaa + + + + + + hausa + + ha + Hausa (Ghana) + + hau + + + + + + avn + + avn + Avatime + + avn + + + + + + gillbt + English (Ghana, GILLBT) + + + + + + + gn + N'Ko (AZERTY) + + nqo + + + + + + + ge + + ka + Georgian + + kat + + + + + + ergonomic + Georgian (ergonomic) + + + + + mess + Georgian (MESS) + + + + + ru + + ru + Russian (Georgia) + + rus + + + + + + os + Ossetian (Georgia) + + oss + + + + + + + + de + + de + German + + deu + + + + + + deadacute + German (dead acute) + + + + + deadgraveacute + German (dead grave acute) + + + + + nodeadkeys + German (no dead keys) + + + + + e1 + German (E1) + + + + + e2 + German (E2) + + + + + T3 + German (T3) + + + + + us + German (US) + + + + + ro + Romanian (Germany) + + ron + + + + + + ro_nodeadkeys + Romanian (Germany, no dead keys) + + ron + + + + + + dvorak + German (Dvorak) + + + + + neo + German (Neo 2) + + + + + mac + German (Macintosh) + + + + + mac_nodeadkeys + German (Macintosh, no dead keys) + + + + + dsb + Lower Sorbian + + dsb + + + + + + dsb_qwertz + Lower Sorbian (QWERTZ) + + dsb + + + + + + qwerty + German (QWERTY) + + + + + tr + Turkish (Germany) + + tur + + + + + + ru + + ru + Russian (Germany, phonetic) + + rus + + + + + + deadtilde + German (dead tilde) + + + + + + + gr + + gr + Greek + + ell + + + + + + simple + Greek (simple) + + + + + extended + Greek (extended) + + + + + nodeadkeys + Greek (no dead keys) + + + + + polytonic + Greek (polytonic) + + + + + + + hu + + hu + Hungarian + + hun + + + + + + standard + Hungarian (standard) + + + + + nodeadkeys + Hungarian (no dead keys) + + + + + qwerty + Hungarian (QWERTY) + + + + + 101_qwertz_comma_dead + Hungarian (QWERTZ, 101-key, comma, dead keys) + + + + + 101_qwertz_comma_nodead + Hungarian (QWERTZ, 101-key, comma, no dead keys) + + + + + 101_qwertz_dot_dead + Hungarian (QWERTZ, 101-key, dot, dead keys) + + + + + 101_qwertz_dot_nodead + Hungarian (QWERTZ, 101-key, dot, no dead keys) + + + + + 101_qwerty_comma_dead + Hungarian (QWERTY, 101-key, comma, dead keys) + + + + + 101_qwerty_comma_nodead + Hungarian (QWERTY, 101-key, comma, no dead keys) + + + + + 101_qwerty_dot_dead + Hungarian (QWERTY, 101-key, dot, dead keys) + + + + + 101_qwerty_dot_nodead + Hungarian (QWERTY, 101-key, dot, no dead keys) + + + + + 102_qwertz_comma_dead + Hungarian (QWERTZ, 102-key, comma, dead keys) + + + + + 102_qwertz_comma_nodead + Hungarian (QWERTZ, 102-key, comma, no dead keys) + + + + + 102_qwertz_dot_dead + Hungarian (QWERTZ, 102-key, dot, dead keys) + + + + + 102_qwertz_dot_nodead + Hungarian (QWERTZ, 102-key, dot, no dead keys) + + + + + 102_qwerty_comma_dead + Hungarian (QWERTY, 102-key, comma, dead keys) + + + + + 102_qwerty_comma_nodead + Hungarian (QWERTY, 102-key, comma, no dead keys) + + + + + 102_qwerty_dot_dead + Hungarian (QWERTY, 102-key, dot, dead keys) + + + + + 102_qwerty_dot_nodead + Hungarian (QWERTY, 102-key, dot, no dead keys) + + + + + + + is + + is + Icelandic + + isl + + + + + + mac_legacy + Icelandic (Macintosh, legacy) + + + + + mac + Icelandic (Macintosh) + + + + + dvorak + Icelandic (Dvorak) + + + + + + + il + + he + Hebrew + + heb + + + + + + lyx + Hebrew (lyx) + + + + + phonetic + Hebrew (phonetic) + + + + + biblical + Hebrew (Biblical, Tiro) + + + + + + + it + + it + Italian + + ita + + + + + + nodeadkeys + Italian (no dead keys) + + + + + winkeys + Italian (Windows) + + + + + mac + Italian (Macintosh) + + + + + us + Italian (US) + + + + + geo + Georgian (Italy) + + kat + + + + + + ibm + Italian (IBM 142) + + + + + intl + Italian (intl., with dead keys) + + deu + fra + ita + slk + srd + nap + scn + fur + + + + + + scn + Sicilian + + ita + scn + + + + + + fur + Friulian (Italy) + + fur + + + + + + + + jp + + ja + Japanese + + jpn + + + + + + kana + Japanese (Kana) + + + + + kana86 + Japanese (Kana 86) + + + + + OADG109A + Japanese (OADG 109A) + + + + + mac + Japanese (Macintosh) + + + + + dvorak + Japanese (Dvorak) + + + + + + + kg + + ki + Kyrgyz + + kir + + + + + + phonetic + Kyrgyz (phonetic) + + + + + + + kh + + km + Khmer (Cambodia) + + khm + + + + + + + kz + + kk + Kazakh + + kaz + + + + + + ruskaz + + ru + Russian (Kazakhstan, with Kazakh) + + kaz + rus + + + + + + kazrus + Kazakh (with Russian) + + kaz + rus + + + + + + ext + Kazakh (extended) + + kaz + + + + + + latin + Kazakh (Latin) + + kaz + + + + + + + + la + + lo + Lao + + lao + + + + + + stea + Lao (STEA) + + lao + + + + + + + + latam + + es + Spanish (Latin American) + + AR + BO + CL + CO + CR + CU + DO + EC + GT + HN + HT + MX + NI + PA + PE + PR + PY + SV + US + UY + VE + + + spa + + + + + + nodeadkeys + Spanish (Latin American, no dead keys) + + + + + deadtilde + Spanish (Latin American, dead tilde) + + + + + dvorak + Spanish (Latin American, Dvorak) + + + + + colemak + Spanish (Latin American, Colemak) + + + + + colemak-gaming + Spanish (Latin American, Colemak for gaming) + + + + + + + lt + + lt + Lithuanian + + lit + + + + + + std + Lithuanian (standard) + + + + + us + Lithuanian (US) + + + + + ibm + Lithuanian (IBM LST 1205-92) + + + + + lekp + Lithuanian (LEKP) + + + + + lekpa + Lithuanian (LEKPa) + + + + + sgs + Samogitian + + sgs + + + + + + ratise + Lithuanian (Ratise) + + + + + + + lv + + lv + Latvian + + lav + + + + + + apostrophe + Latvian (apostrophe) + + + + + tilde + Latvian (tilde) + + + + + fkey + Latvian (F) + + + + + modern + Latvian (modern) + + + + + ergonomic + Latvian (ergonomic, ŪGJRMV) + + + + + adapted + Latvian (adapted) + + + + + + + mao + + mi + Maori + + mri + + + + + + + me + + sr + Montenegrin + + srp + + + + + + cyrillic + Montenegrin (Cyrillic) + + + + + cyrillicyz + Montenegrin (Cyrillic, ZE and ZHE swapped) + + + + + latinunicode + Montenegrin (Latin, Unicode) + + + + + latinyz + Montenegrin (Latin, QWERTY) + + + + + latinunicodeyz + Montenegrin (Latin, Unicode, QWERTY) + + + + + cyrillicalternatequotes + Montenegrin (Cyrillic, with guillemets) + + + + + latinalternatequotes + Montenegrin (Latin, with guillemets) + + + + + + + mk + + mk + Macedonian + + mkd + + + + + + nodeadkeys + Macedonian (no dead keys) + + + + + + + mt + + mt + Maltese + + mlt + + + + + + us + Maltese (US) + + + + + alt-us + Maltese (US, with AltGr overrides) + + + + + alt-gb + Maltese (UK, with AltGr overrides) + + + + + + + mn + + mn + Mongolian + + mon + + + + + + + no + + no + Norwegian + + nor + nob + nno + + + + + + nodeadkeys + Norwegian (no dead keys) + + + + + winkeys + Norwegian (Windows) + + + + + dvorak + Norwegian (Dvorak) + + + + + smi + Northern Saami (Norway) + + sme + + + + + + smi_nodeadkeys + Northern Saami (Norway, no dead keys) + + sme + + + + + + mac + Norwegian (Macintosh) + + + + + mac_nodeadkeys + Norwegian (Macintosh, no dead keys) + + + + + colemak + Norwegian (Colemak) + + + + + + + pl + + pl + Polish + + pol + + + + + + legacy + Polish (legacy) + + + + + qwertz + Polish (QWERTZ) + + + + + dvorak + Polish (Dvorak) + + + + + dvorak_quotes + Polish (Dvorak, with Polish quotes on quotemark key) + + + + + dvorak_altquotes + Polish (Dvorak, with Polish quotes on key 1) + + + + + csb + Kashubian + + csb + + + + + + szl + Silesian + + szl + + + + + + ru_phonetic_dvorak + + ru + Russian (Poland, phonetic Dvorak) + + rus + + + + + + dvp + Polish (programmer Dvorak) + + + + + + + pt + + pt + Portuguese + + por + + + + + + nodeadkeys + Portuguese (no dead keys) + + + + + mac + Portuguese (Macintosh) + + + + + mac_nodeadkeys + Portuguese (Macintosh, no dead keys) + + + + + nativo + Portuguese (Nativo) + + + + + nativo-us + Portuguese (Nativo for US keyboards) + + + + + nativo-epo + Esperanto (Portugal, Nativo) + + epo + + + + + + + + ro + + ro + Romanian + + ron + + + + + + std + Romanian (standard) + + + + + winkeys + Romanian (Windows) + + + + + + + ru + + ru + Russian + + rus + + + + + + phonetic + Russian (phonetic) + + + + + phonetic_winkeys + Russian (phonetic, Windows) + + + + + phonetic_YAZHERTY + Russian (phonetic, YAZHERTY) + + + + + typewriter + Russian (typewriter) + + + + + legacy + Russian (legacy) + + + + + typewriter-legacy + Russian (typewriter, legacy) + + + + + tt + Tatar + + tat + + + + + + os_legacy + Ossetian (legacy) + + oss + + + + + + os_winkeys + Ossetian (Windows) + + oss + + + + + + cv + Chuvash + + chv + + + + + + cv_latin + Chuvash (Latin) + + chv + + + + + + udm + Udmurt + + udm + + + + + + kom + Komi + + kom + + + + + + sah + Yakut + + sah + + + + + + xal + Kalmyk + + xal + + + + + + dos + Russian (DOS) + + + + + mac + Russian (Macintosh) + + + + + srp + Serbian (Russia) + + rus + srp + + + + + + bak + Bashkirian + + bak + + + + + + chm + Mari + + chm + + + + + + phonetic_azerty + Russian (phonetic, AZERTY) + + + + + phonetic_dvorak + Russian (phonetic, Dvorak) + + + + + phonetic_fr + Russian (phonetic, French) + + + + + + + rs + + sr + Serbian + + srp + + + + + + yz + Serbian (Cyrillic, ZE and ZHE swapped) + + + + + latin + Serbian (Latin) + + + + + latinunicode + Serbian (Latin, Unicode) + + + + + latinyz + Serbian (Latin, QWERTY) + + + + + latinunicodeyz + Serbian (Latin, Unicode, QWERTY) + + + + + alternatequotes + Serbian (Cyrillic, with guillemets) + + + + + latinalternatequotes + Serbian (Latin, with guillemets) + + + + + rue + Pannonian Rusyn + + rue + + + + + + + + si + + sl + Slovenian + + slv + + + + + + alternatequotes + Slovenian (with guillemets) + + + + + us + Slovenian (US) + + + + + + + sk + + sk + Slovak + + slk + + + + + + bksl + Slovak (extended backslash) + + + + + qwerty + Slovak (QWERTY) + + + + + qwerty_bksl + Slovak (QWERTY, extended backslash) + + + + + + + es + + es + Spanish + + spa + + + + + + nodeadkeys + Spanish (no dead keys) + + + + + winkeys + Spanish (Windows) + + + + + deadtilde + Spanish (dead tilde) + + + + + dvorak + Spanish (Dvorak) + + + + + ast + ast + Asturian (Spain, with bottom-dot H and L) + + ast + + + + + + cat + ca + Catalan (Spain, with middle-dot L) + + cat + + + + + + mac + Spanish (Macintosh) + + + + + + + se + + sv + Swedish + + swe + + + + + + nodeadkeys + Swedish (no dead keys) + + + + + dvorak + Swedish (Dvorak) + + + + + rus + + ru + Russian (Sweden, phonetic) + + rus + + + + + + rus_nodeadkeys + + ru + Russian (Sweden, phonetic, no dead keys) + + rus + + + + + + smi + Northern Saami (Sweden) + + sme + + + + + + mac + Swedish (Macintosh) + + + + + svdvorak + Swedish (Svdvorak) + + + + + us_dvorak + Swedish (Dvorak, intl.) + + + + + us + Swedish (US) + + + + + swl + Swedish Sign Language + + swl + + + + + + + + ch + + de + German (Switzerland) + + deu + gsw + + + + + + legacy + German (Switzerland, legacy) + + + + + de_nodeadkeys + + de + German (Switzerland, no dead keys) + + + + + fr + + fr + French (Switzerland) + + fra + + + + + + fr_nodeadkeys + + fr + French (Switzerland, no dead keys) + + fra + + + + + + fr_mac + + fr + French (Switzerland, Macintosh) + + fra + + + + + + de_mac + + de + German (Switzerland, Macintosh) + + + + + + + sy + + ar + Arabic (Syria) + + syr + + + + + + syc + + syc + Syriac + + + + + syc_phonetic + + syc + Syriac (phonetic) + + + + + ku + + ku + Kurdish (Syria, Latin Q) + + kur + + + + + + ku_f + + ku + Kurdish (Syria, F) + + kur + + + + + + ku_alt + + ku + Kurdish (Syria, Latin Alt-Q) + + kur + + + + + + + + tj + + tg + Tajik + + tgk + + + + + + legacy + Tajik (legacy) + + + + + + + lk + + si + Sinhala (phonetic) + + sin + + + + + + tam_unicode + + ta + Tamil (Sri Lanka, TamilNet '99) + + tam + + + + + + tam_TAB + Tamil (Sri Lanka, TamilNet '99, TAB encoding) + + tam + + + + + + us + + us + Sinhala (US) + + + + + + + th + + th + Thai + + tha + + + + + + tis + Thai (TIS-820.2538) + + + + + pat + Thai (Pattachote) + + + + + + + tr + + tr + Turkish + + tur + + + + + + f + Turkish (F) + + + + + alt + Turkish (Alt-Q) + + + + + ku + + ku + Kurdish (Turkey, Latin Q) + + kur + + + + + + ku_f + + ku + Kurdish (Turkey, F) + + kur + + + + + + ku_alt + + ku + Kurdish (Turkey, Latin Alt-Q) + + kur + + + + + + intl + Turkish (intl., with dead keys) + + + + + ot + Ottoman (Q) + + + + + otf + Ottoman (F) + + + + + otk + Old Turkic + + + + + otkf + Old Turkic (F) + + + + + + + tw + + zh + Taiwanese + + fox + + + + + + indigenous + Taiwanese (indigenous) + + ami + tay + bnn + ckv + pwn + pyu + dru + ais + ssf + tao + tsu + trv + xnb + sxr + uun + fos + + + + + + saisiyat + + xsy + Saisiyat (Taiwan) + + xsy + + + + + + + + ua + + uk + Ukrainian + + ukr + + + + + + phonetic + Ukrainian (phonetic) + + + + + typewriter + Ukrainian (typewriter) + + + + + winkeys + Ukrainian (Windows) + + + + + macOS + Ukrainian (macOS) + + + + + legacy + Ukrainian (legacy) + + + + + rstu + Ukrainian (standard RSTU) + + + + + rstu_ru + Russian (Ukraine, standard RSTU) + + + + + homophonic + Ukrainian (homophonic) + + + + + crh + + crh + Crimean Tatar (Turkish Q) + + crh + + + + + + crh_f + + crh + Crimean Tatar (Turkish F) + + crh + + + + + + crh_alt + + crh + Crimean Tatar (Turkish Alt-Q) + + crh + + + + + + + + gb + + en + English (UK) + + eng + + + + + + extd + English (UK, extended, Windows) + + + + + intl + English (UK, intl., with dead keys) + + + + + dvorak + English (UK, Dvorak) + + + + + dvorakukp + English (UK, Dvorak, with UK punctuation) + + + + + mac + English (UK, Macintosh) + + + + + mac_intl + English (UK, Macintosh, intl.) + + + + + colemak + English (UK, Colemak) + + + + + colemak_dh + English (UK, Colemak-DH) + + + + + pl + + pl + Polish (British keyboard) + + pol + + + + + + gla + gd + Scottish Gaelic + + GB + CA + + + eng + gla + + + + + + + + uz + + uz + Uzbek + + uzb + + + + + + latin + Uzbek (Latin) + + + + + + + vn + + vi + Vietnamese + + vie + + + + + + us + Vietnamese (US) + + + + + fr + Vietnamese (French) + + + + + + + kr + + ko + Korean + + kor + + + + + + kr104 + Korean (101/104-key compatible) + + + + + + + ie + + ie + Irish + + eng + + + + + + CloGaelach + CloGaelach + + gle + + + + + + UnicodeExpert + Irish (UnicodeExpert) + + + + + ogam + Ogham + + sga + + + + + + ogam_is434 + Ogham (IS434) + + sga + + + + + + + + pk + + ur + Urdu (Pakistan) + + urd + + + + + + urd-crulp + Urdu (Pakistan, CRULP) + + + + + urd-nla + Urdu (Pakistan, NLA) + + + + + ara + ar + Arabic (Pakistan) + + ara + + + + + + snd + + sd + Sindhi + + snd + + + + + + + + mv + + dv + Dhivehi + + div + + + + + + + za + + en + English (South Africa) + + eng + + + + + + epo + + eo + Esperanto + + epo + + + + + + legacy + Esperanto (legacy) + + + + + + + np + + ne + Nepali + + nep + + sat + + + + + + ng + + en + English (Nigeria) + + eng + + + + + + igbo + + ig + Igbo + + ibo + + + + + + yoruba + + yo + Yoruba + + yor + + + + + + hausa + + ha + Hausa (Nigeria) + + hau + + + + + + + + et + + am + Amharic + + amh + + + + + + + sn + + wo + Wolof + + wol + + + + + + + brai + + brl + Braille + + + + + left_hand + Braille (left-handed) + + + + + left_hand_invert + Braille (left-handed inverted thumb) + + + + + right_hand + Braille (right-handed) + + + + + right_hand_invert + Braille (right-handed inverted thumb) + + + + + + + tm + + tk + Turkmen + + tuk + + + + + + alt + Turkmen (Alt-Q) + + + + + + + ml + + bm + Bambara + + bam + + + + + + fr-oss + + fr + French (Mali, alt.) + + fra + + + + + + us-mac + + en + English (Mali, US, Macintosh) + + eng + + + + + + us-intl + + en + English (Mali, US, intl.) + + eng + + + + + + + + tz + + sw + Swahili (Tanzania) + + swa + + + + + + tg + fr-tg + French (Togo) + + fra + ajg + blo + kpo + ewe + fon + fue + gej + ife + kbp + las + dop + mfg + nmz + bud + gng + kdh + soy + + + + + + ke + + sw + Swahili (Kenya) + + swa + + + + + + kik + + ki + Kikuyu + + kik + + + + + + + + bw + + tn + Tswana + + tsn + + + + + + ph + + ph + Filipino + + eng + bik + ceb + fil + hil + ilo + pam + pag + phi + tgl + war + + + + + + qwerty-bay + Filipino (QWERTY, Baybayin) + + bik + ceb + fil + hil + ilo + pam + pag + phi + tgl + war + + + + + + capewell-dvorak + Filipino (Capewell-Dvorak, Latin) + + + + + capewell-dvorak-bay + Filipino (Capewell-Dvorak, Baybayin) + + bik + ceb + fil + hil + ilo + pam + pag + phi + tgl + war + + + + + + capewell-qwerf2k6 + Filipino (Capewell-QWERF 2006, Latin) + + + + + capewell-qwerf2k6-bay + Filipino (Capewell-QWERF 2006, Baybayin) + + bik + ceb + fil + hil + ilo + pam + pag + phi + tgl + war + + + + + + colemak + Filipino (Colemak, Latin) + + + + + colemak-bay + Filipino (Colemak, Baybayin) + + bik + ceb + fil + hil + ilo + pam + pag + phi + tgl + war + + + + + + dvorak + Filipino (Dvorak, Latin) + + + + + dvorak-bay + Filipino (Dvorak, Baybayin) + + bik + ceb + fil + hil + ilo + pam + pag + phi + tgl + war + + + + + + + + md + md + Moldavian + + ron + + + + + + gag + gag + Moldavian (Gagauz) + + gag + + + + + + + + id + id + Indonesian (Latin) + + ind + msa + min + ace + bjn + tsg + mfa + + + + + + phonetic + Indonesian (Arab Pegon, phonetic) + + + + + phoneticx + Indonesian (Arab Pegon, extended phonetic) + + + + + + + jv + jv + Indonesian (Javanese) + + jav + + + + + + + my + ms + Malay (Jawi, Arabic Keyboard) + + ind + msa + min + ace + bjn + tsg + mfa + + + + + + phonetic + Malay (Jawi, phonetic) + + + + + + + custom + custom + A user-defined custom Layout + + + + + + + + + grp + Switching to another layout + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lv2 + Key to choose the 2nd level + + + + + + + lv3 + Key to choose the 3rd level + + + + + + + + + + + + + + + + + + + + + + + ctrl + Ctrl position + + + + + + + + + + + + + + + + + grp_led + Use keyboard LED to show alternative layout + + + + + + + + + mod_led + Use keyboard LED to indicate modifiers + + + + + + + keypad + Layout of numeric keypad + + + + + + + + + + + + + + + kpdl + Numeric keypad Delete behavior + + + + + + + + + + + + + + caps + Caps Lock behavior + + + + + + + + + + + + + + + + + + + + + + altwin + Alt and Win behavior + + + + + + + + + + + + + + + + + + + + Compose key + Position of Compose key + + + + + + + + + + + + + + + + + + + + + + + compat + Compatibility options + + + + + + + + + + + + + + + + + + + + + currencysign + Currency signs + + + + + + + + + + lv5 + Key to choose 5th level + + + + + + + + + + + + + + nbsp + Non-breaking space input + + + + + + + + + + + + + + + + + + + + + japan + Japanese keyboard options + + + + + + + + korean + Korean Hangul/Hanja keys + + + + + + + + + esperanto + Esperanto letters with superscripts + + + + + + + + solaris + Old Solaris keycodes compatibility + + + + + + terminate + Key sequence to kill the X server + + + + + diff --git a/xkbdata/rules/evdev b/xkbdata/rules/evdev new file mode 100644 index 0000000..b1e8d07 --- /dev/null +++ b/xkbdata/rules/evdev @@ -0,0 +1,1182 @@ +// DO NOT EDIT THIS FILE - IT WAS AUTOGENERATED BY merge.py FROM rules/*.part +// +// +// Rules for resolving XKB components for use with XFree86 +// Copyright 1996 by Joseph Moss +// +// 2002 Modifier: Ivan Pascal The XFree86 Project +// + +// If you want non-latin layouts to implicitly include the en_US layout, +// then uncomment the following lines: +//! $nonlatin = af am ara bd bg bt by eg et ge gn gr id il in ir \ +// jp jv kg kh kr kz la lk ma me mk mm mn mv my \ +// pk rs ru sy th tj tz ua uz + +// PC models +! $pcmodels = pc86 pc101 pc102 pc104 pc104alt pc105 + +// Jolla devices and keyboards +! $jollamodels = jollasbj + +// Microsoft models (using MS geometry) +! $msmodels = microsoft microsoft4000 microsoft7000 microsoftpro microsoftprousb microsoftprose microsoftsurface + +// Nokia devices and keyboards +! $nokiamodels = nokiasu8w nokiarx44 nokiarx51 + +// TypeMatrix geometries +! $tmgeometries = tm2020 tm2030PS2 tm2030USB tm2030USB-102 tm2030USB-106 + +// Layouts that provide further specializations for the OLPC +! $olpclayouts = af am ara br ca es et fr it kh kz in mn np ru th tr us + +! $macbooks = macbook78 macbook79 +! $maclaptop = ibook powerbook macbook78 macbook79 +! $applealu = applealu_ansi applealu_iso applealu_jis +! $macs = macintosh macintosh_old ibook powerbook macbook78 macbook79 + +! $macvendorlayouts = ch de dk fi fr gb is it latam nl no pt se us + +// The countries that predominantly have AZERTY or QWERTZ layouts: +! $azerty = be fr +! $qwertz = al ch cz de hr hu ro si sk + + +// All layouts with 3rd and 4th levels: +! $threelevellayouts = af al az \ + bd be bg br bt \ + ca ch cm cn cz \ + de dk dz \ + ee es eu \ + fi fo fr \ + gb ge gh gr \ + hr hu \ + ie il in ir is it \ + kh kz \ + latam \ + lk lt lv \ + ml mm mn mt \ + ng nl no \ + ph pk pl pt \ + ro rs \ + se si sk sn sy \ + tg tm tr tw \ + ua us \ + vn \ + za + +! $thinkpads = thinkpad thinkpad60 thinkpadz60 + +! $sun = sun_type6_jp sun_type6_usb sun_type6_euro_usb \ + sun_type6_jp_usb sun_type6_unix_usb sun_type7_jp_usb \ + sun_type7_usb sun_type7_euro_usb sun_type7_unix_usb + +! $sun_jp = sun_type6_jp sun_type6_jp_usb sun_type7_jp_usb + +// Sun Type_6_7 keyboards with custom layouts +! $sun_custom = ara be br ca ch cz de dk \ + ee es fi fr gb gr it jp \ + kr lt lv nl no pl pt ro \ + ru se sk tr tw ua us + +! $sun_var = sun_type6 sun_type6_suncompat sun_type6_de sun_type6_fr \ + sun_type7 sun_type7_suncompat suncompat + +! $sun_compat = sun_type6 sun_type6_suncompat sun_type7_suncompat suncompat + + +! $evdevkbds = ibm_spacesaver + +! $dvoraklayouts = br ca de ee es fr gb no pl se us + +! model = keycodes + applealu_jis = evdev+macintosh(jisevdev) + $jollamodels = evdev+jolla(jolla) + olpc = evdev+olpc(olpc) + olpcm = evdev+olpc(olpcm) + * = evdev + +! layout[1] = keycodes + $azerty = +aliases(azerty) + $qwertz = +aliases(qwertz) + * = +aliases(qwerty) + +! layout = keycodes + $azerty = +aliases(azerty) + $qwertz = +aliases(qwertz) + * = +aliases(qwerty) + +! option = keycodes + +! model layout = geometry + thinkpad us = thinkpad(us) + +! model = geometry + microsoftelite = microsoft(elite) + $msmodels = microsoft(natural) + dell101 = dell(dell101) + dellm65 = dell(dellm65) + latitude = dell(latitude) + flexpro = keytronic(FlexPro) + hp6000 = hp(omnibook) + hpmini110 = hp(mini110) + hpdv5 = hp(dv5) + omnikey101 = northgate(omnikey101) + sanwaskbkg3 = sanwa(sanwaskbkg3) + $pcmodels = pc(%m) + everex = everex(STEPnote) + thinkpad = thinkpad(intl) + thinkpad60 = thinkpad(60) + thinkpadz60 = thinkpad(60) + apex300 = steelseries(apex300) + $tmgeometries = typematrix(%m) + winbook = winbook(XP5) + pc98 = nec(pc98) + $applealu = macintosh(%m) + $macbooks = macintosh(%m) + $macs = macintosh(macintosh) + hhk = hhk(basic) + kinesis = kinesis(model100) + $nokiamodels = nokia(%m) + sun_type6_jp = sun(type6jp) + sun_type6_usb = sun(type6) + sun_type6_euro_usb = sun(type6tuv) + sun_type6_jp_usb = sun(type6jp) + sun_type6_unix_usb = sun(type6unix) + sun_type7_jp_usb = sun(type6jp) + sun_type7_usb = sun(type7) + sun_type7_euro_usb = sun(type7tuv) + sun_type7_unix_usb = sun(type7unix) + * = pc(pc104) + +! model layout variant = symbols + * ben basic = pc+in(ben) + * ben probhat = pc+in(ben_probhat) + * dev basic = pc+in(deva) + * dvorak $dvoraklayouts = pc+%v(dvorak) + * dvorak basic = pc+us(dvorak) + * dvorak pl_basic = pc+pl(dvorak) + * dvorak pl = pc+pl(dvorak_quotes) + * dvorak pl_altquotes = pc+pl(dvorak_altquotes) + * dzdwi basic = pc+bt(basic) + * fi basic = pc+fi(classic) + * ge azerty_tskapo = pc+fr(geo) + * guj basic = pc+in(guj) + * gur basic = pc+in(guru) + * ie laptop = pc+ie(basic) + * ie CloGaelachLaptop = pc+ie(CloGaelach) + * in urd = pc+in(urd-phonetic) + * iu basic = pc+ca(ike) + * lo basic = pc+la(basic) + * kan basic = pc+in(kan) + * mal basic = pc+in(mal) + * mal mlplusnum = pc+in(mal) + * ogham basic = pc+ie(ogam) + * ogham laptop = pc+ie(ogam) + * ogham is434 = pc+ie(ogam_is434) + * ogham is434laptop = pc+ie(ogam_is434) + * ori basic = pc+in(ori) + * ro de = pc+ro(winkeys) + * ro us = pc+ro(std) + * ro academic = pc+ro(std) + * ro std_comma = pc+ro(std) + * ro comma = pc+ro(basic) + * ru os = pc+ru(os_legacy) + * pk urd = pc+pk(urd-phonetic) + * sapmi basic = pc+no(smi) + * sapmi nodeadkeys = pc+no(smi_nodeadkeys) + * sapmi sefi = pc+fi(smi) + * sin phonetic-static = pc+in(sin_phonetic) + * syr basic = pc+sy(syc) + * syr phonetic = pc+sy(syc_phonetic) + * tam INSCRIPT = pc+in(tam) + * tam UNI = pc+in(tam_unicode) + * tam NUMERAL-KEYBOARD = pc+in(tam_keyboard_with_numerals) + * tam TAB = pc+in(tam_TAB) + * tam TSCII = pc+in(tam_TSCII) + * tel basic = pc+in(tel) + * yu basic = pc+srp(latin) + * yu unicode = pc+srp(latinunicode) + * yu yz = pc+srp(latinyz) + * yu unicodeyz = pc+srp(latinunicodeyz) + classmate us intl = pc+us(classmate-intl) + classmate us alt-intl = pc+us(classmate-alt-intl) + classmate us altgr-intl = pc+us(classmate-altgr-intl) + nokiarx51 cz qwerty = nokia_vndr/rx-51(cz_qwerty) + * $sun_custom $sun_var = pc+sun_vndr/%l%(v) + +! model layout = symbols + * ar = pc+ara + * ben = pc+in(ben) + * bs = pc+ba + * cs = pc+rs + * cz_qwerty = pc+cz(qwerty) + * dev = pc+in(deva) + * dvorak = pc+us(dvorak) + * dzdwi = pc+bt + * el = pc+gr + * en_US = pc+latin + * guj = pc+in(guj) + * gur = pc+in(guru) + * iu = pc+ca(ike) + * lo = pc+la + * kan = pc+in(kan) + * mi = pc+mao + * ogham = pc+ie(ogam) + * ori = pc+ie(ori) + * sapmi = pc+no(smi) + * sr = pc+srp + * syr = pc+sy(syc) + * tel = pc+in(tel) + * tml = pc+in(tam) + * yu = pc+srp + * fr-latin9 = pc+fr(latin9) + * us_intl = pc+us(alt-intl) + * ben(basic) = pc+in(ben) + * ben(probhat) = pc+in(ben_probhat) + * dev(basic) = pc+in(deva) + * dvorak($dvoraklayouts) = pc+%v(dvorak) + * dvorak(basic) = pc+us(dvorak) + * dvorak(pl_basic) = pc+pl(dvorak) + * dvorak(pl) = pc+pl(dvorak_quotes) + * dvorak(pl_altquotes) = pc+pl(dvorak_altquotes) + * dzdwi(basic) = pc+bt(basic) + * fi(basic) = pc+fi(classic) + * ge(azerty_tskapo) = pc+fr(geo) + * guj(basic) = pc+in(guj) + * gur(basic) = pc+in(guru) + * ie(laptop) = pc+ie(basic) + * ie(CloGaelachLaptop) = pc+ie(CloGaelach) + * in(urd) = pc+in(urd-phonetic) + * iu(basic) = pc+ca(ike) + * lo(basic) = pc+la(basic) + * kan(basic) = pc+in(kan) + * mal(basic) = pc+in(mal) + * mal(mlplusnum) = pc+in(mal) + * ogham(basic) = pc+ie(ogam) + * ogham(laptop) = pc+ie(ogam) + * ogham(is434) = pc+ie(ogam_is434) + * ogham(is434laptop) = pc+ie(ogam_is434) + * ori(basic) = pc+in(ori) + * ro(de) = pc+ro(winkeys) + * ro(us) = pc+ro(std) + * ro(academic) = pc+ro(std) + * ro(std_comma) = pc+ro(std) + * ro(comma) = pc+ro(basic) + * ru(os) = pc+ru(os_legacy) + * pk(urd) = pc+pk(urd-phonetic) + * sapmi(basic) = pc+no(smi) + * sapmi(nodeadkeys) = pc+no(smi_nodeadkeys) + * sapmi(sefi) = pc+fi(smi) + * sin(phonetic-static) = pc+in(sin_phonetic) + * syr(basic) = pc+sy(syc) + * syr(phonetic) = pc+sy(syc_phonetic) + * tam(INSCRIPT) = pc+in(tam) + * tam(UNI) = pc+in(tam_unicode) + * tam(NUMERAL-KEYBOARD) = pc+in(tam_keyboard_with_numerals) + * tam(TAB) = pc+in(tam_TAB) + * tam(TSCII) = pc+in(tam_TSCII) + * tel(basic) = pc+in(tel) + * yu(basic) = pc+srp(latin) + * yu(unicode) = pc+srp(latinunicode) + * yu(yz) = pc+srp(latinyz) + * yu(unicodeyz) = pc+srp(latinunicodeyz) + ataritt $nonlatin = xfree68_vndr/ataritt(us)+%l%(v):2 + ataritt * = xfree68_vndr/ataritt(us)+%l%(v) + amiga $nonlatin = xfree68_vndr/amiga(usa1)+%l%(v):2 + amiga * = xfree68_vndr/amiga(usa1)+%l%(v) + classmate us = pc+%l(classmate) + empty * = empty(basic) + * empty = empty(basic) + jollasbj $nonlatin = jolla_vndr/sbj(common)+us+%l%(v):2 + jollasbj * = jolla_vndr/sbj(common)+%l%(v) + $sun $sun_custom = pc+sun_vndr/%l%(v) + pc98 nec_vndr/jp = nec_vndr/jp(pc98) + macintosh_old us = macintosh_vndr/us(oldmac) + macintosh_old en_US = macintosh_vndr/us(oldmac) + macintosh_old $macvendorlayouts = macintosh_vndr/us(oldmac)+macintosh_vndr/%l%(v) + macintosh_old $nonlatin = macintosh_vndr/us(oldmac)+%l%(v):2 + macintosh_old * = macintosh_vndr/us(oldmac)+%l%(v) + applealu_jis jp = macintosh_vndr/apple(alukbd)+macintosh_vndr/jp(usmac)+macintosh_vndr/jp(mac):2 + applealu_jis * = macintosh_vndr/apple(alukbd)+%l%(v)+macintosh_vndr/jp(mac):2 + $applealu $macvendorlayouts = macintosh_vndr/apple(alukbd)+macintosh_vndr/%l%(v) + $applealu * = macintosh_vndr/apple(alukbd)+%l%(v) + $macs en_US = pc+macintosh_vndr/us(extended) + $macs $macvendorlayouts = pc+macintosh_vndr/%l%(v) + nokiarx44 * = nokia_vndr/rx-44(%l) + nokiarx51 cz(qwerty) = nokia_vndr/rx-51(common)+nokia_vndr/rx-51(cz_qwerty) + nokiarx51 * = nokia_vndr/rx-51(common)+nokia_vndr/rx-51(%l%_v) + nokiasu8w * = nokia_vndr/su-8w(%l) + olpc $olpclayouts = olpc+%l%(m) + olpc * = olpc+%l%(v) + olpcm $olpclayouts = olpc+%l%(m) + olpcm * = olpc+%l%(v) + $thinkpads br = pc+br(thinkpad) + sl-c3x00 * = pc+sharp_vndr/sl-c3x00(basic) + ws003sh * = pc+sharp_vndr/ws003sh(basic) + ws007sh * = pc+sharp_vndr/ws007sh(basic) + ws011sh * = pc+sharp_vndr/ws011sh(basic) + ws020sh * = pc+sharp_vndr/ws020sh(basic) + * $nonlatin = pc+us+%l%(v):2 + * * = pc+%l%(v) + +! model layout[1] = symbols + * ar = pc+ara%(v[1]) + * ben = pc+in(ben) + * bs = pc+ba%(v[1]) + * cs = pc+rs%(v[1]) + * cz_qwerty = pc+cz(qwerty) + * dev = pc+in(deva) + * dvorak = pc+us(dvorak) + * dzdwi = pc+bt%(v[1]) + * el = pc+gr%(v[1]) + * en_US = pc+latin%(v[1]) + * guj = pc+in(guj) + * gur = pc+in(guru) + * iu = pc+ca(ike) + * lo = pc+la%(v[1]) + * kan = pc+in(kan) + * mi = pc+mao%(v[1]) + * ogham = pc+ie(ogam) + * ori = pc+ie(ori) + * sapmi = pc+no(smi) + * sr = pc+srp%(v[1]) + * syr = pc+sy(syc) + * tel = pc+in(tel) + * tml = pc+in(tam) + * yu = pc+srp%(v[1]) + * fr-latin9 = pc+fr(latin9) + * us_intl = pc+us(alt-intl) + * ben(basic) = pc+in(ben) + * ben(probhat) = pc+in(ben_probhat) + * dev(basic) = pc+in(deva) + * dvorak($dvoraklayouts) = pc+%v(dvorak) + * dvorak(basic) = pc+us(dvorak) + * dvorak(pl_basic) = pc+pl(dvorak) + * dvorak(pl) = pc+pl(dvorak_quotes) + * dvorak(pl_altquotes) = pc+pl(dvorak_altquotes) + * dzdwi(basic) = pc+bt(basic) + * fi(basic) = pc+fi(classic) + * ge(azerty_tskapo) = pc+fr(geo) + * guj(basic) = pc+in(guj) + * gur(basic) = pc+in(guru) + * ie(laptop) = pc+ie(basic) + * ie(CloGaelachLaptop) = pc+ie(CloGaelach) + * in(urd) = pc+in(urd-phonetic) + * iu(basic) = pc+ca(ike) + * lo(basic) = pc+la(basic) + * kan(basic) = pc+in(kan) + * mal(basic) = pc+in(mal) + * mal(mlplusnum) = pc+in(mal) + * ogham(basic) = pc+ie(ogam) + * ogham(laptop) = pc+ie(ogam) + * ogham(is434) = pc+ie(ogam_is434) + * ogham(is434laptop) = pc+ie(ogam_is434) + * ori(basic) = pc+in(ori) + * ro(de) = pc+ro(winkeys) + * ro(us) = pc+ro(std) + * ro(academic) = pc+ro(std) + * ro(std_comma) = pc+ro(std) + * ro(comma) = pc+ro(basic) + * ru(os) = pc+ru(os_legacy) + * pk(urd) = pc+pk(urd-phonetic) + * sapmi(basic) = pc+no(smi) + * sapmi(nodeadkeys) = pc+no(smi_nodeadkeys) + * sapmi(sefi) = pc+fi(smi) + * sin(phonetic-static) = pc+in(sin_phonetic) + * syr(basic) = pc+sy(syc) + * syr(phonetic) = pc+sy(syc_phonetic) + * tam(INSCRIPT) = pc+in(tam) + * tam(UNI) = pc+in(tam_unicode) + * tam(NUMERAL-KEYBOARD) = pc+in(tam_keyboard_with_numerals) + * tam(TAB) = pc+in(tam_TAB) + * tam(TSCII) = pc+in(tam_TSCII) + * tel(basic) = pc+in(tel) + * yu(basic) = pc+srp(latin) + * yu(unicode) = pc+srp(latinunicode) + * yu(yz) = pc+srp(latinyz) + * yu(unicodeyz) = pc+srp(latinunicodeyz) + ataritt * = xfree68_vndr/ataritt(us)+%l[1]%(v[1]) + amiga * = xfree68_vndr/amiga(usa1)+%l[1]%(v[1]) + jollasbj * = jolla_vndr/sbj(common)+%l[1]%(v[1]) + $sun $sun_custom = pc+sun_vndr/%l[1]%(v[1]) + macintosh_old us = macintosh_vndr/us(oldmac) + macintosh_old $macvendorlayouts = macintosh_vndr/us(oldmac)+macintosh_vndr/%l[1]%(v[1]) + macintosh_old * = macintosh_vndr/us(oldmac)+%l[1]%(v[1]) + applealu_jis us = macintosh_vndr/apple(alukbd)+macintosh_vndr/jp(usmac) + $applealu $macvendorlayouts = macintosh_vndr/apple(alukbd)+macintosh_vndr/%l[1]%(v[1]) + $applealu * = macintosh_vndr/apple(alukbd)+%l[1]%(v[1]) + $macs $macvendorlayouts = pc+macintosh_vndr/%l[1]%(v[1]) + nokiarx51 cz(qwerty) = nokia_vndr/rx-51(common)+nokia_vndr/rx-51(cz_qwerty) + nokiarx51 * = nokia_vndr/rx-51(common)+nokia_vndr/rx-51(%l[1]%_v[1]) + $thinkpads br = pc+%l[1](thinkpad) + * * = pc+%l[1]%(v[1]) + +! model layout[1] variant[1] = symbols + * ben basic = pc+in(ben) + * ben probhat = pc+in(ben_probhat) + * dev basic = pc+in(deva) + * dvorak $dvoraklayouts = pc+%v(dvorak) + * dvorak basic = pc+us(dvorak) + * dvorak pl_basic = pc+pl(dvorak) + * dvorak pl = pc+pl(dvorak_quotes) + * dvorak pl_altquotes = pc+pl(dvorak_altquotes) + * dzdwi basic = pc+bt(basic) + * fi basic = pc+fi(classic) + * ge azerty_tskapo = pc+fr(geo) + * guj basic = pc+in(guj) + * gur basic = pc+in(guru) + * ie laptop = pc+ie(basic) + * ie CloGaelachLaptop = pc+ie(CloGaelach) + * in urd = pc+in(urd-phonetic) + * iu basic = pc+ca(ike) + * lo basic = pc+la(basic) + * kan basic = pc+in(kan) + * mal basic = pc+in(mal) + * mal mlplusnum = pc+in(mal) + * ogham basic = pc+ie(ogam) + * ogham laptop = pc+ie(ogam) + * ogham is434 = pc+ie(ogam_is434) + * ogham is434laptop = pc+ie(ogam_is434) + * ori basic = pc+in(ori) + * ro de = pc+ro(winkeys) + * ro us = pc+ro(std) + * ro academic = pc+ro(std) + * ro std_comma = pc+ro(std) + * ro comma = pc+ro(basic) + * ru os = pc+ru(os_legacy) + * pk urd = pc+pk(urd-phonetic) + * sapmi basic = pc+no(smi) + * sapmi nodeadkeys = pc+no(smi_nodeadkeys) + * sapmi sefi = pc+fi(smi) + * sin phonetic-static = pc+in(sin_phonetic) + * syr basic = pc+sy(syc) + * syr phonetic = pc+sy(syc_phonetic) + * tam INSCRIPT = pc+in(tam) + * tam UNI = pc+in(tam_unicode) + * tam NUMERAL-KEYBOARD = pc+in(tam_keyboard_with_numerals) + * tam TAB = pc+in(tam_TAB) + * tam TSCII = pc+in(tam_TSCII) + * tel basic = pc+in(tel) + * yu basic = pc+srp(latin) + * yu unicode = pc+srp(latinunicode) + * yu yz = pc+srp(latinyz) + * yu unicodeyz = pc+srp(latinunicodeyz) + +! model layout[2] = symbols + * ar = +ara%(v[2]):2 + * ben = +in(ben):2 + * bs = +ba%(v[2]):2 + * cs = +rs%(v[2]):2 + * cz_qwerty = +cz(qwerty):2 + * dev = +in(deva):2 + * dvorak = +us(dvorak):2 + * dzdwi = +bt%(v[2]):2 + * el = +gr%(v[2]):2 + * en_US = +latin%(v[2]):2 + * guj = +in(guj):2 + * gur = +in(guru):2 + * iu = +ca(ike):2 + * lo = +la%(v[2]):2 + * kan = +in(kan):2 + * mi = +mao%(v[2]):2 + * ogham = +ie(ogam):2 + * ori = +ie(ori):2 + * sapmi = +no(smi):2 + * sr = +srp%(v[2]):2 + * syr = +sy(syc):2 + * tel = +in(tel):2 + * tml = +in(tam):2 + * yu = +srp%(v[2]):2 + * fr-latin9 = +fr(latin9):2 + * us_intl = +us(alt-intl):2 + * ben(basic) = +in(ben):2 + * ben(probhat) = +in(ben_probhat):2 + * dev(basic) = +in(deva):2 + * dvorak($dvoraklayouts) = +%v(dvorak):2 + * dvorak(basic) = +us(dvorak):2 + * dvorak(pl_basic) = +pl(dvorak):2 + * dvorak(pl) = +pl(dvorak_quotes):2 + * dvorak(pl_altquotes) = +pl(dvorak_altquotes):2 + * dzdwi(basic) = +bt(basic):2 + * fi(basic) = +fi(classic):2 + * ge(azerty_tskapo) = +fr(geo):2 + * guj(basic) = +in(guj):2 + * gur(basic) = +in(guru):2 + * ie(laptop) = +ie(basic):2 + * ie(CloGaelachLaptop) = +ie(CloGaelach):2 + * in(urd) = +in(urd-phonetic):2 + * iu(basic) = +ca(ike):2 + * lo(basic) = +la(basic):2 + * kan(basic) = +in(kan):2 + * mal(basic) = +in(mal):2 + * mal(mlplusnum) = +in(mal):2 + * ogham(basic) = +ie(ogam):2 + * ogham(laptop) = +ie(ogam):2 + * ogham(is434) = +ie(ogam_is434):2 + * ogham(is434laptop) = +ie(ogam_is434):2 + * ori(basic) = +in(ori):2 + * ro(de) = +ro(winkeys):2 + * ro(us) = +ro(std):2 + * ro(academic) = +ro(std):2 + * ro(std_comma) = +ro(std):2 + * ro(comma) = +ro(basic):2 + * ru(os) = +ru(os_legacy):2 + * pk(urd) = +pk(urd-phonetic):2 + * sapmi(basic) = +no(smi):2 + * sapmi(nodeadkeys) = +no(smi_nodeadkeys):2 + * sapmi(sefi) = +fi(smi):2 + * sin(phonetic-static) = +in(sin_phonetic):2 + * syr(basic) = +sy(syc):2 + * syr(phonetic) = +sy(syc_phonetic):2 + * tam(INSCRIPT) = +in(tam):2 + * tam(UNI) = +in(tam_unicode):2 + * tam(NUMERAL-KEYBOARD) = +in(tam_keyboard_with_numerals):2 + * tam(TAB) = +in(tam_TAB):2 + * tam(TSCII) = +in(tam_TSCII):2 + * tel(basic) = +in(tel):2 + * yu(basic) = +srp(latin):2 + * yu(unicode) = +srp(latinunicode):2 + * yu(yz) = +srp(latinyz):2 + * yu(unicodeyz) = +srp(latinunicodeyz):2 + nokiarx51 cz(qwerty) = +nokia_vndr/rx-51(cz_qwerty):2 + nokiarx51 * = +nokia_vndr/rx-51(%l[2]%_v[2]):2 + $sun $sun_custom = +sun_vndr/%l[2]%(v[2]):2 + * * = +%l[2]%(v[2]):2 + +! model layout[3] = symbols + * ar = +ara%(v[3]):3 + * ben = +in(ben):3 + * bs = +ba%(v[3]):3 + * cs = +rs%(v[3]):3 + * cz_qwerty = +cz(qwerty):3 + * dev = +in(deva):3 + * dvorak = +us(dvorak):3 + * dzdwi = +bt%(v[3]):3 + * el = +gr%(v[3]):3 + * en_US = +latin%(v[3]):3 + * guj = +in(guj):3 + * gur = +in(guru):3 + * iu = +ca(ike):3 + * lo = +la%(v[3]):3 + * kan = +in(kan):3 + * mi = +mao%(v[3]):3 + * ogham = +ie(ogam):3 + * ori = +ie(ori):3 + * sapmi = +no(smi):3 + * sr = +srp%(v[3]):3 + * syr = +sy(syc):3 + * tel = +in(tel):3 + * tml = +in(tam):3 + * yu = +srp%(v[3]):3 + * fr-latin9 = +fr(latin9):3 + * us_intl = +us(alt-intl):3 + * ben(basic) = +in(ben):3 + * ben(probhat) = +in(ben_probhat):3 + * dev(basic) = +in(deva):3 + * dvorak($dvoraklayouts) = +%v(dvorak):3 + * dvorak(basic) = +us(dvorak):3 + * dvorak(pl_basic) = +pl(dvorak):3 + * dvorak(pl) = +pl(dvorak_quotes):3 + * dvorak(pl_altquotes) = +pl(dvorak_altquotes):3 + * dzdwi(basic) = +bt(basic):3 + * fi(basic) = +fi(classic):3 + * ge(azerty_tskapo) = +fr(geo):3 + * guj(basic) = +in(guj):3 + * gur(basic) = +in(guru):3 + * ie(laptop) = +ie(basic):3 + * ie(CloGaelachLaptop) = +ie(CloGaelach):3 + * in(urd) = +in(urd-phonetic):3 + * iu(basic) = +ca(ike):3 + * lo(basic) = +la(basic):3 + * kan(basic) = +in(kan):3 + * mal(basic) = +in(mal):3 + * mal(mlplusnum) = +in(mal):3 + * ogham(basic) = +ie(ogam):3 + * ogham(laptop) = +ie(ogam):3 + * ogham(is434) = +ie(ogam_is434):3 + * ogham(is434laptop) = +ie(ogam_is434):3 + * ori(basic) = +in(ori):3 + * ro(de) = +ro(winkeys):3 + * ro(us) = +ro(std):3 + * ro(academic) = +ro(std):3 + * ro(std_comma) = +ro(std):3 + * ro(comma) = +ro(basic):3 + * ru(os) = +ru(os_legacy):3 + * pk(urd) = +pk(urd-phonetic):3 + * sapmi(basic) = +no(smi):3 + * sapmi(nodeadkeys) = +no(smi_nodeadkeys):3 + * sapmi(sefi) = +fi(smi):3 + * sin(phonetic-static) = +in(sin_phonetic):3 + * syr(basic) = +sy(syc):3 + * syr(phonetic) = +sy(syc_phonetic):3 + * tam(INSCRIPT) = +in(tam):3 + * tam(UNI) = +in(tam_unicode):3 + * tam(NUMERAL-KEYBOARD) = +in(tam_keyboard_with_numerals):3 + * tam(TAB) = +in(tam_TAB):3 + * tam(TSCII) = +in(tam_TSCII):3 + * tel(basic) = +in(tel):3 + * yu(basic) = +srp(latin):3 + * yu(unicode) = +srp(latinunicode):3 + * yu(yz) = +srp(latinyz):3 + * yu(unicodeyz) = +srp(latinunicodeyz):3 + nokiarx51 cz(qwerty) = +nokia_vndr/rx-51(cz_qwerty):3 + nokiarx51 * = +nokia_vndr/rx-51(%l[3]%_v[3]):3 + $sun $sun_custom = +sun_vndr/%l[3]%(v[3]):3 + * * = +%l[3]%(v[3]):3 + +! model layout[4] = symbols + * ar = +ara%(v[4]):4 + * ben = +in(ben):4 + * bs = +ba%(v[4]):4 + * cs = +rs%(v[4]):4 + * cz_qwerty = +cz(qwerty):4 + * dev = +in(deva):4 + * dvorak = +us(dvorak):4 + * dzdwi = +bt%(v[4]):4 + * el = +gr%(v[4]):4 + * en_US = +latin%(v[4]):4 + * guj = +in(guj):4 + * gur = +in(guru):4 + * iu = +ca(ike):4 + * lo = +la%(v[4]):4 + * kan = +in(kan):4 + * mi = +mao%(v[4]):4 + * ogham = +ie(ogam):4 + * ori = +ie(ori):4 + * sapmi = +no(smi):4 + * sr = +srp%(v[4]):4 + * syr = +sy(syc):4 + * tel = +in(tel):4 + * tml = +in(tam):4 + * yu = +srp%(v[4]):4 + * fr-latin9 = +fr(latin9):4 + * us_intl = +us(alt-intl):4 + * ben(basic) = +in(ben):4 + * ben(probhat) = +in(ben_probhat):4 + * dev(basic) = +in(deva):4 + * dvorak($dvoraklayouts) = +%v(dvorak):4 + * dvorak(basic) = +us(dvorak):4 + * dvorak(pl_basic) = +pl(dvorak):4 + * dvorak(pl) = +pl(dvorak_quotes):4 + * dvorak(pl_altquotes) = +pl(dvorak_altquotes):4 + * dzdwi(basic) = +bt(basic):4 + * fi(basic) = +fi(classic):4 + * ge(azerty_tskapo) = +fr(geo):4 + * guj(basic) = +in(guj):4 + * gur(basic) = +in(guru):4 + * ie(laptop) = +ie(basic):4 + * ie(CloGaelachLaptop) = +ie(CloGaelach):4 + * in(urd) = +in(urd-phonetic):4 + * iu(basic) = +ca(ike):4 + * lo(basic) = +la(basic):4 + * kan(basic) = +in(kan):4 + * mal(basic) = +in(mal):4 + * mal(mlplusnum) = +in(mal):4 + * ogham(basic) = +ie(ogam):4 + * ogham(laptop) = +ie(ogam):4 + * ogham(is434) = +ie(ogam_is434):4 + * ogham(is434laptop) = +ie(ogam_is434):4 + * ori(basic) = +in(ori):4 + * ro(de) = +ro(winkeys):4 + * ro(us) = +ro(std):4 + * ro(academic) = +ro(std):4 + * ro(std_comma) = +ro(std):4 + * ro(comma) = +ro(basic):4 + * ru(os) = +ru(os_legacy):4 + * pk(urd) = +pk(urd-phonetic):4 + * sapmi(basic) = +no(smi):4 + * sapmi(nodeadkeys) = +no(smi_nodeadkeys):4 + * sapmi(sefi) = +fi(smi):4 + * sin(phonetic-static) = +in(sin_phonetic):4 + * syr(basic) = +sy(syc):4 + * syr(phonetic) = +sy(syc_phonetic):4 + * tam(INSCRIPT) = +in(tam):4 + * tam(UNI) = +in(tam_unicode):4 + * tam(NUMERAL-KEYBOARD) = +in(tam_keyboard_with_numerals):4 + * tam(TAB) = +in(tam_TAB):4 + * tam(TSCII) = +in(tam_TSCII):4 + * tel(basic) = +in(tel):4 + * yu(basic) = +srp(latin):4 + * yu(unicode) = +srp(latinunicode):4 + * yu(yz) = +srp(latinyz):4 + * yu(unicodeyz) = +srp(latinunicodeyz):4 + nokiarx51 cz(qwerty) = +nokia_vndr/rx-51(cz_qwerty):4 + nokiarx51 * = +nokia_vndr/rx-51(%l[4]%_v[4]):4 + $sun $sun_custom = +sun_vndr/%l[4]%(v[4]):4 + * * = +%l[4]%(v[4]):4 + +! model layout[2] variant[2] = symbols + * ben basic = +in(ben):2 + * ben probhat = +in(ben_probhat):2 + * dev basic = +in(deva):2 + * dvorak $dvoraklayouts = +%v(dvorak):2 + * dvorak basic = +us(dvorak):2 + * dvorak pl_basic = +pl(dvorak):2 + * dvorak pl = +pl(dvorak_quotes):2 + * dvorak pl_altquotes = +pl(dvorak_altquotes):2 + * dzdwi basic = +bt(basic):2 + * fi basic = +fi(classic):2 + * ge azerty_tskapo = +fr(geo):2 + * guj basic = +in(guj):2 + * gur basic = +in(guru):2 + * ie laptop = +ie(basic):2 + * ie CloGaelachLaptop = +ie(CloGaelach):2 + * in urd = +in(urd-phonetic):2 + * iu basic = +ca(ike):2 + * lo basic = +la(basic):2 + * kan basic = +in(kan):2 + * mal basic = +in(mal):2 + * mal mlplusnum = +in(mal):2 + * ogham basic = +ie(ogam):2 + * ogham laptop = +ie(ogam):2 + * ogham is434 = +ie(ogam_is434):2 + * ogham is434laptop = +ie(ogam_is434):2 + * ori basic = +in(ori):2 + * ro de = +ro(winkeys):2 + * ro us = +ro(std):2 + * ro academic = +ro(std):2 + * ro std_comma = +ro(std):2 + * ro comma = +ro(basic):2 + * ru os = +ru(os_legacy):2 + * pk urd = +pk(urd-phonetic):2 + * sapmi basic = +no(smi):2 + * sapmi nodeadkeys = +no(smi_nodeadkeys):2 + * sapmi sefi = +fi(smi):2 + * sin phonetic-static = +in(sin_phonetic):2 + * syr basic = +sy(syc):2 + * syr phonetic = +sy(syc_phonetic):2 + * tam INSCRIPT = +in(tam):2 + * tam UNI = +in(tam_unicode):2 + * tam NUMERAL-KEYBOARD = +in(tam_keyboard_with_numerals):2 + * tam TAB = +in(tam_TAB):2 + * tam TSCII = +in(tam_TSCII):2 + * tel basic = +in(tel):2 + * yu basic = +srp(latin):2 + * yu unicode = +srp(latinunicode):2 + * yu yz = +srp(latinyz):2 + * yu unicodeyz = +srp(latinunicodeyz):2 + +! model layout[3] variant[3] = symbols + * ben basic = +in(ben):3 + * ben probhat = +in(ben_probhat):3 + * dev basic = +in(deva):3 + * dvorak $dvoraklayouts = +%v(dvorak):3 + * dvorak basic = +us(dvorak):3 + * dvorak pl_basic = +pl(dvorak):3 + * dvorak pl = +pl(dvorak_quotes):3 + * dvorak pl_altquotes = +pl(dvorak_altquotes):3 + * dzdwi basic = +bt(basic):3 + * fi basic = +fi(classic):3 + * ge azerty_tskapo = +fr(geo):3 + * guj basic = +in(guj):3 + * gur basic = +in(guru):3 + * ie laptop = +ie(basic):3 + * ie CloGaelachLaptop = +ie(CloGaelach):3 + * in urd = +in(urd-phonetic):3 + * iu basic = +ca(ike):3 + * lo basic = +la(basic):3 + * kan basic = +in(kan):3 + * mal basic = +in(mal):3 + * mal mlplusnum = +in(mal):3 + * ogham basic = +ie(ogam):3 + * ogham laptop = +ie(ogam):3 + * ogham is434 = +ie(ogam_is434):3 + * ogham is434laptop = +ie(ogam_is434):3 + * ori basic = +in(ori):3 + * ro de = +ro(winkeys):3 + * ro us = +ro(std):3 + * ro academic = +ro(std):3 + * ro std_comma = +ro(std):3 + * ro comma = +ro(basic):3 + * ru os = +ru(os_legacy):3 + * pk urd = +pk(urd-phonetic):3 + * sapmi basic = +no(smi):3 + * sapmi nodeadkeys = +no(smi_nodeadkeys):3 + * sapmi sefi = +fi(smi):3 + * sin phonetic-static = +in(sin_phonetic):3 + * syr basic = +sy(syc):3 + * syr phonetic = +sy(syc_phonetic):3 + * tam INSCRIPT = +in(tam):3 + * tam UNI = +in(tam_unicode):3 + * tam NUMERAL-KEYBOARD = +in(tam_keyboard_with_numerals):3 + * tam TAB = +in(tam_TAB):3 + * tam TSCII = +in(tam_TSCII):3 + * tel basic = +in(tel):3 + * yu basic = +srp(latin):3 + * yu unicode = +srp(latinunicode):3 + * yu yz = +srp(latinyz):3 + * yu unicodeyz = +srp(latinunicodeyz):3 + +! model layout[4] variant[4] = symbols + * ben basic = +in(ben):4 + * ben probhat = +in(ben_probhat):4 + * dev basic = +in(deva):4 + * dvorak $dvoraklayouts = +%v(dvorak):4 + * dvorak basic = +us(dvorak):4 + * dvorak pl_basic = +pl(dvorak):4 + * dvorak pl = +pl(dvorak_quotes):4 + * dvorak pl_altquotes = +pl(dvorak_altquotes):4 + * dzdwi basic = +bt(basic):4 + * fi basic = +fi(classic):4 + * ge azerty_tskapo = +fr(geo):4 + * guj basic = +in(guj):4 + * gur basic = +in(guru):4 + * ie laptop = +ie(basic):4 + * ie CloGaelachLaptop = +ie(CloGaelach):4 + * in urd = +in(urd-phonetic):4 + * iu basic = +ca(ike):4 + * lo basic = +la(basic):4 + * kan basic = +in(kan):4 + * mal basic = +in(mal):4 + * mal mlplusnum = +in(mal):4 + * ogham basic = +ie(ogam):4 + * ogham laptop = +ie(ogam):4 + * ogham is434 = +ie(ogam_is434):4 + * ogham is434laptop = +ie(ogam_is434):4 + * ori basic = +in(ori):4 + * ro de = +ro(winkeys):4 + * ro us = +ro(std):4 + * ro academic = +ro(std):4 + * ro std_comma = +ro(std):4 + * ro comma = +ro(basic):4 + * ru os = +ru(os_legacy):4 + * pk urd = +pk(urd-phonetic):4 + * sapmi basic = +no(smi):4 + * sapmi nodeadkeys = +no(smi_nodeadkeys):4 + * sapmi sefi = +fi(smi):4 + * sin phonetic-static = +in(sin_phonetic):4 + * syr basic = +sy(syc):4 + * syr phonetic = +sy(syc_phonetic):4 + * tam INSCRIPT = +in(tam):4 + * tam UNI = +in(tam_unicode):4 + * tam NUMERAL-KEYBOARD = +in(tam_keyboard_with_numerals):4 + * tam TAB = +in(tam_TAB):4 + * tam TSCII = +in(tam_TSCII):4 + * tel basic = +in(tel):4 + * yu basic = +srp(latin):4 + * yu unicode = +srp(latinunicode):4 + * yu yz = +srp(latinyz):4 + * yu unicodeyz = +srp(latinunicodeyz):4 + +! model = symbols + $evdevkbds = +inet(evdev)+inet(%m) + chromebook = +inet(evdev)+inet(chromebook) + applealu_jis = +inet(evdev)+macintosh_vndr/jp(alujiskeys) + * = +inet(evdev) + +! model layout = symbols + +! layout variant = compat + de neo = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + de adnw = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + de koy = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + de bone = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + de bone_eszett_home = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + de neo_qwertz = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + de neo_qwerty = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + jp $sun_compat = complete+japan(kana_lock) + +! layout[1] variant[1] = compat + de neo = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + de adnw = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + de koy = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + de bone = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + de bone_eszett_home = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + de neo_qwertz = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + de neo_qwerty = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + jp $sun_compat = complete+japan(kana_lock) + +! layout[2] variant[2] = compat + de neo = +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2 + de adnw = +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2 + de koy = +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2 + de bone = +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2 + de bone_eszett_home = +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2 + de neo_qwertz = +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2 + de neo_qwerty = +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2 + jp $sun_compat = +complete+japan(kana_lock):2 + +! layout[3] variant[3] = compat + de neo = +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3 + de adnw = +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3 + de koy = +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3 + de bone = +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3 + de bone_eszett_home = +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3 + de neo_qwertz = +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3 + de neo_qwerty = +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3 + jp $sun_compat = +complete+japan(kana_lock):3 + +! layout[4] variant[4] = compat + de neo = +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4 + de adnw = +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4 + de koy = +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4 + de bone = +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4 + de bone_eszett_home = +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4 + de neo_qwertz = +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4 + de neo_qwerty = +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4 + jp $sun_compat = +complete+japan(kana_lock):4 + +! model layout = compat + pc98 nec_vndr/jp = pc98(basic) + * jp = complete+japan + olpc * = olpc + olpcm * = olpc + * * = complete + +! model layout[1] = compat + * * = complete + +! model = types + $macs = complete+numpad(mac) + $applealu = complete+numpad(mac) + $nokiamodels = complete+nokia + * = complete + +! layout option = symbols + $threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle) + * lv3:ralt_alt = +level3(ralt_alt) + * misc:typo = +typo(base) + * misc:apl = +apl(level3) + +! layout[1] option = symbols + $threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):1 + * lv3:ralt_alt = +level3(ralt_alt):1 + * misc:typo = +typo(base):1 + * misc:apl = +apl(level3):1 + +! layout[2] option = symbols + $threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):2 + * lv3:ralt_alt = +level3(ralt_alt):2 + * misc:typo = +typo(base):2 + * misc:apl = +apl(level3):2 + +! layout[3] option = symbols + $threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):3 + * lv3:ralt_alt = +level3(ralt_alt):3 + * misc:typo = +typo(base):3 + * misc:apl = +apl(level3):3 + +! layout[4] option = symbols + $threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):4 + * lv3:ralt_alt = +level3(ralt_alt):4 + * misc:typo = +typo(base):4 + * misc:apl = +apl(level3):4 + +! option = symbols + grp:shift_toggle = +group(shifts_toggle) + altwin:menu = +altwin(menu) + altwin:menu_win = +altwin(menu_win) + altwin:meta_alt = +altwin(meta_alt) + altwin:alt_win = +altwin(alt_win) + altwin:ctrl_win = +altwin(ctrl_win) + altwin:ctrl_rwin = +altwin(ctrl_rwin) + altwin:ctrl_alt_win = +altwin(ctrl_alt_win) + altwin:meta_win = +altwin(meta_win) + altwin:left_meta_win = +altwin(left_meta_win) + altwin:hyper_win = +altwin(hyper_win) + altwin:alt_super_win = +altwin(alt_super_win) + altwin:swap_lalt_lwin = +altwin(swap_lalt_lwin) + altwin:swap_alt_win = +altwin(swap_alt_win) + altwin:prtsc_rwin = +altwin(prtsc_rwin) + grab:debug = +srvr_ctrl(grab_debug) + grp:switch = +group(switch) + grp:lswitch = +group(lswitch) + grp:win_switch = +group(win_switch) + grp:lwin_switch = +group(lwin_switch) + grp:rwin_switch = +group(rwin_switch) + grp:menu_switch = +group(menu_switch) + grp:toggle = +group(toggle) + grp:shifts_toggle = +group(shifts_toggle) + grp:ctrls_toggle = +group(ctrls_toggle) + grp:alts_toggle = +group(alts_toggle) + grp:caps_toggle = +capslock(grouplock) + grp:caps_switch = +capslock(groupshift) + grp:shift_caps_toggle = +group(shift_caps_toggle) + grp:shift_caps_switch = +group(shift_caps_switch) + grp:win_space_toggle = +group(win_space_toggle) + grp:win_menu_switch = +group(win_menu_switch) + grp:alt_caps_toggle = +group(alt_caps_toggle) + grp:alt_space_toggle = +group(alt_space_toggle) + grp:menu_toggle = +group(menu_toggle) + grp:lwin_toggle = +group(lwin_toggle) + grp:rwin_toggle = +group(rwin_toggle) + grp:lshift_toggle = +group(lshift_toggle) + grp:rshift_toggle = +group(rshift_toggle) + grp:rctrl_switch = +group(rctrl_switch) + grp:lctrl_toggle = +group(lctrl_toggle) + grp:rctrl_toggle = +group(rctrl_toggle) + grp:lalt_toggle = +group(lalt_toggle) + grp:sclk_toggle = +group(sclk_toggle) + grp:lctrl_rctrl_switch = +group(lctrl_rctrl_switch) + grp:lctrl_lwin_rctrl_menu = +group(lctrl_lwin_rctrl_menu) + grp:lctrl_lalt_toggle = +group(lctrl_lalt_toggle) + grp:rctrl_ralt_toggle = +group(rctrl_ralt_toggle) + grp:ctrl_alt_toggle = +group(ctrl_alt_toggle) + grp:ctrl_alt_toggle_bidir = +group(ctrl_alt_toggle_bidir) + grp:lctrl_lshift_toggle = +group(lctrl_lshift_toggle) + grp:rctrl_rshift_toggle = +group(rctrl_rshift_toggle) + grp:ctrl_shift_toggle = +group(ctrl_shift_toggle) + grp:ctrl_shift_toggle_bidir = +group(ctrl_shift_toggle_bidir) + grp:lalt_lshift_toggle = +group(lalt_lshift_toggle) + grp:ralt_rshift_toggle = +group(ralt_rshift_toggle) + grp:alt_shift_toggle = +group(alt_shift_toggle) + grp:alt_shift_toggle_bidir = +group(alt_shift_toggle_bidir) + grp:lctrl_lwin_toggle = +group(lctrl_lwin_toggle) + lv3:switch = +level3(switch) + lv3:ralt_switch = +level3(ralt_switch) + lv3:ralt_switch_multikey = +level3(ralt_switch_multikey) + lv3:lalt_switch = +level3(lalt_switch) + lv3:alt_switch = +level3(alt_switch) + lv3:menu_switch = +level3(menu_switch) + lv3:win_switch = +level3(win_switch) + lv3:lwin_switch = +level3(lwin_switch) + lv3:rwin_switch = +level3(rwin_switch) + lv3:enter_switch = +level3(enter_switch) + lv3:4_switch_isolated = +level3(4_switch_isolated) + lv3:9_switch_isolated = +level3(9_switch_isolated) + caps:capslock = +capslock(capslock) + caps:numlock = +capslock(numlock) + caps:shiftlock = +capslock(shiftlock) + caps:swapescape = +capslock(swapescape) + caps:escape = +capslock(escape) + caps:escape_shifted_capslock = +capslock(escape_shifted_capslock) + caps:backspace = +capslock(backspace) + caps:super = +capslock(super) + caps:hyper = +capslock(hyper) + caps:menu = +capslock(menu) + caps:none = +capslock(none) + caps:ctrl_modifier = +capslock(ctrl_modifier) + ctrl:nocaps = +ctrl(nocaps) + ctrl:lctrl_meta = +ctrl(lctrl_meta) + ctrl:swapcaps = +ctrl(swapcaps) + ctrl:swapcaps_hyper = +ctrl(swapcaps_hyper) + ctrl:swapcaps_and_switch_layout = +ctrl(swapcaps_and_switch_layout) + ctrl:ac_ctrl = +ctrl(ac_ctrl) + ctrl:aa_ctrl = +ctrl(aa_ctrl) + ctrl:rctrl_ralt = +ctrl(rctrl_ralt) + ctrl:menu_rctrl = +ctrl(menu_rctrl) + ctrl:ralt_rctrl = +ctrl(ralt_rctrl) + ctrl:swap_lalt_lctl = +ctrl(swap_lalt_lctl) + ctrl:swap_lwin_lctl = +ctrl(swap_lwin_lctl) + ctrl:swap_rwin_rctl = +ctrl(swap_rwin_rctl) + ctrl:swap_lalt_lctl_lwin = +ctrl(swap_lalt_lctl_lwin) + compose:ralt = +compose(ralt) + compose:lwin = +compose(lwin) + compose:lwin-altgr = +compose(lwin-altgr) + compose:rwin = +compose(rwin) + compose:rwin-altgr = +compose(rwin-altgr) + compose:menu = +compose(menu) + compose:menu-altgr = +compose(menu-altgr) + compose:lctrl = +compose(lctrl) + compose:lctrl-altgr = +compose(lctrl-altgr) + compose:rctrl = +compose(rctrl) + compose:rctrl-altgr = +compose(rctrl-altgr) + compose:caps = +compose(caps) + compose:caps-altgr = +compose(caps-altgr) + compose:102 = +compose(102) + compose:102-altgr = +compose(102-altgr) + compose:paus = +compose(paus) + compose:prsc = +compose(prsc) + compose:sclk = +compose(sclk) + srvrkeys:none = +srvr_ctrl(no_srvr_keys) + eurosign:e = +eurosign(e) + 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) + keypad:oss_wang = +keypad(oss_wang) + keypad:future = +keypad(future) + keypad:future_wang = +keypad(future_wang) + keypad:hex = +keypad(ops)+keypad(hex) + keypad:atm = +keypad(ops)+keypad(hex)+keypad(atm) + nbsp:none = +nbsp(none) + nbsp:level2 = +nbsp(level2) + nbsp:level3 = +nbsp(level3) + nbsp:level3s = +nbsp(level3s) + nbsp:level3n = +nbsp(level3n) + nbsp:level4 = +nbsp(level4) + nbsp:level4n = +nbsp(level4n) + nbsp:level4nl = +nbsp(level4nl) + nbsp:zwnj2 = +nbsp(zwnj2) + nbsp:zwnj2zwj3 = +nbsp(zwnj2zwj3) + nbsp:zwnj2zwj3nb4 = +nbsp(zwnj2zwj3nb4) + nbsp:zwnj2nb3 = +nbsp(zwnj2nb3) + nbsp:zwnj2nb3s = +nbsp(zwnj2nb3s) + nbsp:zwnj2nb3zwj4 = +nbsp(zwnj2nb3zwj4) + nbsp:zwnj2nb3nnb4 = +nbsp(zwnj2nb3nnb4) + nbsp:zwnj3zwj4 = +nbsp(zwnj3zwj4) + japan:nicola_f_bs = +jp(nicola_f_bs) + japan:hztg_escape = +jp(hztg_escape) + korean:ralt_hangul = +kr(ralt_hangul) + korean:rctrl_hangul = +kr(rctrl_hangul) + korean:ralt_hanja = +kr(ralt_hanja) + korean:rctrl_hanja = +kr(rctrl_hanja) + kpdl:dot = +kpdl(dot) + kpdl:comma = +kpdl(comma) + kpdl:dotoss = +kpdl(dotoss) + kpdl:dotoss_latin9 = +kpdl(dotoss_latin9) + kpdl:commaoss = +kpdl(commaoss) + kpdl:momayyezoss = +kpdl(momayyezoss) + kpdl:kposs = +kpdl(kposs) + kpdl:semi = +kpdl(semi) + shift:breaks_caps = +shift(breaks_caps) + esperanto:qwerty = +epo(qwerty) + esperanto:dvorak = +epo(dvorak) + esperanto:colemak = +epo(colemak) + terminate:ctrl_alt_bksp = +terminate(ctrl_alt_bksp) + keypad:pointerkeys = +keypad(pointerkeys) + apple:alupckeys = +macintosh_vndr/apple(alupckeys) + shift:both_capslock = +shift(both_capslock) + shift:lshift_both_capslock = +shift(lshift_both_capslock) + shift:rshift_both_capslock = +shift(rshift_both_capslock) + shift:both_capslock_cancel = +shift(both_capslock_cancel) + shift:lshift_both_capslock_cancel = +shift(lshift_both_capslock_cancel) + shift:rshift_both_capslock_cancel = +shift(rshift_both_capslock_cancel) + shift:both_shiftlock = +shift(both_shiftlock) + shift:lshift_both_shiftlock = +shift(lshift_both_shiftlock) + shift:rshift_both_shiftlock = +shift(rshift_both_shiftlock) + solaris:sun_compat = +sun_vndr/solaris(sun_compat) + lv2:lsgt_switch = +level2(lsgt_switch) + lv3:caps_switch = +level3(caps_switch) + lv3:bksl_switch = +level3(bksl_switch) + lv3:lsgt_switch = +level3(lsgt_switch) + lv3:caps_switch_latch = +level3(caps_switch_latch) + lv3:bksl_switch_latch = +level3(bksl_switch_latch) + lv3:lsgt_switch_latch = +level3(lsgt_switch_latch) + lv5:lsgt_switch = +level5(lsgt_switch) + lv5:ralt_switch = +level5(ralt_switch) + lv5:lsgt_switch_lock = +level5(lsgt_switch_lock) + lv5:ralt_switch_lock = +level5(ralt_switch_lock) + lv5:lwin_switch_lock = +level5(lwin_switch_lock) + lv5:rwin_switch_lock = +level5(rwin_switch_lock) + lv5:lsgt_switch_lock_cancel = +level5(lsgt_switch_lock_cancel) + lv5:ralt_switch_lock_cancel = +level5(ralt_switch_lock_cancel) + lv5:lwin_switch_lock_cancel = +level5(lwin_switch_lock_cancel) + lv5:rwin_switch_lock_cancel = +level5(rwin_switch_lock_cancel) + parens:swap_brackets = +parens(swap_brackets) + + +! option = compat + grp_led:num = +lednum(group_lock) + grp_led:caps = +ledcaps(group_lock) + grp_led:scroll = +ledscroll(group_lock) + mod_led:compose = +ledcompose(compose) + japan:kana_lock = +japan(kana_lock) + caps:shiftlock = +ledcaps(shift_lock) + grab:break_actions = +xfree86(grab_break) + + +! option = types + caps:internal = +caps(internal) + caps:internal_nocancel = +caps(internal_nocancel) + caps:shift = +caps(shift) + caps:shift_nocancel = +caps(shift_nocancel) + numpad:pc = +numpad(pc) + numpad:mac = +numpad(mac) + numpad:microsoft = +numpad(microsoft) + numpad:shift3 = +numpad(shift3) diff --git a/xkbdata/rules/evdev.extras.xml b/xkbdata/rules/evdev.extras.xml new file mode 100644 index 0000000..82aa2c1 --- /dev/null +++ b/xkbdata/rules/evdev.extras.xml @@ -0,0 +1,1454 @@ + + + + + + + + apl + apl + APL + + eng + + + + + + dyalog + dlg + APL symbols (Dyalog APL) + + + + + sax + sax + APL symbols (SAX, Sharp APL for Unix) + + + + + unified + ufd + APL symbols (unified) + + + + + apl2 + apl2 + APL symbols (IBM APL2) + + + + + aplplusII + aplII + APL symbols (Manugistics APL*PLUS II) + + + + + aplx + aplx + APL symbols (APLX unified) + + + + + + + ca + fr + French (Canada) + + fra + + + + + + kut + kut + Kutenai + + + + + shs + shs + Secwepemctsin + + + + + sun_type6 + Multilingual (Canada, Sun Type 6/7) + + + + + + + de + de + German + + deu + + + + + + hu + German (with Hungarian letters, no dead keys) + + deu + hun + + + + + + pl + Polish (Germany, no dead keys) + + deu + pol + + + + + + sun_type6 + German (Sun Type 6/7) + + + + + adnw + German (Aus der Neo-Welt) + + + + + koy + German (KOY) + + + + + bone + German (Bone) + + + + + bone_eszett_home + German (Bone, eszett in the home row) + + + + + neo_qwertz + German (Neo, QWERTZ) + + + + + neo_qwerty + German (Neo, QWERTY) + + + + + ru-recom + + ru + Russian (Germany, recommended) + + rus + + + + + + ru-translit + + ru + Russian (Germany, transliteration) + + rus + + + + + + lld + de_lld + German (Ladin) + + deu + lld + + + + + + + + eg + Coptic + + cop + egy + + + + + + hu + Hungarian + + + + + oldhun + oldhun + Old Hungarian + + + + + oldhunlig + oldhun(lig) + Old Hungarian (for ligatures) + + + + + + + + ir + fa + Persian + + fas + + + + + + ave + Avestan + + ave + + + + + + + + lt + lt + Lithuanian + + lit + + + + + + us_dvorak + Lithuanian (Dvorak) + + + + + sun_type6 + Lithuanian (Sun Type 6/7) + + + + + + + lv + lv + Latvian + + lav + + + + + + dvorak + Latvian (Dvorak) + + + + + ykeydvorak + Latvian (Dvorak, with Y) + + + + + minuskeydvorak + Latvian (Dvorak, with minus) + + + + + dvorakprogr + Latvian (programmer Dvorak) + + + + + ykeydvorakprogr + Latvian (programmer Dvorak, with Y) + + + + + minuskeydvorakprogr + Latvian (programmer Dvorak, with minus) + + + + + colemak + Latvian (Colemak) + + + + + apostrophecolemak + Latvian (Colemak, with apostrophe) + + + + + sun_type6 + Latvian (Sun Type 6/7) + + + + + apostrophe-deadquotes + Latvian (apostrophe, dead quotes) + + + + + + + us + en + English (US) + + eng + + + + + + intl-unicode + English (US, intl., AltGr Unicode combining) + + + + + alt-intl-unicode + English (US, intl., AltGr Unicode combining, alt.) + + + + + ats + Atsina + + + + + + crd + Coeur d'Alene Salish + + crd + + + + + + cz_sk_de + Czech Slovak and German (US) + + eng + ces + slk + deu + + + + + + cz_sk_pl_de_es_fi_sv + Czech, Slovak, Polish, Spanish, Finnish, Swedish and German (US) + + eng + cze + slo + pol + ger + spa + fin + swe + + + + + + drix + English (Drix) + + + + + de_se_fi + German, Swedish and Finnish (US) + + eng + deu + swe + fin + + + + + + ibm238l + English (US, IBM Arabic 238_L) + + + + + sun_type6 + English (US, Sun Type 6/7) + + + + + carpalx + English (Carpalx) + + + + + carpalx-intl + English (Carpalx, intl., with dead keys) + + + + + carpalx-altgr-intl + English (Carpalx, intl., with AltGr dead keys) + + + + + carpalx-full + English (Carpalx, full optimization) + + + + + carpalx-full-intl + English (Carpalx, full optimization, intl., with dead keys) + + + + + carpalx-full-altgr-intl + English (Carpalx, full optimization, intl., with AltGr dead keys) + + + + + 3l + English (3l) + + + + + 3l-cros + English (3l, Chromebook) + + + + + 3l-emacs + English (3l, emacs) + + + + + scn + Sicilian (US keyboard) + + eng + ita + scn + + + + + + altgr-weur + English (Western European AltGr dead keys) + dan + nld + eng + fin + fra + deu + ita + nor + por + spa + swe + + + + + + + + pl + pl + Polish + + pol + + + + + + intl + Polish (intl., with dead keys) + + + + + colemak + Polish (Colemak) + + + + + colemak_dh + Polish (Colemak-DH) + + + + + sun_type6 + Polish (Sun Type 6/7) + + + + + glagolica + Polish (Glagolica) + + + + + lefty + Polish (lefty) + + + + + + + ro + ro + Romanian + + ron + + + + + + crh_dobruja + crh + Crimean Tatar (Dobruja Q) + + crh + + + + + + ergonomic + Romanian (ergonomic Touchtype) + + + + + sun_type6 + Romanian (Sun Type 6/7) + + + + + + + rs + sr + Serbian + + srp + + + + + + combiningkeys + Serbian (combining accents instead of dead keys) + + + + + + + ru + ru + Russian + + + + + chu + Church Slavonic + + chu + + + + + + ruu + ru + Russian (with Ukrainian-Belorussian layout) + + rus + ukr + bel + + + + + + rulemak + Russian (Rulemak, phonetic Colemak) + + + + + phonetic_mac + Russian (phonetic Macintosh) + + + + + sun_type6 + Russian (Sun Type 6/7) + + + + + unipunct + Russian (with US punctuation) + + + + + gost-6431-75-48 + Russian (GOST 6431-75) + + + + + gost-14289-88 + Russian (GOST 14289-88) + + + + + prxn + ru + Russian (Polyglot and Reactionary) + + RU + RS + BA + ME + MK + BG + MD + UA + BY + KZ + MN + KG + TJ + UZ + TM + AZ + + + rus + ukr + bel + srp + mkd + bul + chu + kaz + kir + uzb + bak + aze + tat + uig + kdr + tyv + kjh + crh + tgk + abk + sah + mon + kal + sjd + chv + oss + krl + ale + wbl + kur + niv + dng + kom + udm + sel + ulc + ude + oac + oaa + gld + eve + evn + kca + itl + yrk + neg + + + + + + + + am + hy + Armenian + + hye + + + + + + olpc-phonetic + Armenian (OLPC, phonetic) + + + + + + + il + he + Hebrew + + heb + + + + + + biblicalSIL + Hebrew (Biblical, SIL phonetic) + + heb + + + + + + + + ara + ar + Arabic + + + + + sun_type6 + Arabic (Sun Type 6/7) + + + + + basic_ext + Arabic (Arabic numerals, extensions in the 4th level) + + + + + basic_ext_digits + Arabic (Eastern Arabic numerals, extensions in the 4th level) + + + + + uga + Ugaritic instead of Arabic + + + + + ergoarabic + Arabic (ErgoArabic) + + + + + + + be + be + Belgian + + + + + sun_type6 + Belgian (Sun Type 6/7) + + + + + + + br + pt + Portuguese (Brazil) + + + + + sun_type6 + Portuguese (Brazil, Sun Type 6/7) + + + + + + + cz + cs + Czech + + + + + sun_type6 + Czech (Sun Type 6/7) + + + + + prog + Czech (programming) + + + + + typo + Czech (typographic) + + + + + coder + Czech (coder) + + + + + prog_typo + Czech (programming, typographic) + + + + + + + dk + da + Danish + + + + + sun_type6 + Danish (Sun Type 6/7) + + + + + + + nl + nl + Dutch + + + + + sun_type6 + Dutch (Sun Type 6/7) + + + + + + + ee + et + Estonian + + + + + sun_type6 + Estonian (Sun Type 6/7) + + + + + + + fi + fi + Finnish + + + + + sun_type6 + Finnish (Sun Type 6/7) + + + + + das + Finnish (DAS) + + + + + fidvorak + Finnish (Dvorak) + + + + + + + fr + fr + French + + + + + sun_type6 + French (Sun Type 6/7) + + + + + us-alt + French (US with dead keys, alt.) + + + + + us-azerty + French (US, AZERTY) + + + + + + + gr + gr + Greek + + + + + sun_type6 + Greek (Sun Type 6/7) + + + + + colemak + Greek (Colemak) + + + + + + + it + it + Italian + + + + + sun_type6 + Italian (Sun Type 6/7) + + + + + lld + it_lld + Italian (Ladin) + + ita + lld + + + + + + dvorak + Italian (Dvorak) + + ita + + + + + + + + jp + ja + Japanese + + + + + sun_type6 + Japanese (Sun Type 6) + + + + + sun_type7 + Japanese (Sun Type 7, PC-compatible) + + + + + sun_type7_suncompat + Japanese (Sun Type 7, Sun-compatible) + + + + + + + no + no + Norwegian + + + + + sun_type6 + Norwegian (Sun Type 6/7) + + + + + + + pk + ur + Urdu (Pakistan) + + + + + urd-navees + Urdu (Pakistan, Navees) + + urd + + + + + + + + pt + pt + Portuguese + + + + + sun_type6 + Portuguese (Sun Type 6/7) + + + + + colemak + Portuguese (Colemak) + + + + + + + sk + sk + Slovak + + + + + acc + Slovak (ACC layout, only accented letters) + + + + + sun_type6 + Slovak (Sun Type 6/7) + + + + + + + es + es + Spanish + + + + + sun_type6 + Spanish (Sun Type 6/7) + + + + + + + se + sv + Swedish + + + + + dvorak_a5 + Swedish (Dvorak A5) + + + + + sun_type6 + Swedish (Sun Type 6/7) + + + + + ovd + Elfdalian (Swedish, with combining ogonek) + + ovd + + + + + + + + ch + de + German (Switzerland) + + + + + sun_type6_de + German (Switzerland, Sun Type 6/7) + + + + + sun_type6_fr + French (Switzerland, Sun Type 6/7) + + + + + + + tr + tr + Turkish + + + + + sun_type6 + Turkish (Sun Type 6/7) + + + + + otk + Old Turkic + + + + + us + Turkish (Turkey, Latin Q, Swap i and ı) + + + + + + + ua + uk + Ukrainian + + + + + sun_type6 + Ukrainian (Sun Type 6/7) + + + + + + + gb + en + English (UK) + + + + + sun_type6 + English (UK, Sun Type 6/7) + + + + + + + kr + ko + Korean + + + + + sun_type6 + Korean (Sun Type 6/7) + + + + + + + vn + + vi + Vietnamese + + vie + + + + + + aderty + Vietnamese (AÐERTY) + + + + + qderty + Vietnamese (QĐERTY) + + + + + + + eu + + eu + EurKEY (US) + + cat + dan + eng + est + fao + fin + deu + ell + gsw + ita + lav + lit + nld + nor + por + spa + swe + + + + + + trans + + International Phonetic Alphabet + + + + + qwerty + International Phonetic Alphabet (QWERTY) + + + + + + + in + + in + Indian + + + + + modi-kagapa + mr + Modi (KaGaPa phonetic) + + mar + + + + + + san-misc + sas + Sanskrit symbols + + san + + + + + + urd-navees + ur + Urdu (Navees) + + urd + + + + + + + + + + + lv3 + Key to choose the 3rd level + + + + + + + + parens + Parentheses position + + + + + diff --git a/xkbdata/rules/evdev.lst b/xkbdata/rules/evdev.lst new file mode 100644 index 0000000..519f734 --- /dev/null +++ b/xkbdata/rules/evdev.lst @@ -0,0 +1,993 @@ +! model + pc86 Generic 86-key PC + pc101 Generic 101-key PC + pc102 Generic 102-key PC + pc104 Generic 104-key PC + pc104alt Generic 104-key PC with L-shaped Enter key + pc105 Generic 105-key PC + dell101 Dell 101-key PC + latitude Dell Latitude laptop + dellm65 Dell Precision M65 laptop + everex Everex STEPnote + flexpro Keytronic FlexPro + microsoft Microsoft Natural + omnikey101 Northgate OmniKey 101 + winbook Winbook Model XP5 + pc98 PC-98 + a4techKB21 A4Tech KB-21 + a4techKBS8 A4Tech KBS-8 + a4_rfkb23 A4Tech Wireless Desktop RFKB-23 + airkey Acer AirKey V + azonaRF2300 Azona RF2300 Wireless Internet + scorpius Advance Scorpius KI + brother Brother Internet + btc5113rf BTC 5113RF Multimedia + btc5126t BTC 5126T + btc6301urf BTC 6301URF + btc9000 BTC 9000 + btc9000a BTC 9000A + btc9001ah BTC 9001AH + btc5090 BTC 5090 + btc9019u BTC 9019U + btc9116u BTC 9116U Mini Wireless Internet and Gaming + cherryblue Cherry Blue Line CyBo@rd + cherryblueb Cherry CyMotion Master XPress + cherrybluea Cherry Blue Line CyBo@rd (alt.) + cherrycyboard Cherry CyBo@rd USB-Hub + cherrycmexpert Cherry CyMotion Expert + cherrybunlim Cherry B.UNLIMITED + chicony Chicony Internet + chicony0108 Chicony KU-0108 + chicony0420 Chicony KU-0420 + chicony9885 Chicony KB-9885 + compaqeak8 Compaq Easy Access + compaqik7 Compaq Internet (7 keys) + compaqik13 Compaq Internet (13 keys) + compaqik18 Compaq Internet (18 keys) + cymotionlinux Cherry CyMotion Master Linux + armada Compaq Armada laptop + presario Compaq Presario laptop + ipaq Compaq iPaq + dell Dell + dellsk8125 Dell SK-8125 + dellsk8135 Dell SK-8135 + dellusbmm Dell USB Multimedia + inspiron Dell Inspiron 6000/8000 laptop + precision_m Dell Precision M laptop + dexxa Dexxa Wireless Desktop + diamond Diamond 9801/9802 + dtk2000 DTK2000 + ennyah_dkb1008 Ennyah DKB-1008 + fscaa1667g Fujitsu-Siemens Amilo laptop + genius Genius Comfy KB-16M/Multimedia KWD-910 + geniuscomfy Genius Comfy KB-12e + geniuscomfy2 Genius Comfy KB-21e-Scroll + geniuskb19e Genius KB-19e NB + geniuskkb2050hs Genius KKB-2050HS + gyration Gyration + kinesis Kinesis + logitech_base Logitech + logitech_g15 Logitech G15 extra keys via G15daemon + hpi6 Hewlett-Packard Internet + hp250x Hewlett-Packard NEC SK-2500 Multimedia + hpxe3gc Hewlett-Packard Omnibook XE3 GC + hpxe3gf Hewlett-Packard Omnibook XE3 GF + hpxt1000 Hewlett-Packard Omnibook XT1000 + hpdv5 Hewlett-Packard Pavilion dv5 + hpzt11xx Hewlett-Packard Pavilion ZT1100 + hp500fa Hewlett-Packard Omnibook 500 FA + hp5xx Hewlett-Packard Omnibook 500 + hpnx9020 Hewlett-Packard nx9020 + hp6000 Hewlett-Packard Omnibook 6000/6100 + honeywell_euroboard Honeywell Euroboard + hpmini110 Hewlett-Packard Mini 110 laptop + rapidaccess IBM Rapid Access + rapidaccess2 IBM Rapid Access II + thinkpad IBM ThinkPad 560Z/600/600E/A22E + thinkpad60 IBM ThinkPad R60/T60/R61/T61 + thinkpadz60 IBM ThinkPad Z60m/Z60t/Z61m/Z61t + ibm_spacesaver IBM Space Saver + logiaccess Logitech Access + logiclx300 Logitech Cordless Desktop LX-300 + logii350 Logitech Internet 350 + logimel Logitech Internet 350 + logicd Logitech Cordless Desktop + logicd_it Logitech Cordless Desktop iTouch + logicd_nav Logitech Cordless Desktop Navigator + logicd_opt Logitech Cordless Desktop Optical + logicda Logitech Cordless Desktop (alt.) + logicdpa2 Logitech Cordless Desktop Pro (2nd alt.) + logicfn Logitech Cordless Freedom/Desktop Navigator + logicdn Logitech Cordless Desktop Navigator + logiitc Logitech iTouch Cordless Y-RB6 + logiik Logitech Internet + itouch Logitech iTouch + logicink Logitech Internet Navigator + logiex110 Logitech Cordless Desktop EX110 + logiinkse Logitech iTouch Internet Navigator SE + logiinkseusb Logitech iTouch Internet Navigator SE USB + logiultrax Logitech Ultra-X + logiultraxc Logitech Ultra-X Cordless Media Desktop + logidinovo Logitech diNovo + logidinovoedge Logitech diNovo Edge + mx1998 Memorex MX1998 + mx2500 Memorex MX2500 EZ-Access + mx2750 Memorex MX2750 + microsoft4000 Microsoft Natural Ergonomic 4000 + microsoft7000 Microsoft Natural Wireless Ergonomic 7000 + microsoftinet Microsoft Internet + microsoftpro Microsoft Natural Pro/Internet Pro + microsoftprousb Microsoft Natural Pro USB/Internet Pro + microsoftprooem Microsoft Natural Pro OEM + vsonku306 ViewSonic KU-306 Internet + microsoftprose Microsoft Internet Pro (Swedish) + microsoftoffice Microsoft Office Keyboard + microsoftmult Microsoft Wireless Multimedia 1.0A + microsoftsurface Microsoft Surface + microsoftelite Microsoft Natural Elite + microsoftccurve2k Microsoft Comfort Curve 2000 + oretec Ortek Multimedia/Internet MCK-800 + propeller Propeller Voyager KTEZ-1000 + qtronix QTronix Scorpius 98N+ + samsung4500 Samsung SDM 4500P + samsung4510 Samsung SDM 4510P + sanwaskbkg3 Sanwa Supply SKB-KG3 + sk1300 NEC SK-1300 + sk2500 NEC SK-2500 + sk6200 NEC SK-6200 + sk7100 NEC SK-7100 + sp_inet Super Power Multimedia + sven SVEN Ergonomic 2500 + sven303 SVEN Slim 303 + symplon Symplon PaceBook tablet + toshiba_s3000 Toshiba Satellite S3000 + trust Trust Wireless Classic + trustda Trust Direct Access + trust_slimline Trust Slimline + tm2020 TypeMatrix EZ-Reach 2020 + tm2030PS2 TypeMatrix EZ-Reach 2030 PS2 + tm2030USB TypeMatrix EZ-Reach 2030 USB + tm2030USB-102 TypeMatrix EZ-Reach 2030 USB (102/105:EU mode) + tm2030USB-106 TypeMatrix EZ-Reach 2030 USB (106:JP mode) + yahoo Yahoo! Internet + macbook78 MacBook/MacBook Pro + macbook79 MacBook/MacBook Pro (intl.) + macintosh Macintosh + macintosh_old Macintosh Old + macintosh_hhk Happy Hacking for Mac + acer_c300 Acer C300 + acer_ferrari4k Acer Ferrari 4000 + acer_laptop Acer laptop + asus_laptop Asus laptop + apple Apple + apple_laptop Apple laptop + applealu_ansi Apple Aluminium (ANSI) + applealu_iso Apple Aluminium (ISO) + applealu_jis Apple Aluminium (JIS) + silvercrest Silvercrest Multimedia Wireless + emachines eMachines m6800 laptop + benqx BenQ X-Touch + benqx730 BenQ X-Touch 730 + benqx800 BenQ X-Touch 800 + hhk Happy Hacking + classmate Classmate PC + olpc OLPC + sun_type7_usb Sun Type 7 USB + sun_type7_euro_usb Sun Type 7 USB (European) + sun_type7_unix_usb Sun Type 7 USB (Unix) + sun_type7_jp_usb Sun Type 7 USB (Japanese)/Japanese 106-key + sun_type6_usb Sun Type 6/7 USB + sun_type6_euro_usb Sun Type 6/7 USB (European) + sun_type6_unix_usb Sun Type 6 USB (Unix) + sun_type6_jp_usb Sun Type 6 USB (Japanese) + sun_type6_jp Sun Type 6 (Japanese) + targa_v811 Targa Visionary 811 + unitekkb1925 Unitek KB-1925 + compalfl90 FL90 + creativedw7000 Creative Desktop Wireless 7000 + teck227 Truly Ergonomic 227 + teck229 Truly Ergonomic 229 + apex300 SteelSeries Apex 300 (Apex RAW) + chromebook Chromebook + +! layout + us English (US) + af Dari + ara Arabic + al Albanian + am Armenian + at German (Austria) + au English (Australian) + az Azerbaijani + by Belarusian + be Belgian + bd Bangla + in Indian + ba Bosnian + br Portuguese (Brazil) + bg Bulgarian + dz Berber (Algeria, Latin) + ma Arabic (Morocco) + cm English (Cameroon) + mm Burmese + ca French (Canada) + cd French (Democratic Republic of the Congo) + cn Chinese + hr Croatian + cz Czech + dk Danish + nl Dutch + bt Dzongkha + ee Estonian + ir Persian + iq Iraqi + fo Faroese + fi Finnish + fr French + gh English (Ghana) + gn N'Ko (AZERTY) + ge Georgian + de German + gr Greek + hu Hungarian + is Icelandic + il Hebrew + it Italian + jp Japanese + kg Kyrgyz + kh Khmer (Cambodia) + kz Kazakh + la Lao + latam Spanish (Latin American) + lt Lithuanian + lv Latvian + mao Maori + me Montenegrin + mk Macedonian + mt Maltese + mn Mongolian + no Norwegian + pl Polish + pt Portuguese + ro Romanian + ru Russian + rs Serbian + si Slovenian + sk Slovak + es Spanish + se Swedish + ch German (Switzerland) + sy Arabic (Syria) + tj Tajik + lk Sinhala (phonetic) + th Thai + tr Turkish + tw Taiwanese + ua Ukrainian + gb English (UK) + uz Uzbek + vn Vietnamese + kr Korean + ie Irish + pk Urdu (Pakistan) + mv Dhivehi + za English (South Africa) + epo Esperanto + np Nepali + ng English (Nigeria) + et Amharic + sn Wolof + brai Braille + tm Turkmen + ml Bambara + tz Swahili (Tanzania) + tg French (Togo) + ke Swahili (Kenya) + bw Tswana + ph Filipino + md Moldavian + id Indonesian (Latin) + jv Indonesian (Javanese) + my Malay (Jawi, Arabic Keyboard) + custom A user-defined custom Layout + +! variant + chr us: Cherokee + haw us: Hawaiian + euro us: English (US, euro on 5) + intl us: English (US, intl., with dead keys) + alt-intl us: English (US, alt. intl.) + colemak us: English (Colemak) + colemak_dh us: English (Colemak-DH) + colemak_dh_iso us: English (Colemak-DH ISO) + dvorak us: English (Dvorak) + dvorak-intl us: English (Dvorak, intl., with dead keys) + dvorak-alt-intl us: English (Dvorak, alt. intl.) + dvorak-l us: English (Dvorak, left-handed) + dvorak-r us: English (Dvorak, right-handed) + dvorak-classic us: English (classic Dvorak) + dvp us: English (programmer Dvorak) + dvorak-mac us: English (Dvorak, Macintosh) + symbolic us: English (US, Symbolic) + rus us: Russian (US, phonetic) + mac us: English (Macintosh) + altgr-intl us: English (intl., with AltGr dead keys) + olpc2 us: English (the divide/multiply toggle the layout) + hbs us: Serbo-Croatian (US) + norman us: English (Norman) + workman us: English (Workman) + workman-intl us: English (Workman, intl., with dead keys) + ps af: Pashto + uz af: Uzbek (Afghanistan) + ps-olpc af: Pashto (Afghanistan, OLPC) + fa-olpc af: Dari (Afghanistan, OLPC) + uz-olpc af: Uzbek (Afghanistan, OLPC) + azerty ara: Arabic (AZERTY) + azerty_digits ara: Arabic (AZERTY, Eastern Arabic numerals) + digits ara: Arabic (Eastern Arabic numerals) + qwerty ara: Arabic (QWERTY) + qwerty_digits ara: Arabic (QWERTY, Eastern Arabic numerals) + buckwalter ara: Arabic (Buckwalter) + olpc ara: Arabic (OLPC) + mac ara: Arabic (Macintosh) + plisi al: Albanian (Plisi) + veqilharxhi al: Albanian (Veqilharxhi) + phonetic am: Armenian (phonetic) + phonetic-alt am: Armenian (alt. phonetic) + eastern am: Armenian (eastern) + western am: Armenian (western) + eastern-alt am: Armenian (alt. eastern) + nodeadkeys at: German (Austria, no dead keys) + mac at: German (Austria, Macintosh) + cyrillic az: Azerbaijani (Cyrillic) + legacy by: Belarusian (legacy) + latin by: Belarusian (Latin) + ru by: Russian (Belarus) + intl by: Belarusian (intl.) + oss be: Belgian (alt.) + oss_latin9 be: Belgian (Latin-9 only, alt.) + iso-alternate be: Belgian (ISO, alt.) + nodeadkeys be: Belgian (no dead keys) + wang be: Belgian (Wang 724 AZERTY) + probhat bd: Bangla (Probhat) + ben in: Bangla (India) + ben_probhat in: Bangla (India, Probhat) + ben_baishakhi in: Bangla (India, Baishakhi) + ben_bornona in: Bangla (India, Bornona) + ben_gitanjali in: Bangla (India, Gitanjali) + ben_inscript in: Bangla (India, Baishakhi InScript) + eeyek in: Manipuri (Eeyek) + guj in: Gujarati + guru in: Punjabi (Gurmukhi) + jhelum in: Punjabi (Gurmukhi Jhelum) + kan in: Kannada + kan-kagapa in: Kannada (KaGaPa, phonetic) + mal in: Malayalam + mal_lalitha in: Malayalam (Lalitha) + mal_enhanced in: Malayalam (enhanced InScript, with rupee) + ori in: Oriya + ori-bolnagri in: Oriya (Bolnagri) + ori-wx in: Oriya (Wx) + olck in: Ol Chiki + tam_tamilnet in: Tamil (TamilNet '99) + tam_tamilnet_with_tam_nums in: Tamil (TamilNet '99 with Tamil numerals) + tam_tamilnet_TAB in: Tamil (TamilNet '99, TAB encoding) + tam_tamilnet_TSCII in: Tamil (TamilNet '99, TSCII encoding) + tam in: Tamil (InScript) + tel in: Telugu + tel-kagapa in: Telugu (KaGaPa, phonetic) + tel-sarala in: Telugu (Sarala) + urd-phonetic in: Urdu (phonetic) + urd-phonetic3 in: Urdu (alt. phonetic) + urd-winkeys in: Urdu (Windows) + bolnagri in: Hindi (Bolnagri) + hin-wx in: Hindi (Wx) + hin-kagapa in: Hindi (KaGaPa, phonetic) + san-kagapa in: Sanskrit (KaGaPa, phonetic) + mar-kagapa in: Marathi (KaGaPa, phonetic) + eng in: English (India, with rupee) + iipa in: Indic IPA + marathi in: Marathi (enhanced InScript) + alternatequotes ba: Bosnian (with guillemets) + unicode ba: Bosnian (with Bosnian digraphs) + unicodeus ba: Bosnian (US, with Bosnian digraphs) + us ba: Bosnian (US) + nodeadkeys br: Portuguese (Brazil, no dead keys) + dvorak br: Portuguese (Brazil, Dvorak) + nativo br: Portuguese (Brazil, Nativo) + nativo-us br: Portuguese (Brazil, Nativo for US keyboards) + nativo-epo br: Esperanto (Brazil, Nativo) + thinkpad br: Portuguese (Brazil, IBM/Lenovo ThinkPad) + phonetic bg: Bulgarian (traditional phonetic) + bas_phonetic bg: Bulgarian (new phonetic) + bekl bg: Bulgarian (enhanced) + azerty-deadkeys dz: Kabyle (AZERTY, with dead keys) + qwerty-gb-deadkeys dz: Kabyle (QWERTY, UK, with dead keys) + qwerty-us-deadkeys dz: Kabyle (QWERTY, US, with dead keys) + ber dz: Berber (Algeria, Tifinagh) + ar dz: Arabic (Algeria) + french ma: French (Morocco) + tifinagh ma: Berber (Morocco, Tifinagh) + tifinagh-alt ma: Berber (Morocco, Tifinagh alt.) + tifinagh-alt-phonetic ma: Berber (Morocco, Tifinagh phonetic, alt.) + tifinagh-extended ma: Berber (Morocco, Tifinagh extended) + tifinagh-phonetic ma: Berber (Morocco, Tifinagh phonetic) + tifinagh-extended-phonetic ma: Berber (Morocco, Tifinagh extended phonetic) + rif ma: Tarifit + french cm: French (Cameroon) + qwerty cm: Cameroon Multilingual (QWERTY, intl.) + azerty cm: Cameroon (AZERTY, intl.) + dvorak cm: Cameroon (Dvorak, intl.) + mmuock cm: Mmuock + zawgyi mm: Burmese Zawgyi + shn mm: Shan + zgt mm: Shan (Zawgyi Tai) + mnw mm: Mon + mnw-a1 mm: Mon (A1) + fr-dvorak ca: French (Canada, Dvorak) + fr-legacy ca: French (Canada, legacy) + multix ca: Canadian (intl.) + multi ca: Canadian (intl., 1st part) + multi-2gr ca: Canadian (intl., 2nd part) + ike ca: Inuktitut + eng ca: English (Canada) + mon_trad cn: Mongolian (Bichig) + mon_trad_todo cn: Mongolian (Todo) + mon_trad_xibe cn: Mongolian (Xibe) + mon_trad_manchu cn: Mongolian (Manchu) + mon_trad_galik cn: Mongolian (Galik) + mon_todo_galik cn: Mongolian (Todo Galik) + mon_manchu_galik cn: Mongolian (Manchu Galik) + tib cn: Tibetan + tib_asciinum cn: Tibetan (with ASCII numerals) + ug cn: Uyghur + altgr-pinyin cn: Hanyu Pinyin Letters (with AltGr dead keys) + alternatequotes hr: Croatian (with guillemets) + unicode hr: Croatian (with Croatian digraphs) + unicodeus hr: Croatian (US, with Croatian digraphs) + us hr: Croatian (US) + bksl cz: Czech (with <\|> key) + qwerty cz: Czech (QWERTY) + qwerty_bksl cz: Czech (QWERTY, extended backslash) + qwerty-mac cz: Czech (QWERTY, Macintosh) + ucw cz: Czech (UCW, only accented letters) + dvorak-ucw cz: Czech (US, Dvorak, UCW support) + rus cz: Russian (Czech, phonetic) + nodeadkeys dk: Danish (no dead keys) + winkeys dk: Danish (Windows) + mac dk: Danish (Macintosh) + mac_nodeadkeys dk: Danish (Macintosh, no dead keys) + dvorak dk: Danish (Dvorak) + us nl: Dutch (US) + mac nl: Dutch (Macintosh) + std nl: Dutch (standard) + nodeadkeys ee: Estonian (no dead keys) + dvorak ee: Estonian (Dvorak) + us ee: Estonian (US) + pes_keypad ir: Persian (with Persian keypad) + ku ir: Kurdish (Iran, Latin Q) + ku_f ir: Kurdish (Iran, F) + ku_alt ir: Kurdish (Iran, Latin Alt-Q) + ku_ara ir: Kurdish (Iran, Arabic-Latin) + ku iq: Kurdish (Iraq, Latin Q) + ku_f iq: Kurdish (Iraq, F) + ku_alt iq: Kurdish (Iraq, Latin Alt-Q) + ku_ara iq: Kurdish (Iraq, Arabic-Latin) + nodeadkeys fo: Faroese (no dead keys) + winkeys fi: Finnish (Windows) + classic fi: Finnish (classic) + nodeadkeys fi: Finnish (classic, no dead keys) + smi fi: Northern Saami (Finland) + mac fi: Finnish (Macintosh) + nodeadkeys fr: French (no dead keys) + oss fr: French (alt.) + oss_latin9 fr: French (alt., Latin-9 only) + oss_nodeadkeys fr: French (alt., no dead keys) + latin9 fr: French (legacy, alt.) + latin9_nodeadkeys fr: French (legacy, alt., no dead keys) + bepo fr: French (BEPO) + bepo_latin9 fr: French (BEPO, Latin-9 only) + bepo_afnor fr: French (BEPO, AFNOR) + dvorak fr: French (Dvorak) + mac fr: French (Macintosh) + azerty fr: French (AZERTY) + afnor fr: French (AZERTY, AFNOR) + bre fr: French (Breton) + oci fr: Occitan + geo fr: Georgian (France, AZERTY Tskapo) + us fr: French (US) + generic gh: English (Ghana, multilingual) + akan gh: Akan + ewe gh: Ewe + fula gh: Fula + ga gh: Ga + hausa gh: Hausa (Ghana) + avn gh: Avatime + gillbt gh: English (Ghana, GILLBT) + ergonomic ge: Georgian (ergonomic) + mess ge: Georgian (MESS) + ru ge: Russian (Georgia) + os ge: Ossetian (Georgia) + deadacute de: German (dead acute) + deadgraveacute de: German (dead grave acute) + nodeadkeys de: German (no dead keys) + e1 de: German (E1) + e2 de: German (E2) + T3 de: German (T3) + us de: German (US) + ro de: Romanian (Germany) + ro_nodeadkeys de: Romanian (Germany, no dead keys) + dvorak de: German (Dvorak) + neo de: German (Neo 2) + mac de: German (Macintosh) + mac_nodeadkeys de: German (Macintosh, no dead keys) + dsb de: Lower Sorbian + dsb_qwertz de: Lower Sorbian (QWERTZ) + qwerty de: German (QWERTY) + tr de: Turkish (Germany) + ru de: Russian (Germany, phonetic) + deadtilde de: German (dead tilde) + simple gr: Greek (simple) + extended gr: Greek (extended) + nodeadkeys gr: Greek (no dead keys) + polytonic gr: Greek (polytonic) + standard hu: Hungarian (standard) + nodeadkeys hu: Hungarian (no dead keys) + qwerty hu: Hungarian (QWERTY) + 101_qwertz_comma_dead hu: Hungarian (QWERTZ, 101-key, comma, dead keys) + 101_qwertz_comma_nodead hu: Hungarian (QWERTZ, 101-key, comma, no dead keys) + 101_qwertz_dot_dead hu: Hungarian (QWERTZ, 101-key, dot, dead keys) + 101_qwertz_dot_nodead hu: Hungarian (QWERTZ, 101-key, dot, no dead keys) + 101_qwerty_comma_dead hu: Hungarian (QWERTY, 101-key, comma, dead keys) + 101_qwerty_comma_nodead hu: Hungarian (QWERTY, 101-key, comma, no dead keys) + 101_qwerty_dot_dead hu: Hungarian (QWERTY, 101-key, dot, dead keys) + 101_qwerty_dot_nodead hu: Hungarian (QWERTY, 101-key, dot, no dead keys) + 102_qwertz_comma_dead hu: Hungarian (QWERTZ, 102-key, comma, dead keys) + 102_qwertz_comma_nodead hu: Hungarian (QWERTZ, 102-key, comma, no dead keys) + 102_qwertz_dot_dead hu: Hungarian (QWERTZ, 102-key, dot, dead keys) + 102_qwertz_dot_nodead hu: Hungarian (QWERTZ, 102-key, dot, no dead keys) + 102_qwerty_comma_dead hu: Hungarian (QWERTY, 102-key, comma, dead keys) + 102_qwerty_comma_nodead hu: Hungarian (QWERTY, 102-key, comma, no dead keys) + 102_qwerty_dot_dead hu: Hungarian (QWERTY, 102-key, dot, dead keys) + 102_qwerty_dot_nodead hu: Hungarian (QWERTY, 102-key, dot, no dead keys) + mac_legacy is: Icelandic (Macintosh, legacy) + mac is: Icelandic (Macintosh) + dvorak is: Icelandic (Dvorak) + lyx il: Hebrew (lyx) + phonetic il: Hebrew (phonetic) + biblical il: Hebrew (Biblical, Tiro) + nodeadkeys it: Italian (no dead keys) + winkeys it: Italian (Windows) + mac it: Italian (Macintosh) + us it: Italian (US) + geo it: Georgian (Italy) + ibm it: Italian (IBM 142) + intl it: Italian (intl., with dead keys) + scn it: Sicilian + fur it: Friulian (Italy) + kana jp: Japanese (Kana) + kana86 jp: Japanese (Kana 86) + OADG109A jp: Japanese (OADG 109A) + mac jp: Japanese (Macintosh) + dvorak jp: Japanese (Dvorak) + phonetic kg: Kyrgyz (phonetic) + ruskaz kz: Russian (Kazakhstan, with Kazakh) + kazrus kz: Kazakh (with Russian) + ext kz: Kazakh (extended) + latin kz: Kazakh (Latin) + stea la: Lao (STEA) + nodeadkeys latam: Spanish (Latin American, no dead keys) + deadtilde latam: Spanish (Latin American, dead tilde) + dvorak latam: Spanish (Latin American, Dvorak) + colemak latam: Spanish (Latin American, Colemak) + colemak-gaming latam: Spanish (Latin American, Colemak for gaming) + std lt: Lithuanian (standard) + us lt: Lithuanian (US) + ibm lt: Lithuanian (IBM LST 1205-92) + lekp lt: Lithuanian (LEKP) + lekpa lt: Lithuanian (LEKPa) + sgs lt: Samogitian + ratise lt: Lithuanian (Ratise) + apostrophe lv: Latvian (apostrophe) + tilde lv: Latvian (tilde) + fkey lv: Latvian (F) + modern lv: Latvian (modern) + ergonomic lv: Latvian (ergonomic, ŪGJRMV) + adapted lv: Latvian (adapted) + cyrillic me: Montenegrin (Cyrillic) + cyrillicyz me: Montenegrin (Cyrillic, ZE and ZHE swapped) + latinunicode me: Montenegrin (Latin, Unicode) + latinyz me: Montenegrin (Latin, QWERTY) + latinunicodeyz me: Montenegrin (Latin, Unicode, QWERTY) + cyrillicalternatequotes me: Montenegrin (Cyrillic, with guillemets) + latinalternatequotes me: Montenegrin (Latin, with guillemets) + nodeadkeys mk: Macedonian (no dead keys) + us mt: Maltese (US) + alt-us mt: Maltese (US, with AltGr overrides) + alt-gb mt: Maltese (UK, with AltGr overrides) + nodeadkeys no: Norwegian (no dead keys) + winkeys no: Norwegian (Windows) + dvorak no: Norwegian (Dvorak) + smi no: Northern Saami (Norway) + smi_nodeadkeys no: Northern Saami (Norway, no dead keys) + mac no: Norwegian (Macintosh) + mac_nodeadkeys no: Norwegian (Macintosh, no dead keys) + colemak no: Norwegian (Colemak) + legacy pl: Polish (legacy) + qwertz pl: Polish (QWERTZ) + dvorak pl: Polish (Dvorak) + dvorak_quotes pl: Polish (Dvorak, with Polish quotes on quotemark key) + dvorak_altquotes pl: Polish (Dvorak, with Polish quotes on key 1) + csb pl: Kashubian + szl pl: Silesian + ru_phonetic_dvorak pl: Russian (Poland, phonetic Dvorak) + dvp pl: Polish (programmer Dvorak) + nodeadkeys pt: Portuguese (no dead keys) + mac pt: Portuguese (Macintosh) + mac_nodeadkeys pt: Portuguese (Macintosh, no dead keys) + nativo pt: Portuguese (Nativo) + nativo-us pt: Portuguese (Nativo for US keyboards) + nativo-epo pt: Esperanto (Portugal, Nativo) + std ro: Romanian (standard) + winkeys ro: Romanian (Windows) + phonetic ru: Russian (phonetic) + phonetic_winkeys ru: Russian (phonetic, Windows) + phonetic_YAZHERTY ru: Russian (phonetic, YAZHERTY) + typewriter ru: Russian (typewriter) + legacy ru: Russian (legacy) + typewriter-legacy ru: Russian (typewriter, legacy) + tt ru: Tatar + os_legacy ru: Ossetian (legacy) + os_winkeys ru: Ossetian (Windows) + cv ru: Chuvash + cv_latin ru: Chuvash (Latin) + udm ru: Udmurt + kom ru: Komi + sah ru: Yakut + xal ru: Kalmyk + dos ru: Russian (DOS) + mac ru: Russian (Macintosh) + srp ru: Serbian (Russia) + bak ru: Bashkirian + chm ru: Mari + phonetic_azerty ru: Russian (phonetic, AZERTY) + phonetic_dvorak ru: Russian (phonetic, Dvorak) + phonetic_fr ru: Russian (phonetic, French) + yz rs: Serbian (Cyrillic, ZE and ZHE swapped) + latin rs: Serbian (Latin) + latinunicode rs: Serbian (Latin, Unicode) + latinyz rs: Serbian (Latin, QWERTY) + latinunicodeyz rs: Serbian (Latin, Unicode, QWERTY) + alternatequotes rs: Serbian (Cyrillic, with guillemets) + latinalternatequotes rs: Serbian (Latin, with guillemets) + rue rs: Pannonian Rusyn + alternatequotes si: Slovenian (with guillemets) + us si: Slovenian (US) + bksl sk: Slovak (extended backslash) + qwerty sk: Slovak (QWERTY) + qwerty_bksl sk: Slovak (QWERTY, extended backslash) + nodeadkeys es: Spanish (no dead keys) + winkeys es: Spanish (Windows) + deadtilde es: Spanish (dead tilde) + dvorak es: Spanish (Dvorak) + ast es: Asturian (Spain, with bottom-dot H and L) + cat es: Catalan (Spain, with middle-dot L) + mac es: Spanish (Macintosh) + nodeadkeys se: Swedish (no dead keys) + dvorak se: Swedish (Dvorak) + rus se: Russian (Sweden, phonetic) + rus_nodeadkeys se: Russian (Sweden, phonetic, no dead keys) + smi se: Northern Saami (Sweden) + mac se: Swedish (Macintosh) + svdvorak se: Swedish (Svdvorak) + us_dvorak se: Swedish (Dvorak, intl.) + us se: Swedish (US) + swl se: Swedish Sign Language + legacy ch: German (Switzerland, legacy) + de_nodeadkeys ch: German (Switzerland, no dead keys) + fr ch: French (Switzerland) + fr_nodeadkeys ch: French (Switzerland, no dead keys) + fr_mac ch: French (Switzerland, Macintosh) + de_mac ch: German (Switzerland, Macintosh) + syc sy: Syriac + syc_phonetic sy: Syriac (phonetic) + ku sy: Kurdish (Syria, Latin Q) + ku_f sy: Kurdish (Syria, F) + ku_alt sy: Kurdish (Syria, Latin Alt-Q) + legacy tj: Tajik (legacy) + tam_unicode lk: Tamil (Sri Lanka, TamilNet '99) + tam_TAB lk: Tamil (Sri Lanka, TamilNet '99, TAB encoding) + us lk: Sinhala (US) + tis th: Thai (TIS-820.2538) + pat th: Thai (Pattachote) + f tr: Turkish (F) + alt tr: Turkish (Alt-Q) + ku tr: Kurdish (Turkey, Latin Q) + ku_f tr: Kurdish (Turkey, F) + ku_alt tr: Kurdish (Turkey, Latin Alt-Q) + intl tr: Turkish (intl., with dead keys) + ot tr: Ottoman (Q) + otf tr: Ottoman (F) + otk tr: Old Turkic + otkf tr: Old Turkic (F) + indigenous tw: Taiwanese (indigenous) + saisiyat tw: Saisiyat (Taiwan) + phonetic ua: Ukrainian (phonetic) + typewriter ua: Ukrainian (typewriter) + winkeys ua: Ukrainian (Windows) + macOS ua: Ukrainian (macOS) + legacy ua: Ukrainian (legacy) + rstu ua: Ukrainian (standard RSTU) + rstu_ru ua: Russian (Ukraine, standard RSTU) + homophonic ua: Ukrainian (homophonic) + crh ua: Crimean Tatar (Turkish Q) + crh_f ua: Crimean Tatar (Turkish F) + crh_alt ua: Crimean Tatar (Turkish Alt-Q) + extd gb: English (UK, extended, Windows) + intl gb: English (UK, intl., with dead keys) + dvorak gb: English (UK, Dvorak) + dvorakukp gb: English (UK, Dvorak, with UK punctuation) + mac gb: English (UK, Macintosh) + mac_intl gb: English (UK, Macintosh, intl.) + colemak gb: English (UK, Colemak) + colemak_dh gb: English (UK, Colemak-DH) + pl gb: Polish (British keyboard) + gla gb: Scottish Gaelic + latin uz: Uzbek (Latin) + us vn: Vietnamese (US) + fr vn: Vietnamese (French) + kr104 kr: Korean (101/104-key compatible) + CloGaelach ie: CloGaelach + UnicodeExpert ie: Irish (UnicodeExpert) + ogam ie: Ogham + ogam_is434 ie: Ogham (IS434) + urd-crulp pk: Urdu (Pakistan, CRULP) + urd-nla pk: Urdu (Pakistan, NLA) + ara pk: Arabic (Pakistan) + snd pk: Sindhi + legacy epo: Esperanto (legacy) + igbo ng: Igbo + yoruba ng: Yoruba + hausa ng: Hausa (Nigeria) + left_hand brai: Braille (left-handed) + left_hand_invert brai: Braille (left-handed inverted thumb) + right_hand brai: Braille (right-handed) + right_hand_invert brai: Braille (right-handed inverted thumb) + alt tm: Turkmen (Alt-Q) + fr-oss ml: French (Mali, alt.) + us-mac ml: English (Mali, US, Macintosh) + us-intl ml: English (Mali, US, intl.) + kik ke: Kikuyu + qwerty-bay ph: Filipino (QWERTY, Baybayin) + capewell-dvorak ph: Filipino (Capewell-Dvorak, Latin) + capewell-dvorak-bay ph: Filipino (Capewell-Dvorak, Baybayin) + capewell-qwerf2k6 ph: Filipino (Capewell-QWERF 2006, Latin) + capewell-qwerf2k6-bay ph: Filipino (Capewell-QWERF 2006, Baybayin) + colemak ph: Filipino (Colemak, Latin) + colemak-bay ph: Filipino (Colemak, Baybayin) + dvorak ph: Filipino (Dvorak, Latin) + dvorak-bay ph: Filipino (Dvorak, Baybayin) + gag md: Moldavian (Gagauz) + phonetic id: Indonesian (Arab Pegon, phonetic) + phoneticx id: Indonesian (Arab Pegon, extended phonetic) + phonetic my: Malay (Jawi, phonetic) + +! option + grp Switching to another layout + grp:switch Right Alt (while pressed) + grp:lswitch Left Alt (while pressed) + grp:lwin_switch Left Win (while pressed) + grp:rwin_switch Right Win (while pressed) + grp:win_switch Any Win (while pressed) + grp:menu_switch Menu (while pressed), Shift+Menu for Menu + grp:caps_switch Caps Lock (while pressed), Alt+Caps Lock for the original Caps Lock action + grp:rctrl_switch Right Ctrl (while pressed) + grp:toggle Right Alt + grp:lalt_toggle Left Alt + grp:caps_toggle Caps Lock + grp:shift_caps_toggle Shift+Caps Lock + grp:shift_caps_switch Caps Lock to first layout; Shift+Caps Lock to last layout + grp:win_menu_switch Left Win to first layout; Right Win/Menu to last layout + grp:lctrl_rctrl_switch Left Ctrl to first layout; Right Ctrl to last layout + grp:alt_caps_toggle Alt+Caps Lock + grp:shifts_toggle Both Shift together + grp:alts_toggle Both Alt together + grp:ctrls_toggle Both Ctrl together + grp:ctrl_shift_toggle Ctrl+Shift + grp:lctrl_lshift_toggle Left Ctrl+Left Shift + grp:rctrl_rshift_toggle Right Ctrl+Right Shift + grp:ctrl_alt_toggle Alt+Ctrl + grp:alt_shift_toggle Alt+Shift + grp:lalt_lshift_toggle Left Alt+Left Shift + grp:alt_space_toggle Alt+Space + grp:menu_toggle Menu + grp:lwin_toggle Left Win + grp:win_space_toggle Win+Space + grp:rwin_toggle Right Win + grp:lshift_toggle Left Shift + grp:rshift_toggle Right Shift + grp:lctrl_toggle Left Ctrl + grp:rctrl_toggle Right Ctrl + grp:sclk_toggle Scroll Lock + grp:lctrl_lwin_rctrl_menu Left Ctrl+Left Win to first layout; Right Ctrl+Menu to second layout + grp:lctrl_lwin_toggle Left Ctrl+Left Win + lv2 Key to choose the 2nd level + lv2:lsgt_switch The "< >" key + lv3 Key to choose the 3rd level + lv3:switch Right Ctrl + lv3:menu_switch Menu + lv3:win_switch Any Win + lv3:lwin_switch Left Win + lv3:rwin_switch Right Win + lv3:alt_switch Any Alt + lv3:lalt_switch Left Alt + lv3:ralt_switch Right Alt + lv3:ralt_switch_multikey Right Alt; Shift+Right Alt as Compose + lv3:ralt_alt Right Alt never chooses 3rd level + lv3:enter_switch Enter on keypad + lv3:caps_switch Caps Lock + lv3:bksl_switch Backslash + lv3:lsgt_switch The "< >" key + lv3:caps_switch_latch Caps Lock; acts as onetime lock when pressed together with another 3rd-level chooser + lv3:bksl_switch_latch Backslash; acts as onetime lock when pressed together with another 3rd level chooser + lv3:lsgt_switch_latch The "< >" key; acts as onetime lock when pressed together with another 3rd level chooser + ctrl Ctrl position + ctrl:nocaps Caps Lock as Ctrl + ctrl:lctrl_meta Left Ctrl as Meta + ctrl:swapcaps Swap Ctrl and Caps Lock + ctrl:swapcaps_hyper Caps Lock as Ctrl, Ctrl as Hyper + ctrl:ac_ctrl To the left of "A" + ctrl:aa_ctrl At the bottom left + ctrl:rctrl_ralt Right Ctrl as Right Alt + ctrl:menu_rctrl Menu as Right Ctrl + ctrl:swap_lalt_lctl Swap Left Alt with Left Ctrl + ctrl:swap_lwin_lctl Swap Left Win with Left Ctrl + ctrl:swap_rwin_rctl Swap Right Win with Right Ctrl + ctrl:swap_lalt_lctl_lwin Left Alt as Ctrl, Left Ctrl as Win, Left Win as Left Alt + grp_led Use keyboard LED to show alternative layout + grp_led:num Num Lock + grp_led:caps Caps Lock + grp_led:scroll Scroll Lock + mod_led Use keyboard LED to indicate modifiers + mod_led:compose Compose + keypad Layout of numeric keypad + keypad:legacy Legacy + keypad:oss Unicode arrows and math operators + keypad:future Unicode arrows and math operators on default level + keypad:legacy_wang Legacy Wang 724 + keypad:oss_wang Wang 724 keypad with Unicode arrows and math operators + keypad:future_wang Wang 724 keypad with Unicode arrows and math operators on default level + keypad:hex Hexadecimal + keypad:atm Phone and ATM style + kpdl Numeric keypad Delete behavior + kpdl:dot Legacy key with dot + kpdl:comma Legacy key with comma + kpdl:dotoss Four-level key with dot + kpdl:dotoss_latin9 Four-level key with dot, Latin-9 only + kpdl:commaoss Four-level key with comma + kpdl:momayyezoss Four-level key with momayyez + kpdl:kposs Four-level key with abstract separators + kpdl:semi Semicolon on third level + caps Caps Lock behavior + caps:internal Caps Lock uses internal capitalization; Shift "pauses" Caps Lock + caps:internal_nocancel Caps Lock uses internal capitalization; Shift does not affect Caps Lock + caps:shift Caps Lock acts as Shift with locking; Shift "pauses" Caps Lock + caps:shift_nocancel Caps Lock acts as Shift with locking; Shift does not affect Caps Lock + caps:capslock Caps Lock toggles normal capitalization of alphabetic characters + caps:shiftlock Caps Lock toggles Shift Lock (affects all keys) + caps:swapescape Swap Esc and Caps Lock + caps:escape Make Caps Lock an additional Esc + caps:escape_shifted_capslock Make Caps Lock an additional Esc, but Shift + Caps Lock is the regular Caps Lock + caps:backspace Make Caps Lock an additional Backspace + caps:super Make Caps Lock an additional Super + caps:hyper Make Caps Lock an additional Hyper + caps:menu Make Caps Lock an additional Menu key + caps:numlock Make Caps Lock an additional Num Lock + caps:ctrl_modifier Make Caps Lock an additional Ctrl + caps:none Caps Lock is disabled + altwin Alt and Win behavior + altwin:menu Add the standard behavior to Menu key + altwin:menu_win Menu is mapped to Win + altwin:meta_alt Alt and Meta are on Alt + altwin:alt_win Alt is mapped to Win and the usual Alt + altwin:ctrl_win Ctrl is mapped to Win and the usual Ctrl + altwin:ctrl_rwin Ctrl is mapped to Right Win and the usual Ctrl + altwin:ctrl_alt_win Ctrl is mapped to Alt, Alt to Win + altwin:meta_win Meta is mapped to Win + altwin:left_meta_win Meta is mapped to Left Win + altwin:hyper_win Hyper is mapped to Win + altwin:alt_super_win Alt is mapped to Right Win, Super to Menu + altwin:swap_lalt_lwin Left Alt is swapped with Left Win + altwin:swap_alt_win Alt is swapped with Win + altwin:prtsc_rwin Win is mapped to PrtSc and the usual Win + Compose key Position of Compose key + compose:ralt Right Alt + compose:lwin Left Win + compose:lwin-altgr 3rd level of Left Win + compose:rwin Right Win + compose:rwin-altgr 3rd level of Right Win + compose:menu Menu + compose:menu-altgr 3rd level of Menu + compose:lctrl Left Ctrl + compose:lctrl-altgr 3rd level of Left Ctrl + compose:rctrl Right Ctrl + compose:rctrl-altgr 3rd level of Right Ctrl + compose:caps Caps Lock + compose:caps-altgr 3rd level of Caps Lock + compose:102 The "< >" key + compose:102-altgr 3rd level of the "< >" key + compose:paus Pause + compose:prsc PrtSc + compose:sclk Scroll Lock + compat Compatibility options + numpad:pc Default numeric keypad keys + numpad:mac Numeric keypad always enters digits (as in macOS) + numpad:microsoft Num Lock on: digits; Shift for arrows. Num Lock off: arrows (as in Windows) + numpad:shift3 Shift does not cancel Num Lock, chooses 3rd level instead + srvrkeys:none Special keys (Ctrl+Alt+<key>) handled in a server + apple:alupckeys Apple Aluminium emulates Pause, PrtSc, Scroll Lock + shift:breaks_caps Shift cancels Caps Lock + misc:typo Enable extra typographic characters + misc:apl Enable APL overlay characters + shift:both_capslock Both Shift together enable Caps Lock + shift:both_capslock_cancel Both Shift together enable Caps Lock; one Shift key disables it + shift:both_shiftlock Both Shift together enable Shift Lock + keypad:pointerkeys Shift + Num Lock enables PointerKeys + grab:break_actions Allow breaking grabs with keyboard actions (warning: security risk) + grab:debug Allow grab and window tree logging + currencysign Currency signs + eurosign:e Euro on E + eurosign:2 Euro on 2 + eurosign:4 Euro on 4 + eurosign:5 Euro on 5 + rupeesign:4 Rupee on 4 + lv5 Key to choose 5th level + lv5:lsgt_switch The "< >" key chooses 5th level + lv5:ralt_switch Right Alt chooses 5th level + lv5:menu_switch Menu chooses 5th level + lv5:lsgt_switch_lock The "< >" key chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser + lv5:ralt_switch_lock Right Alt chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser + lv5:lwin_switch_lock Left Win chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser + lv5:rwin_switch_lock Right Win chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser + lv5:lsgt_switch_lock_cancel The "< >" key chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser + lv5:lsgt_switch The "< >" key chooses 5th level + lv5:ralt_switch Right Alt chooses 5th level + lv5:menu_switch Menu chooses 5th level + lv5:lsgt_switch_lock The "< >" key chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser + lv5:ralt_switch_lock Right Alt chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser + lv5:lwin_switch_lock Left Win chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser + lv5:rwin_switch_lock Right Win chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser + nbsp Non-breaking space input + nbsp:none Usual space at any level + nbsp:level2 Non-breaking space at the 2nd level + nbsp:level3 Non-breaking space at the 3rd level + nbsp:level3s Non-breaking space at the 3rd level, nothing at the 4th level + nbsp:level3n Non-breaking space at the 3rd level, thin non-breaking space at the 4th level + nbsp:level4 Non-breaking space at the 4th level + nbsp:level4n Non-breaking space at the 4th level, thin non-breaking space at the 6th level + nbsp:level4nl Non-breaking space at the 4th level, thin non-breaking space at the 6th level (via Ctrl+Shift) + nbsp:zwnj2 Zero-width non-joiner at the 2nd level + nbsp:zwnj2zwj3 Zero-width non-joiner at the 2nd level, zero-width joiner at the 3rd level + nbsp:zwnj2zwj3nb4 Zero-width non-joiner at the 2nd level, zero-width joiner at the 3rd level, non-breaking space at the 4th level + nbsp:zwnj2nb3 Zero-width non-joiner at the 2nd level, non-breaking space at the 3rd level + nbsp:zwnj2nb3s Zero-width non-joiner at the 2nd level, non-breaking space at the 3rd level, nothing at the 4th level + nbsp:zwnj2nb3zwj4 Zero-width non-joiner at the 2nd level, non-breaking space at the 3rd level, zero-width joiner at the 4th level + nbsp:zwnj2nb3nnb4 Zero-width non-joiner at the 2nd level, non-breaking space at the 3rd level, thin non-breaking space at the 4th level + nbsp:zwnj3zwj4 Zero-width non-joiner at the 3rd level, zero-width joiner at the 4th level + japan Japanese keyboard options + japan:kana_lock Kana Lock key is locking + japan:nicola_f_bs NICOLA-F style Backspace + japan:hztg_escape Make Zenkaku Hankaku an additional Esc + korean Korean Hangul/Hanja keys + korean:ralt_hangul Make right Alt a Hangul key + korean:rctrl_hangul Make right Ctrl a Hangul key + korean:ralt_hanja Make right Alt a Hanja key + korean:rctrl_hanja Make right Ctrl a Hanja key + esperanto Esperanto letters with superscripts + esperanto:qwerty At the corresponding key in a QWERTY layout + esperanto:dvorak At the corresponding key in a Dvorak layout + esperanto:colemak At the corresponding key in a Colemak layout + solaris Old Solaris keycodes compatibility + solaris:sun_compat Sun key compatibility + terminate Key sequence to kill the X server + terminate:ctrl_alt_bksp Ctrl+Alt+Backspace diff --git a/xkbdata/rules/evdev.xml b/xkbdata/rules/evdev.xml new file mode 100644 index 0000000..0ed9ce8 --- /dev/null +++ b/xkbdata/rules/evdev.xml @@ -0,0 +1,7779 @@ + + + + + + + pc86 + Generic 86-key PC + Generic + + + + + pc101 + Generic 101-key PC + Generic + + + + + pc102 + Generic 102-key PC + Generic + + + + + pc104 + Generic 104-key PC + Generic + + + + + pc104alt + Generic 104-key PC with L-shaped Enter key + Generic + + + + + pc105 + Generic 105-key PC + Generic + + + + + dell101 + Dell 101-key PC + Dell + + + + + latitude + Dell Latitude laptop + Dell + + + + + dellm65 + Dell Precision M65 laptop + Dell + + + + + everex + Everex STEPnote + Everex + + + + + flexpro + Keytronic FlexPro + Keytronic + + + + + microsoft + Microsoft Natural + Microsoft + + + + + omnikey101 + Northgate OmniKey 101 + Northgate + + + + + winbook + Winbook Model XP5 + Generic + + + + + pc98 + PC-98 + Generic + + + + + a4techKB21 + A4Tech KB-21 + A4Tech + + + + + a4techKBS8 + A4Tech KBS-8 + A4Tech + + + + + a4_rfkb23 + A4Tech Wireless Desktop RFKB-23 + A4Tech + + + + + airkey + Acer AirKey V + Acer + + + + + azonaRF2300 + Azona RF2300 Wireless Internet + Azona + + + + + scorpius + Advance Scorpius KI + Scorpius + + + + + brother + Brother Internet + Brother + + + + + btc5113rf + BTC 5113RF Multimedia + BTC + + + + + btc5126t + BTC 5126T + BTC + + + + + btc6301urf + BTC 6301URF + BTC + + + + + btc9000 + BTC 9000 + BTC + + + + + btc9000a + BTC 9000A + BTC + + + + + btc9001ah + BTC 9001AH + BTC + + + + + btc5090 + BTC 5090 + BTC + + + + + btc9019u + BTC 9019U + BTC + + + + + btc9116u + BTC 9116U Mini Wireless Internet and Gaming + BTC + + + + + cherryblue + Cherry Blue Line CyBo@rd + Cherry + + + + + cherryblueb + Cherry CyMotion Master XPress + Cherry + + + + + cherrybluea + Cherry Blue Line CyBo@rd (alt.) + Cherry + + + + + cherrycyboard + Cherry CyBo@rd USB-Hub + Cherry + + + + + cherrycmexpert + Cherry CyMotion Expert + Cherry + + + + + cherrybunlim + Cherry B.UNLIMITED + Cherry + + + + + chicony + Chicony Internet + Chicony + + + + + chicony0108 + Chicony KU-0108 + Chicony + + + + + chicony0420 + Chicony KU-0420 + Chicony + + + + + chicony9885 + Chicony KB-9885 + Chicony + + + + + compaqeak8 + Compaq Easy Access + Compaq + + + + + compaqik7 + Compaq Internet (7 keys) + Compaq + + + + + compaqik13 + Compaq Internet (13 keys) + Compaq + + + + + compaqik18 + Compaq Internet (18 keys) + Compaq + + + + + cymotionlinux + Cherry CyMotion Master Linux + Cherry + + + + + armada + Compaq Armada laptop + Compaq + + + + + presario + Compaq Presario laptop + Compaq + + + + + ipaq + Compaq iPaq + Compaq + + + + + dell + Dell + Dell + + + + + dellsk8125 + Dell SK-8125 + Dell + + + + + dellsk8135 + Dell SK-8135 + Dell + + + + + dellusbmm + Dell USB Multimedia + Dell + + + + + inspiron + Dell Inspiron 6000/8000 laptop + Dell + + + + + precision_m + Dell Precision M laptop + Dell + + + + + dexxa + Dexxa Wireless Desktop + Dexxa + + + + + diamond + Diamond 9801/9802 + Diamond + + + + + dtk2000 + DTK2000 + DTK + + + + + ennyah_dkb1008 + Ennyah DKB-1008 + Ennyah + + + + + fscaa1667g + Fujitsu-Siemens Amilo laptop + Fujitsu-Siemens + + + + + genius + Genius Comfy KB-16M/Multimedia KWD-910 + Genius + + + + + geniuscomfy + Genius Comfy KB-12e + Genius + + + + + geniuscomfy2 + Genius Comfy KB-21e-Scroll + Genius + + + + + geniuskb19e + Genius KB-19e NB + Genius + + + + + geniuskkb2050hs + Genius KKB-2050HS + Genius + + + + + gyration + Gyration + Gyration + + + + + kinesis + Kinesis + Kinesis + + + + + logitech_base + Logitech + Logitech + + + + + logitech_g15 + Logitech G15 extra keys via G15daemon + Logitech + + + + + hpi6 + Hewlett-Packard Internet + Hewlett-Packard + + + + + hp250x + Hewlett-Packard NEC SK-2500 Multimedia + Hewlett-Packard + + + + + hpxe3gc + Hewlett-Packard Omnibook XE3 GC + Hewlett-Packard + + + + + hpxe3gf + Hewlett-Packard Omnibook XE3 GF + Hewlett-Packard + + + + + hpxt1000 + Hewlett-Packard Omnibook XT1000 + Hewlett-Packard + + + + + hpdv5 + Hewlett-Packard Pavilion dv5 + Hewlett-Packard + + + + + hpzt11xx + Hewlett-Packard Pavilion ZT1100 + Hewlett-Packard + + + + + hp500fa + Hewlett-Packard Omnibook 500 FA + Hewlett-Packard + + + + + hp5xx + Hewlett-Packard Omnibook 500 + Hewlett-Packard + + + + + hpnx9020 + Hewlett-Packard nx9020 + Hewlett-Packard + + + + + hp6000 + Hewlett-Packard Omnibook 6000/6100 + Hewlett-Packard + + + + + honeywell_euroboard + Honeywell Euroboard + Hewlett-Packard + + + + + hpmini110 + Hewlett-Packard Mini 110 laptop + Hewlett-Packard + + + + + rapidaccess + IBM Rapid Access + Lenovo (previously IBM) + + + + + rapidaccess2 + IBM Rapid Access II + Lenovo (previously IBM) + + + + + thinkpad + IBM ThinkPad 560Z/600/600E/A22E + Lenovo (previously IBM) + + + + + thinkpad60 + IBM ThinkPad R60/T60/R61/T61 + Lenovo (previously IBM) + + + + + thinkpadz60 + IBM ThinkPad Z60m/Z60t/Z61m/Z61t + Lenovo (previously IBM) + + + + + ibm_spacesaver + IBM Space Saver + Lenovo (previously IBM) + + + + + logiaccess + Logitech Access + Logitech + + + + + logiclx300 + Logitech Cordless Desktop LX-300 + Logitech + + + + + logii350 + Logitech Internet 350 + Logitech + 046d:c313 + + + + + logimel + Logitech Internet 350 + Logitech + + + + + logicd + Logitech Cordless Desktop + Logitech + + + + + logicd_it + Logitech Cordless Desktop iTouch + Logitech + + + + + logicd_nav + Logitech Cordless Desktop Navigator + Logitech + + + + + logicd_opt + Logitech Cordless Desktop Optical + Logitech + + + + + logicda + Logitech Cordless Desktop (alt.) + Logitech + + + + + logicdpa2 + Logitech Cordless Desktop Pro (2nd alt.) + Logitech + + + + + logicfn + Logitech Cordless Freedom/Desktop Navigator + Logitech + + + + + logicdn + Logitech Cordless Desktop Navigator + Logitech + + + + + logiitc + Logitech iTouch Cordless Y-RB6 + Logitech + + + + + logiik + Logitech Internet + Logitech + + + + + itouch + Logitech iTouch + Logitech + + + + + logicink + Logitech Internet Navigator + Logitech + + + + + logiex110 + Logitech Cordless Desktop EX110 + Logitech + + + + + logiinkse + Logitech iTouch Internet Navigator SE + Logitech + + + + + logiinkseusb + Logitech iTouch Internet Navigator SE USB + Logitech + + + + + logiultrax + Logitech Ultra-X + Logitech + + + + + logiultraxc + Logitech Ultra-X Cordless Media Desktop + Logitech + + + + + logidinovo + Logitech diNovo + Logitech + + + + + logidinovoedge + Logitech diNovo Edge + Logitech + + + + + mx1998 + Memorex MX1998 + Memorex + + + + + mx2500 + Memorex MX2500 EZ-Access + Memorex + + + + + mx2750 + Memorex MX2750 + Memorex + + + + + microsoft4000 + Microsoft Natural Ergonomic 4000 + Microsoft + + + + + microsoft7000 + Microsoft Natural Wireless Ergonomic 7000 + Microsoft + + + + + microsoftinet + Microsoft Internet + Microsoft + + + + + microsoftpro + Microsoft Natural Pro/Internet Pro + Microsoft + + + + + microsoftprousb + Microsoft Natural Pro USB/Internet Pro + Microsoft + + + + + microsoftprooem + Microsoft Natural Pro OEM + Microsoft + + + + + vsonku306 + ViewSonic KU-306 Internet + ViewSonic + + + + + microsoftprose + Microsoft Internet Pro (Swedish) + Microsoft + + + + + microsoftoffice + Microsoft Office Keyboard + Microsoft + + + + + microsoftmult + Microsoft Wireless Multimedia 1.0A + Microsoft + + + + + microsoftsurface + Microsoft Surface + Microsoft + + + + + microsoftelite + Microsoft Natural Elite + Microsoft + + + + + microsoftccurve2k + Microsoft Comfort Curve 2000 + Microsoft + + + + + oretec + Ortek Multimedia/Internet MCK-800 + Ortek + + + + + propeller + Propeller Voyager KTEZ-1000 + KeyTronic + + + + + qtronix + QTronix Scorpius 98N+ + QTronix + + + + + samsung4500 + Samsung SDM 4500P + Samsung + + + + + samsung4510 + Samsung SDM 4510P + Samsung + + + + + sanwaskbkg3 + Sanwa Supply SKB-KG3 + Sanwa Supply Inc. + + + + + sk1300 + NEC SK-1300 + NEC + + + + + sk2500 + NEC SK-2500 + NEC + + + + + sk6200 + NEC SK-6200 + NEC + + + + + sk7100 + NEC SK-7100 + NEC + + + + + sp_inet + Super Power Multimedia + Generic + + + + + sven + SVEN Ergonomic 2500 + SVEN + + + + + sven303 + SVEN Slim 303 + SVEN + + + + + symplon + Symplon PaceBook tablet + Symplon + + + + + toshiba_s3000 + Toshiba Satellite S3000 + Toshiba + + + + + trust + Trust Wireless Classic + Trust + + + + + trustda + Trust Direct Access + Trust + + + + + trust_slimline + Trust Slimline + Trust + + + + + tm2020 + TypeMatrix EZ-Reach 2020 + TypeMatrix + + + + + tm2030PS2 + TypeMatrix EZ-Reach 2030 PS2 + TypeMatrix + + + + + tm2030USB + TypeMatrix EZ-Reach 2030 USB + TypeMatrix + + + + + tm2030USB-102 + TypeMatrix EZ-Reach 2030 USB (102/105:EU mode) + TypeMatrix + + + + + tm2030USB-106 + TypeMatrix EZ-Reach 2030 USB (106:JP mode) + TypeMatrix + + + + + yahoo + Yahoo! Internet + Yahoo! + + + + + macbook78 + MacBook/MacBook Pro + Apple + + + + + macbook79 + MacBook/MacBook Pro (intl.) + Apple + + + + + macintosh + Macintosh + Apple + + + + + macintosh_old + Macintosh Old + Apple + + + + + macintosh_hhk + Happy Hacking for Mac + Fujitsu + + + + + acer_c300 + Acer C300 + Acer + + + + + acer_ferrari4k + Acer Ferrari 4000 + Acer + + + + + acer_laptop + Acer laptop + Acer + + + + + asus_laptop + Asus laptop + Asus + + + + + apple + Apple + Apple + + + + + apple_laptop + Apple laptop + Apple + + + + + applealu_ansi + Apple Aluminium (ANSI) + Apple + + + + + applealu_iso + Apple Aluminium (ISO) + Apple + + + + + applealu_jis + Apple Aluminium (JIS) + Apple + + + + + silvercrest + Silvercrest Multimedia Wireless + Silvercrest + + + + + emachines + eMachines m6800 laptop + eMachines + + + + + benqx + BenQ X-Touch + BenQ + + + + + benqx730 + BenQ X-Touch 730 + BenQ + + + + + benqx800 + BenQ X-Touch 800 + BenQ + + + + + hhk + Happy Hacking + Fujitsu + + + + + classmate + Classmate PC + Intel + + + + + olpc + OLPC + OLPC + + + + + sun_type7_usb + Sun Type 7 USB + Sun Microsystems + + + + + sun_type7_euro_usb + Sun Type 7 USB (European) + Sun Microsystems + + + + + sun_type7_unix_usb + Sun Type 7 USB (Unix) + Sun Microsystems + + + + + sun_type7_jp_usb + Sun Type 7 USB (Japanese)/Japanese 106-key + Sun Microsystems + + + + + sun_type6_usb + Sun Type 6/7 USB + Sun Microsystems + + + + + sun_type6_euro_usb + Sun Type 6/7 USB (European) + Sun Microsystems + + + + + sun_type6_unix_usb + Sun Type 6 USB (Unix) + Sun Microsystems + + + + + sun_type6_jp_usb + Sun Type 6 USB (Japanese) + Sun Microsystems + + + + + sun_type6_jp + Sun Type 6 (Japanese) + Sun Microsystems + + + + + targa_v811 + Targa Visionary 811 + Targa + + + + + unitekkb1925 + Unitek KB-1925 + Unitek Group + + + + + compalfl90 + FL90 + Compal Electronics + + + + + creativedw7000 + Creative Desktop Wireless 7000 + Creative + + + + + teck227 + Truly Ergonomic 227 + Truly Ergonomic + + + + + teck229 + Truly Ergonomic 229 + Truly Ergonomic + + + + + apex300 + SteelSeries Apex 300 (Apex RAW) + SteelSeries + + + + + chromebook + Chromebook + Google + + + + + + + us + + en + English (US) + + eng + + + + + + chr + + chr + Cherokee + + chr + + + + + + haw + haw + Hawaiian + + haw + + + + + + euro + English (US, euro on 5) + + + + + intl + English (US, intl., with dead keys) + + + + + alt-intl + English (US, alt. intl.) + + + + + colemak + English (Colemak) + + + + + colemak_dh + English (Colemak-DH) + + + + + colemak_dh_iso + English (Colemak-DH ISO) + + + + + dvorak + English (Dvorak) + + + + + dvorak-intl + English (Dvorak, intl., with dead keys) + + + + + dvorak-alt-intl + English (Dvorak, alt. intl.) + + + + + dvorak-l + English (Dvorak, left-handed) + + + + + dvorak-r + English (Dvorak, right-handed) + + + + + dvorak-classic + English (classic Dvorak) + + + + + dvp + English (programmer Dvorak) + + + + + dvorak-mac + English (Dvorak, Macintosh) + + + + + symbolic + English (US, Symbolic) + + + + + rus + + ru + Russian (US, phonetic) + + rus + + + + + + mac + English (Macintosh) + + + + + altgr-intl + English (intl., with AltGr dead keys) + + eng + fra + deu + + + + + + olpc2 + English (the divide/multiply toggle the layout) + + + + + hbs + Serbo-Croatian (US) + + eng + bos + hbs + hrv + srp + + + + + + norman + English (Norman) + + + + + workman + English (Workman) + + + + + workman-intl + English (Workman, intl., with dead keys) + + + + + + + af + + fa + Dari + + + + + ps + + ps + Pashto + + pus + + + + + + uz + + uz + Uzbek (Afghanistan) + + uzb + + + + + + ps-olpc + + ps + Pashto (Afghanistan, OLPC) + + pus + + + + + + fa-olpc + + fa + Dari (Afghanistan, OLPC) + + + + + uz-olpc + + uz + Uzbek (Afghanistan, OLPC) + + uzb + + + + + + + + ara + + ar + Arabic + + AE + BH + DZ + EG + EH + JO + KW + LB + LY + MA + MR + OM + PS + QA + SA + SD + SY + TN + YE + + + ara + + + + + + azerty + Arabic (AZERTY) + + + + + azerty_digits + Arabic (AZERTY, Eastern Arabic numerals) + + + + + digits + Arabic (Eastern Arabic numerals) + + + + + qwerty + Arabic (QWERTY) + + + + + qwerty_digits + Arabic (QWERTY, Eastern Arabic numerals) + + + + + buckwalter + Arabic (Buckwalter) + + + + + olpc + Arabic (OLPC) + + + + + mac + Arabic (Macintosh) + + + + + + + al + + sq + Albanian + + sqi + + + + + + plisi + Albanian (Plisi) + + + + + veqilharxhi + Albanian (Veqilharxhi) + + + + + + + am + + hy + Armenian + + hye + + + + + + phonetic + Armenian (phonetic) + + + + + phonetic-alt + Armenian (alt. phonetic) + + + + + eastern + Armenian (eastern) + + + + + western + Armenian (western) + + + + + eastern-alt + Armenian (alt. eastern) + + + + + + + at + + de + German (Austria) + + deu + + + + + + nodeadkeys + German (Austria, no dead keys) + + + + + mac + German (Austria, Macintosh) + + + + + + + au + + en + English (Australian) + + eng + + + + + + az + + az + Azerbaijani + + aze + + + + + + cyrillic + Azerbaijani (Cyrillic) + + + + + + + by + + by + Belarusian + + bel + + + + + + legacy + Belarusian (legacy) + + + + + latin + Belarusian (Latin) + + + + + ru + Russian (Belarus) + + + + + intl + Belarusian (intl.) + + + + + + + be + + be + Belgian + + deu + nld + fra + + + + + + oss + Belgian (alt.) + + + + + oss_latin9 + Belgian (Latin-9 only, alt.) + + + + + iso-alternate + Belgian (ISO, alt.) + + + + + nodeadkeys + Belgian (no dead keys) + + + + + wang + Belgian (Wang 724 AZERTY) + + + + + + + bd + + bn + Bangla + + ben + + sat + + + + + + probhat + Bangla (Probhat) + + + + + + + in + + in + Indian + + + + + ben + + bn + Bangla (India) + + ben + + sat + + + + + + ben_probhat + + bn + Bangla (India, Probhat) + + ben + + sat + + + + + + ben_baishakhi + Bangla (India, Baishakhi) + + ben + + sat + + + + + + ben_bornona + Bangla (India, Bornona) + + ben + + sat + + + + + + ben_gitanjali + Bangla (India, Gitanjali) + + ben + + sat + + + + + + ben_inscript + Bangla (India, Baishakhi InScript) + + ben + + sat + + + + + + eeyek + Manipuri (Eeyek) + + mni + + + + + + guj + + gu + Gujarati + + guj + + + + + + guru + + pa + Punjabi (Gurmukhi) + + pan + + + + + + jhelum + + pa + Punjabi (Gurmukhi Jhelum) + + pan + + + + + + kan + + kn + Kannada + + kan + + + + + + kan-kagapa + + kn + Kannada (KaGaPa, phonetic) + + kan + + + + + + mal + + ml + Malayalam + + mal + + + + + + mal_lalitha + + ml + Malayalam (Lalitha) + + mal + + + + + + mal_enhanced + + ml + Malayalam (enhanced InScript, with rupee) + + mal + + + + + + ori + + or + Oriya + + ori + + sat + + + + + + ori-bolnagri + + or + Oriya (Bolnagri) + + ori + + sat + + + + + + ori-wx + + or + Oriya (Wx) + + ori + + sat + + + + + + olck + + sat + Ol Chiki + + + sat + + + + + + tam_tamilnet + + ta + Tamil (TamilNet '99) + + tam + + + + + + tam_tamilnet_with_tam_nums + + ta + Tamil (TamilNet '99 with Tamil numerals) + + tam + + + + + + tam_tamilnet_TAB + + ta + Tamil (TamilNet '99, TAB encoding) + + tam + + + + + + tam_tamilnet_TSCII + + ta + Tamil (TamilNet '99, TSCII encoding) + + tam + + + + + + tam + + ta + Tamil (InScript) + + tam + + + + + + tel + + te + Telugu + + tel + + + + + + tel-kagapa + + te + Telugu (KaGaPa, phonetic) + + tel + + + + + + tel-sarala + + te + Telugu (Sarala) + + tel + + + + + + urd-phonetic + + ur + Urdu (phonetic) + + urd + + + + + + urd-phonetic3 + + ur + Urdu (alt. phonetic) + + urd + + + + + + urd-winkeys + + ur + Urdu (Windows) + + urd + + + + + + bolnagri + + hi + Hindi (Bolnagri) + + hin + + + + + + hin-wx + + hi + Hindi (Wx) + + hin + + + + + + hin-kagapa + + hi + Hindi (KaGaPa, phonetic) + + hin + + + + + + san-kagapa + + sa + Sanskrit (KaGaPa, phonetic) + + san + + + + + + mar-kagapa + + mr + Marathi (KaGaPa, phonetic) + + mar + + + + + + eng + + en + English (India, with rupee) + + eng + + + + + + iipa + Indic IPA + + eng + + + + + + marathi + Marathi (enhanced InScript) + + mar + + + + + + + + ba + + bs + Bosnian + + bos + + + + + + alternatequotes + Bosnian (with guillemets) + + + + + unicode + Bosnian (with Bosnian digraphs) + + + + + unicodeus + Bosnian (US, with Bosnian digraphs) + + + + + us + Bosnian (US) + + + + + + + br + + pt + Portuguese (Brazil) + + por + + + + + + nodeadkeys + Portuguese (Brazil, no dead keys) + + + + + dvorak + Portuguese (Brazil, Dvorak) + + + + + nativo + Portuguese (Brazil, Nativo) + + + + + nativo-us + Portuguese (Brazil, Nativo for US keyboards) + + + + + nativo-epo + Esperanto (Brazil, Nativo) + + epo + + + + + + thinkpad + Portuguese (Brazil, IBM/Lenovo ThinkPad) + + + + + + + bg + + bg + Bulgarian + + bul + + + + + + phonetic + Bulgarian (traditional phonetic) + + + + + bas_phonetic + Bulgarian (new phonetic) + + + + + bekl + Bulgarian (enhanced) + + + + + + + dz + kab + Berber (Algeria, Latin) + + + + + azerty-deadkeys + kab + Kabyle (AZERTY, with dead keys) + + kab + + + + + + qwerty-gb-deadkeys + kab + Kabyle (QWERTY, UK, with dead keys) + + kab + + + + + + qwerty-us-deadkeys + kab + Kabyle (QWERTY, US, with dead keys) + + kab + + + + + + ber + kab + Berber (Algeria, Tifinagh) + + kab + + + + + + ar + ar + Arabic (Algeria) + + ara + + + + + + + + ma + + ar + Arabic (Morocco) + + + + + french + + fr + French (Morocco) + + fra + + + + + + tifinagh + + ber + Berber (Morocco, Tifinagh) + + ber + + + + + + tifinagh-alt + + ber + Berber (Morocco, Tifinagh alt.) + + ber + + + + + + tifinagh-alt-phonetic + + ber + Berber (Morocco, Tifinagh phonetic, alt.) + + ber + + + + + + tifinagh-extended + + ber + Berber (Morocco, Tifinagh extended) + + ber + + + + + + tifinagh-phonetic + + ber + Berber (Morocco, Tifinagh phonetic) + + ber + + + + + + tifinagh-extended-phonetic + + ber + Berber (Morocco, Tifinagh extended phonetic) + + ber + + + + + + rif + + rif + Tarifit + + rif + + + + + + + + cm + + cm + English (Cameroon) + + eng + + + + + + french + French (Cameroon) + + fra + + + + + + qwerty + Cameroon Multilingual (QWERTY, intl.) + + eng + bas + nmg + fub + ewo + xmd + mfh + bkm + ozm + lns + sox + pny + wes + lem + nyj + mfk + mcp + ass + xed + dua + anv + bum + btb + bfd + azo + ken + yam + yat + yas + + + + + + azerty + Cameroon (AZERTY, intl.) + + fra + bas + nmg + fub + ewo + xmd + mfh + bkm + ozm + lns + sox + pny + wes + lem + nyj + mfk + mcp + ass + xed + dua + anv + bum + btb + bfd + azo + ken + yam + yat + yas + + + + + + dvorak + Cameroon (Dvorak, intl.) + + + + + mmuock + Mmuock + + + + + + + mm + + my + Burmese + + mya + + + + + + zawgyi + zg + Burmese Zawgyi + + mya + + + + + + + shn + shn + Shan + + shn + eng + + + + + + zgt + zgt + Shan (Zawgyi Tai) + + shn + eng + + + + + + + mnw + mon + Mon + + mnw + eng + + + + + + mnw-a1 + mon-a1 + Mon (A1) + + mnw + eng + + + + + + + + ca + + fr + French (Canada) + + fra + + + + + + fr-dvorak + + fr + French (Canada, Dvorak) + + + + + fr-legacy + + fr + French (Canada, legacy) + + + + + multix + Canadian (intl.) + + + + + multi + Canadian (intl., 1st part) + + + + + multi-2gr + Canadian (intl., 2nd part) + + + + + ike + + ike + Inuktitut + + iku + + + + + + eng + + en + English (Canada) + + eng + + + + + + + + cd + + fr + French (Democratic Republic of the Congo) + + fra + + + + + + + cn + + zh + Chinese + + zho + + + + + + + mon_trad + Mongolian (Bichig) + + mvf + + + + + + mon_trad_todo + Mongolian (Todo) + + mvf + + + + + + mon_trad_xibe + Mongolian (Xibe) + + sjo + + + + + + mon_trad_manchu + Mongolian (Manchu) + + mnc + + + + + + mon_trad_galik + Mongolian (Galik) + + mvf + + + + + + mon_todo_galik + Mongolian (Todo Galik) + + mvf + + + + + + mon_manchu_galik + Mongolian (Manchu Galik) + + mnc + + + + + + + tib + Tibetan + + bod + + + + + + tib_asciinum + Tibetan (with ASCII numerals) + + bod + + + + + + ug + ug + Uyghur + + uig + + + + + + altgr-pinyin + Hanyu Pinyin Letters (with AltGr dead keys) + + zho + + + + + + + + hr + + hr + Croatian + + hrv + + + + + + alternatequotes + Croatian (with guillemets) + + + + + unicode + Croatian (with Croatian digraphs) + + + + + unicodeus + Croatian (US, with Croatian digraphs) + + + + + us + Croatian (US) + + + + + + + cz + + cs + Czech + + ces + + + + + + bksl + Czech (with <\|> key) + + + + + qwerty + Czech (QWERTY) + + + + + qwerty_bksl + Czech (QWERTY, extended backslash) + + + + + qwerty-mac + Czech (QWERTY, Macintosh) + + + + + ucw + Czech (UCW, only accented letters) + + + + + dvorak-ucw + Czech (US, Dvorak, UCW support) + + + + + rus + + ru + Russian (Czech, phonetic) + + rus + + + + + + + + dk + + da + Danish + + dan + + + + + + nodeadkeys + Danish (no dead keys) + + + + + winkeys + Danish (Windows) + + + + + mac + Danish (Macintosh) + + + + + mac_nodeadkeys + Danish (Macintosh, no dead keys) + + + + + dvorak + Danish (Dvorak) + + + + + + + nl + + nl + Dutch + + nld + + + + + + us + Dutch (US) + + + + + mac + Dutch (Macintosh) + + + + + std + Dutch (standard) + + + + + + + bt + + dz + Dzongkha + + dzo + + + + + + ee + + et + Estonian + + est + + + + + + nodeadkeys + Estonian (no dead keys) + + + + + dvorak + Estonian (Dvorak) + + + + + us + Estonian (US) + + + + + + + ir + + fa + Persian + + fas + + + + + + pes_keypad + Persian (with Persian keypad) + + + + + ku + + ku + Kurdish (Iran, Latin Q) + + kur + + + + + + ku_f + + ku + Kurdish (Iran, F) + + kur + + + + + + ku_alt + + ku + Kurdish (Iran, Latin Alt-Q) + + kur + + + + + + ku_ara + + ku + Kurdish (Iran, Arabic-Latin) + + kur + + + + + + + + iq + + ar + Iraqi + + ara + kur + + + + + + ku + + ku + Kurdish (Iraq, Latin Q) + + kur + + + + + + ku_f + + ku + Kurdish (Iraq, F) + + kur + + + + + + ku_alt + + ku + Kurdish (Iraq, Latin Alt-Q) + + kur + + + + + + ku_ara + + ku + Kurdish (Iraq, Arabic-Latin) + + kur + + + + + + + + fo + + fo + Faroese + + fao + + + + + + nodeadkeys + Faroese (no dead keys) + + + + + + + fi + + fi + Finnish + + fin + + + + + + winkeys + Finnish (Windows) + + + + + classic + Finnish (classic) + + + + + nodeadkeys + Finnish (classic, no dead keys) + + + + + smi + Northern Saami (Finland) + + sme + + + + + + mac + Finnish (Macintosh) + + + + + + + fr + + fr + French + + fra + + + + + + nodeadkeys + French (no dead keys) + + + + + oss + French (alt.) + + + + + oss_latin9 + French (alt., Latin-9 only) + + + + + oss_nodeadkeys + French (alt., no dead keys) + + + + + latin9 + French (legacy, alt.) + + + + + latin9_nodeadkeys + French (legacy, alt., no dead keys) + + + + + bepo + French (BEPO) + + + + + bepo_latin9 + French (BEPO, Latin-9 only) + + + + + bepo_afnor + French (BEPO, AFNOR) + + + + + dvorak + French (Dvorak) + + + + + mac + French (Macintosh) + + + + + azerty + French (AZERTY) + + + + + afnor + French (AZERTY, AFNOR) + + + + + bre + French (Breton) + + + + + oci + Occitan + + oci + + + + + + geo + Georgian (France, AZERTY Tskapo) + + kat + + + + + + us + French (US) + + + + + + + gh + + en + English (Ghana) + + eng + + + + + + generic + English (Ghana, multilingual) + + + + + akan + + ak + Akan + + aka + + + + + + ewe + + ee + Ewe + + ewe + + + + + + fula + + ff + Fula + + ful + + + + + + ga + + gaa + Ga + + gaa + + + + + + hausa + + ha + Hausa (Ghana) + + hau + + + + + + avn + + avn + Avatime + + avn + + + + + + gillbt + English (Ghana, GILLBT) + + + + + + + gn + N'Ko (AZERTY) + + nqo + + + + + + + ge + + ka + Georgian + + kat + + + + + + ergonomic + Georgian (ergonomic) + + + + + mess + Georgian (MESS) + + + + + ru + + ru + Russian (Georgia) + + rus + + + + + + os + Ossetian (Georgia) + + oss + + + + + + + + de + + de + German + + deu + + + + + + deadacute + German (dead acute) + + + + + deadgraveacute + German (dead grave acute) + + + + + nodeadkeys + German (no dead keys) + + + + + e1 + German (E1) + + + + + e2 + German (E2) + + + + + T3 + German (T3) + + + + + us + German (US) + + + + + ro + Romanian (Germany) + + ron + + + + + + ro_nodeadkeys + Romanian (Germany, no dead keys) + + ron + + + + + + dvorak + German (Dvorak) + + + + + neo + German (Neo 2) + + + + + mac + German (Macintosh) + + + + + mac_nodeadkeys + German (Macintosh, no dead keys) + + + + + dsb + Lower Sorbian + + dsb + + + + + + dsb_qwertz + Lower Sorbian (QWERTZ) + + dsb + + + + + + qwerty + German (QWERTY) + + + + + tr + Turkish (Germany) + + tur + + + + + + ru + + ru + Russian (Germany, phonetic) + + rus + + + + + + deadtilde + German (dead tilde) + + + + + + + gr + + gr + Greek + + ell + + + + + + simple + Greek (simple) + + + + + extended + Greek (extended) + + + + + nodeadkeys + Greek (no dead keys) + + + + + polytonic + Greek (polytonic) + + + + + + + hu + + hu + Hungarian + + hun + + + + + + standard + Hungarian (standard) + + + + + nodeadkeys + Hungarian (no dead keys) + + + + + qwerty + Hungarian (QWERTY) + + + + + 101_qwertz_comma_dead + Hungarian (QWERTZ, 101-key, comma, dead keys) + + + + + 101_qwertz_comma_nodead + Hungarian (QWERTZ, 101-key, comma, no dead keys) + + + + + 101_qwertz_dot_dead + Hungarian (QWERTZ, 101-key, dot, dead keys) + + + + + 101_qwertz_dot_nodead + Hungarian (QWERTZ, 101-key, dot, no dead keys) + + + + + 101_qwerty_comma_dead + Hungarian (QWERTY, 101-key, comma, dead keys) + + + + + 101_qwerty_comma_nodead + Hungarian (QWERTY, 101-key, comma, no dead keys) + + + + + 101_qwerty_dot_dead + Hungarian (QWERTY, 101-key, dot, dead keys) + + + + + 101_qwerty_dot_nodead + Hungarian (QWERTY, 101-key, dot, no dead keys) + + + + + 102_qwertz_comma_dead + Hungarian (QWERTZ, 102-key, comma, dead keys) + + + + + 102_qwertz_comma_nodead + Hungarian (QWERTZ, 102-key, comma, no dead keys) + + + + + 102_qwertz_dot_dead + Hungarian (QWERTZ, 102-key, dot, dead keys) + + + + + 102_qwertz_dot_nodead + Hungarian (QWERTZ, 102-key, dot, no dead keys) + + + + + 102_qwerty_comma_dead + Hungarian (QWERTY, 102-key, comma, dead keys) + + + + + 102_qwerty_comma_nodead + Hungarian (QWERTY, 102-key, comma, no dead keys) + + + + + 102_qwerty_dot_dead + Hungarian (QWERTY, 102-key, dot, dead keys) + + + + + 102_qwerty_dot_nodead + Hungarian (QWERTY, 102-key, dot, no dead keys) + + + + + + + is + + is + Icelandic + + isl + + + + + + mac_legacy + Icelandic (Macintosh, legacy) + + + + + mac + Icelandic (Macintosh) + + + + + dvorak + Icelandic (Dvorak) + + + + + + + il + + he + Hebrew + + heb + + + + + + lyx + Hebrew (lyx) + + + + + phonetic + Hebrew (phonetic) + + + + + biblical + Hebrew (Biblical, Tiro) + + + + + + + it + + it + Italian + + ita + + + + + + nodeadkeys + Italian (no dead keys) + + + + + winkeys + Italian (Windows) + + + + + mac + Italian (Macintosh) + + + + + us + Italian (US) + + + + + geo + Georgian (Italy) + + kat + + + + + + ibm + Italian (IBM 142) + + + + + intl + Italian (intl., with dead keys) + + deu + fra + ita + slk + srd + nap + scn + fur + + + + + + scn + Sicilian + + ita + scn + + + + + + fur + Friulian (Italy) + + fur + + + + + + + + jp + + ja + Japanese + + jpn + + + + + + kana + Japanese (Kana) + + + + + kana86 + Japanese (Kana 86) + + + + + OADG109A + Japanese (OADG 109A) + + + + + mac + Japanese (Macintosh) + + + + + dvorak + Japanese (Dvorak) + + + + + + + kg + + ki + Kyrgyz + + kir + + + + + + phonetic + Kyrgyz (phonetic) + + + + + + + kh + + km + Khmer (Cambodia) + + khm + + + + + + + kz + + kk + Kazakh + + kaz + + + + + + ruskaz + + ru + Russian (Kazakhstan, with Kazakh) + + kaz + rus + + + + + + kazrus + Kazakh (with Russian) + + kaz + rus + + + + + + ext + Kazakh (extended) + + kaz + + + + + + latin + Kazakh (Latin) + + kaz + + + + + + + + la + + lo + Lao + + lao + + + + + + stea + Lao (STEA) + + lao + + + + + + + + latam + + es + Spanish (Latin American) + + AR + BO + CL + CO + CR + CU + DO + EC + GT + HN + HT + MX + NI + PA + PE + PR + PY + SV + US + UY + VE + + + spa + + + + + + nodeadkeys + Spanish (Latin American, no dead keys) + + + + + deadtilde + Spanish (Latin American, dead tilde) + + + + + dvorak + Spanish (Latin American, Dvorak) + + + + + colemak + Spanish (Latin American, Colemak) + + + + + colemak-gaming + Spanish (Latin American, Colemak for gaming) + + + + + + + lt + + lt + Lithuanian + + lit + + + + + + std + Lithuanian (standard) + + + + + us + Lithuanian (US) + + + + + ibm + Lithuanian (IBM LST 1205-92) + + + + + lekp + Lithuanian (LEKP) + + + + + lekpa + Lithuanian (LEKPa) + + + + + sgs + Samogitian + + sgs + + + + + + ratise + Lithuanian (Ratise) + + + + + + + lv + + lv + Latvian + + lav + + + + + + apostrophe + Latvian (apostrophe) + + + + + tilde + Latvian (tilde) + + + + + fkey + Latvian (F) + + + + + modern + Latvian (modern) + + + + + ergonomic + Latvian (ergonomic, ŪGJRMV) + + + + + adapted + Latvian (adapted) + + + + + + + mao + + mi + Maori + + mri + + + + + + + me + + sr + Montenegrin + + srp + + + + + + cyrillic + Montenegrin (Cyrillic) + + + + + cyrillicyz + Montenegrin (Cyrillic, ZE and ZHE swapped) + + + + + latinunicode + Montenegrin (Latin, Unicode) + + + + + latinyz + Montenegrin (Latin, QWERTY) + + + + + latinunicodeyz + Montenegrin (Latin, Unicode, QWERTY) + + + + + cyrillicalternatequotes + Montenegrin (Cyrillic, with guillemets) + + + + + latinalternatequotes + Montenegrin (Latin, with guillemets) + + + + + + + mk + + mk + Macedonian + + mkd + + + + + + nodeadkeys + Macedonian (no dead keys) + + + + + + + mt + + mt + Maltese + + mlt + + + + + + us + Maltese (US) + + + + + alt-us + Maltese (US, with AltGr overrides) + + + + + alt-gb + Maltese (UK, with AltGr overrides) + + + + + + + mn + + mn + Mongolian + + mon + + + + + + + no + + no + Norwegian + + nor + nob + nno + + + + + + nodeadkeys + Norwegian (no dead keys) + + + + + winkeys + Norwegian (Windows) + + + + + dvorak + Norwegian (Dvorak) + + + + + smi + Northern Saami (Norway) + + sme + + + + + + smi_nodeadkeys + Northern Saami (Norway, no dead keys) + + sme + + + + + + mac + Norwegian (Macintosh) + + + + + mac_nodeadkeys + Norwegian (Macintosh, no dead keys) + + + + + colemak + Norwegian (Colemak) + + + + + + + pl + + pl + Polish + + pol + + + + + + legacy + Polish (legacy) + + + + + qwertz + Polish (QWERTZ) + + + + + dvorak + Polish (Dvorak) + + + + + dvorak_quotes + Polish (Dvorak, with Polish quotes on quotemark key) + + + + + dvorak_altquotes + Polish (Dvorak, with Polish quotes on key 1) + + + + + csb + Kashubian + + csb + + + + + + szl + Silesian + + szl + + + + + + ru_phonetic_dvorak + + ru + Russian (Poland, phonetic Dvorak) + + rus + + + + + + dvp + Polish (programmer Dvorak) + + + + + + + pt + + pt + Portuguese + + por + + + + + + nodeadkeys + Portuguese (no dead keys) + + + + + mac + Portuguese (Macintosh) + + + + + mac_nodeadkeys + Portuguese (Macintosh, no dead keys) + + + + + nativo + Portuguese (Nativo) + + + + + nativo-us + Portuguese (Nativo for US keyboards) + + + + + nativo-epo + Esperanto (Portugal, Nativo) + + epo + + + + + + + + ro + + ro + Romanian + + ron + + + + + + std + Romanian (standard) + + + + + winkeys + Romanian (Windows) + + + + + + + ru + + ru + Russian + + rus + + + + + + phonetic + Russian (phonetic) + + + + + phonetic_winkeys + Russian (phonetic, Windows) + + + + + phonetic_YAZHERTY + Russian (phonetic, YAZHERTY) + + + + + typewriter + Russian (typewriter) + + + + + legacy + Russian (legacy) + + + + + typewriter-legacy + Russian (typewriter, legacy) + + + + + tt + Tatar + + tat + + + + + + os_legacy + Ossetian (legacy) + + oss + + + + + + os_winkeys + Ossetian (Windows) + + oss + + + + + + cv + Chuvash + + chv + + + + + + cv_latin + Chuvash (Latin) + + chv + + + + + + udm + Udmurt + + udm + + + + + + kom + Komi + + kom + + + + + + sah + Yakut + + sah + + + + + + xal + Kalmyk + + xal + + + + + + dos + Russian (DOS) + + + + + mac + Russian (Macintosh) + + + + + srp + Serbian (Russia) + + rus + srp + + + + + + bak + Bashkirian + + bak + + + + + + chm + Mari + + chm + + + + + + phonetic_azerty + Russian (phonetic, AZERTY) + + + + + phonetic_dvorak + Russian (phonetic, Dvorak) + + + + + phonetic_fr + Russian (phonetic, French) + + + + + + + rs + + sr + Serbian + + srp + + + + + + yz + Serbian (Cyrillic, ZE and ZHE swapped) + + + + + latin + Serbian (Latin) + + + + + latinunicode + Serbian (Latin, Unicode) + + + + + latinyz + Serbian (Latin, QWERTY) + + + + + latinunicodeyz + Serbian (Latin, Unicode, QWERTY) + + + + + alternatequotes + Serbian (Cyrillic, with guillemets) + + + + + latinalternatequotes + Serbian (Latin, with guillemets) + + + + + rue + Pannonian Rusyn + + rue + + + + + + + + si + + sl + Slovenian + + slv + + + + + + alternatequotes + Slovenian (with guillemets) + + + + + us + Slovenian (US) + + + + + + + sk + + sk + Slovak + + slk + + + + + + bksl + Slovak (extended backslash) + + + + + qwerty + Slovak (QWERTY) + + + + + qwerty_bksl + Slovak (QWERTY, extended backslash) + + + + + + + es + + es + Spanish + + spa + + + + + + nodeadkeys + Spanish (no dead keys) + + + + + winkeys + Spanish (Windows) + + + + + deadtilde + Spanish (dead tilde) + + + + + dvorak + Spanish (Dvorak) + + + + + ast + ast + Asturian (Spain, with bottom-dot H and L) + + ast + + + + + + cat + ca + Catalan (Spain, with middle-dot L) + + cat + + + + + + mac + Spanish (Macintosh) + + + + + + + se + + sv + Swedish + + swe + + + + + + nodeadkeys + Swedish (no dead keys) + + + + + dvorak + Swedish (Dvorak) + + + + + rus + + ru + Russian (Sweden, phonetic) + + rus + + + + + + rus_nodeadkeys + + ru + Russian (Sweden, phonetic, no dead keys) + + rus + + + + + + smi + Northern Saami (Sweden) + + sme + + + + + + mac + Swedish (Macintosh) + + + + + svdvorak + Swedish (Svdvorak) + + + + + us_dvorak + Swedish (Dvorak, intl.) + + + + + us + Swedish (US) + + + + + swl + Swedish Sign Language + + swl + + + + + + + + ch + + de + German (Switzerland) + + deu + gsw + + + + + + legacy + German (Switzerland, legacy) + + + + + de_nodeadkeys + + de + German (Switzerland, no dead keys) + + + + + fr + + fr + French (Switzerland) + + fra + + + + + + fr_nodeadkeys + + fr + French (Switzerland, no dead keys) + + fra + + + + + + fr_mac + + fr + French (Switzerland, Macintosh) + + fra + + + + + + de_mac + + de + German (Switzerland, Macintosh) + + + + + + + sy + + ar + Arabic (Syria) + + syr + + + + + + syc + + syc + Syriac + + + + + syc_phonetic + + syc + Syriac (phonetic) + + + + + ku + + ku + Kurdish (Syria, Latin Q) + + kur + + + + + + ku_f + + ku + Kurdish (Syria, F) + + kur + + + + + + ku_alt + + ku + Kurdish (Syria, Latin Alt-Q) + + kur + + + + + + + + tj + + tg + Tajik + + tgk + + + + + + legacy + Tajik (legacy) + + + + + + + lk + + si + Sinhala (phonetic) + + sin + + + + + + tam_unicode + + ta + Tamil (Sri Lanka, TamilNet '99) + + tam + + + + + + tam_TAB + Tamil (Sri Lanka, TamilNet '99, TAB encoding) + + tam + + + + + + us + + us + Sinhala (US) + + + + + + + th + + th + Thai + + tha + + + + + + tis + Thai (TIS-820.2538) + + + + + pat + Thai (Pattachote) + + + + + + + tr + + tr + Turkish + + tur + + + + + + f + Turkish (F) + + + + + alt + Turkish (Alt-Q) + + + + + ku + + ku + Kurdish (Turkey, Latin Q) + + kur + + + + + + ku_f + + ku + Kurdish (Turkey, F) + + kur + + + + + + ku_alt + + ku + Kurdish (Turkey, Latin Alt-Q) + + kur + + + + + + intl + Turkish (intl., with dead keys) + + + + + ot + Ottoman (Q) + + + + + otf + Ottoman (F) + + + + + otk + Old Turkic + + + + + otkf + Old Turkic (F) + + + + + + + tw + + zh + Taiwanese + + fox + + + + + + indigenous + Taiwanese (indigenous) + + ami + tay + bnn + ckv + pwn + pyu + dru + ais + ssf + tao + tsu + trv + xnb + sxr + uun + fos + + + + + + saisiyat + + xsy + Saisiyat (Taiwan) + + xsy + + + + + + + + ua + + uk + Ukrainian + + ukr + + + + + + phonetic + Ukrainian (phonetic) + + + + + typewriter + Ukrainian (typewriter) + + + + + winkeys + Ukrainian (Windows) + + + + + macOS + Ukrainian (macOS) + + + + + legacy + Ukrainian (legacy) + + + + + rstu + Ukrainian (standard RSTU) + + + + + rstu_ru + Russian (Ukraine, standard RSTU) + + + + + homophonic + Ukrainian (homophonic) + + + + + crh + + crh + Crimean Tatar (Turkish Q) + + crh + + + + + + crh_f + + crh + Crimean Tatar (Turkish F) + + crh + + + + + + crh_alt + + crh + Crimean Tatar (Turkish Alt-Q) + + crh + + + + + + + + gb + + en + English (UK) + + eng + + + + + + extd + English (UK, extended, Windows) + + + + + intl + English (UK, intl., with dead keys) + + + + + dvorak + English (UK, Dvorak) + + + + + dvorakukp + English (UK, Dvorak, with UK punctuation) + + + + + mac + English (UK, Macintosh) + + + + + mac_intl + English (UK, Macintosh, intl.) + + + + + colemak + English (UK, Colemak) + + + + + colemak_dh + English (UK, Colemak-DH) + + + + + pl + + pl + Polish (British keyboard) + + pol + + + + + + gla + gd + Scottish Gaelic + + GB + CA + + + eng + gla + + + + + + + + uz + + uz + Uzbek + + uzb + + + + + + latin + Uzbek (Latin) + + + + + + + vn + + vi + Vietnamese + + vie + + + + + + us + Vietnamese (US) + + + + + fr + Vietnamese (French) + + + + + + + kr + + ko + Korean + + kor + + + + + + kr104 + Korean (101/104-key compatible) + + + + + + + ie + + ie + Irish + + eng + + + + + + CloGaelach + CloGaelach + + gle + + + + + + UnicodeExpert + Irish (UnicodeExpert) + + + + + ogam + Ogham + + sga + + + + + + ogam_is434 + Ogham (IS434) + + sga + + + + + + + + pk + + ur + Urdu (Pakistan) + + urd + + + + + + urd-crulp + Urdu (Pakistan, CRULP) + + + + + urd-nla + Urdu (Pakistan, NLA) + + + + + ara + ar + Arabic (Pakistan) + + ara + + + + + + snd + + sd + Sindhi + + snd + + + + + + + + mv + + dv + Dhivehi + + div + + + + + + + za + + en + English (South Africa) + + eng + + + + + + epo + + eo + Esperanto + + epo + + + + + + legacy + Esperanto (legacy) + + + + + + + np + + ne + Nepali + + nep + + sat + + + + + + ng + + en + English (Nigeria) + + eng + + + + + + igbo + + ig + Igbo + + ibo + + + + + + yoruba + + yo + Yoruba + + yor + + + + + + hausa + + ha + Hausa (Nigeria) + + hau + + + + + + + + et + + am + Amharic + + amh + + + + + + + sn + + wo + Wolof + + wol + + + + + + + brai + + brl + Braille + + + + + left_hand + Braille (left-handed) + + + + + left_hand_invert + Braille (left-handed inverted thumb) + + + + + right_hand + Braille (right-handed) + + + + + right_hand_invert + Braille (right-handed inverted thumb) + + + + + + + tm + + tk + Turkmen + + tuk + + + + + + alt + Turkmen (Alt-Q) + + + + + + + ml + + bm + Bambara + + bam + + + + + + fr-oss + + fr + French (Mali, alt.) + + fra + + + + + + us-mac + + en + English (Mali, US, Macintosh) + + eng + + + + + + us-intl + + en + English (Mali, US, intl.) + + eng + + + + + + + + tz + + sw + Swahili (Tanzania) + + swa + + + + + + tg + fr-tg + French (Togo) + + fra + ajg + blo + kpo + ewe + fon + fue + gej + ife + kbp + las + dop + mfg + nmz + bud + gng + kdh + soy + + + + + + ke + + sw + Swahili (Kenya) + + swa + + + + + + kik + + ki + Kikuyu + + kik + + + + + + + + bw + + tn + Tswana + + tsn + + + + + + ph + + ph + Filipino + + eng + bik + ceb + fil + hil + ilo + pam + pag + phi + tgl + war + + + + + + qwerty-bay + Filipino (QWERTY, Baybayin) + + bik + ceb + fil + hil + ilo + pam + pag + phi + tgl + war + + + + + + capewell-dvorak + Filipino (Capewell-Dvorak, Latin) + + + + + capewell-dvorak-bay + Filipino (Capewell-Dvorak, Baybayin) + + bik + ceb + fil + hil + ilo + pam + pag + phi + tgl + war + + + + + + capewell-qwerf2k6 + Filipino (Capewell-QWERF 2006, Latin) + + + + + capewell-qwerf2k6-bay + Filipino (Capewell-QWERF 2006, Baybayin) + + bik + ceb + fil + hil + ilo + pam + pag + phi + tgl + war + + + + + + colemak + Filipino (Colemak, Latin) + + + + + colemak-bay + Filipino (Colemak, Baybayin) + + bik + ceb + fil + hil + ilo + pam + pag + phi + tgl + war + + + + + + dvorak + Filipino (Dvorak, Latin) + + + + + dvorak-bay + Filipino (Dvorak, Baybayin) + + bik + ceb + fil + hil + ilo + pam + pag + phi + tgl + war + + + + + + + + md + md + Moldavian + + ron + + + + + + gag + gag + Moldavian (Gagauz) + + gag + + + + + + + + id + id + Indonesian (Latin) + + ind + msa + min + ace + bjn + tsg + mfa + + + + + + phonetic + Indonesian (Arab Pegon, phonetic) + + + + + phoneticx + Indonesian (Arab Pegon, extended phonetic) + + + + + + + jv + jv + Indonesian (Javanese) + + jav + + + + + + + my + ms + Malay (Jawi, Arabic Keyboard) + + ind + msa + min + ace + bjn + tsg + mfa + + + + + + phonetic + Malay (Jawi, phonetic) + + + + + + + custom + custom + A user-defined custom Layout + + + + + + + + + grp + Switching to another layout + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lv2 + Key to choose the 2nd level + + + + + + + lv3 + Key to choose the 3rd level + + + + + + + + + + + + + + + + + + + + + + + ctrl + Ctrl position + + + + + + + + + + + + + + + + + grp_led + Use keyboard LED to show alternative layout + + + + + + + + + mod_led + Use keyboard LED to indicate modifiers + + + + + + + keypad + Layout of numeric keypad + + + + + + + + + + + + + + + kpdl + Numeric keypad Delete behavior + + + + + + + + + + + + + + caps + Caps Lock behavior + + + + + + + + + + + + + + + + + + + + + + altwin + Alt and Win behavior + + + + + + + + + + + + + + + + + + + + Compose key + Position of Compose key + + + + + + + + + + + + + + + + + + + + + + + compat + Compatibility options + + + + + + + + + + + + + + + + + + + + + currencysign + Currency signs + + + + + + + + + + lv5 + Key to choose 5th level + + + + + + + + + + + + + + nbsp + Non-breaking space input + + + + + + + + + + + + + + + + + + + + + japan + Japanese keyboard options + + + + + + + + korean + Korean Hangul/Hanja keys + + + + + + + + + esperanto + Esperanto letters with superscripts + + + + + + + + solaris + Old Solaris keycodes compatibility + + + + + + terminate + Key sequence to kill the X server + + + + + diff --git a/xkbdata/rules/xfree98 b/xkbdata/rules/xfree98 new file mode 100644 index 0000000..385a641 --- /dev/null +++ b/xkbdata/rules/xfree98 @@ -0,0 +1,30 @@ +// +// Rules for resolving XKB components for use with XFree86 +// Copyright 1996 by Joseph Moss +// + +! model = keycodes geometry + pc98 = xfree98(pc98) nec(pc98) + jp106 = xfree98(jp106) pc(jp106) + +! model layout = symbols + pc98 nec_vndr/jp = nec_vndr/jp(pc98) + jp106 jp = jp + +! model layout = compat types + * * = complete complete + +! option = symbols + grp:switch = +group(switch) + grp:toggle = +group(toggle) + grp:shift_toggle = +group(shifts_toggle) + grp:ctrl_shift_toggle = +group(ctrl_shift_toggle) + grp:ctrl_alt_toggle = +group(ctrl_alt_toggle) + ctrl:nocaps = +ctrl(nocaps) + ctrl:lctrl_meta = +ctrl(lctrl_meta) + ctrl:swapcaps = +ctrl(swapcaps) + ctrl:swapcaps_hyper = +ctrl(swapcaps_hyper) + ctrl:swapcaps_and_switch_layout = +ctrl(swapcaps_and_switch_layout) + ctrl:ctrl_ac = +ctrl(ctrl_ac) + ctrl:ctrl_aa = +ctrl(ctrl_aa) + diff --git a/xkbdata/rules/xkb.dtd b/xkbdata/rules/xkb.dtd new file mode 100644 index 0000000..fce9b19 --- /dev/null +++ b/xkbdata/rules/xkb.dtd @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/xkbdata/rules/xorg b/xkbdata/rules/xorg new file mode 100644 index 0000000..db9e5e1 --- /dev/null +++ b/xkbdata/rules/xorg @@ -0,0 +1,1295 @@ +// DO NOT EDIT THIS FILE - IT WAS AUTOGENERATED BY merge.py FROM rules/*.part +// +// +// Rules for resolving XKB components for use with XFree86 +// Copyright 1996 by Joseph Moss +// +// 2002 Modifier: Ivan Pascal The XFree86 Project +// + +// If you want non-latin layouts to implicitly include the en_US layout, +// then uncomment the following lines: +//! $nonlatin = af am ara bd bg bt by eg et ge gn gr id il in ir \ +// jp jv kg kh kr kz la lk ma me mk mm mn mv my \ +// pk rs ru sy th tj tz ua uz + +// PC models +! $pcmodels = pc86 pc101 pc102 pc104 pc104alt pc105 + +// Jolla devices and keyboards +! $jollamodels = jollasbj + +// Microsoft models (using MS geometry) +! $msmodels = microsoft microsoft4000 microsoft7000 microsoftpro microsoftprousb microsoftprose microsoftsurface + +// Nokia devices and keyboards +! $nokiamodels = nokiasu8w nokiarx44 nokiarx51 + +// TypeMatrix geometries +! $tmgeometries = tm2020 tm2030PS2 tm2030USB tm2030USB-102 tm2030USB-106 + +// Layouts that provide further specializations for the OLPC +! $olpclayouts = af am ara br ca es et fr it kh kz in mn np ru th tr us + +! $macbooks = macbook78 macbook79 +! $maclaptop = ibook powerbook macbook78 macbook79 +! $applealu = applealu_ansi applealu_iso applealu_jis +! $macs = macintosh macintosh_old ibook powerbook macbook78 macbook79 + +! $macvendorlayouts = ch de dk fi fr gb is it latam nl no pt se us + +// The countries that predominantly have AZERTY or QWERTZ layouts: +! $azerty = be fr +! $qwertz = al ch cz de hr hu ro si sk + + +// All layouts with 3rd and 4th levels: +! $threelevellayouts = af al az \ + bd be bg br bt \ + ca ch cm cn cz \ + de dk dz \ + ee es eu \ + fi fo fr \ + gb ge gh gr \ + hr hu \ + ie il in ir is it \ + kh kz \ + latam \ + lk lt lv \ + ml mm mn mt \ + ng nl no \ + ph pk pl pt \ + ro rs \ + se si sk sn sy \ + tg tm tr tw \ + ua us \ + vn \ + za + +! $thinkpads = thinkpad thinkpad60 thinkpadz60 + +! $sun = sun_type6_jp sun_type6_usb sun_type6_euro_usb \ + sun_type6_jp_usb sun_type6_unix_usb sun_type7_jp_usb \ + sun_type7_usb sun_type7_euro_usb sun_type7_unix_usb + +! $sun_jp = sun_type6_jp sun_type6_jp_usb sun_type7_jp_usb + +// Sun Type_6_7 keyboards with custom layouts +! $sun_custom = ara be br ca ch cz de dk \ + ee es fi fr gb gr it jp \ + kr lt lv nl no pl pt ro \ + ru se sk tr tw ua us + +! $sun_var = sun_type6 sun_type6_suncompat sun_type6_de sun_type6_fr \ + sun_type7 sun_type7_suncompat suncompat + +! $sun_compat = sun_type6 sun_type6_suncompat sun_type7_suncompat suncompat + + +! $inetkbds = acer_c300 acer_ferrari4k acer_laptop \ + airkey \ + apple armada azonaRF2300 \ + benqx brother \ + btc5113rf btc9000 btc9000a btc9001ah btc5090 btc9019u \ + cherryblue cherrybluea cherryblueb \ + cherrycyboard cherrycmexpert \ + chicony chicony0108 chicony0420 chicony9885 \ + compalfl90 \ + compaqeak8 compaqik7 compaqik13 compaqik18 \ + creativedw7000 \ + cymotionlinux \ + dell dellm65 inspiron dellusbmm \ + emachines ennyah_dkb1008 evdev \ + genius geniuscomfy2 \ + gyration honeywell_euroboard \ + hp250x hp5xx hp500fa hpdv5 \ + hpi6 hpxe3gc hpxe3gf hpxe4xxx hpxt1000 hpzt11xx \ + ibm_spacesaver ipaq inspiron intel \ + logiaccess logicda logicink \ + logiex110 logiclx300 \ + logiinkse logiinkseusb logiitc logiik \ + logitech_base itouch logiultrax \ + logitech_g15 \ + logidinovo logidinovoedge \ + microsoft4000 microsoft7000 microsoftinet microsoftprousb microsoftprooem microsoftprose \ + microsoftoffice microsoftmult \ + mx1998 mx2500 mx2750 \ + oretec \ + pc105 \ + presario propeller \ + qtronix \ + rapidaccess rapidaccess2 thinkpad60 \ + samsung4500 samsung4510 \ + silvercrest \ + sk1300 sk2500 sk6200 sk7100 \ + sven sven303 symplon \ + teck227 teck229 \ + toshiba_s3000 trust trustda \ + unitekkb1925 yahoo \ + apex300 + +! $inetmediakbds = acer_ferrari4k acer_laptop btc5090 btc9019u cherryblueb \ + cherrybluea herrycyboard chicony042 compaqik13 compaqik18 \ + armada presario dellm65 inspiron dellusbmm diamond \ + ennyah_dkb1008 genius geniuscomfy2 hpi6 hpxe3gc hpxe3gf \ + hpxt1000 hpzt11xx hpdv5 hpxe4xxx hp5xx thinkpad60 ogitech_base \ + logidinovo logidinovoedge logitech_g15 mx1998 mx2500 mx2750 \ + microsoft4000 microsoft7000 microsoftprooem microsoftmult \ + propeller samsung4500 samsung4510 sk1300 sk2500 sk7100 \ + toshiba_s3000 trust trustda cymotionlinux silvercrest \ + emachines benqx unitekkb1925 creativedw7000 compalfl90 \ + pc105 a4techKB21 a4techKBS8 a4_rfkb23 asus_laptop btc6301urf \ + dexxa dtk2000 fscaa1667g geniuskb19e geniuscomfy latitude \ + microsoftpro precision_m scorpius sp_inet targa_v811 thinkpad \ + tm2030USB-102 tm2030USB-106 trust_slimline + +! $dvoraklayouts = br ca de ee es fr gb no pl se us + +! model = keycodes + amiga = amiga(de) + ataritt = ataritt(de) + empty = empty + $sun_jp = sun(type6_jp_usb) + $sun = sun(type6_usb) + pc98 = xfree98(pc98) + $applealu = macintosh(alukbd) + macintosh_hhk = macintosh(hhk) + macintosh_old = macintosh(old) + $macs = macintosh + thinkpadz60 = xfree86(thinkpadz60) + * = xfree86 + +! layout[1] = keycodes + $azerty = +aliases(azerty) + $qwertz = +aliases(qwertz) + * = +aliases(qwerty) + +! layout = keycodes + $azerty = +aliases(azerty) + $qwertz = +aliases(qwertz) + * = +aliases(qwerty) + +! option = keycodes + +! model layout = geometry + thinkpad us = thinkpad(us) + +! model = geometry + microsoftelite = microsoft(elite) + $msmodels = microsoft(natural) + dell101 = dell(dell101) + dellm65 = dell(dellm65) + latitude = dell(latitude) + flexpro = keytronic(FlexPro) + hp6000 = hp(omnibook) + hpmini110 = hp(mini110) + hpdv5 = hp(dv5) + omnikey101 = northgate(omnikey101) + sanwaskbkg3 = sanwa(sanwaskbkg3) + $pcmodels = pc(%m) + everex = everex(STEPnote) + thinkpad = thinkpad(intl) + thinkpad60 = thinkpad(60) + thinkpadz60 = thinkpad(60) + apex300 = steelseries(apex300) + $tmgeometries = typematrix(%m) + winbook = winbook(XP5) + pc98 = nec(pc98) + $applealu = macintosh(%m) + $macbooks = macintosh(%m) + $macs = macintosh(macintosh) + hhk = hhk(basic) + kinesis = kinesis(model100) + $nokiamodels = nokia(%m) + sun_type6_jp = sun(type6jp) + sun_type6_usb = sun(type6) + sun_type6_euro_usb = sun(type6tuv) + sun_type6_jp_usb = sun(type6jp) + sun_type6_unix_usb = sun(type6unix) + sun_type7_jp_usb = sun(type6jp) + sun_type7_usb = sun(type7) + sun_type7_euro_usb = sun(type7tuv) + sun_type7_unix_usb = sun(type7unix) + * = pc(pc104) + +! model layout variant = symbols + * ben basic = pc+in(ben) + * ben probhat = pc+in(ben_probhat) + * dev basic = pc+in(deva) + * dvorak $dvoraklayouts = pc+%v(dvorak) + * dvorak basic = pc+us(dvorak) + * dvorak pl_basic = pc+pl(dvorak) + * dvorak pl = pc+pl(dvorak_quotes) + * dvorak pl_altquotes = pc+pl(dvorak_altquotes) + * dzdwi basic = pc+bt(basic) + * fi basic = pc+fi(classic) + * ge azerty_tskapo = pc+fr(geo) + * guj basic = pc+in(guj) + * gur basic = pc+in(guru) + * ie laptop = pc+ie(basic) + * ie CloGaelachLaptop = pc+ie(CloGaelach) + * in urd = pc+in(urd-phonetic) + * iu basic = pc+ca(ike) + * lo basic = pc+la(basic) + * kan basic = pc+in(kan) + * mal basic = pc+in(mal) + * mal mlplusnum = pc+in(mal) + * ogham basic = pc+ie(ogam) + * ogham laptop = pc+ie(ogam) + * ogham is434 = pc+ie(ogam_is434) + * ogham is434laptop = pc+ie(ogam_is434) + * ori basic = pc+in(ori) + * ro de = pc+ro(winkeys) + * ro us = pc+ro(std) + * ro academic = pc+ro(std) + * ro std_comma = pc+ro(std) + * ro comma = pc+ro(basic) + * ru os = pc+ru(os_legacy) + * pk urd = pc+pk(urd-phonetic) + * sapmi basic = pc+no(smi) + * sapmi nodeadkeys = pc+no(smi_nodeadkeys) + * sapmi sefi = pc+fi(smi) + * sin phonetic-static = pc+in(sin_phonetic) + * syr basic = pc+sy(syc) + * syr phonetic = pc+sy(syc_phonetic) + * tam INSCRIPT = pc+in(tam) + * tam UNI = pc+in(tam_unicode) + * tam NUMERAL-KEYBOARD = pc+in(tam_keyboard_with_numerals) + * tam TAB = pc+in(tam_TAB) + * tam TSCII = pc+in(tam_TSCII) + * tel basic = pc+in(tel) + * yu basic = pc+srp(latin) + * yu unicode = pc+srp(latinunicode) + * yu yz = pc+srp(latinyz) + * yu unicodeyz = pc+srp(latinunicodeyz) + classmate us intl = pc+us(classmate-intl) + classmate us alt-intl = pc+us(classmate-alt-intl) + classmate us altgr-intl = pc+us(classmate-altgr-intl) + nokiarx51 cz qwerty = nokia_vndr/rx-51(cz_qwerty) + * $sun_custom $sun_var = pc+sun_vndr/%l%(v) + +! model layout = symbols + * ar = pc+ara + * ben = pc+in(ben) + * bs = pc+ba + * cs = pc+rs + * cz_qwerty = pc+cz(qwerty) + * dev = pc+in(deva) + * dvorak = pc+us(dvorak) + * dzdwi = pc+bt + * el = pc+gr + * en_US = pc+latin + * guj = pc+in(guj) + * gur = pc+in(guru) + * iu = pc+ca(ike) + * lo = pc+la + * kan = pc+in(kan) + * mi = pc+mao + * ogham = pc+ie(ogam) + * ori = pc+ie(ori) + * sapmi = pc+no(smi) + * sr = pc+srp + * syr = pc+sy(syc) + * tel = pc+in(tel) + * tml = pc+in(tam) + * yu = pc+srp + * fr-latin9 = pc+fr(latin9) + * us_intl = pc+us(alt-intl) + * ben(basic) = pc+in(ben) + * ben(probhat) = pc+in(ben_probhat) + * dev(basic) = pc+in(deva) + * dvorak($dvoraklayouts) = pc+%v(dvorak) + * dvorak(basic) = pc+us(dvorak) + * dvorak(pl_basic) = pc+pl(dvorak) + * dvorak(pl) = pc+pl(dvorak_quotes) + * dvorak(pl_altquotes) = pc+pl(dvorak_altquotes) + * dzdwi(basic) = pc+bt(basic) + * fi(basic) = pc+fi(classic) + * ge(azerty_tskapo) = pc+fr(geo) + * guj(basic) = pc+in(guj) + * gur(basic) = pc+in(guru) + * ie(laptop) = pc+ie(basic) + * ie(CloGaelachLaptop) = pc+ie(CloGaelach) + * in(urd) = pc+in(urd-phonetic) + * iu(basic) = pc+ca(ike) + * lo(basic) = pc+la(basic) + * kan(basic) = pc+in(kan) + * mal(basic) = pc+in(mal) + * mal(mlplusnum) = pc+in(mal) + * ogham(basic) = pc+ie(ogam) + * ogham(laptop) = pc+ie(ogam) + * ogham(is434) = pc+ie(ogam_is434) + * ogham(is434laptop) = pc+ie(ogam_is434) + * ori(basic) = pc+in(ori) + * ro(de) = pc+ro(winkeys) + * ro(us) = pc+ro(std) + * ro(academic) = pc+ro(std) + * ro(std_comma) = pc+ro(std) + * ro(comma) = pc+ro(basic) + * ru(os) = pc+ru(os_legacy) + * pk(urd) = pc+pk(urd-phonetic) + * sapmi(basic) = pc+no(smi) + * sapmi(nodeadkeys) = pc+no(smi_nodeadkeys) + * sapmi(sefi) = pc+fi(smi) + * sin(phonetic-static) = pc+in(sin_phonetic) + * syr(basic) = pc+sy(syc) + * syr(phonetic) = pc+sy(syc_phonetic) + * tam(INSCRIPT) = pc+in(tam) + * tam(UNI) = pc+in(tam_unicode) + * tam(NUMERAL-KEYBOARD) = pc+in(tam_keyboard_with_numerals) + * tam(TAB) = pc+in(tam_TAB) + * tam(TSCII) = pc+in(tam_TSCII) + * tel(basic) = pc+in(tel) + * yu(basic) = pc+srp(latin) + * yu(unicode) = pc+srp(latinunicode) + * yu(yz) = pc+srp(latinyz) + * yu(unicodeyz) = pc+srp(latinunicodeyz) + ataritt $nonlatin = xfree68_vndr/ataritt(us)+%l%(v):2 + ataritt * = xfree68_vndr/ataritt(us)+%l%(v) + amiga $nonlatin = xfree68_vndr/amiga(usa1)+%l%(v):2 + amiga * = xfree68_vndr/amiga(usa1)+%l%(v) + classmate us = pc+%l(classmate) + empty * = empty(basic) + * empty = empty(basic) + jollasbj $nonlatin = jolla_vndr/sbj(common)+us+%l%(v):2 + jollasbj * = jolla_vndr/sbj(common)+%l%(v) + $sun $sun_custom = pc+sun_vndr/%l%(v) + pc98 nec_vndr/jp = nec_vndr/jp(pc98) + macintosh_old us = macintosh_vndr/us(oldmac) + macintosh_old en_US = macintosh_vndr/us(oldmac) + macintosh_old $macvendorlayouts = macintosh_vndr/us(oldmac)+macintosh_vndr/%l%(v) + macintosh_old $nonlatin = macintosh_vndr/us(oldmac)+%l%(v):2 + macintosh_old * = macintosh_vndr/us(oldmac)+%l%(v) + applealu_jis jp = macintosh_vndr/apple(alukbd)+macintosh_vndr/jp(usmac)+macintosh_vndr/jp(mac):2 + applealu_jis * = macintosh_vndr/apple(alukbd)+%l%(v)+macintosh_vndr/jp(mac):2 + $applealu $macvendorlayouts = macintosh_vndr/apple(alukbd)+macintosh_vndr/%l%(v) + $applealu * = macintosh_vndr/apple(alukbd)+%l%(v) + $macs en_US = pc+macintosh_vndr/us(extended) + $macs $macvendorlayouts = pc+macintosh_vndr/%l%(v) + nokiarx44 * = nokia_vndr/rx-44(%l) + nokiarx51 cz(qwerty) = nokia_vndr/rx-51(common)+nokia_vndr/rx-51(cz_qwerty) + nokiarx51 * = nokia_vndr/rx-51(common)+nokia_vndr/rx-51(%l%_v) + nokiasu8w * = nokia_vndr/su-8w(%l) + olpc $olpclayouts = olpc+%l%(m) + olpc * = olpc+%l%(v) + olpcm $olpclayouts = olpc+%l%(m) + olpcm * = olpc+%l%(v) + $thinkpads br = pc+br(thinkpad) + sl-c3x00 * = pc+sharp_vndr/sl-c3x00(basic) + ws003sh * = pc+sharp_vndr/ws003sh(basic) + ws007sh * = pc+sharp_vndr/ws007sh(basic) + ws011sh * = pc+sharp_vndr/ws011sh(basic) + ws020sh * = pc+sharp_vndr/ws020sh(basic) + * $nonlatin = pc+us+%l%(v):2 + * * = pc+%l%(v) + +! model layout[1] = symbols + * ar = pc+ara%(v[1]) + * ben = pc+in(ben) + * bs = pc+ba%(v[1]) + * cs = pc+rs%(v[1]) + * cz_qwerty = pc+cz(qwerty) + * dev = pc+in(deva) + * dvorak = pc+us(dvorak) + * dzdwi = pc+bt%(v[1]) + * el = pc+gr%(v[1]) + * en_US = pc+latin%(v[1]) + * guj = pc+in(guj) + * gur = pc+in(guru) + * iu = pc+ca(ike) + * lo = pc+la%(v[1]) + * kan = pc+in(kan) + * mi = pc+mao%(v[1]) + * ogham = pc+ie(ogam) + * ori = pc+ie(ori) + * sapmi = pc+no(smi) + * sr = pc+srp%(v[1]) + * syr = pc+sy(syc) + * tel = pc+in(tel) + * tml = pc+in(tam) + * yu = pc+srp%(v[1]) + * fr-latin9 = pc+fr(latin9) + * us_intl = pc+us(alt-intl) + * ben(basic) = pc+in(ben) + * ben(probhat) = pc+in(ben_probhat) + * dev(basic) = pc+in(deva) + * dvorak($dvoraklayouts) = pc+%v(dvorak) + * dvorak(basic) = pc+us(dvorak) + * dvorak(pl_basic) = pc+pl(dvorak) + * dvorak(pl) = pc+pl(dvorak_quotes) + * dvorak(pl_altquotes) = pc+pl(dvorak_altquotes) + * dzdwi(basic) = pc+bt(basic) + * fi(basic) = pc+fi(classic) + * ge(azerty_tskapo) = pc+fr(geo) + * guj(basic) = pc+in(guj) + * gur(basic) = pc+in(guru) + * ie(laptop) = pc+ie(basic) + * ie(CloGaelachLaptop) = pc+ie(CloGaelach) + * in(urd) = pc+in(urd-phonetic) + * iu(basic) = pc+ca(ike) + * lo(basic) = pc+la(basic) + * kan(basic) = pc+in(kan) + * mal(basic) = pc+in(mal) + * mal(mlplusnum) = pc+in(mal) + * ogham(basic) = pc+ie(ogam) + * ogham(laptop) = pc+ie(ogam) + * ogham(is434) = pc+ie(ogam_is434) + * ogham(is434laptop) = pc+ie(ogam_is434) + * ori(basic) = pc+in(ori) + * ro(de) = pc+ro(winkeys) + * ro(us) = pc+ro(std) + * ro(academic) = pc+ro(std) + * ro(std_comma) = pc+ro(std) + * ro(comma) = pc+ro(basic) + * ru(os) = pc+ru(os_legacy) + * pk(urd) = pc+pk(urd-phonetic) + * sapmi(basic) = pc+no(smi) + * sapmi(nodeadkeys) = pc+no(smi_nodeadkeys) + * sapmi(sefi) = pc+fi(smi) + * sin(phonetic-static) = pc+in(sin_phonetic) + * syr(basic) = pc+sy(syc) + * syr(phonetic) = pc+sy(syc_phonetic) + * tam(INSCRIPT) = pc+in(tam) + * tam(UNI) = pc+in(tam_unicode) + * tam(NUMERAL-KEYBOARD) = pc+in(tam_keyboard_with_numerals) + * tam(TAB) = pc+in(tam_TAB) + * tam(TSCII) = pc+in(tam_TSCII) + * tel(basic) = pc+in(tel) + * yu(basic) = pc+srp(latin) + * yu(unicode) = pc+srp(latinunicode) + * yu(yz) = pc+srp(latinyz) + * yu(unicodeyz) = pc+srp(latinunicodeyz) + ataritt * = xfree68_vndr/ataritt(us)+%l[1]%(v[1]) + amiga * = xfree68_vndr/amiga(usa1)+%l[1]%(v[1]) + jollasbj * = jolla_vndr/sbj(common)+%l[1]%(v[1]) + $sun $sun_custom = pc+sun_vndr/%l[1]%(v[1]) + macintosh_old us = macintosh_vndr/us(oldmac) + macintosh_old $macvendorlayouts = macintosh_vndr/us(oldmac)+macintosh_vndr/%l[1]%(v[1]) + macintosh_old * = macintosh_vndr/us(oldmac)+%l[1]%(v[1]) + applealu_jis us = macintosh_vndr/apple(alukbd)+macintosh_vndr/jp(usmac) + $applealu $macvendorlayouts = macintosh_vndr/apple(alukbd)+macintosh_vndr/%l[1]%(v[1]) + $applealu * = macintosh_vndr/apple(alukbd)+%l[1]%(v[1]) + $macs $macvendorlayouts = pc+macintosh_vndr/%l[1]%(v[1]) + nokiarx51 cz(qwerty) = nokia_vndr/rx-51(common)+nokia_vndr/rx-51(cz_qwerty) + nokiarx51 * = nokia_vndr/rx-51(common)+nokia_vndr/rx-51(%l[1]%_v[1]) + $thinkpads br = pc+%l[1](thinkpad) + * * = pc+%l[1]%(v[1]) + +! model layout[1] variant[1] = symbols + * ben basic = pc+in(ben) + * ben probhat = pc+in(ben_probhat) + * dev basic = pc+in(deva) + * dvorak $dvoraklayouts = pc+%v(dvorak) + * dvorak basic = pc+us(dvorak) + * dvorak pl_basic = pc+pl(dvorak) + * dvorak pl = pc+pl(dvorak_quotes) + * dvorak pl_altquotes = pc+pl(dvorak_altquotes) + * dzdwi basic = pc+bt(basic) + * fi basic = pc+fi(classic) + * ge azerty_tskapo = pc+fr(geo) + * guj basic = pc+in(guj) + * gur basic = pc+in(guru) + * ie laptop = pc+ie(basic) + * ie CloGaelachLaptop = pc+ie(CloGaelach) + * in urd = pc+in(urd-phonetic) + * iu basic = pc+ca(ike) + * lo basic = pc+la(basic) + * kan basic = pc+in(kan) + * mal basic = pc+in(mal) + * mal mlplusnum = pc+in(mal) + * ogham basic = pc+ie(ogam) + * ogham laptop = pc+ie(ogam) + * ogham is434 = pc+ie(ogam_is434) + * ogham is434laptop = pc+ie(ogam_is434) + * ori basic = pc+in(ori) + * ro de = pc+ro(winkeys) + * ro us = pc+ro(std) + * ro academic = pc+ro(std) + * ro std_comma = pc+ro(std) + * ro comma = pc+ro(basic) + * ru os = pc+ru(os_legacy) + * pk urd = pc+pk(urd-phonetic) + * sapmi basic = pc+no(smi) + * sapmi nodeadkeys = pc+no(smi_nodeadkeys) + * sapmi sefi = pc+fi(smi) + * sin phonetic-static = pc+in(sin_phonetic) + * syr basic = pc+sy(syc) + * syr phonetic = pc+sy(syc_phonetic) + * tam INSCRIPT = pc+in(tam) + * tam UNI = pc+in(tam_unicode) + * tam NUMERAL-KEYBOARD = pc+in(tam_keyboard_with_numerals) + * tam TAB = pc+in(tam_TAB) + * tam TSCII = pc+in(tam_TSCII) + * tel basic = pc+in(tel) + * yu basic = pc+srp(latin) + * yu unicode = pc+srp(latinunicode) + * yu yz = pc+srp(latinyz) + * yu unicodeyz = pc+srp(latinunicodeyz) + +! model layout[2] = symbols + * ar = +ara%(v[2]):2 + * ben = +in(ben):2 + * bs = +ba%(v[2]):2 + * cs = +rs%(v[2]):2 + * cz_qwerty = +cz(qwerty):2 + * dev = +in(deva):2 + * dvorak = +us(dvorak):2 + * dzdwi = +bt%(v[2]):2 + * el = +gr%(v[2]):2 + * en_US = +latin%(v[2]):2 + * guj = +in(guj):2 + * gur = +in(guru):2 + * iu = +ca(ike):2 + * lo = +la%(v[2]):2 + * kan = +in(kan):2 + * mi = +mao%(v[2]):2 + * ogham = +ie(ogam):2 + * ori = +ie(ori):2 + * sapmi = +no(smi):2 + * sr = +srp%(v[2]):2 + * syr = +sy(syc):2 + * tel = +in(tel):2 + * tml = +in(tam):2 + * yu = +srp%(v[2]):2 + * fr-latin9 = +fr(latin9):2 + * us_intl = +us(alt-intl):2 + * ben(basic) = +in(ben):2 + * ben(probhat) = +in(ben_probhat):2 + * dev(basic) = +in(deva):2 + * dvorak($dvoraklayouts) = +%v(dvorak):2 + * dvorak(basic) = +us(dvorak):2 + * dvorak(pl_basic) = +pl(dvorak):2 + * dvorak(pl) = +pl(dvorak_quotes):2 + * dvorak(pl_altquotes) = +pl(dvorak_altquotes):2 + * dzdwi(basic) = +bt(basic):2 + * fi(basic) = +fi(classic):2 + * ge(azerty_tskapo) = +fr(geo):2 + * guj(basic) = +in(guj):2 + * gur(basic) = +in(guru):2 + * ie(laptop) = +ie(basic):2 + * ie(CloGaelachLaptop) = +ie(CloGaelach):2 + * in(urd) = +in(urd-phonetic):2 + * iu(basic) = +ca(ike):2 + * lo(basic) = +la(basic):2 + * kan(basic) = +in(kan):2 + * mal(basic) = +in(mal):2 + * mal(mlplusnum) = +in(mal):2 + * ogham(basic) = +ie(ogam):2 + * ogham(laptop) = +ie(ogam):2 + * ogham(is434) = +ie(ogam_is434):2 + * ogham(is434laptop) = +ie(ogam_is434):2 + * ori(basic) = +in(ori):2 + * ro(de) = +ro(winkeys):2 + * ro(us) = +ro(std):2 + * ro(academic) = +ro(std):2 + * ro(std_comma) = +ro(std):2 + * ro(comma) = +ro(basic):2 + * ru(os) = +ru(os_legacy):2 + * pk(urd) = +pk(urd-phonetic):2 + * sapmi(basic) = +no(smi):2 + * sapmi(nodeadkeys) = +no(smi_nodeadkeys):2 + * sapmi(sefi) = +fi(smi):2 + * sin(phonetic-static) = +in(sin_phonetic):2 + * syr(basic) = +sy(syc):2 + * syr(phonetic) = +sy(syc_phonetic):2 + * tam(INSCRIPT) = +in(tam):2 + * tam(UNI) = +in(tam_unicode):2 + * tam(NUMERAL-KEYBOARD) = +in(tam_keyboard_with_numerals):2 + * tam(TAB) = +in(tam_TAB):2 + * tam(TSCII) = +in(tam_TSCII):2 + * tel(basic) = +in(tel):2 + * yu(basic) = +srp(latin):2 + * yu(unicode) = +srp(latinunicode):2 + * yu(yz) = +srp(latinyz):2 + * yu(unicodeyz) = +srp(latinunicodeyz):2 + nokiarx51 cz(qwerty) = +nokia_vndr/rx-51(cz_qwerty):2 + nokiarx51 * = +nokia_vndr/rx-51(%l[2]%_v[2]):2 + $sun $sun_custom = +sun_vndr/%l[2]%(v[2]):2 + * * = +%l[2]%(v[2]):2 + +! model layout[3] = symbols + * ar = +ara%(v[3]):3 + * ben = +in(ben):3 + * bs = +ba%(v[3]):3 + * cs = +rs%(v[3]):3 + * cz_qwerty = +cz(qwerty):3 + * dev = +in(deva):3 + * dvorak = +us(dvorak):3 + * dzdwi = +bt%(v[3]):3 + * el = +gr%(v[3]):3 + * en_US = +latin%(v[3]):3 + * guj = +in(guj):3 + * gur = +in(guru):3 + * iu = +ca(ike):3 + * lo = +la%(v[3]):3 + * kan = +in(kan):3 + * mi = +mao%(v[3]):3 + * ogham = +ie(ogam):3 + * ori = +ie(ori):3 + * sapmi = +no(smi):3 + * sr = +srp%(v[3]):3 + * syr = +sy(syc):3 + * tel = +in(tel):3 + * tml = +in(tam):3 + * yu = +srp%(v[3]):3 + * fr-latin9 = +fr(latin9):3 + * us_intl = +us(alt-intl):3 + * ben(basic) = +in(ben):3 + * ben(probhat) = +in(ben_probhat):3 + * dev(basic) = +in(deva):3 + * dvorak($dvoraklayouts) = +%v(dvorak):3 + * dvorak(basic) = +us(dvorak):3 + * dvorak(pl_basic) = +pl(dvorak):3 + * dvorak(pl) = +pl(dvorak_quotes):3 + * dvorak(pl_altquotes) = +pl(dvorak_altquotes):3 + * dzdwi(basic) = +bt(basic):3 + * fi(basic) = +fi(classic):3 + * ge(azerty_tskapo) = +fr(geo):3 + * guj(basic) = +in(guj):3 + * gur(basic) = +in(guru):3 + * ie(laptop) = +ie(basic):3 + * ie(CloGaelachLaptop) = +ie(CloGaelach):3 + * in(urd) = +in(urd-phonetic):3 + * iu(basic) = +ca(ike):3 + * lo(basic) = +la(basic):3 + * kan(basic) = +in(kan):3 + * mal(basic) = +in(mal):3 + * mal(mlplusnum) = +in(mal):3 + * ogham(basic) = +ie(ogam):3 + * ogham(laptop) = +ie(ogam):3 + * ogham(is434) = +ie(ogam_is434):3 + * ogham(is434laptop) = +ie(ogam_is434):3 + * ori(basic) = +in(ori):3 + * ro(de) = +ro(winkeys):3 + * ro(us) = +ro(std):3 + * ro(academic) = +ro(std):3 + * ro(std_comma) = +ro(std):3 + * ro(comma) = +ro(basic):3 + * ru(os) = +ru(os_legacy):3 + * pk(urd) = +pk(urd-phonetic):3 + * sapmi(basic) = +no(smi):3 + * sapmi(nodeadkeys) = +no(smi_nodeadkeys):3 + * sapmi(sefi) = +fi(smi):3 + * sin(phonetic-static) = +in(sin_phonetic):3 + * syr(basic) = +sy(syc):3 + * syr(phonetic) = +sy(syc_phonetic):3 + * tam(INSCRIPT) = +in(tam):3 + * tam(UNI) = +in(tam_unicode):3 + * tam(NUMERAL-KEYBOARD) = +in(tam_keyboard_with_numerals):3 + * tam(TAB) = +in(tam_TAB):3 + * tam(TSCII) = +in(tam_TSCII):3 + * tel(basic) = +in(tel):3 + * yu(basic) = +srp(latin):3 + * yu(unicode) = +srp(latinunicode):3 + * yu(yz) = +srp(latinyz):3 + * yu(unicodeyz) = +srp(latinunicodeyz):3 + nokiarx51 cz(qwerty) = +nokia_vndr/rx-51(cz_qwerty):3 + nokiarx51 * = +nokia_vndr/rx-51(%l[3]%_v[3]):3 + $sun $sun_custom = +sun_vndr/%l[3]%(v[3]):3 + * * = +%l[3]%(v[3]):3 + +! model layout[4] = symbols + * ar = +ara%(v[4]):4 + * ben = +in(ben):4 + * bs = +ba%(v[4]):4 + * cs = +rs%(v[4]):4 + * cz_qwerty = +cz(qwerty):4 + * dev = +in(deva):4 + * dvorak = +us(dvorak):4 + * dzdwi = +bt%(v[4]):4 + * el = +gr%(v[4]):4 + * en_US = +latin%(v[4]):4 + * guj = +in(guj):4 + * gur = +in(guru):4 + * iu = +ca(ike):4 + * lo = +la%(v[4]):4 + * kan = +in(kan):4 + * mi = +mao%(v[4]):4 + * ogham = +ie(ogam):4 + * ori = +ie(ori):4 + * sapmi = +no(smi):4 + * sr = +srp%(v[4]):4 + * syr = +sy(syc):4 + * tel = +in(tel):4 + * tml = +in(tam):4 + * yu = +srp%(v[4]):4 + * fr-latin9 = +fr(latin9):4 + * us_intl = +us(alt-intl):4 + * ben(basic) = +in(ben):4 + * ben(probhat) = +in(ben_probhat):4 + * dev(basic) = +in(deva):4 + * dvorak($dvoraklayouts) = +%v(dvorak):4 + * dvorak(basic) = +us(dvorak):4 + * dvorak(pl_basic) = +pl(dvorak):4 + * dvorak(pl) = +pl(dvorak_quotes):4 + * dvorak(pl_altquotes) = +pl(dvorak_altquotes):4 + * dzdwi(basic) = +bt(basic):4 + * fi(basic) = +fi(classic):4 + * ge(azerty_tskapo) = +fr(geo):4 + * guj(basic) = +in(guj):4 + * gur(basic) = +in(guru):4 + * ie(laptop) = +ie(basic):4 + * ie(CloGaelachLaptop) = +ie(CloGaelach):4 + * in(urd) = +in(urd-phonetic):4 + * iu(basic) = +ca(ike):4 + * lo(basic) = +la(basic):4 + * kan(basic) = +in(kan):4 + * mal(basic) = +in(mal):4 + * mal(mlplusnum) = +in(mal):4 + * ogham(basic) = +ie(ogam):4 + * ogham(laptop) = +ie(ogam):4 + * ogham(is434) = +ie(ogam_is434):4 + * ogham(is434laptop) = +ie(ogam_is434):4 + * ori(basic) = +in(ori):4 + * ro(de) = +ro(winkeys):4 + * ro(us) = +ro(std):4 + * ro(academic) = +ro(std):4 + * ro(std_comma) = +ro(std):4 + * ro(comma) = +ro(basic):4 + * ru(os) = +ru(os_legacy):4 + * pk(urd) = +pk(urd-phonetic):4 + * sapmi(basic) = +no(smi):4 + * sapmi(nodeadkeys) = +no(smi_nodeadkeys):4 + * sapmi(sefi) = +fi(smi):4 + * sin(phonetic-static) = +in(sin_phonetic):4 + * syr(basic) = +sy(syc):4 + * syr(phonetic) = +sy(syc_phonetic):4 + * tam(INSCRIPT) = +in(tam):4 + * tam(UNI) = +in(tam_unicode):4 + * tam(NUMERAL-KEYBOARD) = +in(tam_keyboard_with_numerals):4 + * tam(TAB) = +in(tam_TAB):4 + * tam(TSCII) = +in(tam_TSCII):4 + * tel(basic) = +in(tel):4 + * yu(basic) = +srp(latin):4 + * yu(unicode) = +srp(latinunicode):4 + * yu(yz) = +srp(latinyz):4 + * yu(unicodeyz) = +srp(latinunicodeyz):4 + nokiarx51 cz(qwerty) = +nokia_vndr/rx-51(cz_qwerty):4 + nokiarx51 * = +nokia_vndr/rx-51(%l[4]%_v[4]):4 + $sun $sun_custom = +sun_vndr/%l[4]%(v[4]):4 + * * = +%l[4]%(v[4]):4 + +! model layout[2] variant[2] = symbols + * ben basic = +in(ben):2 + * ben probhat = +in(ben_probhat):2 + * dev basic = +in(deva):2 + * dvorak $dvoraklayouts = +%v(dvorak):2 + * dvorak basic = +us(dvorak):2 + * dvorak pl_basic = +pl(dvorak):2 + * dvorak pl = +pl(dvorak_quotes):2 + * dvorak pl_altquotes = +pl(dvorak_altquotes):2 + * dzdwi basic = +bt(basic):2 + * fi basic = +fi(classic):2 + * ge azerty_tskapo = +fr(geo):2 + * guj basic = +in(guj):2 + * gur basic = +in(guru):2 + * ie laptop = +ie(basic):2 + * ie CloGaelachLaptop = +ie(CloGaelach):2 + * in urd = +in(urd-phonetic):2 + * iu basic = +ca(ike):2 + * lo basic = +la(basic):2 + * kan basic = +in(kan):2 + * mal basic = +in(mal):2 + * mal mlplusnum = +in(mal):2 + * ogham basic = +ie(ogam):2 + * ogham laptop = +ie(ogam):2 + * ogham is434 = +ie(ogam_is434):2 + * ogham is434laptop = +ie(ogam_is434):2 + * ori basic = +in(ori):2 + * ro de = +ro(winkeys):2 + * ro us = +ro(std):2 + * ro academic = +ro(std):2 + * ro std_comma = +ro(std):2 + * ro comma = +ro(basic):2 + * ru os = +ru(os_legacy):2 + * pk urd = +pk(urd-phonetic):2 + * sapmi basic = +no(smi):2 + * sapmi nodeadkeys = +no(smi_nodeadkeys):2 + * sapmi sefi = +fi(smi):2 + * sin phonetic-static = +in(sin_phonetic):2 + * syr basic = +sy(syc):2 + * syr phonetic = +sy(syc_phonetic):2 + * tam INSCRIPT = +in(tam):2 + * tam UNI = +in(tam_unicode):2 + * tam NUMERAL-KEYBOARD = +in(tam_keyboard_with_numerals):2 + * tam TAB = +in(tam_TAB):2 + * tam TSCII = +in(tam_TSCII):2 + * tel basic = +in(tel):2 + * yu basic = +srp(latin):2 + * yu unicode = +srp(latinunicode):2 + * yu yz = +srp(latinyz):2 + * yu unicodeyz = +srp(latinunicodeyz):2 + +! model layout[3] variant[3] = symbols + * ben basic = +in(ben):3 + * ben probhat = +in(ben_probhat):3 + * dev basic = +in(deva):3 + * dvorak $dvoraklayouts = +%v(dvorak):3 + * dvorak basic = +us(dvorak):3 + * dvorak pl_basic = +pl(dvorak):3 + * dvorak pl = +pl(dvorak_quotes):3 + * dvorak pl_altquotes = +pl(dvorak_altquotes):3 + * dzdwi basic = +bt(basic):3 + * fi basic = +fi(classic):3 + * ge azerty_tskapo = +fr(geo):3 + * guj basic = +in(guj):3 + * gur basic = +in(guru):3 + * ie laptop = +ie(basic):3 + * ie CloGaelachLaptop = +ie(CloGaelach):3 + * in urd = +in(urd-phonetic):3 + * iu basic = +ca(ike):3 + * lo basic = +la(basic):3 + * kan basic = +in(kan):3 + * mal basic = +in(mal):3 + * mal mlplusnum = +in(mal):3 + * ogham basic = +ie(ogam):3 + * ogham laptop = +ie(ogam):3 + * ogham is434 = +ie(ogam_is434):3 + * ogham is434laptop = +ie(ogam_is434):3 + * ori basic = +in(ori):3 + * ro de = +ro(winkeys):3 + * ro us = +ro(std):3 + * ro academic = +ro(std):3 + * ro std_comma = +ro(std):3 + * ro comma = +ro(basic):3 + * ru os = +ru(os_legacy):3 + * pk urd = +pk(urd-phonetic):3 + * sapmi basic = +no(smi):3 + * sapmi nodeadkeys = +no(smi_nodeadkeys):3 + * sapmi sefi = +fi(smi):3 + * sin phonetic-static = +in(sin_phonetic):3 + * syr basic = +sy(syc):3 + * syr phonetic = +sy(syc_phonetic):3 + * tam INSCRIPT = +in(tam):3 + * tam UNI = +in(tam_unicode):3 + * tam NUMERAL-KEYBOARD = +in(tam_keyboard_with_numerals):3 + * tam TAB = +in(tam_TAB):3 + * tam TSCII = +in(tam_TSCII):3 + * tel basic = +in(tel):3 + * yu basic = +srp(latin):3 + * yu unicode = +srp(latinunicode):3 + * yu yz = +srp(latinyz):3 + * yu unicodeyz = +srp(latinunicodeyz):3 + +! model layout[4] variant[4] = symbols + * ben basic = +in(ben):4 + * ben probhat = +in(ben_probhat):4 + * dev basic = +in(deva):4 + * dvorak $dvoraklayouts = +%v(dvorak):4 + * dvorak basic = +us(dvorak):4 + * dvorak pl_basic = +pl(dvorak):4 + * dvorak pl = +pl(dvorak_quotes):4 + * dvorak pl_altquotes = +pl(dvorak_altquotes):4 + * dzdwi basic = +bt(basic):4 + * fi basic = +fi(classic):4 + * ge azerty_tskapo = +fr(geo):4 + * guj basic = +in(guj):4 + * gur basic = +in(guru):4 + * ie laptop = +ie(basic):4 + * ie CloGaelachLaptop = +ie(CloGaelach):4 + * in urd = +in(urd-phonetic):4 + * iu basic = +ca(ike):4 + * lo basic = +la(basic):4 + * kan basic = +in(kan):4 + * mal basic = +in(mal):4 + * mal mlplusnum = +in(mal):4 + * ogham basic = +ie(ogam):4 + * ogham laptop = +ie(ogam):4 + * ogham is434 = +ie(ogam_is434):4 + * ogham is434laptop = +ie(ogam_is434):4 + * ori basic = +in(ori):4 + * ro de = +ro(winkeys):4 + * ro us = +ro(std):4 + * ro academic = +ro(std):4 + * ro std_comma = +ro(std):4 + * ro comma = +ro(basic):4 + * ru os = +ru(os_legacy):4 + * pk urd = +pk(urd-phonetic):4 + * sapmi basic = +no(smi):4 + * sapmi nodeadkeys = +no(smi_nodeadkeys):4 + * sapmi sefi = +fi(smi):4 + * sin phonetic-static = +in(sin_phonetic):4 + * syr basic = +sy(syc):4 + * syr phonetic = +sy(syc_phonetic):4 + * tam INSCRIPT = +in(tam):4 + * tam UNI = +in(tam_unicode):4 + * tam NUMERAL-KEYBOARD = +in(tam_keyboard_with_numerals):4 + * tam TAB = +in(tam_TAB):4 + * tam TSCII = +in(tam_TSCII):4 + * tel basic = +in(tel):4 + * yu basic = +srp(latin):4 + * yu unicode = +srp(latinunicode):4 + * yu yz = +srp(latinyz):4 + * yu unicodeyz = +srp(latinunicodeyz):4 + +! model = symbols + a4techKB21 = +inet(media_nav_common) + a4techKBS8 = +inet(media_nav_acpi_common) + a4_rfkb23 = +inet(media_nav_acpi_common) + asus_laptop = +inet(media_common) + acer_tm_800 = +inet(acer_laptop) + benqx730 = +inet(benqx) + benqx800 = +inet(benqx) + btc5126t = +inet(nav_acpi_common) + btc9116u = +inet(btc9019u) + btc6301urf = +inet(media_nav_acpi_common) + chromebook = +inet(chromebook) + dellsk8125 = +inet(dell) + dellsk8135 = +inet(dell) + cherrybunlim = +inet(nav_common) + dexxa = +inet(media_nav_common) + dtk2000 = +inet(media_nav_acpi_common) + fscaa1667g = +inet(media_nav_common) + geniuskb19e = +inet(media_nav_acpi_common) + geniuscomfy = +inet(media_nav_acpi_common) + geniuskkb2050hs = +inet(dellusbmm) + hpnx9020 = +inet(hpi6) + latitude = +inet(media_common) + logicd = +inet(logitech_base) + logicd_it = +inet(logitech_base) + logicd_nav = +inet(logitech_base) + logicd_opt = +inet(logitech_base) + logiultrax = +inet(logitech_base) + logiclx300 = +inet(logiex110) + logii350 = +inet(logiex110) + logimel = +inet(logiex110) + logicdit = +inet(logicd) + logicdo = +inet(logicd) + logicdp = +inet(logicd) + logicdpa = +inet(logicda) + logiciink = +inet(logicink) + ltcd = +inet(logicda) + microsoftccurve2k = +inet(microsoftprooem) + microsoftpro = +inet(media_nav_acpi_common) + precision_m = +inet(media_nav_common) + scorpius = +inet(media_nav_acpi_common) + sp_inet = +inet(media_nav_acpi_common) + targa_v811 = +inet(media_nav_acpi_common) + thinkpad = +inet(media_nav_common) + thinkpadz60 = +inet(thinkpad60) + tm2030USB-102 = +inet(media_nav_acpi_common) + tm2030USB-106 = +inet(media_nav_acpi_common) + trust_slimline = +inet(media_nav_acpi_common) + vsonku306 = +inet(microsoftprooem) + $inetkbds = +inet(%m) + $maclaptop = +inet(apple)+level3(enter_switch) + $applealu = +inet(apple) + $macs = +inet(apple) + sun_type7_jp_usb = +sun_vndr/solaris(defaults_type7jp) + $sun = +sun_vndr/solaris(defaults) + +! model layout = symbols + $inetmediakbds jp = +jp(henkan) + +! layout variant = compat + de neo = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + de adnw = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + de koy = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + de bone = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + de bone_eszett_home = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + de neo_qwertz = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + de neo_qwerty = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + jp $sun_compat = complete+japan(kana_lock) + +! layout[1] variant[1] = compat + de neo = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + de adnw = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + de koy = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + de bone = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + de bone_eszett_home = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + de neo_qwertz = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + de neo_qwerty = +caps(caps_lock)+misc(assign_shift_left_action)+level5(level5_lock) + jp $sun_compat = complete+japan(kana_lock) + +! layout[2] variant[2] = compat + de neo = +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2 + de adnw = +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2 + de koy = +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2 + de bone = +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2 + de bone_eszett_home = +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2 + de neo_qwertz = +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2 + de neo_qwerty = +caps(caps_lock):2+misc(assign_shift_left_action):2+level5(level5_lock):2 + jp $sun_compat = +complete+japan(kana_lock):2 + +! layout[3] variant[3] = compat + de neo = +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3 + de adnw = +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3 + de koy = +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3 + de bone = +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3 + de bone_eszett_home = +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3 + de neo_qwertz = +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3 + de neo_qwerty = +caps(caps_lock):3+misc(assign_shift_left_action):3+level5(level5_lock):3 + jp $sun_compat = +complete+japan(kana_lock):3 + +! layout[4] variant[4] = compat + de neo = +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4 + de adnw = +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4 + de koy = +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4 + de bone = +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4 + de bone_eszett_home = +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4 + de neo_qwertz = +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4 + de neo_qwerty = +caps(caps_lock):4+misc(assign_shift_left_action):4+level5(level5_lock):4 + jp $sun_compat = +complete+japan(kana_lock):4 + +! model layout = compat + pc98 nec_vndr/jp = pc98(basic) + * jp = complete+japan + olpc * = olpc + olpcm * = olpc + * * = complete + +! model layout[1] = compat + * * = complete + +! model = types + $macs = complete+numpad(mac) + $applealu = complete+numpad(mac) + $nokiamodels = complete+nokia + * = complete + +! layout option = symbols + $threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle) + * lv3:ralt_alt = +level3(ralt_alt) + * misc:typo = +typo(base) + * misc:apl = +apl(level3) + +! layout[1] option = symbols + $threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):1 + * lv3:ralt_alt = +level3(ralt_alt):1 + * misc:typo = +typo(base):1 + * misc:apl = +apl(level3):1 + +! layout[2] option = symbols + $threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):2 + * lv3:ralt_alt = +level3(ralt_alt):2 + * misc:typo = +typo(base):2 + * misc:apl = +apl(level3):2 + +! layout[3] option = symbols + $threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):3 + * lv3:ralt_alt = +level3(ralt_alt):3 + * misc:typo = +typo(base):3 + * misc:apl = +apl(level3):3 + +! layout[4] option = symbols + $threelevellayouts grp:alts_toggle = +level3(ralt_switch_for_alts_toggle):4 + * lv3:ralt_alt = +level3(ralt_alt):4 + * misc:typo = +typo(base):4 + * misc:apl = +apl(level3):4 + +! option = symbols + grp:shift_toggle = +group(shifts_toggle) + altwin:menu = +altwin(menu) + altwin:menu_win = +altwin(menu_win) + altwin:meta_alt = +altwin(meta_alt) + altwin:alt_win = +altwin(alt_win) + altwin:ctrl_win = +altwin(ctrl_win) + altwin:ctrl_rwin = +altwin(ctrl_rwin) + altwin:ctrl_alt_win = +altwin(ctrl_alt_win) + altwin:meta_win = +altwin(meta_win) + altwin:left_meta_win = +altwin(left_meta_win) + altwin:hyper_win = +altwin(hyper_win) + altwin:alt_super_win = +altwin(alt_super_win) + altwin:swap_lalt_lwin = +altwin(swap_lalt_lwin) + altwin:swap_alt_win = +altwin(swap_alt_win) + altwin:prtsc_rwin = +altwin(prtsc_rwin) + grab:debug = +srvr_ctrl(grab_debug) + grp:switch = +group(switch) + grp:lswitch = +group(lswitch) + grp:win_switch = +group(win_switch) + grp:lwin_switch = +group(lwin_switch) + grp:rwin_switch = +group(rwin_switch) + grp:menu_switch = +group(menu_switch) + grp:toggle = +group(toggle) + grp:shifts_toggle = +group(shifts_toggle) + grp:ctrls_toggle = +group(ctrls_toggle) + grp:alts_toggle = +group(alts_toggle) + grp:caps_toggle = +capslock(grouplock) + grp:caps_switch = +capslock(groupshift) + grp:shift_caps_toggle = +group(shift_caps_toggle) + grp:shift_caps_switch = +group(shift_caps_switch) + grp:win_space_toggle = +group(win_space_toggle) + grp:win_menu_switch = +group(win_menu_switch) + grp:alt_caps_toggle = +group(alt_caps_toggle) + grp:alt_space_toggle = +group(alt_space_toggle) + grp:menu_toggle = +group(menu_toggle) + grp:lwin_toggle = +group(lwin_toggle) + grp:rwin_toggle = +group(rwin_toggle) + grp:lshift_toggle = +group(lshift_toggle) + grp:rshift_toggle = +group(rshift_toggle) + grp:rctrl_switch = +group(rctrl_switch) + grp:lctrl_toggle = +group(lctrl_toggle) + grp:rctrl_toggle = +group(rctrl_toggle) + grp:lalt_toggle = +group(lalt_toggle) + grp:sclk_toggle = +group(sclk_toggle) + grp:lctrl_rctrl_switch = +group(lctrl_rctrl_switch) + grp:lctrl_lwin_rctrl_menu = +group(lctrl_lwin_rctrl_menu) + grp:lctrl_lalt_toggle = +group(lctrl_lalt_toggle) + grp:rctrl_ralt_toggle = +group(rctrl_ralt_toggle) + grp:ctrl_alt_toggle = +group(ctrl_alt_toggle) + grp:ctrl_alt_toggle_bidir = +group(ctrl_alt_toggle_bidir) + grp:lctrl_lshift_toggle = +group(lctrl_lshift_toggle) + grp:rctrl_rshift_toggle = +group(rctrl_rshift_toggle) + grp:ctrl_shift_toggle = +group(ctrl_shift_toggle) + grp:ctrl_shift_toggle_bidir = +group(ctrl_shift_toggle_bidir) + grp:lalt_lshift_toggle = +group(lalt_lshift_toggle) + grp:ralt_rshift_toggle = +group(ralt_rshift_toggle) + grp:alt_shift_toggle = +group(alt_shift_toggle) + grp:alt_shift_toggle_bidir = +group(alt_shift_toggle_bidir) + grp:lctrl_lwin_toggle = +group(lctrl_lwin_toggle) + lv3:switch = +level3(switch) + lv3:ralt_switch = +level3(ralt_switch) + lv3:ralt_switch_multikey = +level3(ralt_switch_multikey) + lv3:lalt_switch = +level3(lalt_switch) + lv3:alt_switch = +level3(alt_switch) + lv3:menu_switch = +level3(menu_switch) + lv3:win_switch = +level3(win_switch) + lv3:lwin_switch = +level3(lwin_switch) + lv3:rwin_switch = +level3(rwin_switch) + lv3:enter_switch = +level3(enter_switch) + lv3:4_switch_isolated = +level3(4_switch_isolated) + lv3:9_switch_isolated = +level3(9_switch_isolated) + caps:capslock = +capslock(capslock) + caps:numlock = +capslock(numlock) + caps:shiftlock = +capslock(shiftlock) + caps:swapescape = +capslock(swapescape) + caps:escape = +capslock(escape) + caps:escape_shifted_capslock = +capslock(escape_shifted_capslock) + caps:backspace = +capslock(backspace) + caps:super = +capslock(super) + caps:hyper = +capslock(hyper) + caps:menu = +capslock(menu) + caps:none = +capslock(none) + caps:ctrl_modifier = +capslock(ctrl_modifier) + ctrl:nocaps = +ctrl(nocaps) + ctrl:lctrl_meta = +ctrl(lctrl_meta) + ctrl:swapcaps = +ctrl(swapcaps) + ctrl:swapcaps_hyper = +ctrl(swapcaps_hyper) + ctrl:swapcaps_and_switch_layout = +ctrl(swapcaps_and_switch_layout) + ctrl:ac_ctrl = +ctrl(ac_ctrl) + ctrl:aa_ctrl = +ctrl(aa_ctrl) + ctrl:rctrl_ralt = +ctrl(rctrl_ralt) + ctrl:menu_rctrl = +ctrl(menu_rctrl) + ctrl:ralt_rctrl = +ctrl(ralt_rctrl) + ctrl:swap_lalt_lctl = +ctrl(swap_lalt_lctl) + ctrl:swap_lwin_lctl = +ctrl(swap_lwin_lctl) + ctrl:swap_rwin_rctl = +ctrl(swap_rwin_rctl) + ctrl:swap_lalt_lctl_lwin = +ctrl(swap_lalt_lctl_lwin) + compose:ralt = +compose(ralt) + compose:lwin = +compose(lwin) + compose:lwin-altgr = +compose(lwin-altgr) + compose:rwin = +compose(rwin) + compose:rwin-altgr = +compose(rwin-altgr) + compose:menu = +compose(menu) + compose:menu-altgr = +compose(menu-altgr) + compose:lctrl = +compose(lctrl) + compose:lctrl-altgr = +compose(lctrl-altgr) + compose:rctrl = +compose(rctrl) + compose:rctrl-altgr = +compose(rctrl-altgr) + compose:caps = +compose(caps) + compose:caps-altgr = +compose(caps-altgr) + compose:102 = +compose(102) + compose:102-altgr = +compose(102-altgr) + compose:paus = +compose(paus) + compose:prsc = +compose(prsc) + compose:sclk = +compose(sclk) + srvrkeys:none = +srvr_ctrl(no_srvr_keys) + eurosign:e = +eurosign(e) + 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) + keypad:oss_wang = +keypad(oss_wang) + keypad:future = +keypad(future) + keypad:future_wang = +keypad(future_wang) + keypad:hex = +keypad(ops)+keypad(hex) + keypad:atm = +keypad(ops)+keypad(hex)+keypad(atm) + nbsp:none = +nbsp(none) + nbsp:level2 = +nbsp(level2) + nbsp:level3 = +nbsp(level3) + nbsp:level3s = +nbsp(level3s) + nbsp:level3n = +nbsp(level3n) + nbsp:level4 = +nbsp(level4) + nbsp:level4n = +nbsp(level4n) + nbsp:level4nl = +nbsp(level4nl) + nbsp:zwnj2 = +nbsp(zwnj2) + nbsp:zwnj2zwj3 = +nbsp(zwnj2zwj3) + nbsp:zwnj2zwj3nb4 = +nbsp(zwnj2zwj3nb4) + nbsp:zwnj2nb3 = +nbsp(zwnj2nb3) + nbsp:zwnj2nb3s = +nbsp(zwnj2nb3s) + nbsp:zwnj2nb3zwj4 = +nbsp(zwnj2nb3zwj4) + nbsp:zwnj2nb3nnb4 = +nbsp(zwnj2nb3nnb4) + nbsp:zwnj3zwj4 = +nbsp(zwnj3zwj4) + japan:nicola_f_bs = +jp(nicola_f_bs) + japan:hztg_escape = +jp(hztg_escape) + korean:ralt_hangul = +kr(ralt_hangul) + korean:rctrl_hangul = +kr(rctrl_hangul) + korean:ralt_hanja = +kr(ralt_hanja) + korean:rctrl_hanja = +kr(rctrl_hanja) + kpdl:dot = +kpdl(dot) + kpdl:comma = +kpdl(comma) + kpdl:dotoss = +kpdl(dotoss) + kpdl:dotoss_latin9 = +kpdl(dotoss_latin9) + kpdl:commaoss = +kpdl(commaoss) + kpdl:momayyezoss = +kpdl(momayyezoss) + kpdl:kposs = +kpdl(kposs) + kpdl:semi = +kpdl(semi) + shift:breaks_caps = +shift(breaks_caps) + esperanto:qwerty = +epo(qwerty) + esperanto:dvorak = +epo(dvorak) + esperanto:colemak = +epo(colemak) + terminate:ctrl_alt_bksp = +terminate(ctrl_alt_bksp) + keypad:pointerkeys = +keypad(pointerkeys) + apple:alupckeys = +macintosh_vndr/apple(alupckeys) + shift:both_capslock = +shift(both_capslock) + shift:lshift_both_capslock = +shift(lshift_both_capslock) + shift:rshift_both_capslock = +shift(rshift_both_capslock) + shift:both_capslock_cancel = +shift(both_capslock_cancel) + shift:lshift_both_capslock_cancel = +shift(lshift_both_capslock_cancel) + shift:rshift_both_capslock_cancel = +shift(rshift_both_capslock_cancel) + shift:both_shiftlock = +shift(both_shiftlock) + shift:lshift_both_shiftlock = +shift(lshift_both_shiftlock) + shift:rshift_both_shiftlock = +shift(rshift_both_shiftlock) + solaris:sun_compat = +sun_vndr/solaris(sun_compat) + lv2:lsgt_switch = +level2(lsgt_switch) + lv3:caps_switch = +level3(caps_switch) + lv3:bksl_switch = +level3(bksl_switch) + lv3:lsgt_switch = +level3(lsgt_switch) + lv3:caps_switch_latch = +level3(caps_switch_latch) + lv3:bksl_switch_latch = +level3(bksl_switch_latch) + lv3:lsgt_switch_latch = +level3(lsgt_switch_latch) + lv5:lsgt_switch = +level5(lsgt_switch) + lv5:ralt_switch = +level5(ralt_switch) + lv5:lsgt_switch_lock = +level5(lsgt_switch_lock) + lv5:ralt_switch_lock = +level5(ralt_switch_lock) + lv5:lwin_switch_lock = +level5(lwin_switch_lock) + lv5:rwin_switch_lock = +level5(rwin_switch_lock) + lv5:lsgt_switch_lock_cancel = +level5(lsgt_switch_lock_cancel) + lv5:ralt_switch_lock_cancel = +level5(ralt_switch_lock_cancel) + lv5:lwin_switch_lock_cancel = +level5(lwin_switch_lock_cancel) + lv5:rwin_switch_lock_cancel = +level5(rwin_switch_lock_cancel) + parens:swap_brackets = +parens(swap_brackets) + + +! option = compat + grp_led:num = +lednum(group_lock) + grp_led:caps = +ledcaps(group_lock) + grp_led:scroll = +ledscroll(group_lock) + mod_led:compose = +ledcompose(compose) + japan:kana_lock = +japan(kana_lock) + caps:shiftlock = +ledcaps(shift_lock) + grab:break_actions = +xfree86(grab_break) + + +! option = types + caps:internal = +caps(internal) + caps:internal_nocancel = +caps(internal_nocancel) + caps:shift = +caps(shift) + caps:shift_nocancel = +caps(shift_nocancel) + numpad:pc = +numpad(pc) + numpad:mac = +numpad(mac) + numpad:microsoft = +numpad(microsoft) + numpad:shift3 = +numpad(shift3) diff --git a/xkbdata/rules/xorg.lst b/xkbdata/rules/xorg.lst new file mode 100644 index 0000000..519f734 --- /dev/null +++ b/xkbdata/rules/xorg.lst @@ -0,0 +1,993 @@ +! model + pc86 Generic 86-key PC + pc101 Generic 101-key PC + pc102 Generic 102-key PC + pc104 Generic 104-key PC + pc104alt Generic 104-key PC with L-shaped Enter key + pc105 Generic 105-key PC + dell101 Dell 101-key PC + latitude Dell Latitude laptop + dellm65 Dell Precision M65 laptop + everex Everex STEPnote + flexpro Keytronic FlexPro + microsoft Microsoft Natural + omnikey101 Northgate OmniKey 101 + winbook Winbook Model XP5 + pc98 PC-98 + a4techKB21 A4Tech KB-21 + a4techKBS8 A4Tech KBS-8 + a4_rfkb23 A4Tech Wireless Desktop RFKB-23 + airkey Acer AirKey V + azonaRF2300 Azona RF2300 Wireless Internet + scorpius Advance Scorpius KI + brother Brother Internet + btc5113rf BTC 5113RF Multimedia + btc5126t BTC 5126T + btc6301urf BTC 6301URF + btc9000 BTC 9000 + btc9000a BTC 9000A + btc9001ah BTC 9001AH + btc5090 BTC 5090 + btc9019u BTC 9019U + btc9116u BTC 9116U Mini Wireless Internet and Gaming + cherryblue Cherry Blue Line CyBo@rd + cherryblueb Cherry CyMotion Master XPress + cherrybluea Cherry Blue Line CyBo@rd (alt.) + cherrycyboard Cherry CyBo@rd USB-Hub + cherrycmexpert Cherry CyMotion Expert + cherrybunlim Cherry B.UNLIMITED + chicony Chicony Internet + chicony0108 Chicony KU-0108 + chicony0420 Chicony KU-0420 + chicony9885 Chicony KB-9885 + compaqeak8 Compaq Easy Access + compaqik7 Compaq Internet (7 keys) + compaqik13 Compaq Internet (13 keys) + compaqik18 Compaq Internet (18 keys) + cymotionlinux Cherry CyMotion Master Linux + armada Compaq Armada laptop + presario Compaq Presario laptop + ipaq Compaq iPaq + dell Dell + dellsk8125 Dell SK-8125 + dellsk8135 Dell SK-8135 + dellusbmm Dell USB Multimedia + inspiron Dell Inspiron 6000/8000 laptop + precision_m Dell Precision M laptop + dexxa Dexxa Wireless Desktop + diamond Diamond 9801/9802 + dtk2000 DTK2000 + ennyah_dkb1008 Ennyah DKB-1008 + fscaa1667g Fujitsu-Siemens Amilo laptop + genius Genius Comfy KB-16M/Multimedia KWD-910 + geniuscomfy Genius Comfy KB-12e + geniuscomfy2 Genius Comfy KB-21e-Scroll + geniuskb19e Genius KB-19e NB + geniuskkb2050hs Genius KKB-2050HS + gyration Gyration + kinesis Kinesis + logitech_base Logitech + logitech_g15 Logitech G15 extra keys via G15daemon + hpi6 Hewlett-Packard Internet + hp250x Hewlett-Packard NEC SK-2500 Multimedia + hpxe3gc Hewlett-Packard Omnibook XE3 GC + hpxe3gf Hewlett-Packard Omnibook XE3 GF + hpxt1000 Hewlett-Packard Omnibook XT1000 + hpdv5 Hewlett-Packard Pavilion dv5 + hpzt11xx Hewlett-Packard Pavilion ZT1100 + hp500fa Hewlett-Packard Omnibook 500 FA + hp5xx Hewlett-Packard Omnibook 500 + hpnx9020 Hewlett-Packard nx9020 + hp6000 Hewlett-Packard Omnibook 6000/6100 + honeywell_euroboard Honeywell Euroboard + hpmini110 Hewlett-Packard Mini 110 laptop + rapidaccess IBM Rapid Access + rapidaccess2 IBM Rapid Access II + thinkpad IBM ThinkPad 560Z/600/600E/A22E + thinkpad60 IBM ThinkPad R60/T60/R61/T61 + thinkpadz60 IBM ThinkPad Z60m/Z60t/Z61m/Z61t + ibm_spacesaver IBM Space Saver + logiaccess Logitech Access + logiclx300 Logitech Cordless Desktop LX-300 + logii350 Logitech Internet 350 + logimel Logitech Internet 350 + logicd Logitech Cordless Desktop + logicd_it Logitech Cordless Desktop iTouch + logicd_nav Logitech Cordless Desktop Navigator + logicd_opt Logitech Cordless Desktop Optical + logicda Logitech Cordless Desktop (alt.) + logicdpa2 Logitech Cordless Desktop Pro (2nd alt.) + logicfn Logitech Cordless Freedom/Desktop Navigator + logicdn Logitech Cordless Desktop Navigator + logiitc Logitech iTouch Cordless Y-RB6 + logiik Logitech Internet + itouch Logitech iTouch + logicink Logitech Internet Navigator + logiex110 Logitech Cordless Desktop EX110 + logiinkse Logitech iTouch Internet Navigator SE + logiinkseusb Logitech iTouch Internet Navigator SE USB + logiultrax Logitech Ultra-X + logiultraxc Logitech Ultra-X Cordless Media Desktop + logidinovo Logitech diNovo + logidinovoedge Logitech diNovo Edge + mx1998 Memorex MX1998 + mx2500 Memorex MX2500 EZ-Access + mx2750 Memorex MX2750 + microsoft4000 Microsoft Natural Ergonomic 4000 + microsoft7000 Microsoft Natural Wireless Ergonomic 7000 + microsoftinet Microsoft Internet + microsoftpro Microsoft Natural Pro/Internet Pro + microsoftprousb Microsoft Natural Pro USB/Internet Pro + microsoftprooem Microsoft Natural Pro OEM + vsonku306 ViewSonic KU-306 Internet + microsoftprose Microsoft Internet Pro (Swedish) + microsoftoffice Microsoft Office Keyboard + microsoftmult Microsoft Wireless Multimedia 1.0A + microsoftsurface Microsoft Surface + microsoftelite Microsoft Natural Elite + microsoftccurve2k Microsoft Comfort Curve 2000 + oretec Ortek Multimedia/Internet MCK-800 + propeller Propeller Voyager KTEZ-1000 + qtronix QTronix Scorpius 98N+ + samsung4500 Samsung SDM 4500P + samsung4510 Samsung SDM 4510P + sanwaskbkg3 Sanwa Supply SKB-KG3 + sk1300 NEC SK-1300 + sk2500 NEC SK-2500 + sk6200 NEC SK-6200 + sk7100 NEC SK-7100 + sp_inet Super Power Multimedia + sven SVEN Ergonomic 2500 + sven303 SVEN Slim 303 + symplon Symplon PaceBook tablet + toshiba_s3000 Toshiba Satellite S3000 + trust Trust Wireless Classic + trustda Trust Direct Access + trust_slimline Trust Slimline + tm2020 TypeMatrix EZ-Reach 2020 + tm2030PS2 TypeMatrix EZ-Reach 2030 PS2 + tm2030USB TypeMatrix EZ-Reach 2030 USB + tm2030USB-102 TypeMatrix EZ-Reach 2030 USB (102/105:EU mode) + tm2030USB-106 TypeMatrix EZ-Reach 2030 USB (106:JP mode) + yahoo Yahoo! Internet + macbook78 MacBook/MacBook Pro + macbook79 MacBook/MacBook Pro (intl.) + macintosh Macintosh + macintosh_old Macintosh Old + macintosh_hhk Happy Hacking for Mac + acer_c300 Acer C300 + acer_ferrari4k Acer Ferrari 4000 + acer_laptop Acer laptop + asus_laptop Asus laptop + apple Apple + apple_laptop Apple laptop + applealu_ansi Apple Aluminium (ANSI) + applealu_iso Apple Aluminium (ISO) + applealu_jis Apple Aluminium (JIS) + silvercrest Silvercrest Multimedia Wireless + emachines eMachines m6800 laptop + benqx BenQ X-Touch + benqx730 BenQ X-Touch 730 + benqx800 BenQ X-Touch 800 + hhk Happy Hacking + classmate Classmate PC + olpc OLPC + sun_type7_usb Sun Type 7 USB + sun_type7_euro_usb Sun Type 7 USB (European) + sun_type7_unix_usb Sun Type 7 USB (Unix) + sun_type7_jp_usb Sun Type 7 USB (Japanese)/Japanese 106-key + sun_type6_usb Sun Type 6/7 USB + sun_type6_euro_usb Sun Type 6/7 USB (European) + sun_type6_unix_usb Sun Type 6 USB (Unix) + sun_type6_jp_usb Sun Type 6 USB (Japanese) + sun_type6_jp Sun Type 6 (Japanese) + targa_v811 Targa Visionary 811 + unitekkb1925 Unitek KB-1925 + compalfl90 FL90 + creativedw7000 Creative Desktop Wireless 7000 + teck227 Truly Ergonomic 227 + teck229 Truly Ergonomic 229 + apex300 SteelSeries Apex 300 (Apex RAW) + chromebook Chromebook + +! layout + us English (US) + af Dari + ara Arabic + al Albanian + am Armenian + at German (Austria) + au English (Australian) + az Azerbaijani + by Belarusian + be Belgian + bd Bangla + in Indian + ba Bosnian + br Portuguese (Brazil) + bg Bulgarian + dz Berber (Algeria, Latin) + ma Arabic (Morocco) + cm English (Cameroon) + mm Burmese + ca French (Canada) + cd French (Democratic Republic of the Congo) + cn Chinese + hr Croatian + cz Czech + dk Danish + nl Dutch + bt Dzongkha + ee Estonian + ir Persian + iq Iraqi + fo Faroese + fi Finnish + fr French + gh English (Ghana) + gn N'Ko (AZERTY) + ge Georgian + de German + gr Greek + hu Hungarian + is Icelandic + il Hebrew + it Italian + jp Japanese + kg Kyrgyz + kh Khmer (Cambodia) + kz Kazakh + la Lao + latam Spanish (Latin American) + lt Lithuanian + lv Latvian + mao Maori + me Montenegrin + mk Macedonian + mt Maltese + mn Mongolian + no Norwegian + pl Polish + pt Portuguese + ro Romanian + ru Russian + rs Serbian + si Slovenian + sk Slovak + es Spanish + se Swedish + ch German (Switzerland) + sy Arabic (Syria) + tj Tajik + lk Sinhala (phonetic) + th Thai + tr Turkish + tw Taiwanese + ua Ukrainian + gb English (UK) + uz Uzbek + vn Vietnamese + kr Korean + ie Irish + pk Urdu (Pakistan) + mv Dhivehi + za English (South Africa) + epo Esperanto + np Nepali + ng English (Nigeria) + et Amharic + sn Wolof + brai Braille + tm Turkmen + ml Bambara + tz Swahili (Tanzania) + tg French (Togo) + ke Swahili (Kenya) + bw Tswana + ph Filipino + md Moldavian + id Indonesian (Latin) + jv Indonesian (Javanese) + my Malay (Jawi, Arabic Keyboard) + custom A user-defined custom Layout + +! variant + chr us: Cherokee + haw us: Hawaiian + euro us: English (US, euro on 5) + intl us: English (US, intl., with dead keys) + alt-intl us: English (US, alt. intl.) + colemak us: English (Colemak) + colemak_dh us: English (Colemak-DH) + colemak_dh_iso us: English (Colemak-DH ISO) + dvorak us: English (Dvorak) + dvorak-intl us: English (Dvorak, intl., with dead keys) + dvorak-alt-intl us: English (Dvorak, alt. intl.) + dvorak-l us: English (Dvorak, left-handed) + dvorak-r us: English (Dvorak, right-handed) + dvorak-classic us: English (classic Dvorak) + dvp us: English (programmer Dvorak) + dvorak-mac us: English (Dvorak, Macintosh) + symbolic us: English (US, Symbolic) + rus us: Russian (US, phonetic) + mac us: English (Macintosh) + altgr-intl us: English (intl., with AltGr dead keys) + olpc2 us: English (the divide/multiply toggle the layout) + hbs us: Serbo-Croatian (US) + norman us: English (Norman) + workman us: English (Workman) + workman-intl us: English (Workman, intl., with dead keys) + ps af: Pashto + uz af: Uzbek (Afghanistan) + ps-olpc af: Pashto (Afghanistan, OLPC) + fa-olpc af: Dari (Afghanistan, OLPC) + uz-olpc af: Uzbek (Afghanistan, OLPC) + azerty ara: Arabic (AZERTY) + azerty_digits ara: Arabic (AZERTY, Eastern Arabic numerals) + digits ara: Arabic (Eastern Arabic numerals) + qwerty ara: Arabic (QWERTY) + qwerty_digits ara: Arabic (QWERTY, Eastern Arabic numerals) + buckwalter ara: Arabic (Buckwalter) + olpc ara: Arabic (OLPC) + mac ara: Arabic (Macintosh) + plisi al: Albanian (Plisi) + veqilharxhi al: Albanian (Veqilharxhi) + phonetic am: Armenian (phonetic) + phonetic-alt am: Armenian (alt. phonetic) + eastern am: Armenian (eastern) + western am: Armenian (western) + eastern-alt am: Armenian (alt. eastern) + nodeadkeys at: German (Austria, no dead keys) + mac at: German (Austria, Macintosh) + cyrillic az: Azerbaijani (Cyrillic) + legacy by: Belarusian (legacy) + latin by: Belarusian (Latin) + ru by: Russian (Belarus) + intl by: Belarusian (intl.) + oss be: Belgian (alt.) + oss_latin9 be: Belgian (Latin-9 only, alt.) + iso-alternate be: Belgian (ISO, alt.) + nodeadkeys be: Belgian (no dead keys) + wang be: Belgian (Wang 724 AZERTY) + probhat bd: Bangla (Probhat) + ben in: Bangla (India) + ben_probhat in: Bangla (India, Probhat) + ben_baishakhi in: Bangla (India, Baishakhi) + ben_bornona in: Bangla (India, Bornona) + ben_gitanjali in: Bangla (India, Gitanjali) + ben_inscript in: Bangla (India, Baishakhi InScript) + eeyek in: Manipuri (Eeyek) + guj in: Gujarati + guru in: Punjabi (Gurmukhi) + jhelum in: Punjabi (Gurmukhi Jhelum) + kan in: Kannada + kan-kagapa in: Kannada (KaGaPa, phonetic) + mal in: Malayalam + mal_lalitha in: Malayalam (Lalitha) + mal_enhanced in: Malayalam (enhanced InScript, with rupee) + ori in: Oriya + ori-bolnagri in: Oriya (Bolnagri) + ori-wx in: Oriya (Wx) + olck in: Ol Chiki + tam_tamilnet in: Tamil (TamilNet '99) + tam_tamilnet_with_tam_nums in: Tamil (TamilNet '99 with Tamil numerals) + tam_tamilnet_TAB in: Tamil (TamilNet '99, TAB encoding) + tam_tamilnet_TSCII in: Tamil (TamilNet '99, TSCII encoding) + tam in: Tamil (InScript) + tel in: Telugu + tel-kagapa in: Telugu (KaGaPa, phonetic) + tel-sarala in: Telugu (Sarala) + urd-phonetic in: Urdu (phonetic) + urd-phonetic3 in: Urdu (alt. phonetic) + urd-winkeys in: Urdu (Windows) + bolnagri in: Hindi (Bolnagri) + hin-wx in: Hindi (Wx) + hin-kagapa in: Hindi (KaGaPa, phonetic) + san-kagapa in: Sanskrit (KaGaPa, phonetic) + mar-kagapa in: Marathi (KaGaPa, phonetic) + eng in: English (India, with rupee) + iipa in: Indic IPA + marathi in: Marathi (enhanced InScript) + alternatequotes ba: Bosnian (with guillemets) + unicode ba: Bosnian (with Bosnian digraphs) + unicodeus ba: Bosnian (US, with Bosnian digraphs) + us ba: Bosnian (US) + nodeadkeys br: Portuguese (Brazil, no dead keys) + dvorak br: Portuguese (Brazil, Dvorak) + nativo br: Portuguese (Brazil, Nativo) + nativo-us br: Portuguese (Brazil, Nativo for US keyboards) + nativo-epo br: Esperanto (Brazil, Nativo) + thinkpad br: Portuguese (Brazil, IBM/Lenovo ThinkPad) + phonetic bg: Bulgarian (traditional phonetic) + bas_phonetic bg: Bulgarian (new phonetic) + bekl bg: Bulgarian (enhanced) + azerty-deadkeys dz: Kabyle (AZERTY, with dead keys) + qwerty-gb-deadkeys dz: Kabyle (QWERTY, UK, with dead keys) + qwerty-us-deadkeys dz: Kabyle (QWERTY, US, with dead keys) + ber dz: Berber (Algeria, Tifinagh) + ar dz: Arabic (Algeria) + french ma: French (Morocco) + tifinagh ma: Berber (Morocco, Tifinagh) + tifinagh-alt ma: Berber (Morocco, Tifinagh alt.) + tifinagh-alt-phonetic ma: Berber (Morocco, Tifinagh phonetic, alt.) + tifinagh-extended ma: Berber (Morocco, Tifinagh extended) + tifinagh-phonetic ma: Berber (Morocco, Tifinagh phonetic) + tifinagh-extended-phonetic ma: Berber (Morocco, Tifinagh extended phonetic) + rif ma: Tarifit + french cm: French (Cameroon) + qwerty cm: Cameroon Multilingual (QWERTY, intl.) + azerty cm: Cameroon (AZERTY, intl.) + dvorak cm: Cameroon (Dvorak, intl.) + mmuock cm: Mmuock + zawgyi mm: Burmese Zawgyi + shn mm: Shan + zgt mm: Shan (Zawgyi Tai) + mnw mm: Mon + mnw-a1 mm: Mon (A1) + fr-dvorak ca: French (Canada, Dvorak) + fr-legacy ca: French (Canada, legacy) + multix ca: Canadian (intl.) + multi ca: Canadian (intl., 1st part) + multi-2gr ca: Canadian (intl., 2nd part) + ike ca: Inuktitut + eng ca: English (Canada) + mon_trad cn: Mongolian (Bichig) + mon_trad_todo cn: Mongolian (Todo) + mon_trad_xibe cn: Mongolian (Xibe) + mon_trad_manchu cn: Mongolian (Manchu) + mon_trad_galik cn: Mongolian (Galik) + mon_todo_galik cn: Mongolian (Todo Galik) + mon_manchu_galik cn: Mongolian (Manchu Galik) + tib cn: Tibetan + tib_asciinum cn: Tibetan (with ASCII numerals) + ug cn: Uyghur + altgr-pinyin cn: Hanyu Pinyin Letters (with AltGr dead keys) + alternatequotes hr: Croatian (with guillemets) + unicode hr: Croatian (with Croatian digraphs) + unicodeus hr: Croatian (US, with Croatian digraphs) + us hr: Croatian (US) + bksl cz: Czech (with <\|> key) + qwerty cz: Czech (QWERTY) + qwerty_bksl cz: Czech (QWERTY, extended backslash) + qwerty-mac cz: Czech (QWERTY, Macintosh) + ucw cz: Czech (UCW, only accented letters) + dvorak-ucw cz: Czech (US, Dvorak, UCW support) + rus cz: Russian (Czech, phonetic) + nodeadkeys dk: Danish (no dead keys) + winkeys dk: Danish (Windows) + mac dk: Danish (Macintosh) + mac_nodeadkeys dk: Danish (Macintosh, no dead keys) + dvorak dk: Danish (Dvorak) + us nl: Dutch (US) + mac nl: Dutch (Macintosh) + std nl: Dutch (standard) + nodeadkeys ee: Estonian (no dead keys) + dvorak ee: Estonian (Dvorak) + us ee: Estonian (US) + pes_keypad ir: Persian (with Persian keypad) + ku ir: Kurdish (Iran, Latin Q) + ku_f ir: Kurdish (Iran, F) + ku_alt ir: Kurdish (Iran, Latin Alt-Q) + ku_ara ir: Kurdish (Iran, Arabic-Latin) + ku iq: Kurdish (Iraq, Latin Q) + ku_f iq: Kurdish (Iraq, F) + ku_alt iq: Kurdish (Iraq, Latin Alt-Q) + ku_ara iq: Kurdish (Iraq, Arabic-Latin) + nodeadkeys fo: Faroese (no dead keys) + winkeys fi: Finnish (Windows) + classic fi: Finnish (classic) + nodeadkeys fi: Finnish (classic, no dead keys) + smi fi: Northern Saami (Finland) + mac fi: Finnish (Macintosh) + nodeadkeys fr: French (no dead keys) + oss fr: French (alt.) + oss_latin9 fr: French (alt., Latin-9 only) + oss_nodeadkeys fr: French (alt., no dead keys) + latin9 fr: French (legacy, alt.) + latin9_nodeadkeys fr: French (legacy, alt., no dead keys) + bepo fr: French (BEPO) + bepo_latin9 fr: French (BEPO, Latin-9 only) + bepo_afnor fr: French (BEPO, AFNOR) + dvorak fr: French (Dvorak) + mac fr: French (Macintosh) + azerty fr: French (AZERTY) + afnor fr: French (AZERTY, AFNOR) + bre fr: French (Breton) + oci fr: Occitan + geo fr: Georgian (France, AZERTY Tskapo) + us fr: French (US) + generic gh: English (Ghana, multilingual) + akan gh: Akan + ewe gh: Ewe + fula gh: Fula + ga gh: Ga + hausa gh: Hausa (Ghana) + avn gh: Avatime + gillbt gh: English (Ghana, GILLBT) + ergonomic ge: Georgian (ergonomic) + mess ge: Georgian (MESS) + ru ge: Russian (Georgia) + os ge: Ossetian (Georgia) + deadacute de: German (dead acute) + deadgraveacute de: German (dead grave acute) + nodeadkeys de: German (no dead keys) + e1 de: German (E1) + e2 de: German (E2) + T3 de: German (T3) + us de: German (US) + ro de: Romanian (Germany) + ro_nodeadkeys de: Romanian (Germany, no dead keys) + dvorak de: German (Dvorak) + neo de: German (Neo 2) + mac de: German (Macintosh) + mac_nodeadkeys de: German (Macintosh, no dead keys) + dsb de: Lower Sorbian + dsb_qwertz de: Lower Sorbian (QWERTZ) + qwerty de: German (QWERTY) + tr de: Turkish (Germany) + ru de: Russian (Germany, phonetic) + deadtilde de: German (dead tilde) + simple gr: Greek (simple) + extended gr: Greek (extended) + nodeadkeys gr: Greek (no dead keys) + polytonic gr: Greek (polytonic) + standard hu: Hungarian (standard) + nodeadkeys hu: Hungarian (no dead keys) + qwerty hu: Hungarian (QWERTY) + 101_qwertz_comma_dead hu: Hungarian (QWERTZ, 101-key, comma, dead keys) + 101_qwertz_comma_nodead hu: Hungarian (QWERTZ, 101-key, comma, no dead keys) + 101_qwertz_dot_dead hu: Hungarian (QWERTZ, 101-key, dot, dead keys) + 101_qwertz_dot_nodead hu: Hungarian (QWERTZ, 101-key, dot, no dead keys) + 101_qwerty_comma_dead hu: Hungarian (QWERTY, 101-key, comma, dead keys) + 101_qwerty_comma_nodead hu: Hungarian (QWERTY, 101-key, comma, no dead keys) + 101_qwerty_dot_dead hu: Hungarian (QWERTY, 101-key, dot, dead keys) + 101_qwerty_dot_nodead hu: Hungarian (QWERTY, 101-key, dot, no dead keys) + 102_qwertz_comma_dead hu: Hungarian (QWERTZ, 102-key, comma, dead keys) + 102_qwertz_comma_nodead hu: Hungarian (QWERTZ, 102-key, comma, no dead keys) + 102_qwertz_dot_dead hu: Hungarian (QWERTZ, 102-key, dot, dead keys) + 102_qwertz_dot_nodead hu: Hungarian (QWERTZ, 102-key, dot, no dead keys) + 102_qwerty_comma_dead hu: Hungarian (QWERTY, 102-key, comma, dead keys) + 102_qwerty_comma_nodead hu: Hungarian (QWERTY, 102-key, comma, no dead keys) + 102_qwerty_dot_dead hu: Hungarian (QWERTY, 102-key, dot, dead keys) + 102_qwerty_dot_nodead hu: Hungarian (QWERTY, 102-key, dot, no dead keys) + mac_legacy is: Icelandic (Macintosh, legacy) + mac is: Icelandic (Macintosh) + dvorak is: Icelandic (Dvorak) + lyx il: Hebrew (lyx) + phonetic il: Hebrew (phonetic) + biblical il: Hebrew (Biblical, Tiro) + nodeadkeys it: Italian (no dead keys) + winkeys it: Italian (Windows) + mac it: Italian (Macintosh) + us it: Italian (US) + geo it: Georgian (Italy) + ibm it: Italian (IBM 142) + intl it: Italian (intl., with dead keys) + scn it: Sicilian + fur it: Friulian (Italy) + kana jp: Japanese (Kana) + kana86 jp: Japanese (Kana 86) + OADG109A jp: Japanese (OADG 109A) + mac jp: Japanese (Macintosh) + dvorak jp: Japanese (Dvorak) + phonetic kg: Kyrgyz (phonetic) + ruskaz kz: Russian (Kazakhstan, with Kazakh) + kazrus kz: Kazakh (with Russian) + ext kz: Kazakh (extended) + latin kz: Kazakh (Latin) + stea la: Lao (STEA) + nodeadkeys latam: Spanish (Latin American, no dead keys) + deadtilde latam: Spanish (Latin American, dead tilde) + dvorak latam: Spanish (Latin American, Dvorak) + colemak latam: Spanish (Latin American, Colemak) + colemak-gaming latam: Spanish (Latin American, Colemak for gaming) + std lt: Lithuanian (standard) + us lt: Lithuanian (US) + ibm lt: Lithuanian (IBM LST 1205-92) + lekp lt: Lithuanian (LEKP) + lekpa lt: Lithuanian (LEKPa) + sgs lt: Samogitian + ratise lt: Lithuanian (Ratise) + apostrophe lv: Latvian (apostrophe) + tilde lv: Latvian (tilde) + fkey lv: Latvian (F) + modern lv: Latvian (modern) + ergonomic lv: Latvian (ergonomic, ŪGJRMV) + adapted lv: Latvian (adapted) + cyrillic me: Montenegrin (Cyrillic) + cyrillicyz me: Montenegrin (Cyrillic, ZE and ZHE swapped) + latinunicode me: Montenegrin (Latin, Unicode) + latinyz me: Montenegrin (Latin, QWERTY) + latinunicodeyz me: Montenegrin (Latin, Unicode, QWERTY) + cyrillicalternatequotes me: Montenegrin (Cyrillic, with guillemets) + latinalternatequotes me: Montenegrin (Latin, with guillemets) + nodeadkeys mk: Macedonian (no dead keys) + us mt: Maltese (US) + alt-us mt: Maltese (US, with AltGr overrides) + alt-gb mt: Maltese (UK, with AltGr overrides) + nodeadkeys no: Norwegian (no dead keys) + winkeys no: Norwegian (Windows) + dvorak no: Norwegian (Dvorak) + smi no: Northern Saami (Norway) + smi_nodeadkeys no: Northern Saami (Norway, no dead keys) + mac no: Norwegian (Macintosh) + mac_nodeadkeys no: Norwegian (Macintosh, no dead keys) + colemak no: Norwegian (Colemak) + legacy pl: Polish (legacy) + qwertz pl: Polish (QWERTZ) + dvorak pl: Polish (Dvorak) + dvorak_quotes pl: Polish (Dvorak, with Polish quotes on quotemark key) + dvorak_altquotes pl: Polish (Dvorak, with Polish quotes on key 1) + csb pl: Kashubian + szl pl: Silesian + ru_phonetic_dvorak pl: Russian (Poland, phonetic Dvorak) + dvp pl: Polish (programmer Dvorak) + nodeadkeys pt: Portuguese (no dead keys) + mac pt: Portuguese (Macintosh) + mac_nodeadkeys pt: Portuguese (Macintosh, no dead keys) + nativo pt: Portuguese (Nativo) + nativo-us pt: Portuguese (Nativo for US keyboards) + nativo-epo pt: Esperanto (Portugal, Nativo) + std ro: Romanian (standard) + winkeys ro: Romanian (Windows) + phonetic ru: Russian (phonetic) + phonetic_winkeys ru: Russian (phonetic, Windows) + phonetic_YAZHERTY ru: Russian (phonetic, YAZHERTY) + typewriter ru: Russian (typewriter) + legacy ru: Russian (legacy) + typewriter-legacy ru: Russian (typewriter, legacy) + tt ru: Tatar + os_legacy ru: Ossetian (legacy) + os_winkeys ru: Ossetian (Windows) + cv ru: Chuvash + cv_latin ru: Chuvash (Latin) + udm ru: Udmurt + kom ru: Komi + sah ru: Yakut + xal ru: Kalmyk + dos ru: Russian (DOS) + mac ru: Russian (Macintosh) + srp ru: Serbian (Russia) + bak ru: Bashkirian + chm ru: Mari + phonetic_azerty ru: Russian (phonetic, AZERTY) + phonetic_dvorak ru: Russian (phonetic, Dvorak) + phonetic_fr ru: Russian (phonetic, French) + yz rs: Serbian (Cyrillic, ZE and ZHE swapped) + latin rs: Serbian (Latin) + latinunicode rs: Serbian (Latin, Unicode) + latinyz rs: Serbian (Latin, QWERTY) + latinunicodeyz rs: Serbian (Latin, Unicode, QWERTY) + alternatequotes rs: Serbian (Cyrillic, with guillemets) + latinalternatequotes rs: Serbian (Latin, with guillemets) + rue rs: Pannonian Rusyn + alternatequotes si: Slovenian (with guillemets) + us si: Slovenian (US) + bksl sk: Slovak (extended backslash) + qwerty sk: Slovak (QWERTY) + qwerty_bksl sk: Slovak (QWERTY, extended backslash) + nodeadkeys es: Spanish (no dead keys) + winkeys es: Spanish (Windows) + deadtilde es: Spanish (dead tilde) + dvorak es: Spanish (Dvorak) + ast es: Asturian (Spain, with bottom-dot H and L) + cat es: Catalan (Spain, with middle-dot L) + mac es: Spanish (Macintosh) + nodeadkeys se: Swedish (no dead keys) + dvorak se: Swedish (Dvorak) + rus se: Russian (Sweden, phonetic) + rus_nodeadkeys se: Russian (Sweden, phonetic, no dead keys) + smi se: Northern Saami (Sweden) + mac se: Swedish (Macintosh) + svdvorak se: Swedish (Svdvorak) + us_dvorak se: Swedish (Dvorak, intl.) + us se: Swedish (US) + swl se: Swedish Sign Language + legacy ch: German (Switzerland, legacy) + de_nodeadkeys ch: German (Switzerland, no dead keys) + fr ch: French (Switzerland) + fr_nodeadkeys ch: French (Switzerland, no dead keys) + fr_mac ch: French (Switzerland, Macintosh) + de_mac ch: German (Switzerland, Macintosh) + syc sy: Syriac + syc_phonetic sy: Syriac (phonetic) + ku sy: Kurdish (Syria, Latin Q) + ku_f sy: Kurdish (Syria, F) + ku_alt sy: Kurdish (Syria, Latin Alt-Q) + legacy tj: Tajik (legacy) + tam_unicode lk: Tamil (Sri Lanka, TamilNet '99) + tam_TAB lk: Tamil (Sri Lanka, TamilNet '99, TAB encoding) + us lk: Sinhala (US) + tis th: Thai (TIS-820.2538) + pat th: Thai (Pattachote) + f tr: Turkish (F) + alt tr: Turkish (Alt-Q) + ku tr: Kurdish (Turkey, Latin Q) + ku_f tr: Kurdish (Turkey, F) + ku_alt tr: Kurdish (Turkey, Latin Alt-Q) + intl tr: Turkish (intl., with dead keys) + ot tr: Ottoman (Q) + otf tr: Ottoman (F) + otk tr: Old Turkic + otkf tr: Old Turkic (F) + indigenous tw: Taiwanese (indigenous) + saisiyat tw: Saisiyat (Taiwan) + phonetic ua: Ukrainian (phonetic) + typewriter ua: Ukrainian (typewriter) + winkeys ua: Ukrainian (Windows) + macOS ua: Ukrainian (macOS) + legacy ua: Ukrainian (legacy) + rstu ua: Ukrainian (standard RSTU) + rstu_ru ua: Russian (Ukraine, standard RSTU) + homophonic ua: Ukrainian (homophonic) + crh ua: Crimean Tatar (Turkish Q) + crh_f ua: Crimean Tatar (Turkish F) + crh_alt ua: Crimean Tatar (Turkish Alt-Q) + extd gb: English (UK, extended, Windows) + intl gb: English (UK, intl., with dead keys) + dvorak gb: English (UK, Dvorak) + dvorakukp gb: English (UK, Dvorak, with UK punctuation) + mac gb: English (UK, Macintosh) + mac_intl gb: English (UK, Macintosh, intl.) + colemak gb: English (UK, Colemak) + colemak_dh gb: English (UK, Colemak-DH) + pl gb: Polish (British keyboard) + gla gb: Scottish Gaelic + latin uz: Uzbek (Latin) + us vn: Vietnamese (US) + fr vn: Vietnamese (French) + kr104 kr: Korean (101/104-key compatible) + CloGaelach ie: CloGaelach + UnicodeExpert ie: Irish (UnicodeExpert) + ogam ie: Ogham + ogam_is434 ie: Ogham (IS434) + urd-crulp pk: Urdu (Pakistan, CRULP) + urd-nla pk: Urdu (Pakistan, NLA) + ara pk: Arabic (Pakistan) + snd pk: Sindhi + legacy epo: Esperanto (legacy) + igbo ng: Igbo + yoruba ng: Yoruba + hausa ng: Hausa (Nigeria) + left_hand brai: Braille (left-handed) + left_hand_invert brai: Braille (left-handed inverted thumb) + right_hand brai: Braille (right-handed) + right_hand_invert brai: Braille (right-handed inverted thumb) + alt tm: Turkmen (Alt-Q) + fr-oss ml: French (Mali, alt.) + us-mac ml: English (Mali, US, Macintosh) + us-intl ml: English (Mali, US, intl.) + kik ke: Kikuyu + qwerty-bay ph: Filipino (QWERTY, Baybayin) + capewell-dvorak ph: Filipino (Capewell-Dvorak, Latin) + capewell-dvorak-bay ph: Filipino (Capewell-Dvorak, Baybayin) + capewell-qwerf2k6 ph: Filipino (Capewell-QWERF 2006, Latin) + capewell-qwerf2k6-bay ph: Filipino (Capewell-QWERF 2006, Baybayin) + colemak ph: Filipino (Colemak, Latin) + colemak-bay ph: Filipino (Colemak, Baybayin) + dvorak ph: Filipino (Dvorak, Latin) + dvorak-bay ph: Filipino (Dvorak, Baybayin) + gag md: Moldavian (Gagauz) + phonetic id: Indonesian (Arab Pegon, phonetic) + phoneticx id: Indonesian (Arab Pegon, extended phonetic) + phonetic my: Malay (Jawi, phonetic) + +! option + grp Switching to another layout + grp:switch Right Alt (while pressed) + grp:lswitch Left Alt (while pressed) + grp:lwin_switch Left Win (while pressed) + grp:rwin_switch Right Win (while pressed) + grp:win_switch Any Win (while pressed) + grp:menu_switch Menu (while pressed), Shift+Menu for Menu + grp:caps_switch Caps Lock (while pressed), Alt+Caps Lock for the original Caps Lock action + grp:rctrl_switch Right Ctrl (while pressed) + grp:toggle Right Alt + grp:lalt_toggle Left Alt + grp:caps_toggle Caps Lock + grp:shift_caps_toggle Shift+Caps Lock + grp:shift_caps_switch Caps Lock to first layout; Shift+Caps Lock to last layout + grp:win_menu_switch Left Win to first layout; Right Win/Menu to last layout + grp:lctrl_rctrl_switch Left Ctrl to first layout; Right Ctrl to last layout + grp:alt_caps_toggle Alt+Caps Lock + grp:shifts_toggle Both Shift together + grp:alts_toggle Both Alt together + grp:ctrls_toggle Both Ctrl together + grp:ctrl_shift_toggle Ctrl+Shift + grp:lctrl_lshift_toggle Left Ctrl+Left Shift + grp:rctrl_rshift_toggle Right Ctrl+Right Shift + grp:ctrl_alt_toggle Alt+Ctrl + grp:alt_shift_toggle Alt+Shift + grp:lalt_lshift_toggle Left Alt+Left Shift + grp:alt_space_toggle Alt+Space + grp:menu_toggle Menu + grp:lwin_toggle Left Win + grp:win_space_toggle Win+Space + grp:rwin_toggle Right Win + grp:lshift_toggle Left Shift + grp:rshift_toggle Right Shift + grp:lctrl_toggle Left Ctrl + grp:rctrl_toggle Right Ctrl + grp:sclk_toggle Scroll Lock + grp:lctrl_lwin_rctrl_menu Left Ctrl+Left Win to first layout; Right Ctrl+Menu to second layout + grp:lctrl_lwin_toggle Left Ctrl+Left Win + lv2 Key to choose the 2nd level + lv2:lsgt_switch The "< >" key + lv3 Key to choose the 3rd level + lv3:switch Right Ctrl + lv3:menu_switch Menu + lv3:win_switch Any Win + lv3:lwin_switch Left Win + lv3:rwin_switch Right Win + lv3:alt_switch Any Alt + lv3:lalt_switch Left Alt + lv3:ralt_switch Right Alt + lv3:ralt_switch_multikey Right Alt; Shift+Right Alt as Compose + lv3:ralt_alt Right Alt never chooses 3rd level + lv3:enter_switch Enter on keypad + lv3:caps_switch Caps Lock + lv3:bksl_switch Backslash + lv3:lsgt_switch The "< >" key + lv3:caps_switch_latch Caps Lock; acts as onetime lock when pressed together with another 3rd-level chooser + lv3:bksl_switch_latch Backslash; acts as onetime lock when pressed together with another 3rd level chooser + lv3:lsgt_switch_latch The "< >" key; acts as onetime lock when pressed together with another 3rd level chooser + ctrl Ctrl position + ctrl:nocaps Caps Lock as Ctrl + ctrl:lctrl_meta Left Ctrl as Meta + ctrl:swapcaps Swap Ctrl and Caps Lock + ctrl:swapcaps_hyper Caps Lock as Ctrl, Ctrl as Hyper + ctrl:ac_ctrl To the left of "A" + ctrl:aa_ctrl At the bottom left + ctrl:rctrl_ralt Right Ctrl as Right Alt + ctrl:menu_rctrl Menu as Right Ctrl + ctrl:swap_lalt_lctl Swap Left Alt with Left Ctrl + ctrl:swap_lwin_lctl Swap Left Win with Left Ctrl + ctrl:swap_rwin_rctl Swap Right Win with Right Ctrl + ctrl:swap_lalt_lctl_lwin Left Alt as Ctrl, Left Ctrl as Win, Left Win as Left Alt + grp_led Use keyboard LED to show alternative layout + grp_led:num Num Lock + grp_led:caps Caps Lock + grp_led:scroll Scroll Lock + mod_led Use keyboard LED to indicate modifiers + mod_led:compose Compose + keypad Layout of numeric keypad + keypad:legacy Legacy + keypad:oss Unicode arrows and math operators + keypad:future Unicode arrows and math operators on default level + keypad:legacy_wang Legacy Wang 724 + keypad:oss_wang Wang 724 keypad with Unicode arrows and math operators + keypad:future_wang Wang 724 keypad with Unicode arrows and math operators on default level + keypad:hex Hexadecimal + keypad:atm Phone and ATM style + kpdl Numeric keypad Delete behavior + kpdl:dot Legacy key with dot + kpdl:comma Legacy key with comma + kpdl:dotoss Four-level key with dot + kpdl:dotoss_latin9 Four-level key with dot, Latin-9 only + kpdl:commaoss Four-level key with comma + kpdl:momayyezoss Four-level key with momayyez + kpdl:kposs Four-level key with abstract separators + kpdl:semi Semicolon on third level + caps Caps Lock behavior + caps:internal Caps Lock uses internal capitalization; Shift "pauses" Caps Lock + caps:internal_nocancel Caps Lock uses internal capitalization; Shift does not affect Caps Lock + caps:shift Caps Lock acts as Shift with locking; Shift "pauses" Caps Lock + caps:shift_nocancel Caps Lock acts as Shift with locking; Shift does not affect Caps Lock + caps:capslock Caps Lock toggles normal capitalization of alphabetic characters + caps:shiftlock Caps Lock toggles Shift Lock (affects all keys) + caps:swapescape Swap Esc and Caps Lock + caps:escape Make Caps Lock an additional Esc + caps:escape_shifted_capslock Make Caps Lock an additional Esc, but Shift + Caps Lock is the regular Caps Lock + caps:backspace Make Caps Lock an additional Backspace + caps:super Make Caps Lock an additional Super + caps:hyper Make Caps Lock an additional Hyper + caps:menu Make Caps Lock an additional Menu key + caps:numlock Make Caps Lock an additional Num Lock + caps:ctrl_modifier Make Caps Lock an additional Ctrl + caps:none Caps Lock is disabled + altwin Alt and Win behavior + altwin:menu Add the standard behavior to Menu key + altwin:menu_win Menu is mapped to Win + altwin:meta_alt Alt and Meta are on Alt + altwin:alt_win Alt is mapped to Win and the usual Alt + altwin:ctrl_win Ctrl is mapped to Win and the usual Ctrl + altwin:ctrl_rwin Ctrl is mapped to Right Win and the usual Ctrl + altwin:ctrl_alt_win Ctrl is mapped to Alt, Alt to Win + altwin:meta_win Meta is mapped to Win + altwin:left_meta_win Meta is mapped to Left Win + altwin:hyper_win Hyper is mapped to Win + altwin:alt_super_win Alt is mapped to Right Win, Super to Menu + altwin:swap_lalt_lwin Left Alt is swapped with Left Win + altwin:swap_alt_win Alt is swapped with Win + altwin:prtsc_rwin Win is mapped to PrtSc and the usual Win + Compose key Position of Compose key + compose:ralt Right Alt + compose:lwin Left Win + compose:lwin-altgr 3rd level of Left Win + compose:rwin Right Win + compose:rwin-altgr 3rd level of Right Win + compose:menu Menu + compose:menu-altgr 3rd level of Menu + compose:lctrl Left Ctrl + compose:lctrl-altgr 3rd level of Left Ctrl + compose:rctrl Right Ctrl + compose:rctrl-altgr 3rd level of Right Ctrl + compose:caps Caps Lock + compose:caps-altgr 3rd level of Caps Lock + compose:102 The "< >" key + compose:102-altgr 3rd level of the "< >" key + compose:paus Pause + compose:prsc PrtSc + compose:sclk Scroll Lock + compat Compatibility options + numpad:pc Default numeric keypad keys + numpad:mac Numeric keypad always enters digits (as in macOS) + numpad:microsoft Num Lock on: digits; Shift for arrows. Num Lock off: arrows (as in Windows) + numpad:shift3 Shift does not cancel Num Lock, chooses 3rd level instead + srvrkeys:none Special keys (Ctrl+Alt+<key>) handled in a server + apple:alupckeys Apple Aluminium emulates Pause, PrtSc, Scroll Lock + shift:breaks_caps Shift cancels Caps Lock + misc:typo Enable extra typographic characters + misc:apl Enable APL overlay characters + shift:both_capslock Both Shift together enable Caps Lock + shift:both_capslock_cancel Both Shift together enable Caps Lock; one Shift key disables it + shift:both_shiftlock Both Shift together enable Shift Lock + keypad:pointerkeys Shift + Num Lock enables PointerKeys + grab:break_actions Allow breaking grabs with keyboard actions (warning: security risk) + grab:debug Allow grab and window tree logging + currencysign Currency signs + eurosign:e Euro on E + eurosign:2 Euro on 2 + eurosign:4 Euro on 4 + eurosign:5 Euro on 5 + rupeesign:4 Rupee on 4 + lv5 Key to choose 5th level + lv5:lsgt_switch The "< >" key chooses 5th level + lv5:ralt_switch Right Alt chooses 5th level + lv5:menu_switch Menu chooses 5th level + lv5:lsgt_switch_lock The "< >" key chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser + lv5:ralt_switch_lock Right Alt chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser + lv5:lwin_switch_lock Left Win chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser + lv5:rwin_switch_lock Right Win chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser + lv5:lsgt_switch_lock_cancel The "< >" key chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser + lv5:lsgt_switch The "< >" key chooses 5th level + lv5:ralt_switch Right Alt chooses 5th level + lv5:menu_switch Menu chooses 5th level + lv5:lsgt_switch_lock The "< >" key chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser + lv5:ralt_switch_lock Right Alt chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser + lv5:lwin_switch_lock Left Win chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser + lv5:rwin_switch_lock Right Win chooses 5th level and acts as a one-time lock if pressed with another 5th level chooser + nbsp Non-breaking space input + nbsp:none Usual space at any level + nbsp:level2 Non-breaking space at the 2nd level + nbsp:level3 Non-breaking space at the 3rd level + nbsp:level3s Non-breaking space at the 3rd level, nothing at the 4th level + nbsp:level3n Non-breaking space at the 3rd level, thin non-breaking space at the 4th level + nbsp:level4 Non-breaking space at the 4th level + nbsp:level4n Non-breaking space at the 4th level, thin non-breaking space at the 6th level + nbsp:level4nl Non-breaking space at the 4th level, thin non-breaking space at the 6th level (via Ctrl+Shift) + nbsp:zwnj2 Zero-width non-joiner at the 2nd level + nbsp:zwnj2zwj3 Zero-width non-joiner at the 2nd level, zero-width joiner at the 3rd level + nbsp:zwnj2zwj3nb4 Zero-width non-joiner at the 2nd level, zero-width joiner at the 3rd level, non-breaking space at the 4th level + nbsp:zwnj2nb3 Zero-width non-joiner at the 2nd level, non-breaking space at the 3rd level + nbsp:zwnj2nb3s Zero-width non-joiner at the 2nd level, non-breaking space at the 3rd level, nothing at the 4th level + nbsp:zwnj2nb3zwj4 Zero-width non-joiner at the 2nd level, non-breaking space at the 3rd level, zero-width joiner at the 4th level + nbsp:zwnj2nb3nnb4 Zero-width non-joiner at the 2nd level, non-breaking space at the 3rd level, thin non-breaking space at the 4th level + nbsp:zwnj3zwj4 Zero-width non-joiner at the 3rd level, zero-width joiner at the 4th level + japan Japanese keyboard options + japan:kana_lock Kana Lock key is locking + japan:nicola_f_bs NICOLA-F style Backspace + japan:hztg_escape Make Zenkaku Hankaku an additional Esc + korean Korean Hangul/Hanja keys + korean:ralt_hangul Make right Alt a Hangul key + korean:rctrl_hangul Make right Ctrl a Hangul key + korean:ralt_hanja Make right Alt a Hanja key + korean:rctrl_hanja Make right Ctrl a Hanja key + esperanto Esperanto letters with superscripts + esperanto:qwerty At the corresponding key in a QWERTY layout + esperanto:dvorak At the corresponding key in a Dvorak layout + esperanto:colemak At the corresponding key in a Colemak layout + solaris Old Solaris keycodes compatibility + solaris:sun_compat Sun key compatibility + terminate Key sequence to kill the X server + terminate:ctrl_alt_bksp Ctrl+Alt+Backspace diff --git a/xkbdata/rules/xorg.xml b/xkbdata/rules/xorg.xml new file mode 100644 index 0000000..0ed9ce8 --- /dev/null +++ b/xkbdata/rules/xorg.xml @@ -0,0 +1,7779 @@ + + + + + + + pc86 + Generic 86-key PC + Generic + + + + + pc101 + Generic 101-key PC + Generic + + + + + pc102 + Generic 102-key PC + Generic + + + + + pc104 + Generic 104-key PC + Generic + + + + + pc104alt + Generic 104-key PC with L-shaped Enter key + Generic + + + + + pc105 + Generic 105-key PC + Generic + + + + + dell101 + Dell 101-key PC + Dell + + + + + latitude + Dell Latitude laptop + Dell + + + + + dellm65 + Dell Precision M65 laptop + Dell + + + + + everex + Everex STEPnote + Everex + + + + + flexpro + Keytronic FlexPro + Keytronic + + + + + microsoft + Microsoft Natural + Microsoft + + + + + omnikey101 + Northgate OmniKey 101 + Northgate + + + + + winbook + Winbook Model XP5 + Generic + + + + + pc98 + PC-98 + Generic + + + + + a4techKB21 + A4Tech KB-21 + A4Tech + + + + + a4techKBS8 + A4Tech KBS-8 + A4Tech + + + + + a4_rfkb23 + A4Tech Wireless Desktop RFKB-23 + A4Tech + + + + + airkey + Acer AirKey V + Acer + + + + + azonaRF2300 + Azona RF2300 Wireless Internet + Azona + + + + + scorpius + Advance Scorpius KI + Scorpius + + + + + brother + Brother Internet + Brother + + + + + btc5113rf + BTC 5113RF Multimedia + BTC + + + + + btc5126t + BTC 5126T + BTC + + + + + btc6301urf + BTC 6301URF + BTC + + + + + btc9000 + BTC 9000 + BTC + + + + + btc9000a + BTC 9000A + BTC + + + + + btc9001ah + BTC 9001AH + BTC + + + + + btc5090 + BTC 5090 + BTC + + + + + btc9019u + BTC 9019U + BTC + + + + + btc9116u + BTC 9116U Mini Wireless Internet and Gaming + BTC + + + + + cherryblue + Cherry Blue Line CyBo@rd + Cherry + + + + + cherryblueb + Cherry CyMotion Master XPress + Cherry + + + + + cherrybluea + Cherry Blue Line CyBo@rd (alt.) + Cherry + + + + + cherrycyboard + Cherry CyBo@rd USB-Hub + Cherry + + + + + cherrycmexpert + Cherry CyMotion Expert + Cherry + + + + + cherrybunlim + Cherry B.UNLIMITED + Cherry + + + + + chicony + Chicony Internet + Chicony + + + + + chicony0108 + Chicony KU-0108 + Chicony + + + + + chicony0420 + Chicony KU-0420 + Chicony + + + + + chicony9885 + Chicony KB-9885 + Chicony + + + + + compaqeak8 + Compaq Easy Access + Compaq + + + + + compaqik7 + Compaq Internet (7 keys) + Compaq + + + + + compaqik13 + Compaq Internet (13 keys) + Compaq + + + + + compaqik18 + Compaq Internet (18 keys) + Compaq + + + + + cymotionlinux + Cherry CyMotion Master Linux + Cherry + + + + + armada + Compaq Armada laptop + Compaq + + + + + presario + Compaq Presario laptop + Compaq + + + + + ipaq + Compaq iPaq + Compaq + + + + + dell + Dell + Dell + + + + + dellsk8125 + Dell SK-8125 + Dell + + + + + dellsk8135 + Dell SK-8135 + Dell + + + + + dellusbmm + Dell USB Multimedia + Dell + + + + + inspiron + Dell Inspiron 6000/8000 laptop + Dell + + + + + precision_m + Dell Precision M laptop + Dell + + + + + dexxa + Dexxa Wireless Desktop + Dexxa + + + + + diamond + Diamond 9801/9802 + Diamond + + + + + dtk2000 + DTK2000 + DTK + + + + + ennyah_dkb1008 + Ennyah DKB-1008 + Ennyah + + + + + fscaa1667g + Fujitsu-Siemens Amilo laptop + Fujitsu-Siemens + + + + + genius + Genius Comfy KB-16M/Multimedia KWD-910 + Genius + + + + + geniuscomfy + Genius Comfy KB-12e + Genius + + + + + geniuscomfy2 + Genius Comfy KB-21e-Scroll + Genius + + + + + geniuskb19e + Genius KB-19e NB + Genius + + + + + geniuskkb2050hs + Genius KKB-2050HS + Genius + + + + + gyration + Gyration + Gyration + + + + + kinesis + Kinesis + Kinesis + + + + + logitech_base + Logitech + Logitech + + + + + logitech_g15 + Logitech G15 extra keys via G15daemon + Logitech + + + + + hpi6 + Hewlett-Packard Internet + Hewlett-Packard + + + + + hp250x + Hewlett-Packard NEC SK-2500 Multimedia + Hewlett-Packard + + + + + hpxe3gc + Hewlett-Packard Omnibook XE3 GC + Hewlett-Packard + + + + + hpxe3gf + Hewlett-Packard Omnibook XE3 GF + Hewlett-Packard + + + + + hpxt1000 + Hewlett-Packard Omnibook XT1000 + Hewlett-Packard + + + + + hpdv5 + Hewlett-Packard Pavilion dv5 + Hewlett-Packard + + + + + hpzt11xx + Hewlett-Packard Pavilion ZT1100 + Hewlett-Packard + + + + + hp500fa + Hewlett-Packard Omnibook 500 FA + Hewlett-Packard + + + + + hp5xx + Hewlett-Packard Omnibook 500 + Hewlett-Packard + + + + + hpnx9020 + Hewlett-Packard nx9020 + Hewlett-Packard + + + + + hp6000 + Hewlett-Packard Omnibook 6000/6100 + Hewlett-Packard + + + + + honeywell_euroboard + Honeywell Euroboard + Hewlett-Packard + + + + + hpmini110 + Hewlett-Packard Mini 110 laptop + Hewlett-Packard + + + + + rapidaccess + IBM Rapid Access + Lenovo (previously IBM) + + + + + rapidaccess2 + IBM Rapid Access II + Lenovo (previously IBM) + + + + + thinkpad + IBM ThinkPad 560Z/600/600E/A22E + Lenovo (previously IBM) + + + + + thinkpad60 + IBM ThinkPad R60/T60/R61/T61 + Lenovo (previously IBM) + + + + + thinkpadz60 + IBM ThinkPad Z60m/Z60t/Z61m/Z61t + Lenovo (previously IBM) + + + + + ibm_spacesaver + IBM Space Saver + Lenovo (previously IBM) + + + + + logiaccess + Logitech Access + Logitech + + + + + logiclx300 + Logitech Cordless Desktop LX-300 + Logitech + + + + + logii350 + Logitech Internet 350 + Logitech + 046d:c313 + + + + + logimel + Logitech Internet 350 + Logitech + + + + + logicd + Logitech Cordless Desktop + Logitech + + + + + logicd_it + Logitech Cordless Desktop iTouch + Logitech + + + + + logicd_nav + Logitech Cordless Desktop Navigator + Logitech + + + + + logicd_opt + Logitech Cordless Desktop Optical + Logitech + + + + + logicda + Logitech Cordless Desktop (alt.) + Logitech + + + + + logicdpa2 + Logitech Cordless Desktop Pro (2nd alt.) + Logitech + + + + + logicfn + Logitech Cordless Freedom/Desktop Navigator + Logitech + + + + + logicdn + Logitech Cordless Desktop Navigator + Logitech + + + + + logiitc + Logitech iTouch Cordless Y-RB6 + Logitech + + + + + logiik + Logitech Internet + Logitech + + + + + itouch + Logitech iTouch + Logitech + + + + + logicink + Logitech Internet Navigator + Logitech + + + + + logiex110 + Logitech Cordless Desktop EX110 + Logitech + + + + + logiinkse + Logitech iTouch Internet Navigator SE + Logitech + + + + + logiinkseusb + Logitech iTouch Internet Navigator SE USB + Logitech + + + + + logiultrax + Logitech Ultra-X + Logitech + + + + + logiultraxc + Logitech Ultra-X Cordless Media Desktop + Logitech + + + + + logidinovo + Logitech diNovo + Logitech + + + + + logidinovoedge + Logitech diNovo Edge + Logitech + + + + + mx1998 + Memorex MX1998 + Memorex + + + + + mx2500 + Memorex MX2500 EZ-Access + Memorex + + + + + mx2750 + Memorex MX2750 + Memorex + + + + + microsoft4000 + Microsoft Natural Ergonomic 4000 + Microsoft + + + + + microsoft7000 + Microsoft Natural Wireless Ergonomic 7000 + Microsoft + + + + + microsoftinet + Microsoft Internet + Microsoft + + + + + microsoftpro + Microsoft Natural Pro/Internet Pro + Microsoft + + + + + microsoftprousb + Microsoft Natural Pro USB/Internet Pro + Microsoft + + + + + microsoftprooem + Microsoft Natural Pro OEM + Microsoft + + + + + vsonku306 + ViewSonic KU-306 Internet + ViewSonic + + + + + microsoftprose + Microsoft Internet Pro (Swedish) + Microsoft + + + + + microsoftoffice + Microsoft Office Keyboard + Microsoft + + + + + microsoftmult + Microsoft Wireless Multimedia 1.0A + Microsoft + + + + + microsoftsurface + Microsoft Surface + Microsoft + + + + + microsoftelite + Microsoft Natural Elite + Microsoft + + + + + microsoftccurve2k + Microsoft Comfort Curve 2000 + Microsoft + + + + + oretec + Ortek Multimedia/Internet MCK-800 + Ortek + + + + + propeller + Propeller Voyager KTEZ-1000 + KeyTronic + + + + + qtronix + QTronix Scorpius 98N+ + QTronix + + + + + samsung4500 + Samsung SDM 4500P + Samsung + + + + + samsung4510 + Samsung SDM 4510P + Samsung + + + + + sanwaskbkg3 + Sanwa Supply SKB-KG3 + Sanwa Supply Inc. + + + + + sk1300 + NEC SK-1300 + NEC + + + + + sk2500 + NEC SK-2500 + NEC + + + + + sk6200 + NEC SK-6200 + NEC + + + + + sk7100 + NEC SK-7100 + NEC + + + + + sp_inet + Super Power Multimedia + Generic + + + + + sven + SVEN Ergonomic 2500 + SVEN + + + + + sven303 + SVEN Slim 303 + SVEN + + + + + symplon + Symplon PaceBook tablet + Symplon + + + + + toshiba_s3000 + Toshiba Satellite S3000 + Toshiba + + + + + trust + Trust Wireless Classic + Trust + + + + + trustda + Trust Direct Access + Trust + + + + + trust_slimline + Trust Slimline + Trust + + + + + tm2020 + TypeMatrix EZ-Reach 2020 + TypeMatrix + + + + + tm2030PS2 + TypeMatrix EZ-Reach 2030 PS2 + TypeMatrix + + + + + tm2030USB + TypeMatrix EZ-Reach 2030 USB + TypeMatrix + + + + + tm2030USB-102 + TypeMatrix EZ-Reach 2030 USB (102/105:EU mode) + TypeMatrix + + + + + tm2030USB-106 + TypeMatrix EZ-Reach 2030 USB (106:JP mode) + TypeMatrix + + + + + yahoo + Yahoo! Internet + Yahoo! + + + + + macbook78 + MacBook/MacBook Pro + Apple + + + + + macbook79 + MacBook/MacBook Pro (intl.) + Apple + + + + + macintosh + Macintosh + Apple + + + + + macintosh_old + Macintosh Old + Apple + + + + + macintosh_hhk + Happy Hacking for Mac + Fujitsu + + + + + acer_c300 + Acer C300 + Acer + + + + + acer_ferrari4k + Acer Ferrari 4000 + Acer + + + + + acer_laptop + Acer laptop + Acer + + + + + asus_laptop + Asus laptop + Asus + + + + + apple + Apple + Apple + + + + + apple_laptop + Apple laptop + Apple + + + + + applealu_ansi + Apple Aluminium (ANSI) + Apple + + + + + applealu_iso + Apple Aluminium (ISO) + Apple + + + + + applealu_jis + Apple Aluminium (JIS) + Apple + + + + + silvercrest + Silvercrest Multimedia Wireless + Silvercrest + + + + + emachines + eMachines m6800 laptop + eMachines + + + + + benqx + BenQ X-Touch + BenQ + + + + + benqx730 + BenQ X-Touch 730 + BenQ + + + + + benqx800 + BenQ X-Touch 800 + BenQ + + + + + hhk + Happy Hacking + Fujitsu + + + + + classmate + Classmate PC + Intel + + + + + olpc + OLPC + OLPC + + + + + sun_type7_usb + Sun Type 7 USB + Sun Microsystems + + + + + sun_type7_euro_usb + Sun Type 7 USB (European) + Sun Microsystems + + + + + sun_type7_unix_usb + Sun Type 7 USB (Unix) + Sun Microsystems + + + + + sun_type7_jp_usb + Sun Type 7 USB (Japanese)/Japanese 106-key + Sun Microsystems + + + + + sun_type6_usb + Sun Type 6/7 USB + Sun Microsystems + + + + + sun_type6_euro_usb + Sun Type 6/7 USB (European) + Sun Microsystems + + + + + sun_type6_unix_usb + Sun Type 6 USB (Unix) + Sun Microsystems + + + + + sun_type6_jp_usb + Sun Type 6 USB (Japanese) + Sun Microsystems + + + + + sun_type6_jp + Sun Type 6 (Japanese) + Sun Microsystems + + + + + targa_v811 + Targa Visionary 811 + Targa + + + + + unitekkb1925 + Unitek KB-1925 + Unitek Group + + + + + compalfl90 + FL90 + Compal Electronics + + + + + creativedw7000 + Creative Desktop Wireless 7000 + Creative + + + + + teck227 + Truly Ergonomic 227 + Truly Ergonomic + + + + + teck229 + Truly Ergonomic 229 + Truly Ergonomic + + + + + apex300 + SteelSeries Apex 300 (Apex RAW) + SteelSeries + + + + + chromebook + Chromebook + Google + + + + + + + us + + en + English (US) + + eng + + + + + + chr + + chr + Cherokee + + chr + + + + + + haw + haw + Hawaiian + + haw + + + + + + euro + English (US, euro on 5) + + + + + intl + English (US, intl., with dead keys) + + + + + alt-intl + English (US, alt. intl.) + + + + + colemak + English (Colemak) + + + + + colemak_dh + English (Colemak-DH) + + + + + colemak_dh_iso + English (Colemak-DH ISO) + + + + + dvorak + English (Dvorak) + + + + + dvorak-intl + English (Dvorak, intl., with dead keys) + + + + + dvorak-alt-intl + English (Dvorak, alt. intl.) + + + + + dvorak-l + English (Dvorak, left-handed) + + + + + dvorak-r + English (Dvorak, right-handed) + + + + + dvorak-classic + English (classic Dvorak) + + + + + dvp + English (programmer Dvorak) + + + + + dvorak-mac + English (Dvorak, Macintosh) + + + + + symbolic + English (US, Symbolic) + + + + + rus + + ru + Russian (US, phonetic) + + rus + + + + + + mac + English (Macintosh) + + + + + altgr-intl + English (intl., with AltGr dead keys) + + eng + fra + deu + + + + + + olpc2 + English (the divide/multiply toggle the layout) + + + + + hbs + Serbo-Croatian (US) + + eng + bos + hbs + hrv + srp + + + + + + norman + English (Norman) + + + + + workman + English (Workman) + + + + + workman-intl + English (Workman, intl., with dead keys) + + + + + + + af + + fa + Dari + + + + + ps + + ps + Pashto + + pus + + + + + + uz + + uz + Uzbek (Afghanistan) + + uzb + + + + + + ps-olpc + + ps + Pashto (Afghanistan, OLPC) + + pus + + + + + + fa-olpc + + fa + Dari (Afghanistan, OLPC) + + + + + uz-olpc + + uz + Uzbek (Afghanistan, OLPC) + + uzb + + + + + + + + ara + + ar + Arabic + + AE + BH + DZ + EG + EH + JO + KW + LB + LY + MA + MR + OM + PS + QA + SA + SD + SY + TN + YE + + + ara + + + + + + azerty + Arabic (AZERTY) + + + + + azerty_digits + Arabic (AZERTY, Eastern Arabic numerals) + + + + + digits + Arabic (Eastern Arabic numerals) + + + + + qwerty + Arabic (QWERTY) + + + + + qwerty_digits + Arabic (QWERTY, Eastern Arabic numerals) + + + + + buckwalter + Arabic (Buckwalter) + + + + + olpc + Arabic (OLPC) + + + + + mac + Arabic (Macintosh) + + + + + + + al + + sq + Albanian + + sqi + + + + + + plisi + Albanian (Plisi) + + + + + veqilharxhi + Albanian (Veqilharxhi) + + + + + + + am + + hy + Armenian + + hye + + + + + + phonetic + Armenian (phonetic) + + + + + phonetic-alt + Armenian (alt. phonetic) + + + + + eastern + Armenian (eastern) + + + + + western + Armenian (western) + + + + + eastern-alt + Armenian (alt. eastern) + + + + + + + at + + de + German (Austria) + + deu + + + + + + nodeadkeys + German (Austria, no dead keys) + + + + + mac + German (Austria, Macintosh) + + + + + + + au + + en + English (Australian) + + eng + + + + + + az + + az + Azerbaijani + + aze + + + + + + cyrillic + Azerbaijani (Cyrillic) + + + + + + + by + + by + Belarusian + + bel + + + + + + legacy + Belarusian (legacy) + + + + + latin + Belarusian (Latin) + + + + + ru + Russian (Belarus) + + + + + intl + Belarusian (intl.) + + + + + + + be + + be + Belgian + + deu + nld + fra + + + + + + oss + Belgian (alt.) + + + + + oss_latin9 + Belgian (Latin-9 only, alt.) + + + + + iso-alternate + Belgian (ISO, alt.) + + + + + nodeadkeys + Belgian (no dead keys) + + + + + wang + Belgian (Wang 724 AZERTY) + + + + + + + bd + + bn + Bangla + + ben + + sat + + + + + + probhat + Bangla (Probhat) + + + + + + + in + + in + Indian + + + + + ben + + bn + Bangla (India) + + ben + + sat + + + + + + ben_probhat + + bn + Bangla (India, Probhat) + + ben + + sat + + + + + + ben_baishakhi + Bangla (India, Baishakhi) + + ben + + sat + + + + + + ben_bornona + Bangla (India, Bornona) + + ben + + sat + + + + + + ben_gitanjali + Bangla (India, Gitanjali) + + ben + + sat + + + + + + ben_inscript + Bangla (India, Baishakhi InScript) + + ben + + sat + + + + + + eeyek + Manipuri (Eeyek) + + mni + + + + + + guj + + gu + Gujarati + + guj + + + + + + guru + + pa + Punjabi (Gurmukhi) + + pan + + + + + + jhelum + + pa + Punjabi (Gurmukhi Jhelum) + + pan + + + + + + kan + + kn + Kannada + + kan + + + + + + kan-kagapa + + kn + Kannada (KaGaPa, phonetic) + + kan + + + + + + mal + + ml + Malayalam + + mal + + + + + + mal_lalitha + + ml + Malayalam (Lalitha) + + mal + + + + + + mal_enhanced + + ml + Malayalam (enhanced InScript, with rupee) + + mal + + + + + + ori + + or + Oriya + + ori + + sat + + + + + + ori-bolnagri + + or + Oriya (Bolnagri) + + ori + + sat + + + + + + ori-wx + + or + Oriya (Wx) + + ori + + sat + + + + + + olck + + sat + Ol Chiki + + + sat + + + + + + tam_tamilnet + + ta + Tamil (TamilNet '99) + + tam + + + + + + tam_tamilnet_with_tam_nums + + ta + Tamil (TamilNet '99 with Tamil numerals) + + tam + + + + + + tam_tamilnet_TAB + + ta + Tamil (TamilNet '99, TAB encoding) + + tam + + + + + + tam_tamilnet_TSCII + + ta + Tamil (TamilNet '99, TSCII encoding) + + tam + + + + + + tam + + ta + Tamil (InScript) + + tam + + + + + + tel + + te + Telugu + + tel + + + + + + tel-kagapa + + te + Telugu (KaGaPa, phonetic) + + tel + + + + + + tel-sarala + + te + Telugu (Sarala) + + tel + + + + + + urd-phonetic + + ur + Urdu (phonetic) + + urd + + + + + + urd-phonetic3 + + ur + Urdu (alt. phonetic) + + urd + + + + + + urd-winkeys + + ur + Urdu (Windows) + + urd + + + + + + bolnagri + + hi + Hindi (Bolnagri) + + hin + + + + + + hin-wx + + hi + Hindi (Wx) + + hin + + + + + + hin-kagapa + + hi + Hindi (KaGaPa, phonetic) + + hin + + + + + + san-kagapa + + sa + Sanskrit (KaGaPa, phonetic) + + san + + + + + + mar-kagapa + + mr + Marathi (KaGaPa, phonetic) + + mar + + + + + + eng + + en + English (India, with rupee) + + eng + + + + + + iipa + Indic IPA + + eng + + + + + + marathi + Marathi (enhanced InScript) + + mar + + + + + + + + ba + + bs + Bosnian + + bos + + + + + + alternatequotes + Bosnian (with guillemets) + + + + + unicode + Bosnian (with Bosnian digraphs) + + + + + unicodeus + Bosnian (US, with Bosnian digraphs) + + + + + us + Bosnian (US) + + + + + + + br + + pt + Portuguese (Brazil) + + por + + + + + + nodeadkeys + Portuguese (Brazil, no dead keys) + + + + + dvorak + Portuguese (Brazil, Dvorak) + + + + + nativo + Portuguese (Brazil, Nativo) + + + + + nativo-us + Portuguese (Brazil, Nativo for US keyboards) + + + + + nativo-epo + Esperanto (Brazil, Nativo) + + epo + + + + + + thinkpad + Portuguese (Brazil, IBM/Lenovo ThinkPad) + + + + + + + bg + + bg + Bulgarian + + bul + + + + + + phonetic + Bulgarian (traditional phonetic) + + + + + bas_phonetic + Bulgarian (new phonetic) + + + + + bekl + Bulgarian (enhanced) + + + + + + + dz + kab + Berber (Algeria, Latin) + + + + + azerty-deadkeys + kab + Kabyle (AZERTY, with dead keys) + + kab + + + + + + qwerty-gb-deadkeys + kab + Kabyle (QWERTY, UK, with dead keys) + + kab + + + + + + qwerty-us-deadkeys + kab + Kabyle (QWERTY, US, with dead keys) + + kab + + + + + + ber + kab + Berber (Algeria, Tifinagh) + + kab + + + + + + ar + ar + Arabic (Algeria) + + ara + + + + + + + + ma + + ar + Arabic (Morocco) + + + + + french + + fr + French (Morocco) + + fra + + + + + + tifinagh + + ber + Berber (Morocco, Tifinagh) + + ber + + + + + + tifinagh-alt + + ber + Berber (Morocco, Tifinagh alt.) + + ber + + + + + + tifinagh-alt-phonetic + + ber + Berber (Morocco, Tifinagh phonetic, alt.) + + ber + + + + + + tifinagh-extended + + ber + Berber (Morocco, Tifinagh extended) + + ber + + + + + + tifinagh-phonetic + + ber + Berber (Morocco, Tifinagh phonetic) + + ber + + + + + + tifinagh-extended-phonetic + + ber + Berber (Morocco, Tifinagh extended phonetic) + + ber + + + + + + rif + + rif + Tarifit + + rif + + + + + + + + cm + + cm + English (Cameroon) + + eng + + + + + + french + French (Cameroon) + + fra + + + + + + qwerty + Cameroon Multilingual (QWERTY, intl.) + + eng + bas + nmg + fub + ewo + xmd + mfh + bkm + ozm + lns + sox + pny + wes + lem + nyj + mfk + mcp + ass + xed + dua + anv + bum + btb + bfd + azo + ken + yam + yat + yas + + + + + + azerty + Cameroon (AZERTY, intl.) + + fra + bas + nmg + fub + ewo + xmd + mfh + bkm + ozm + lns + sox + pny + wes + lem + nyj + mfk + mcp + ass + xed + dua + anv + bum + btb + bfd + azo + ken + yam + yat + yas + + + + + + dvorak + Cameroon (Dvorak, intl.) + + + + + mmuock + Mmuock + + + + + + + mm + + my + Burmese + + mya + + + + + + zawgyi + zg + Burmese Zawgyi + + mya + + + + + + + shn + shn + Shan + + shn + eng + + + + + + zgt + zgt + Shan (Zawgyi Tai) + + shn + eng + + + + + + + mnw + mon + Mon + + mnw + eng + + + + + + mnw-a1 + mon-a1 + Mon (A1) + + mnw + eng + + + + + + + + ca + + fr + French (Canada) + + fra + + + + + + fr-dvorak + + fr + French (Canada, Dvorak) + + + + + fr-legacy + + fr + French (Canada, legacy) + + + + + multix + Canadian (intl.) + + + + + multi + Canadian (intl., 1st part) + + + + + multi-2gr + Canadian (intl., 2nd part) + + + + + ike + + ike + Inuktitut + + iku + + + + + + eng + + en + English (Canada) + + eng + + + + + + + + cd + + fr + French (Democratic Republic of the Congo) + + fra + + + + + + + cn + + zh + Chinese + + zho + + + + + + + mon_trad + Mongolian (Bichig) + + mvf + + + + + + mon_trad_todo + Mongolian (Todo) + + mvf + + + + + + mon_trad_xibe + Mongolian (Xibe) + + sjo + + + + + + mon_trad_manchu + Mongolian (Manchu) + + mnc + + + + + + mon_trad_galik + Mongolian (Galik) + + mvf + + + + + + mon_todo_galik + Mongolian (Todo Galik) + + mvf + + + + + + mon_manchu_galik + Mongolian (Manchu Galik) + + mnc + + + + + + + tib + Tibetan + + bod + + + + + + tib_asciinum + Tibetan (with ASCII numerals) + + bod + + + + + + ug + ug + Uyghur + + uig + + + + + + altgr-pinyin + Hanyu Pinyin Letters (with AltGr dead keys) + + zho + + + + + + + + hr + + hr + Croatian + + hrv + + + + + + alternatequotes + Croatian (with guillemets) + + + + + unicode + Croatian (with Croatian digraphs) + + + + + unicodeus + Croatian (US, with Croatian digraphs) + + + + + us + Croatian (US) + + + + + + + cz + + cs + Czech + + ces + + + + + + bksl + Czech (with <\|> key) + + + + + qwerty + Czech (QWERTY) + + + + + qwerty_bksl + Czech (QWERTY, extended backslash) + + + + + qwerty-mac + Czech (QWERTY, Macintosh) + + + + + ucw + Czech (UCW, only accented letters) + + + + + dvorak-ucw + Czech (US, Dvorak, UCW support) + + + + + rus + + ru + Russian (Czech, phonetic) + + rus + + + + + + + + dk + + da + Danish + + dan + + + + + + nodeadkeys + Danish (no dead keys) + + + + + winkeys + Danish (Windows) + + + + + mac + Danish (Macintosh) + + + + + mac_nodeadkeys + Danish (Macintosh, no dead keys) + + + + + dvorak + Danish (Dvorak) + + + + + + + nl + + nl + Dutch + + nld + + + + + + us + Dutch (US) + + + + + mac + Dutch (Macintosh) + + + + + std + Dutch (standard) + + + + + + + bt + + dz + Dzongkha + + dzo + + + + + + ee + + et + Estonian + + est + + + + + + nodeadkeys + Estonian (no dead keys) + + + + + dvorak + Estonian (Dvorak) + + + + + us + Estonian (US) + + + + + + + ir + + fa + Persian + + fas + + + + + + pes_keypad + Persian (with Persian keypad) + + + + + ku + + ku + Kurdish (Iran, Latin Q) + + kur + + + + + + ku_f + + ku + Kurdish (Iran, F) + + kur + + + + + + ku_alt + + ku + Kurdish (Iran, Latin Alt-Q) + + kur + + + + + + ku_ara + + ku + Kurdish (Iran, Arabic-Latin) + + kur + + + + + + + + iq + + ar + Iraqi + + ara + kur + + + + + + ku + + ku + Kurdish (Iraq, Latin Q) + + kur + + + + + + ku_f + + ku + Kurdish (Iraq, F) + + kur + + + + + + ku_alt + + ku + Kurdish (Iraq, Latin Alt-Q) + + kur + + + + + + ku_ara + + ku + Kurdish (Iraq, Arabic-Latin) + + kur + + + + + + + + fo + + fo + Faroese + + fao + + + + + + nodeadkeys + Faroese (no dead keys) + + + + + + + fi + + fi + Finnish + + fin + + + + + + winkeys + Finnish (Windows) + + + + + classic + Finnish (classic) + + + + + nodeadkeys + Finnish (classic, no dead keys) + + + + + smi + Northern Saami (Finland) + + sme + + + + + + mac + Finnish (Macintosh) + + + + + + + fr + + fr + French + + fra + + + + + + nodeadkeys + French (no dead keys) + + + + + oss + French (alt.) + + + + + oss_latin9 + French (alt., Latin-9 only) + + + + + oss_nodeadkeys + French (alt., no dead keys) + + + + + latin9 + French (legacy, alt.) + + + + + latin9_nodeadkeys + French (legacy, alt., no dead keys) + + + + + bepo + French (BEPO) + + + + + bepo_latin9 + French (BEPO, Latin-9 only) + + + + + bepo_afnor + French (BEPO, AFNOR) + + + + + dvorak + French (Dvorak) + + + + + mac + French (Macintosh) + + + + + azerty + French (AZERTY) + + + + + afnor + French (AZERTY, AFNOR) + + + + + bre + French (Breton) + + + + + oci + Occitan + + oci + + + + + + geo + Georgian (France, AZERTY Tskapo) + + kat + + + + + + us + French (US) + + + + + + + gh + + en + English (Ghana) + + eng + + + + + + generic + English (Ghana, multilingual) + + + + + akan + + ak + Akan + + aka + + + + + + ewe + + ee + Ewe + + ewe + + + + + + fula + + ff + Fula + + ful + + + + + + ga + + gaa + Ga + + gaa + + + + + + hausa + + ha + Hausa (Ghana) + + hau + + + + + + avn + + avn + Avatime + + avn + + + + + + gillbt + English (Ghana, GILLBT) + + + + + + + gn + N'Ko (AZERTY) + + nqo + + + + + + + ge + + ka + Georgian + + kat + + + + + + ergonomic + Georgian (ergonomic) + + + + + mess + Georgian (MESS) + + + + + ru + + ru + Russian (Georgia) + + rus + + + + + + os + Ossetian (Georgia) + + oss + + + + + + + + de + + de + German + + deu + + + + + + deadacute + German (dead acute) + + + + + deadgraveacute + German (dead grave acute) + + + + + nodeadkeys + German (no dead keys) + + + + + e1 + German (E1) + + + + + e2 + German (E2) + + + + + T3 + German (T3) + + + + + us + German (US) + + + + + ro + Romanian (Germany) + + ron + + + + + + ro_nodeadkeys + Romanian (Germany, no dead keys) + + ron + + + + + + dvorak + German (Dvorak) + + + + + neo + German (Neo 2) + + + + + mac + German (Macintosh) + + + + + mac_nodeadkeys + German (Macintosh, no dead keys) + + + + + dsb + Lower Sorbian + + dsb + + + + + + dsb_qwertz + Lower Sorbian (QWERTZ) + + dsb + + + + + + qwerty + German (QWERTY) + + + + + tr + Turkish (Germany) + + tur + + + + + + ru + + ru + Russian (Germany, phonetic) + + rus + + + + + + deadtilde + German (dead tilde) + + + + + + + gr + + gr + Greek + + ell + + + + + + simple + Greek (simple) + + + + + extended + Greek (extended) + + + + + nodeadkeys + Greek (no dead keys) + + + + + polytonic + Greek (polytonic) + + + + + + + hu + + hu + Hungarian + + hun + + + + + + standard + Hungarian (standard) + + + + + nodeadkeys + Hungarian (no dead keys) + + + + + qwerty + Hungarian (QWERTY) + + + + + 101_qwertz_comma_dead + Hungarian (QWERTZ, 101-key, comma, dead keys) + + + + + 101_qwertz_comma_nodead + Hungarian (QWERTZ, 101-key, comma, no dead keys) + + + + + 101_qwertz_dot_dead + Hungarian (QWERTZ, 101-key, dot, dead keys) + + + + + 101_qwertz_dot_nodead + Hungarian (QWERTZ, 101-key, dot, no dead keys) + + + + + 101_qwerty_comma_dead + Hungarian (QWERTY, 101-key, comma, dead keys) + + + + + 101_qwerty_comma_nodead + Hungarian (QWERTY, 101-key, comma, no dead keys) + + + + + 101_qwerty_dot_dead + Hungarian (QWERTY, 101-key, dot, dead keys) + + + + + 101_qwerty_dot_nodead + Hungarian (QWERTY, 101-key, dot, no dead keys) + + + + + 102_qwertz_comma_dead + Hungarian (QWERTZ, 102-key, comma, dead keys) + + + + + 102_qwertz_comma_nodead + Hungarian (QWERTZ, 102-key, comma, no dead keys) + + + + + 102_qwertz_dot_dead + Hungarian (QWERTZ, 102-key, dot, dead keys) + + + + + 102_qwertz_dot_nodead + Hungarian (QWERTZ, 102-key, dot, no dead keys) + + + + + 102_qwerty_comma_dead + Hungarian (QWERTY, 102-key, comma, dead keys) + + + + + 102_qwerty_comma_nodead + Hungarian (QWERTY, 102-key, comma, no dead keys) + + + + + 102_qwerty_dot_dead + Hungarian (QWERTY, 102-key, dot, dead keys) + + + + + 102_qwerty_dot_nodead + Hungarian (QWERTY, 102-key, dot, no dead keys) + + + + + + + is + + is + Icelandic + + isl + + + + + + mac_legacy + Icelandic (Macintosh, legacy) + + + + + mac + Icelandic (Macintosh) + + + + + dvorak + Icelandic (Dvorak) + + + + + + + il + + he + Hebrew + + heb + + + + + + lyx + Hebrew (lyx) + + + + + phonetic + Hebrew (phonetic) + + + + + biblical + Hebrew (Biblical, Tiro) + + + + + + + it + + it + Italian + + ita + + + + + + nodeadkeys + Italian (no dead keys) + + + + + winkeys + Italian (Windows) + + + + + mac + Italian (Macintosh) + + + + + us + Italian (US) + + + + + geo + Georgian (Italy) + + kat + + + + + + ibm + Italian (IBM 142) + + + + + intl + Italian (intl., with dead keys) + + deu + fra + ita + slk + srd + nap + scn + fur + + + + + + scn + Sicilian + + ita + scn + + + + + + fur + Friulian (Italy) + + fur + + + + + + + + jp + + ja + Japanese + + jpn + + + + + + kana + Japanese (Kana) + + + + + kana86 + Japanese (Kana 86) + + + + + OADG109A + Japanese (OADG 109A) + + + + + mac + Japanese (Macintosh) + + + + + dvorak + Japanese (Dvorak) + + + + + + + kg + + ki + Kyrgyz + + kir + + + + + + phonetic + Kyrgyz (phonetic) + + + + + + + kh + + km + Khmer (Cambodia) + + khm + + + + + + + kz + + kk + Kazakh + + kaz + + + + + + ruskaz + + ru + Russian (Kazakhstan, with Kazakh) + + kaz + rus + + + + + + kazrus + Kazakh (with Russian) + + kaz + rus + + + + + + ext + Kazakh (extended) + + kaz + + + + + + latin + Kazakh (Latin) + + kaz + + + + + + + + la + + lo + Lao + + lao + + + + + + stea + Lao (STEA) + + lao + + + + + + + + latam + + es + Spanish (Latin American) + + AR + BO + CL + CO + CR + CU + DO + EC + GT + HN + HT + MX + NI + PA + PE + PR + PY + SV + US + UY + VE + + + spa + + + + + + nodeadkeys + Spanish (Latin American, no dead keys) + + + + + deadtilde + Spanish (Latin American, dead tilde) + + + + + dvorak + Spanish (Latin American, Dvorak) + + + + + colemak + Spanish (Latin American, Colemak) + + + + + colemak-gaming + Spanish (Latin American, Colemak for gaming) + + + + + + + lt + + lt + Lithuanian + + lit + + + + + + std + Lithuanian (standard) + + + + + us + Lithuanian (US) + + + + + ibm + Lithuanian (IBM LST 1205-92) + + + + + lekp + Lithuanian (LEKP) + + + + + lekpa + Lithuanian (LEKPa) + + + + + sgs + Samogitian + + sgs + + + + + + ratise + Lithuanian (Ratise) + + + + + + + lv + + lv + Latvian + + lav + + + + + + apostrophe + Latvian (apostrophe) + + + + + tilde + Latvian (tilde) + + + + + fkey + Latvian (F) + + + + + modern + Latvian (modern) + + + + + ergonomic + Latvian (ergonomic, ŪGJRMV) + + + + + adapted + Latvian (adapted) + + + + + + + mao + + mi + Maori + + mri + + + + + + + me + + sr + Montenegrin + + srp + + + + + + cyrillic + Montenegrin (Cyrillic) + + + + + cyrillicyz + Montenegrin (Cyrillic, ZE and ZHE swapped) + + + + + latinunicode + Montenegrin (Latin, Unicode) + + + + + latinyz + Montenegrin (Latin, QWERTY) + + + + + latinunicodeyz + Montenegrin (Latin, Unicode, QWERTY) + + + + + cyrillicalternatequotes + Montenegrin (Cyrillic, with guillemets) + + + + + latinalternatequotes + Montenegrin (Latin, with guillemets) + + + + + + + mk + + mk + Macedonian + + mkd + + + + + + nodeadkeys + Macedonian (no dead keys) + + + + + + + mt + + mt + Maltese + + mlt + + + + + + us + Maltese (US) + + + + + alt-us + Maltese (US, with AltGr overrides) + + + + + alt-gb + Maltese (UK, with AltGr overrides) + + + + + + + mn + + mn + Mongolian + + mon + + + + + + + no + + no + Norwegian + + nor + nob + nno + + + + + + nodeadkeys + Norwegian (no dead keys) + + + + + winkeys + Norwegian (Windows) + + + + + dvorak + Norwegian (Dvorak) + + + + + smi + Northern Saami (Norway) + + sme + + + + + + smi_nodeadkeys + Northern Saami (Norway, no dead keys) + + sme + + + + + + mac + Norwegian (Macintosh) + + + + + mac_nodeadkeys + Norwegian (Macintosh, no dead keys) + + + + + colemak + Norwegian (Colemak) + + + + + + + pl + + pl + Polish + + pol + + + + + + legacy + Polish (legacy) + + + + + qwertz + Polish (QWERTZ) + + + + + dvorak + Polish (Dvorak) + + + + + dvorak_quotes + Polish (Dvorak, with Polish quotes on quotemark key) + + + + + dvorak_altquotes + Polish (Dvorak, with Polish quotes on key 1) + + + + + csb + Kashubian + + csb + + + + + + szl + Silesian + + szl + + + + + + ru_phonetic_dvorak + + ru + Russian (Poland, phonetic Dvorak) + + rus + + + + + + dvp + Polish (programmer Dvorak) + + + + + + + pt + + pt + Portuguese + + por + + + + + + nodeadkeys + Portuguese (no dead keys) + + + + + mac + Portuguese (Macintosh) + + + + + mac_nodeadkeys + Portuguese (Macintosh, no dead keys) + + + + + nativo + Portuguese (Nativo) + + + + + nativo-us + Portuguese (Nativo for US keyboards) + + + + + nativo-epo + Esperanto (Portugal, Nativo) + + epo + + + + + + + + ro + + ro + Romanian + + ron + + + + + + std + Romanian (standard) + + + + + winkeys + Romanian (Windows) + + + + + + + ru + + ru + Russian + + rus + + + + + + phonetic + Russian (phonetic) + + + + + phonetic_winkeys + Russian (phonetic, Windows) + + + + + phonetic_YAZHERTY + Russian (phonetic, YAZHERTY) + + + + + typewriter + Russian (typewriter) + + + + + legacy + Russian (legacy) + + + + + typewriter-legacy + Russian (typewriter, legacy) + + + + + tt + Tatar + + tat + + + + + + os_legacy + Ossetian (legacy) + + oss + + + + + + os_winkeys + Ossetian (Windows) + + oss + + + + + + cv + Chuvash + + chv + + + + + + cv_latin + Chuvash (Latin) + + chv + + + + + + udm + Udmurt + + udm + + + + + + kom + Komi + + kom + + + + + + sah + Yakut + + sah + + + + + + xal + Kalmyk + + xal + + + + + + dos + Russian (DOS) + + + + + mac + Russian (Macintosh) + + + + + srp + Serbian (Russia) + + rus + srp + + + + + + bak + Bashkirian + + bak + + + + + + chm + Mari + + chm + + + + + + phonetic_azerty + Russian (phonetic, AZERTY) + + + + + phonetic_dvorak + Russian (phonetic, Dvorak) + + + + + phonetic_fr + Russian (phonetic, French) + + + + + + + rs + + sr + Serbian + + srp + + + + + + yz + Serbian (Cyrillic, ZE and ZHE swapped) + + + + + latin + Serbian (Latin) + + + + + latinunicode + Serbian (Latin, Unicode) + + + + + latinyz + Serbian (Latin, QWERTY) + + + + + latinunicodeyz + Serbian (Latin, Unicode, QWERTY) + + + + + alternatequotes + Serbian (Cyrillic, with guillemets) + + + + + latinalternatequotes + Serbian (Latin, with guillemets) + + + + + rue + Pannonian Rusyn + + rue + + + + + + + + si + + sl + Slovenian + + slv + + + + + + alternatequotes + Slovenian (with guillemets) + + + + + us + Slovenian (US) + + + + + + + sk + + sk + Slovak + + slk + + + + + + bksl + Slovak (extended backslash) + + + + + qwerty + Slovak (QWERTY) + + + + + qwerty_bksl + Slovak (QWERTY, extended backslash) + + + + + + + es + + es + Spanish + + spa + + + + + + nodeadkeys + Spanish (no dead keys) + + + + + winkeys + Spanish (Windows) + + + + + deadtilde + Spanish (dead tilde) + + + + + dvorak + Spanish (Dvorak) + + + + + ast + ast + Asturian (Spain, with bottom-dot H and L) + + ast + + + + + + cat + ca + Catalan (Spain, with middle-dot L) + + cat + + + + + + mac + Spanish (Macintosh) + + + + + + + se + + sv + Swedish + + swe + + + + + + nodeadkeys + Swedish (no dead keys) + + + + + dvorak + Swedish (Dvorak) + + + + + rus + + ru + Russian (Sweden, phonetic) + + rus + + + + + + rus_nodeadkeys + + ru + Russian (Sweden, phonetic, no dead keys) + + rus + + + + + + smi + Northern Saami (Sweden) + + sme + + + + + + mac + Swedish (Macintosh) + + + + + svdvorak + Swedish (Svdvorak) + + + + + us_dvorak + Swedish (Dvorak, intl.) + + + + + us + Swedish (US) + + + + + swl + Swedish Sign Language + + swl + + + + + + + + ch + + de + German (Switzerland) + + deu + gsw + + + + + + legacy + German (Switzerland, legacy) + + + + + de_nodeadkeys + + de + German (Switzerland, no dead keys) + + + + + fr + + fr + French (Switzerland) + + fra + + + + + + fr_nodeadkeys + + fr + French (Switzerland, no dead keys) + + fra + + + + + + fr_mac + + fr + French (Switzerland, Macintosh) + + fra + + + + + + de_mac + + de + German (Switzerland, Macintosh) + + + + + + + sy + + ar + Arabic (Syria) + + syr + + + + + + syc + + syc + Syriac + + + + + syc_phonetic + + syc + Syriac (phonetic) + + + + + ku + + ku + Kurdish (Syria, Latin Q) + + kur + + + + + + ku_f + + ku + Kurdish (Syria, F) + + kur + + + + + + ku_alt + + ku + Kurdish (Syria, Latin Alt-Q) + + kur + + + + + + + + tj + + tg + Tajik + + tgk + + + + + + legacy + Tajik (legacy) + + + + + + + lk + + si + Sinhala (phonetic) + + sin + + + + + + tam_unicode + + ta + Tamil (Sri Lanka, TamilNet '99) + + tam + + + + + + tam_TAB + Tamil (Sri Lanka, TamilNet '99, TAB encoding) + + tam + + + + + + us + + us + Sinhala (US) + + + + + + + th + + th + Thai + + tha + + + + + + tis + Thai (TIS-820.2538) + + + + + pat + Thai (Pattachote) + + + + + + + tr + + tr + Turkish + + tur + + + + + + f + Turkish (F) + + + + + alt + Turkish (Alt-Q) + + + + + ku + + ku + Kurdish (Turkey, Latin Q) + + kur + + + + + + ku_f + + ku + Kurdish (Turkey, F) + + kur + + + + + + ku_alt + + ku + Kurdish (Turkey, Latin Alt-Q) + + kur + + + + + + intl + Turkish (intl., with dead keys) + + + + + ot + Ottoman (Q) + + + + + otf + Ottoman (F) + + + + + otk + Old Turkic + + + + + otkf + Old Turkic (F) + + + + + + + tw + + zh + Taiwanese + + fox + + + + + + indigenous + Taiwanese (indigenous) + + ami + tay + bnn + ckv + pwn + pyu + dru + ais + ssf + tao + tsu + trv + xnb + sxr + uun + fos + + + + + + saisiyat + + xsy + Saisiyat (Taiwan) + + xsy + + + + + + + + ua + + uk + Ukrainian + + ukr + + + + + + phonetic + Ukrainian (phonetic) + + + + + typewriter + Ukrainian (typewriter) + + + + + winkeys + Ukrainian (Windows) + + + + + macOS + Ukrainian (macOS) + + + + + legacy + Ukrainian (legacy) + + + + + rstu + Ukrainian (standard RSTU) + + + + + rstu_ru + Russian (Ukraine, standard RSTU) + + + + + homophonic + Ukrainian (homophonic) + + + + + crh + + crh + Crimean Tatar (Turkish Q) + + crh + + + + + + crh_f + + crh + Crimean Tatar (Turkish F) + + crh + + + + + + crh_alt + + crh + Crimean Tatar (Turkish Alt-Q) + + crh + + + + + + + + gb + + en + English (UK) + + eng + + + + + + extd + English (UK, extended, Windows) + + + + + intl + English (UK, intl., with dead keys) + + + + + dvorak + English (UK, Dvorak) + + + + + dvorakukp + English (UK, Dvorak, with UK punctuation) + + + + + mac + English (UK, Macintosh) + + + + + mac_intl + English (UK, Macintosh, intl.) + + + + + colemak + English (UK, Colemak) + + + + + colemak_dh + English (UK, Colemak-DH) + + + + + pl + + pl + Polish (British keyboard) + + pol + + + + + + gla + gd + Scottish Gaelic + + GB + CA + + + eng + gla + + + + + + + + uz + + uz + Uzbek + + uzb + + + + + + latin + Uzbek (Latin) + + + + + + + vn + + vi + Vietnamese + + vie + + + + + + us + Vietnamese (US) + + + + + fr + Vietnamese (French) + + + + + + + kr + + ko + Korean + + kor + + + + + + kr104 + Korean (101/104-key compatible) + + + + + + + ie + + ie + Irish + + eng + + + + + + CloGaelach + CloGaelach + + gle + + + + + + UnicodeExpert + Irish (UnicodeExpert) + + + + + ogam + Ogham + + sga + + + + + + ogam_is434 + Ogham (IS434) + + sga + + + + + + + + pk + + ur + Urdu (Pakistan) + + urd + + + + + + urd-crulp + Urdu (Pakistan, CRULP) + + + + + urd-nla + Urdu (Pakistan, NLA) + + + + + ara + ar + Arabic (Pakistan) + + ara + + + + + + snd + + sd + Sindhi + + snd + + + + + + + + mv + + dv + Dhivehi + + div + + + + + + + za + + en + English (South Africa) + + eng + + + + + + epo + + eo + Esperanto + + epo + + + + + + legacy + Esperanto (legacy) + + + + + + + np + + ne + Nepali + + nep + + sat + + + + + + ng + + en + English (Nigeria) + + eng + + + + + + igbo + + ig + Igbo + + ibo + + + + + + yoruba + + yo + Yoruba + + yor + + + + + + hausa + + ha + Hausa (Nigeria) + + hau + + + + + + + + et + + am + Amharic + + amh + + + + + + + sn + + wo + Wolof + + wol + + + + + + + brai + + brl + Braille + + + + + left_hand + Braille (left-handed) + + + + + left_hand_invert + Braille (left-handed inverted thumb) + + + + + right_hand + Braille (right-handed) + + + + + right_hand_invert + Braille (right-handed inverted thumb) + + + + + + + tm + + tk + Turkmen + + tuk + + + + + + alt + Turkmen (Alt-Q) + + + + + + + ml + + bm + Bambara + + bam + + + + + + fr-oss + + fr + French (Mali, alt.) + + fra + + + + + + us-mac + + en + English (Mali, US, Macintosh) + + eng + + + + + + us-intl + + en + English (Mali, US, intl.) + + eng + + + + + + + + tz + + sw + Swahili (Tanzania) + + swa + + + + + + tg + fr-tg + French (Togo) + + fra + ajg + blo + kpo + ewe + fon + fue + gej + ife + kbp + las + dop + mfg + nmz + bud + gng + kdh + soy + + + + + + ke + + sw + Swahili (Kenya) + + swa + + + + + + kik + + ki + Kikuyu + + kik + + + + + + + + bw + + tn + Tswana + + tsn + + + + + + ph + + ph + Filipino + + eng + bik + ceb + fil + hil + ilo + pam + pag + phi + tgl + war + + + + + + qwerty-bay + Filipino (QWERTY, Baybayin) + + bik + ceb + fil + hil + ilo + pam + pag + phi + tgl + war + + + + + + capewell-dvorak + Filipino (Capewell-Dvorak, Latin) + + + + + capewell-dvorak-bay + Filipino (Capewell-Dvorak, Baybayin) + + bik + ceb + fil + hil + ilo + pam + pag + phi + tgl + war + + + + + + capewell-qwerf2k6 + Filipino (Capewell-QWERF 2006, Latin) + + + + + capewell-qwerf2k6-bay + Filipino (Capewell-QWERF 2006, Baybayin) + + bik + ceb + fil + hil + ilo + pam + pag + phi + tgl + war + + + + + + colemak + Filipino (Colemak, Latin) + + + + + colemak-bay + Filipino (Colemak, Baybayin) + + bik + ceb + fil + hil + ilo + pam + pag + phi + tgl + war + + + + + + dvorak + Filipino (Dvorak, Latin) + + + + + dvorak-bay + Filipino (Dvorak, Baybayin) + + bik + ceb + fil + hil + ilo + pam + pag + phi + tgl + war + + + + + + + + md + md + Moldavian + + ron + + + + + + gag + gag + Moldavian (Gagauz) + + gag + + + + + + + + id + id + Indonesian (Latin) + + ind + msa + min + ace + bjn + tsg + mfa + + + + + + phonetic + Indonesian (Arab Pegon, phonetic) + + + + + phoneticx + Indonesian (Arab Pegon, extended phonetic) + + + + + + + jv + jv + Indonesian (Javanese) + + jav + + + + + + + my + ms + Malay (Jawi, Arabic Keyboard) + + ind + msa + min + ace + bjn + tsg + mfa + + + + + + phonetic + Malay (Jawi, phonetic) + + + + + + + custom + custom + A user-defined custom Layout + + + + + + + + + grp + Switching to another layout + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + lv2 + Key to choose the 2nd level + + + + + + + lv3 + Key to choose the 3rd level + + + + + + + + + + + + + + + + + + + + + + + ctrl + Ctrl position + + + + + + + + + + + + + + + + + grp_led + Use keyboard LED to show alternative layout + + + + + + + + + mod_led + Use keyboard LED to indicate modifiers + + + + + + + keypad + Layout of numeric keypad + + + + + + + + + + + + + + + kpdl + Numeric keypad Delete behavior + + + + + + + + + + + + + + caps + Caps Lock behavior + + + + + + + + + + + + + + + + + + + + + + altwin + Alt and Win behavior + + + + + + + + + + + + + + + + + + + + Compose key + Position of Compose key + + + + + + + + + + + + + + + + + + + + + + + compat + Compatibility options + + + + + + + + + + + + + + + + + + + + + currencysign + Currency signs + + + + + + + + + + lv5 + Key to choose 5th level + + + + + + + + + + + + + + nbsp + Non-breaking space input + + + + + + + + + + + + + + + + + + + + + japan + Japanese keyboard options + + + + + + + + korean + Korean Hangul/Hanja keys + + + + + + + + + esperanto + Esperanto letters with superscripts + + + + + + + + solaris + Old Solaris keycodes compatibility + + + + + + terminate + Key sequence to kill the X server + + + + + diff --git a/xkbdata/symbols.dir b/xkbdata/symbols.dir new file mode 100644 index 0000000..7880219 --- /dev/null +++ b/xkbdata/symbols.dir @@ -0,0 +1,1579 @@ +-dp----- a------- af(basic) +--p----- a------- af(ps) +--p----- a------- af(uz) +--p----- a------- af(ps-olpc) +--p----- a------- af(fa-olpc) +--p----- a------- af(uz-olpc) +-dp----- a------- al(basic) +--p----- a------- al(plisi) +--p----- a------- al(veqilharxhi) +--p----- -m------ altwin(meta_alt) +--p----- -m------ altwin(alt_win) +--p----- -m------ altwin(ctrl_win) +--p----- -m------ altwin(ctrl_rwin) +--p----- -m------ altwin(ctrl_alt_win) +--p----- -m------ altwin(meta_win) +--p----- -m------ altwin(left_meta_win) +--p----- -m------ altwin(hyper_win) +--p----- -m------ altwin(menu) +--p----- -m------ altwin(menu_win) +--p----- -m------ altwin(alt_super_win) +--p----- -m------ altwin(swap_alt_win) +--p----- -m------ altwin(swap_lalt_lwin) +h-p----- -m------ altwin(swap_ralt_rwin) +--p----- -m------ altwin(prtsc_rwin) +-dp----- a------- am(basic) +--p----- a------- am(olpc) +-------- -------- am(phonetic) +--p----- a------- am(phonetic-alt) +--p----- a------- am(olpc-phonetic) +--p----- a------- am(eastern) +--p----- a------- am(western) +--p----- a------- am(eastern-alt) +-dp----- a------- apl(basic) +h-p----- a------- apl(common) +--p----- a------- apl(unified) +--p----- a------- apl(sax) +--p----- a------- apl(apl2) +--p----- a------- apl(aplplusII) +--p----- a------- apl(aplx) +h-p----- a------- apl(dyalog_base) +h-p----- --k----- apl(dyalog_box) +h-p----- -------- apl(dyalog_codes) +-------- -------- apl(dyalog) +--p----- -------- apl(level3) +-dp----- a------- ara(basic) +--p----- a------- ara(qwerty) +h-p----- --k----- ara(digits_KP) +--p----- a------- ara(digits) +--p----- a------- ara(qwerty_digits) +--p----- a------- ara(azerty) +--p----- a------- ara(azerty_digits) +--p----- a------- ara(buckwalter) +--p----- a------- ara(olpc) +--p----- a------- ara(mac) +--p----- a------- ara(sun_type6) +--p----- a------- ara(basic_ext) +h-p----- --k----- ara(basic_ext_digits_KP) +--p----- a------- ara(basic_ext_digits) +--p----- a------- ara(uga) +-------- -------- ara(ergoarabic) +-d------ -------- at(basic) +--p----- a------- at(nodeadkeys) +--p----- a------- at(mac) +-dp----- a------- au(basic) +-dp----- a------- az(latin) +--p----- a------- az(cyrillic) +-dp----- a------- ba(basic) +--p----- a------- ba(us) +--p----- a------- ba(alternatequotes) +--p----- a------- ba(unicode) +--p----- a------- ba(unicodeus) +-dp----- a------- bd(basic) +-------- -------- bd(probhat) +-dp----- a------- be(basic) +--p----- a------- be(oss) +--p----- a------- be(oss_frbe) +--p----- a------- be(oss_latin9) +--p----- a------- be(iso-alternate) +--p----- a------- be(nodeadkeys) +--p----- a------- be(wang) +--p----- a------- be(sun_type6) +-dp----- a------- bg(bds) +--p----- a------- bg(phonetic) +--p----- a------- bg(bas_phonetic) +--p----- a------- bg(bekl) +h-p----- a------- bg(latin) +-d------ -------- br(abnt2) +--p----- a------- br(nodeadkeys) +--p----- a------- br(thinkpad) +--p----- a------- br(olpc) +--p----- a------- br(dvorak) +--p----- a------- br(nativo) +--p----- a------- br(nativo-us) +--p----- a------- br(nativo-epo) +--p----- a------- br(sun_type6) +-dp----- a------- brai(home_row) +--p----- a------- brai(left_hand) +--p----- a------- brai(left_hand_invert) +--p----- a------- brai(right_hand) +--p----- a------- brai(right_hand_invert) +h-p----- --k----- brai(keypad) +h-p----- --k----- brai(keypad_left) +-dp----- a------- bt(basic) +-dp----- a------- bw(tswana) +-dp----- a------- by(basic) +--p----- a------- by(legacy) +--p----- a------- by(latin) +--p----- a------- by(ru) +--p----- a------- by(intl) +-dp----- -------- ca(fr) +-------- -------- ca(fr-dvorak) +--p----- -------- ca(fr-legacy) +--p----- -------- ca(multi) +--p----- -------- ca(multi-2gr) +-------- a------- ca(ike) +--p----- -------- ca(multix) +-------- -------- ca(olpc) +--p----- a------- ca(eng) +--p----- a------- ca(kut) +--p----- a------- ca(shs) +--p----- a------- ca(sun_type6) +hdp----- -m------ capslock(capslock) +h-p----- -m------ capslock(shiftlock) +h-p----- -m------ capslock(grouplock) +h-p----- -m------ capslock(groupshift) +h-p----- -m------ capslock(swapescape) +h-p----- -m------ capslock(escape) +h-p----- -m------ capslock(escape_shifted_capslock) +h-p----- -m------ capslock(backspace) +h-p----- -m------ capslock(super) +h-p----- -m------ capslock(hyper) +h-p----- -m------ capslock(menu) +h-p----- -m------ capslock(numlock) +h-p----- -m------ capslock(ctrl_modifier) +h-p----- -m------ capslock(none) +-dp----- a------- cd(basic) +-dp----- a------- ch(basic) +--p----- a------- ch(legacy) +--p----- a------- ch(de) +--p----- a------- ch(de_nodeadkeys) +--p----- a------- ch(fr) +--p----- a------- ch(fr_nodeadkeys) +--p----- a------- ch(de_mac) +--p----- a------- ch(fr_mac) +--p----- a------- ch(sun_type6_de) +--p----- a------- ch(sun_type6_fr) +-dp----- a------- cm(basic) +--p----- a------- cm(french) +--p----- a------- cm(azerty) +--p----- a------- cm(qwerty) +--p----- a------- cm(dvorak) +--p----- -m------ cm(semicolon_switch) +--p----- -m------ cm(exclamation_switch) +--p----- -m------ cm(semicolon_switch_dvorak) +--p----- a------- cm(mmuock) +--p----- -m------ cm(solidus_switch) +-dp----- a------- cn(basic) +--p----- a------- cn(tib) +--p----- a------- cn(tib_asciinum) +--p----- a------- cn(ug) +--p----- a------- cn(altgr-pinyin) +--p----- a------- cn(mon_trad) +--p----- a------- cn(mon_trad_todo) +--p----- a------- cn(mon_trad_xibe) +--p----- a------- cn(mon_trad_manchu) +--p----- a------- cn(mon_trad_galik) +--p----- a------- cn(mon_todo_galik) +--p----- a------- cn(mon_manchu_galik) +--p----- -m------ compose(ralt) +--p----- -m------ compose(lwin) +--p----- -m------ compose(lwin-altgr) +--p----- -m------ compose(rwin) +--p----- -m------ compose(rwin-altgr) +--p----- -m------ compose(menu) +--p----- -m------ compose(menu-altgr) +--p----- -m------ compose(rctrl) +--p----- -m------ compose(rctrl-altgr) +--p----- -m------ compose(lctrl) +--p----- -m------ compose(lctrl-altgr) +--p----- -m------ compose(caps) +--p----- -m------ compose(caps-altgr) +--p----- -m------ compose(102) +--p----- -m------ compose(102-altgr) +--p----- -m------ compose(paus) +--p----- -m------ compose(prsc) +--p----- -m------ compose(sclk) +--p----- -m------ ctrl(nocaps) +-------- -------- ctrl(lctrl_meta) +--p----- -m------ ctrl(swapcaps) +--p----- -m------ ctrl(swapcaps_hyper) +--p----- -m------ ctrl(swapcaps_and_switch_layout) +--p----- -m------ ctrl(ac_ctrl) +--p----- -m------ ctrl(aa_ctrl) +--p----- -m------ ctrl(rctrl_ralt) +--p----- -m------ ctrl(menu_rctrl) +--p----- -m------ ctrl(ralt_rctrl) +--p----- -m------ ctrl(swap_lalt_lctl) +--p----- -m------ ctrl(swap_lwin_lctl) +--p----- -m------ ctrl(swap_rwin_rctl) +--p----- -m------ ctrl(swap_lalt_lctl_lwin) +-dp----- a------- cz(basic) +-------- -------- cz(bksl) +--p----- a------- cz(qwerty) +-------- -------- cz(qwerty_bksl) +--p----- a------- cz(qwerty-mac) +--p----- a---g--- cz(ucw) +--p----- a------- cz(dvorak-ucw) +--p----- a------- cz(rus) +--p----- a------- cz(sun_type6) +-------- -------- cz(prog) +-------- -------- cz(typo) +-------- -------- cz(coder) +-------- -------- cz(prog_typo) +-d------ -------- de(basic) +--p----- a------- de(deadtilde) +--p----- a------- de(nodeadkeys) +--p----- a------- de(deadgraveacute) +--p----- a------- de(deadacute) +--p----- a------- de(e1) +--p----- a------- de(e2) +--p----- a------- de(T3) +--p----- a------- de(ro) +--p----- a------- de(ro_nodeadkeys) +--p----- a------- de(dvorak) +--p----- amk----- de(neo_base) +--p----- amk----- de(neo) +--p----- a------- de(mac) +--p----- a------- de(mac_nodeadkeys) +--p----- a------- de(dsb) +--p----- a------- de(dsb_qwertz) +--p----- a------- de(qwerty) +--p----- a------- de(ru) +--p----- a------- de(ru-recom) +--p----- a------- de(ru-translit) +--p----- a------- de(pl) +--p----- a------- de(tr) +--p----- a------- de(us) +--p----- a------- de(hu) +--p----- a------- de(sun_type6) +--p----- a------- de(adnw_base) +--p----- amk----- de(adnw) +--p----- a------- de(koy_base) +--p----- amk----- de(koy) +--p----- a------- de(bone_base) +--p----- amk----- de(bone) +--p----- a------- de(bone_eszett_home_base) +--p----- amk----- de(bone_eszett_home) +--p----- a------- de(neo_qwertz_base) +--p----- amk----- de(neo_qwertz) +--p----- a------- de(neo_qwerty_base) +--p----- amk----- de(neo_qwerty) +--p----- a------- de(lld) +-d------ -------- digital_vndr/lk(common) +-------- -------- digital_vndr/lk(lk401) +-------- -------- digital_vndr/pc(pc) +-------- -------- digital_vndr/pc(pc104) +-------- -------- digital_vndr/us(us) +-------- -------- digital_vndr/us(vt105-tw) +-------- -------- digital_vndr/us(vt105-dp) +-------- -------- digital_vndr/us(vt105) +-------- -------- digital_vndr/us(vt108-tw) +-------- -------- digital_vndr/us(vt108-dp) +-------- -------- digital_vndr/us(vt108) +-------- -------- digital_vndr/us(unix) +-------- -------- digital_vndr/us(pcxalga) +-------- -------- digital_vndr/us(pcxal) +-------- -------- digital_vndr/us(pcxalaa) +-------- -------- digital_vndr/us(pcxalfa) +-------- -------- digital_vndr/us(pcxalka) +-------- -------- digital_vndr/us(lk44x) +-------- -------- digital_vndr/us(pc104) +-dp----- a------- dk(basic) +--p----- a------- dk(nodeadkeys) +--p----- a------- dk(winkeys) +--p----- a------- dk(mac) +--p----- a------- dk(mac_nodeadkeys) +--p----- a------- dk(dvorak) +--p----- a------- dk(sun_type6) +-dp----- a------- dz(la) +--p----- a------- dz(azerty-deadkeys) +--p----- a------- dz(qwerty-gb-deadkeys) +--p----- a------- dz(qwerty-us-deadkeys) +--p----- a------- dz(ber) +--p----- a------- dz(ar) +-dp----- a------- ee(basic) +--p----- a------- ee(nodeadkeys) +--p----- a------- ee(dvorak) +--p----- a------- ee(us) +--p----- a------- ee(sun_type6) +-dp----- am------ empty(basic) +-dp----- a------- epo(basic) +--p----- a------- epo(legacy) +--p----- -------- epo(qwerty) +--p----- -------- epo(dvorak) +--p----- -------- epo(colemak) +-dp----- a------- es(basic) +--p----- a------- es(winkeys) +--p----- a------- es(nodeadkeys) +--p----- a------- es(dvorak) +--p----- a------- es(cat) +--p----- a------- es(ast) +--p----- a------- es(mac) +--p----- a------- es(olpc) +--p----- a------- es(olpcm) +--p----- a------- es(deadtilde) +--p----- a------- es(olpc2) +--p----- a------- es(sun_type6) +-dp----- a------- et(basic) +--p----- a------- et(olpc) +-dp----- am------ eu(basic) +--p----- -------- eurosign(e) +--p----- -------- eurosign(2) +--p----- -------- eurosign(4) +--p----- -------- eurosign(5) +-dp----- a------- fi(kotoistus) +--p----- a------- fi(winkeys) +h-p----- a------- fi(fi) +--p----- a------- fi(classic) +--p----- a------- fi(nodeadkeys) +--p----- a------- fi(smi) +--p----- a------- fi(mac) +--p----- a------- fi(sun_type6) +--p----- -------- fi(das) +--p----- a------- fi(fidvorak) +-dp----- a------- fo(basic) +--p----- a------- fo(nodeadkeys) +-dp----- a------- fr(basic) +--p----- a------- fr(olpc) +--p----- a------- fr(nodeadkeys) +--p----- a------- fr(oss) +--p----- a------- fr(oss_latin9) +--p----- a------- fr(oss_nodeadkeys) +--p----- a------- fr(latin9) +--p----- a------- fr(latin9_nodeadkeys) +--p----- a------- fr(bepo) +--p----- a------- fr(bepo_latin9) +--p----- a------- fr(bepo_afnor) +--p----- am------ fr(dvorak) +--p----- a------- fr(bre) +--p----- a------- fr(oci) +--p----- a------- fr(mac) +--p----- a------- fr(geo) +--p----- a------- fr(us) +--p----- a------- fr(sun_type6) +--p----- a------- fr(azerty) +--p----- a------- fr(us-alt) +--p----- a------- fr(us-azerty) +--p----- a------- fr(afnor) +-------- -------- fujitsu_vndr/jp(basic) +-------- -------- fujitsu_vndr/us(basic) +-dp----- a------- gb(basic) +--p----- a------- gb(intl) +--p----- a------- gb(extd) +--p----- a------- gb(colemak) +--p----- a------- gb(colemak_dh) +--p----- a------- gb(dvorak) +--p----- a------- gb(dvorakukp) +--p----- a------- gb(mac) +--p----- a------- gb(mac_intl) +--p----- a------- gb(pl) +--p----- a------- gb(gla) +--p----- a------- gb(sun_type6) +-dp----- a------- ge(basic) +--p----- a------- ge(qwerty) +--p----- a------- ge(ergonomic) +--p----- a------- ge(mess) +--p----- a------- ge(ru) +--p----- a------- ge(os) +-dp----- a------- gh(basic) +--p----- a------- gh(akan) +--p----- a------- gh(ga) +--p----- a------- gh(ewe) +--p----- a------- gh(fula) +--p----- a------- gh(hausa) +--p----- a------- gh(generic) +--p----- a------- gh(avn) +--p----- a------- gh(gillbt) +-dp----- a------- gn(basic) +-dp----- a---g--- gr(basic) +--p----- a---g--- gr(simple) +h-p----- a---g--- gr(bare) +--p----- a---g--- gr(extended) +--p----- a---g--- gr(polytonic) +--p----- a---g--- gr(nodeadkeys) +--p----- a---g--- gr(colemak) +--p----- a------- gr(sun_type6) +--p----- -m------ group(switch) +--p----- -m------ group(lswitch) +--p----- -m------ group(win_switch) +--p----- -m------ group(lwin_switch) +--p----- -m------ group(rwin_switch) +--p----- -m------ group(menu_switch) +--p----- -m------ group(rctrl_switch) +--p----- -m------ group(toggle) +--p----- -m------ group(shifts_toggle) +--p----- -m------ group(shift_caps_toggle) +--p----- -m------ group(shift_caps_switch) +--p----- -m------ group(win_space_toggle) +--p----- -m------ group(win_menu_switch) +--p----- -m------ group(lctrl_rctrl_switch) +--p----- -m------ group(lctrl_lshift_toggle) +--p----- -m------ group(lctrl_lshift_toggle_rev) +--p----- -m------ group(rctrl_rshift_toggle) +--p----- -m------ group(ctrl_shift_toggle) +--p----- -m------ group(ctrl_shift_toggle_bidir) +--p----- -m------ group(lctrl_lalt_toggle) +--p----- -m------ group(lctrl_lalt_toggle_rev) +--p----- -m------ group(rctrl_ralt_toggle) +--p----- -m------ group(ctrl_alt_toggle) +--p----- -m------ group(ctrl_alt_toggle_bidir) +--p----- -m------ group(lalt_lshift_toggle) +--p----- -m------ group(lalt_lshift_toggle_rev) +--p----- -m------ group(ralt_rshift_toggle) +--p----- -m------ group(alt_shift_toggle) +--p----- -m------ group(alt_shift_toggle_bidir) +--p----- -m------ group(menu_toggle) +--p----- -m------ group(lwin_toggle) +--p----- -m------ group(rwin_toggle) +--p----- -m------ group(ctrls_toggle) +--p----- -m------ group(alts_toggle) +--p----- -m------ group(lshift_toggle) +--p----- -m------ group(rshift_toggle) +--p----- -m------ group(lalt_toggle) +--p----- -m------ group(lctrl_toggle) +--p----- -m------ group(rctrl_toggle) +--p----- -m------ group(alt_caps_toggle) +h-p----- -m------ group(olpc) +--p----- -m------ group(alt_space_toggle) +--p----- -m------ group(sclk_toggle) +--p----- -m------ group(lctrl_lwin_rctrl_menu) +--p----- -m------ group(lctrl_lwin_toggle) +-------- -------- hp_vndr/us(hil) +-dp----- a------- hr(basic) +--p----- a------- hr(us) +--p----- a------- hr(alternatequotes) +--p----- a------- hr(unicode) +--p----- a------- hr(unicodeus) +-dp----- -------- hu(basic) +--p----- -------- hu(standard) +--p----- -------- hu(nodeadkeys) +--p----- -------- hu(qwerty) +--p----- -------- hu(101_qwertz_comma_dead) +--p----- -------- hu(101_qwertz_comma_nodead) +--p----- -------- hu(101_qwertz_dot_dead) +--p----- -------- hu(101_qwertz_dot_nodead) +--p----- -------- hu(101_qwerty_comma_dead) +--p----- -------- hu(101_qwerty_comma_nodead) +--p----- -------- hu(101_qwerty_dot_dead) +--p----- -------- hu(101_qwerty_dot_nodead) +--p----- -------- hu(102_qwertz_comma_dead) +--p----- -------- hu(102_qwertz_comma_nodead) +--p----- -------- hu(102_qwertz_dot_dead) +--p----- -------- hu(102_qwertz_dot_nodead) +--p----- -------- hu(102_qwerty_comma_dead) +--p----- -------- hu(102_qwerty_comma_nodead) +--p----- -------- hu(102_qwerty_dot_dead) +--p----- -------- hu(102_qwerty_dot_nodead) +h-p----- a------- hu(def_102) +h-p----- a------- hu(def_101) +h-p----- a------- hu(def_qwertz) +h-p----- a------- hu(def_qwerty) +h-p----- --k----- hu(def_dot) +h-p----- a------- hu(def_dead) +h-p----- a------- hu(def_nodead) +h-p----- a------- hu(def_common) +--p----- a------- hu(oldhun) +--p----- a------- hu(oldhunlig) +h-p----- a------- hu(oldhun_base) +h-p----- a------- hu(oldhun_origin) +h-p----- a------- hu(oldhun_lig) +h-p----- --k----- hu(oldhun_magic_numpad) +-dp----- am------ id(basic) +--p----- a------- id(phonetic) +--p----- a------- id(phoneticx) +-dp----- a------- ie(basic) +--p----- a------- ie(CloGaelach) +--p----- a------- ie(UnicodeExpert) +--p----- a------- ie(ogam) +--p----- a------- ie(ogam_is434) +-dp----- a------- il(basic) +--p----- a------- il(lyx) +--p----- a------- il(phonetic) +--p----- a------- il(biblical) +--p----- a------- il(biblicalSIL) +-dp----- a------- in(deva) +--p----- a------- in(bolnagri) +--p----- a------- in(ben) +-------- -------- in(ben_probhat) +-------- -------- in(ben_baishakhi) +-------- -------- in(ben_inscript) +-------- -------- in(ben_gitanjali) +-------- -------- in(ben_bornona) +--p----- a------- in(guj) +--p----- a------- in(kan) +--p----- a------- in(mal) +--p----- a------- in(mal_lalitha) +--p----- a------- in(olck) +--p----- a------- in(ori) +--p----- a------- in(ori-bolnagri) +--p----- a------- in(ori-wx) +--p----- a------- in(tam) +--p----- a------- in(tam_tamilnet) +--p----- a------- in(tam_tamilnet_with_tam_nums) +--p----- a------- in(tam_tamilnet_TSCII) +--p----- a------- in(tam_tamilnet_TAB) +--p----- a------- in(tel) +--p----- a------- in(tel-sarala) +--p----- a------- in(urd-phonetic) +--p----- a------- in(urd-phonetic3) +--p----- a------- in(urd-winkeys) +--p----- a------- in(guru) +--p----- a------- in(jhelum) +--p----- a------- in(olpc) +--p----- a------- in(hin-wx) +--p----- a------- in(eng) +--p----- a------- in(mal_enhanced) +--p----- a------- in(hin-kagapa) +--p----- a------- in(san-kagapa) +--p----- a------- in(mar-kagapa) +--p----- a------- in(kan-kagapa) +--p----- a------- in(tel-kagapa) +--p----- am------ in(eeyek) +--p----- am------ in(iipa) +-------- -------- in(marathi) +--p----- a------- in(san-misc) +--p----- a------- in(modi-kagapa) +--p----- a------- in(urd-navees) +h-p----- a------- inet(media_common) +h-p----- a------- inet(nav_common) +h-p----- a------- inet(acpi_common) +h-p----- a------- inet(media_nav_common) +h-p----- a------- inet(media_nav_acpi_common) +h-p----- a------- inet(nav_acpi_common) +h-p----- a------- inet(media_acpi_common) +--p----- a------- inet(evdev) +--p----- a------- inet(airkey) +--p----- a------- inet(acer_c300) +--p----- a------- inet(acer_ferrari4k) +--p----- a------- inet(acer_laptop) +--p----- a------- inet(azonaRF2300) +--p----- a------- inet(brother) +--p----- a------- inet(btc5113rf) +--p----- a------- inet(btc9000) +--p----- a------- inet(btc9000a) +-------- -------- inet(btc9001ah) +--p----- a------- inet(btc5090) +--p----- a------- inet(btc9019u) +--p----- a------- inet(cherryblue) +--p----- a------- inet(cherryblueb) +--p----- a------- inet(cherrybluea) +--p----- a------- inet(cherrycyboard) +--p----- a------- inet(cherrycmexpert) +--p----- a------- inet(chicony) +--p----- a------- inet(chicony0108) +--p----- a------- inet(chicony0420) +--p----- a------- inet(chicony9885) +--p----- a------- inet(compaqeak8) +--p----- a------- inet(compaqik7) +--p----- a------- inet(compaqik13) +--p----- a------- inet(compaqik18) +--p----- a------- inet(armada) +--p----- a------- inet(presario) +--p----- a------- inet(ipaq) +--p----- a------- inet(dell) +--p----- a------- inet(dellm65) +--p----- a------- inet(inspiron) +--p----- a------- inet(dellusbmm) +--p----- a------- inet(diamond) +--p----- a------- inet(ennyah_dkb1008) +--p----- a------- inet(genius) +--p----- a------- inet(geniuscomfy2) +--p----- a------- inet(gyration) +--p----- a------- inet(hpi6) +--p----- a------- inet(hp250x) +--p----- a------- inet(hpxe3gc) +--p----- a------- inet(hpxe3gf) +--p----- a------- inet(hpxt1000) +--p----- a------- inet(hpzt11xx) +--p----- a------- inet(hpdv5) +--p----- a------- inet(hpxe4xxx) +--p----- a------- inet(hp500fa) +--p----- a------- inet(hp5xx) +--p----- a------- inet(honeywell_euroboard) +--p----- a------- inet(rapidaccess) +--p----- a------- inet(rapidaccess2) +--p----- a------- inet(thinkpad60) +--p----- a------- inet(ibm_spacesaver) +h-p----- a------- inet(logitech_base) +h-p----- a------- inet(logitech_set3) +--p----- a------- inet(logiaccess) +--p----- a------- inet(logicda) +--p----- a------- inet(logicink) +--p----- a------- inet(logiex110) +--p----- a------- inet(logiinkse) +--p----- a------- inet(logiinkseusb) +--p----- a------- inet(logiitc) +--p----- a------- inet(logiik) +--p----- a------- inet(itouch) +--p----- a------- inet(logiultraxc) +--p----- a------- inet(logidinovo) +--p----- a------- inet(logidinovoedge) +--p----- a------- inet(logitech_g15) +--p----- a------- inet(mx1998) +--p----- a------- inet(mx2500) +--p----- a------- inet(mx2750) +--p----- a------- inet(microsoft4000) +--p----- a------- inet(microsoft7000) +--p----- a------- inet(microsoftinet) +--p----- a------- inet(microsoftprousb) +--p----- a------- inet(microsoftprooem) +--p----- a------- inet(microsoftprose) +--p----- a------- inet(microsoftoffice) +--p----- a------- inet(microsoftmult) +--p----- a------- inet(microsoftsurface) +--p----- a------- inet(oretec) +--p----- a------- inet(propeller) +--p----- a------- inet(qtronix) +--p----- a------- inet(samsung4500) +--p----- a------- inet(samsung4510) +--p----- a------- inet(sk1300) +--p----- a------- inet(sk2500) +--p----- a------- inet(sk6200) +--p----- a------- inet(sk7100) +--p----- a------- inet(sven) +--p----- a------- inet(sven303) +--p----- a------- inet(symplon) +--p----- a------- inet(toshiba_s3000) +--p----- a------- inet(trust) +--p----- a------- inet(trustda) +--p----- a------- inet(yahoo) +--p----- a------- inet(apple) +--p----- a------- inet(cymotionlinux) +--p----- a------- inet(silvercrest) +--p----- a------- inet(emachines) +--p----- a------- inet(benqx) +--p----- a------- inet(classmate) +--p----- a------- inet(unitekkb1925) +--p----- a------- inet(creativedw7000) +--p----- a------- inet(compalfl90) +--p----- a------- inet(pc105) +--p----- a------- inet(chromebook) +--p----- a------- inet(teck227) +--p----- a------- inet(teck229) +-dp----- a------- iq(basic) +--p----- a------- iq(ku) +--p----- a------- iq(ku_f) +--p----- a------- iq(ku_alt) +--p----- a------- iq(ku_ara) +-dp----- a------- ir(pes) +--p----- a------- ir(pes_keypad) +h-p----- a------- ir(pes_part_basic) +h-p----- a------- ir(pes_part_ext) +h-p----- a------- ir(pes_part_keypad) +--p----- a------- ir(ku) +--p----- a------- ir(ku_f) +--p----- a------- ir(ku_alt) +--p----- a------- ir(ku_ara) +--p----- a------- ir(ave) +-dp----- a------- is(basic) +-------- -------- is(mac_legacy) +--p----- a------- is(mac) +--p----- a------- is(dvorak) +-dp----- a------- it(basic) +--p----- a------- it(nodeadkeys) +--p----- a------- it(winkeys) +--p----- a------- it(mac) +--p----- a------- it(geo) +-------- -------- it(olpc) +--p----- am------ it(us) +--p----- a------- it(ibm) +--p----- a------- it(fur) +--p----- a------- it(sun_type6) +--p----- a------- it(lld) +--p----- a------- it(intl) +--p----- a------- it(scn) +--p----- a------- it(dvorak) +-dp----- a------- jp(106) +h-p----- a------- jp(common) +--p----- a------- jp(henkan) +--p----- a------- jp(OADG109A) +--p----- a------- jp(kana86) +--p----- a------- jp(kana) +--p----- a------- jp(nicola_f_bs) +--p----- a------- jp(mac) +--p----- a------- jp(hztg_escape) +--p----- a------- jp(dvorak) +--p----- a------- jp(sun_type6_suncompat) +--p----- a------- jp(sun_type6) +--p----- a------- jp(sun_type7_suncompat) +--p----- a------- jp(suncompat) +--p----- a------- jp(sun_type7) +-dp----- a------- ke(swa) +--p----- a------- ke(kik) +hdp----- --k----- keypad(x11) +h-p----- --k----- keypad(overlay) +h-p----- --k----- keypad(overlay1) +h-p----- --k----- keypad(overlay2) +h-p----- --k----- keypad(operators) +-------- --k----- keypad(legacy) +-------- --k----- keypad(legacy_wang) +-------- --k----- keypad(oss) +-------- --k----- keypad(oss_latin9) +-------- --k----- keypad(oss_wang) +-------- --k----- keypad(future) +-------- --k----- keypad(future_wang) +--p----- --k----- keypad(core) +--p----- --k----- keypad(legacymath) +--p----- --k----- keypad(ossmath) +--p----- --k----- keypad(futuremath) +--p----- --k----- keypad(ossmath_latin9) +--p----- --k----- keypad(legacynumber) +--p----- --k----- keypad(legacynumber_wang) +--p----- --k----- keypad(ossnumber) +--p----- --k----- keypad(ossnumber_wang) +--p----- --k----- keypad(ops) +--p----- --k----- keypad(hex) +--p----- --k----- keypad(atm) +--p----- -m------ keypad(pointerkeys) +--p----- --k----- keypad(numoperdecsep) +-dp----- a------- kg(basic) +--p----- a------- kg(phonetic) +-dp----- a------- kh(basic) +--p----- a------- kh(olpc) +--p----- --k----- kpdl(dot) +--p----- --k----- kpdl(comma) +--p----- --k----- kpdl(dotoss) +--p----- --k----- kpdl(dotoss_latin9) +--p----- --k----- kpdl(commaoss) +--p----- --k----- kpdl(momayyezoss) +--p----- --k----- kpdl(kposs) +--p----- --k----- kpdl(semi) +-d------ a------- kr(kr106) +-------- a------- kr(kr104) +--p----- ---f---- kr(hw_keys) +--p----- ---f---- kr(ralt_hangul) +--p----- ---f---- kr(rctrl_hangul) +--p----- ---f---- kr(ralt_hanja) +--p----- ---f---- kr(rctrl_hanja) +--p----- a------- kr(sun_type6) +-dp----- a------- kz(basic) +--p----- a------- kz(ruskaz) +--p----- a------- kz(kazrus) +--p----- a------- kz(olpc) +--p----- a------- kz(ext) +--p----- a------- kz(latin) +-dp----- a------- la(basic) +--p----- -------- la(stea) +-dp----- a------- latam(basic) +--p----- a------- latam(nodeadkeys) +--p----- a------- latam(deadtilde) +--p----- a------- latam(dvorak) +--p----- a------- latam(colemak) +--p----- a------- latam(colemak-gaming) +-dp----- -------- latin(basic) +--p----- -------- latin(type2) +--p----- -------- latin(type3) +--p----- -------- latin(type4) +--p----- -------- latin(nodeadkeys) +--p----- -------- latin(type2_nodeadkeys) +--p----- -------- latin(type3_nodeadkeys) +--p----- -------- latin(type4_nodeadkeys) +--p----- -------- latin(intl) +-dp----- -m------ level3(ralt_switch) +--p----- -m------ level3(modifier_mapping) +--p----- -m------ level3(ralt_alt) +--p----- -m------ level3(ralt_switch_multikey) +h-p----- -m------ level3(ralt_switch_for_alts_toggle) +--p----- -m------ level3(alt_switch) +--p----- -m------ level3(lalt_switch) +--p----- -m------ level3(switch) +--p----- -m------ level3(menu_switch) +--p----- -m------ level3(win_switch) +--p----- -m------ level3(lwin_switch) +--p----- -m------ level3(rwin_switch) +--p----- -m------ level3(enter_switch) +--p----- -m------ level3(caps_switch) +--p----- -m------ level3(bksl_switch) +--p----- -m------ level3(lsgt_switch) +--p----- -m------ level3(caps_switch_latch) +--p----- -m------ level3(bksl_switch_latch) +--p----- -m------ level3(lsgt_switch_latch) +--p----- -m------ level3(4_switch_isolated) +--p----- -m------ level3(9_switch_isolated) +--p----- -m------ level5(rctrl_switch) +--p----- -m------ level5(lsgt_switch) +--p----- -m------ level5(ralt_switch) +--p----- -m------ level5(caps_switch) +--p----- -m------ level5(modifier_mapping) +--p----- -m------ level5(lock) +--p----- -m------ level5(lsgt_switch_lock) +--p----- -m------ level5(lwin_switch_lock) +--p----- -m------ level5(ralt_switch_lock) +--p----- -m------ level5(rwin_switch_lock) +--p----- -m------ level5(lsgt_switch_lock_cancel) +--p----- -m------ level5(lwin_switch_lock_cancel) +--p----- -m------ level5(ralt_switch_lock_cancel) +--p----- -m------ level5(rwin_switch_lock_cancel) +-dp----- a------- lk(sin_phonetic) +--p----- a------- lk(tam_unicode) +--p----- a------- lk(tam_TAB) +--p----- am------ lk(us) +-dp----- am------ lt(basic) +--p----- am------ lt(us) +--p----- am------ lt(std) +--p----- am------ lt(ibm) +--p----- am------ lt(lekp) +--p----- am------ lt(lekpa) +--p----- am------ lt(sgs) +--p----- am------ lt(ratise) +--p----- am------ lt(us_dvorak) +--p----- a------- lt(sun_type6) +-dp----- am------ lv(basic) +--p----- am------ lv(apostrophe) +--p----- am------ lv(apostrophe-deadquotes) +--p----- am------ lv(tilde) +--p----- am------ lv(fkey) +--p----- am------ lv(adapted) +--p----- am------ lv(ergonomic) +--p----- am------ lv(modern) +--p----- am------ lv(dvorak) +--p----- am------ lv(ykeydvorak) +--p----- am------ lv(minuskeydvorak) +--p----- am------ lv(dvorakprogr) +--p----- am------ lv(ykeydvorakprogr) +--p----- am------ lv(minuskeydvorakprogr) +--p----- am------ lv(colemak) +--p----- am------ lv(apostrophecolemak) +--p----- a------- lv(sun_type6) +-dp----- a------- ma(arabic) +--p----- a------- ma(french) +--p----- a------- ma(tifinagh) +--p----- a------- ma(tifinagh-phonetic) +--p----- a------- ma(tifinagh-extended) +--p----- a------- ma(tifinagh-extended-phonetic) +--p----- a------- ma(tifinagh-alt) +--p----- a------- ma(tifinagh-alt-phonetic) +--p----- a------- ma(rif) +-dp----- a------- macintosh_vndr/ch(extended) +--p----- a------- macintosh_vndr/ch(de) +--p----- a------- macintosh_vndr/ch(fr) +--p----- a------- macintosh_vndr/ch(nodeadkeys) +-dp----- a------- macintosh_vndr/de(basic) +--p----- a------- macintosh_vndr/de(Sundeadkeys) +--p----- a------- macintosh_vndr/de(sundeadkeys) +--p----- a------- macintosh_vndr/de(nodeadkeys) +-dp----- a------- macintosh_vndr/dk(basic) +--p----- a------- macintosh_vndr/dk(nodeadkeys) +--p----- a------- macintosh_vndr/dk(macbookpro) +-dp----- a------- macintosh_vndr/fi(basic) +--p----- a------- macintosh_vndr/fi(nodeadkeys) +-d------ -------- macintosh_vndr/fr(extended) +-------- -------- macintosh_vndr/fr(nodeadkeys) +-dp----- a------- macintosh_vndr/gb(basic) +-dp----- a------- macintosh_vndr/is(basic) +--p----- a------- macintosh_vndr/is(nodeadkeys) +-d------ -------- macintosh_vndr/it(extended) +-dp----- a------- macintosh_vndr/jp(usmac) +--p----- a------- macintosh_vndr/jp(mac) +--p----- a------- macintosh_vndr/jp(alujiskeys) +-dp----- a------- macintosh_vndr/latam(basic) +-dp----- a------- macintosh_vndr/nl(basic) +-dp----- a------- macintosh_vndr/no(basic) +--p----- a------- macintosh_vndr/no(nodeadkeys) +-dp----- a------- macintosh_vndr/pt(basic) +--p----- a------- macintosh_vndr/pt(Sundeadkeys) +--p----- a------- macintosh_vndr/pt(sundeadkeys) +--p----- a------- macintosh_vndr/pt(nodeadkeys) +-dp----- a------- macintosh_vndr/se(basic) +--p----- a------- macintosh_vndr/se(nodeadkeys) +-d------ -------- macintosh_vndr/us(extended) +h------- -------- macintosh_vndr/us(oldmac) +-dp----- a------- mao(basic) +-dp----- a------- md(basic) +--p----- a------- md(gag) +-dp----- a------- me(basic) +--p----- a------- me(cyrillic) +--p----- a------- me(cyrillicyz) +--p----- a------- me(latinunicode) +--p----- a------- me(latinyz) +--p----- a------- me(latinunicodeyz) +-------- -------- me(cyrillicalternatequotes) +-------- -------- me(latinalternatequotes) +-dp----- a------- mk(basic) +--p----- a------- mk(nodeadkeys) +-dp----- a------- ml(basic) +--p----- a------- ml(fr-oss) +--p----- a------- ml(us-mac) +--p----- a------- ml(us-intl) +-dp----- a------- mm(basic) +--p----- a------- mm(zawgyi) +--p----- -m------ mm(tilde_switch) +--p----- a------- mm(mnw) +--p----- a------- mm(mnw-a1) +--p----- a------- mm(shn) +--p----- a------- mm(zgt) +-dp----- a------- mn(basic) +--p----- a------- mn(olpc) +-dp----- a------- mt(basic) +--p----- a------- mt(us) +--p----- a------- mt(alt-us) +--p----- a------- mt(alt-gb) +--p----- a------- mt(alt-us) +--p----- a------- mt(alt-gb) +-dp----- a------- mv(basic) +-dp----- a------- my(basic) +--p----- a------- my(phonetic) +--p----- -------- nbsp(none) +--p----- -------- nbsp(level2) +--p----- -------- nbsp(level3) +--p----- -------- nbsp(level3s) +--p----- -------- nbsp(level4) +--p----- -------- nbsp(level3n) +--p----- -------- nbsp(level4n) +--p----- -------- nbsp(level4nl) +--p----- -------- nbsp(zwnj2) +--p----- -------- nbsp(zwnj2zwj3) +--p----- -------- nbsp(zwnj2zwj3nb4) +--p----- -------- nbsp(zwnj2nb3) +--p----- -------- nbsp(zwnj2nb3s) +--p----- -------- nbsp(zwnj2nb3zwj4) +--p----- -------- nbsp(zwnj2nb3nnb4) +--p----- -------- nbsp(zwnj3zwj4) +--p----- -------- nbsp(nb2zwnj3s) +-d------ -------- nec_vndr/jp(pc98) +-dp----- a------- ng(basic) +--p----- a------- ng(yoruba) +--p----- a------- ng(igbo) +--p----- a------- ng(hausa) +--p----- a------- ng(olpc) +-dp----- a------- nl(basic) +--p----- a------- nl(std) +--p----- a------- nl(us) +--p----- a------- nl(mac) +--p----- a------- nl(sun_type6) +-dp----- a------- no(basic) +--p----- a------- no(nodeadkeys) +--p----- a------- no(winkeys) +--p----- a------- no(dvorak) +--p----- a------- no(smi) +--p----- a------- no(smi_nodeadkeys) +--p----- a------- no(mac) +--p----- a------- no(mac_nodeadkeys) +--p----- a------- no(colemak) +--p----- a------- no(sun_type6) +-dp----- a------- np(basic) +--p----- a------- np(olpc) +-------- am------ olpc(olpc) +-dp----- -------- parens(swap_brackets) +-dp----- am------ pc(pc105) +h-p----- a------- pc(editing) +-dp----- a------- ph(basic) +--p----- a------- ph(qwerty-bay) +--p----- a------- ph(capewell-dvorak) +--p----- a------- ph(capewell-dvorak-bay) +--p----- a------- ph(capewell-qwerf2k6) +--p----- a------- ph(capewell-qwerf2k6-bay) +--p----- a------- ph(colemak) +--p----- a------- ph(colemak-bay) +--p----- a------- ph(dvorak) +--p----- a------- ph(dvorak-bay) +-dp----- a------- pk(urd-phonetic) +--p----- a------- pk(urd-crulp) +--p----- a------- pk(urd-nla) +--p----- a------- pk(snd) +--p----- a------- pk(ara) +--p----- a------- pk(olpc) +--p----- a------- pk(urd-navees) +-dp----- a------- pl(basic) +--p----- a------- pl(legacy) +--p----- a------- pl(lefty) +--p----- a------- pl(qwertz) +--p----- a------- pl(dvorak) +--p----- a------- pl(dvorak_quotes) +--p----- a------- pl(dvorak_altquotes) +--p----- a------- pl(dvp) +--p----- a------- pl(szl) +--p----- a------- pl(csb) +--p----- a------- pl(ru_phonetic_dvorak) +--p----- a------- pl(intl) +--p----- a------- pl(colemak) +--p----- a------- pl(colemak_dh) +--p----- a------- pl(sun_type6) +--p----- a------- pl(glagolica) +-dp----- a------- pt(basic) +--p----- a------- pt(nodeadkeys) +--p----- a------- pt(mac) +--p----- a------- pt(mac_nodeadkeys) +--p----- a------- pt(nativo) +--p----- a------- pt(nativo-us) +--p----- a------- pt(nativo-epo) +--p----- a------- pt(sun_type6) +--p----- a------- pt(colemak) +-dp----- a------- ro(basic) +--p----- a------- ro(std) +--p----- a------- ro(winkeys) +--p----- -------- ro(crh_dobruja) +--p----- a------- ro(ergonomic) +--p----- a------- ro(sun_type6) +-dp----- a------- rs(basic) +--p----- a------- rs(latin) +--p----- a------- rs(yz) +h-p----- a------- rs(common) +h-p----- a------- rs(cyralpha) +h-p----- a------- rs(latalpha) +h-p----- a------- rs(twoletter) +h-p----- a------- rs(latlevel3) +h-p----- a------- rs(cyrlevel3) +--p----- a------- rs(latinunicode) +--p----- a------- rs(latinyz) +--p----- a------- rs(latinunicodeyz) +-------- -------- rs(alternatequotes) +-------- -------- rs(latinalternatequotes) +-------- -------- rs(rue) +-------- -------- rs(combiningkeys) +-dp----- a------- ru(winkeys) +h-p----- a------- ru(common) +--p----- a------- ru(legacy) +--p----- a------- ru(olpc) +--p----- a------- ru(typewriter) +--p----- a------- ru(typewriter-legacy) +--p----- a------- ru(gost-6431-75-48) +--p----- a------- ru(gost-14289-88) +--p----- a------- ru(phonetic) +--p----- a------- ru(phonetic_winkeys) +--p----- a------- ru(phonetic_YAZHERTY) +--p----- a------- ru(tt) +--p----- a------- ru(os_legacy) +--p----- a------- ru(os_winkeys) +--p----- a------- ru(cv) +--p----- a------- ru(udm) +--p----- a------- ru(cv_latin) +--p----- a------- ru(kom) +--p----- a------- ru(sah) +--p----- a------- ru(xal) +--p----- a------- ru(dos) +--p----- a------- ru(bak) +--p----- a------- ru(srp) +--p----- a------- ru(chm) +--p----- a------- ru(phonetic_azerty) +--p----- a------- ru(phonetic_dvorak) +--p----- a------- ru(phonetic_fr) +--p----- a------- ru(rulemak) +--p----- a------- ru(chu) +--p----- a------- ru(ruu) +--p----- a------- ru(sun_type6) +--p----- a------- ru(mac) +--p----- a------- ru(prxn) +--p----- a------- ru(unipunct) +--p----- a------- ru(phonetic_mac) +--p----- -------- rupeesign(4) +-dp----- a------- se(basic) +--p----- a------- se(se) +--p----- a------- se(nodeadkeys) +--p----- a------- se(dvorak) +--p----- a------- se(rus) +--p----- a------- se(rus_nodeadkeys) +-------- -------- se(smi) +--p----- a------- se(mac) +--p----- a------- se(svdvorak) +--p----- a------- se(swl) +--p----- a------- se(us) +--p----- a------- se(sun_type6) +--p----- a------- se(dvorak_a5) +--p----- a------- se(ovd) +--p----- a------- se(us_dvorak) +-------- -------- sgi_vndr/jp(jp106) +-------- -------- sgi_vndr/jp(alternate106) +--p----- -m------ shift(breaks_caps) +--p----- -m------ shift(lshift_both_capslock) +--p----- -m------ shift(rshift_both_capslock) +--p----- -m------ shift(both_capslock) +--p----- -m------ shift(lshift_both_capslock_cancel) +--p----- -m------ shift(rshift_both_capslock_cancel) +--p----- -m------ shift(both_capslock_cancel) +--p----- -m------ shift(lshift_both_shiftlock) +--p----- -m------ shift(rshift_both_shiftlock) +--p----- -m------ shift(both_shiftlock) +-dp----- a------- si(basic) +--p----- a------- si(us) +--p----- a------- si(alternatequotes) +-dp----- a------- sk(basic) +--p----- a---g--- sk(acc) +-------- -------- sk(bksl) +--p----- a------- sk(qwerty) +-------- -------- sk(qwerty_bksl) +--p----- a------- sk(sun_type6) +-dp----- a------- sn(basic) +-------- -------- sony_vndr/us(nwp5461) +--p----- --kf---- srvr_ctrl(xfree86) +--p----- ---f---- srvr_ctrl(fkey2vt) +--p----- --kf---- srvr_ctrl(no_srvr_keys) +--p----- ---f---- srvr_ctrl(grab_debug) +-dp----- a------- sun_vndr/ara(sun_type6) +--p----- a------- sun_vndr/ara(basic) +--p----- a------- sun_vndr/ara(qwerty) +--p----- a------- sun_vndr/ara(azerty) +--p----- a------- sun_vndr/ara(digits) +--p----- a------- sun_vndr/ara(qwerty_digits) +--p----- a------- sun_vndr/ara(azerty_digits) +--p----- a------- sun_vndr/ara(buckwalter) +--p----- a------- sun_vndr/ara(olpc) +-dp----- a------- sun_vndr/be(sun_type6) +--p----- a------- sun_vndr/be(basic) +--p----- a------- sun_vndr/be(oss) +--p----- a------- sun_vndr/be(oss_frbe) +--p----- a------- sun_vndr/be(oss_latin9) +--p----- a------- sun_vndr/be(oss_Sundeadkeys) +--p----- a------- sun_vndr/be(oss_sundeadkeys) +--p----- a------- sun_vndr/be(iso-alternate) +--p----- a------- sun_vndr/be(Sundeadkeys) +--p----- a------- sun_vndr/be(sundeadkeys) +--p----- a------- sun_vndr/be(nodeadkeys) +--p----- a------- sun_vndr/be(wang) +-dp----- a------- sun_vndr/br(sun_type6) +--p----- a------- sun_vndr/br(basic) +--p----- a------- sun_vndr/br(abnt2) +--p----- a------- sun_vndr/br(nodeadkeys) +--p----- a------- sun_vndr/br(thinkpad) +--p----- a------- sun_vndr/br(olpc) +--p----- a------- sun_vndr/br(dvorak) +--p----- a------- sun_vndr/br(nativo) +--p----- a------- sun_vndr/br(nativo-us) +--p----- a------- sun_vndr/br(nativo-epo) +-d------ a------- sun_vndr/ca(sun_type6) +-------- a------- sun_vndr/ca(basic) +--p----- a------- sun_vndr/ca(fr) +--p----- a------- sun_vndr/ca(fr-dvorak) +--p----- a------- sun_vndr/ca(fr-legacy) +--p----- a------- sun_vndr/ca(multi) +--p----- a------- sun_vndr/ca(multi-2gr) +--p----- a------- sun_vndr/ca(ike) +--p----- a------- sun_vndr/ca(multix) +--p----- a------- sun_vndr/ca(olpc) +--p----- a------- sun_vndr/ca(eng) +--p----- a------- sun_vndr/ca(kut) +--p----- a------- sun_vndr/ca(shs) +-dp----- a------- sun_vndr/ch(sun_type6_de) +--p----- a------- sun_vndr/ch(sun_type6_fr) +--p----- a------- sun_vndr/ch(basic) +--p----- a------- sun_vndr/ch(legacy) +--p----- a------- sun_vndr/ch(de) +--p----- a------- sun_vndr/ch(de_Sundeadkeys) +--p----- a------- sun_vndr/ch(de_sundeadkeys) +--p----- a------- sun_vndr/ch(de_nodeadkeys) +--p----- a------- sun_vndr/ch(fr) +--p----- a------- sun_vndr/ch(fr_Sundeadkeys) +--p----- a------- sun_vndr/ch(fr_sundeadkeys) +--p----- a------- sun_vndr/ch(fr_nodeadkeys) +--p----- a------- sun_vndr/ch(de_mac) +--p----- a------- sun_vndr/ch(fr_mac) +-dp----- a------- sun_vndr/cz(sun_type6) +--p----- a------- sun_vndr/cz(basic) +--p----- a------- sun_vndr/cz(bksl) +--p----- a------- sun_vndr/cz(qwerty) +--p----- a------- sun_vndr/cz(qwerty_bksl) +--p----- a------- sun_vndr/cz(ucw) +--p----- a------- sun_vndr/cz(dvorak-ucw) +-dp----- a------- sun_vndr/de(sun_type6) +--p----- a------- sun_vndr/de(basic) +--p----- a------- sun_vndr/de(legacy) +--p----- a------- sun_vndr/de(nodeadkeys) +--p----- a------- sun_vndr/de(deadgraveacute) +--p----- a------- sun_vndr/de(deadacute) +--p----- a------- sun_vndr/de(ro) +--p----- a------- sun_vndr/de(ro_nodeadkeys) +--p----- a------- sun_vndr/de(dvorak) +--p----- a------- sun_vndr/de(Sundeadkeys) +--p----- a------- sun_vndr/de(sundeadkeys) +--p----- a------- sun_vndr/de(neo_base) +--p----- a------- sun_vndr/de(adnw) +--p----- a------- sun_vndr/de(adnw_base) +--p----- a------- sun_vndr/de(neo) +--p----- a------- sun_vndr/de(mac) +--p----- a------- sun_vndr/de(mac_nodeadkeys) +--p----- a------- sun_vndr/de(dsb) +--p----- a------- sun_vndr/de(dsb_qwertz) +--p----- a------- sun_vndr/de(qwerty) +--p----- a------- sun_vndr/de(ru) +--p----- a------- sun_vndr/de(us) +--p----- a------- sun_vndr/de(hu) +-dp----- a------- sun_vndr/dk(sun_type6) +--p----- a------- sun_vndr/dk(basic) +--p----- a------- sun_vndr/dk(nodeadkeys) +--p----- a------- sun_vndr/dk(mac) +--p----- a------- sun_vndr/dk(mac_nodeadkeys) +--p----- a------- sun_vndr/dk(dvorak) +-d------ a------- sun_vndr/ee(sun_type6) +--p----- a------- sun_vndr/ee(basic) +--p----- a------- sun_vndr/ee(nodeadkeys) +--p----- a------- sun_vndr/ee(dvorak) +--p----- a------- sun_vndr/ee(us) +-dp----- a------- sun_vndr/es(sun_type6) +--p----- a------- sun_vndr/es(basic) +--p----- a------- sun_vndr/es(Sundeadkeys) +--p----- a------- sun_vndr/es(sundeadkeys) +--p----- a------- sun_vndr/es(nodeadkeys) +--p----- a------- sun_vndr/es(dvorak) +--p----- a------- sun_vndr/es(cat) +--p----- a------- sun_vndr/es(ast) +--p----- a------- sun_vndr/es(mac) +--p----- a------- sun_vndr/es(olpc) +--p----- a------- sun_vndr/es(deadtilde) +--p----- a------- sun_vndr/es(olpc2) +-dp----- a------- sun_vndr/fi(sun_type6) +--p----- a------- sun_vndr/fi(basic) +--p----- a------- sun_vndr/fi(kotoistus) +--p----- a------- sun_vndr/fi(winkeys) +--p----- a------- sun_vndr/fi(classic) +--p----- a------- sun_vndr/fi(nodeadkeys) +--p----- a------- sun_vndr/fi(smi) +--p----- a------- sun_vndr/fi(mac) +--p----- a------- sun_vndr/fi(das) +--p----- a------- sun_vndr/fi(fidvorak) +-dp----- a------- sun_vndr/fr(sun_type6) +--p----- a------- sun_vndr/fr(basic) +--p----- a------- sun_vndr/fr(olpc) +--p----- a------- sun_vndr/fr(Sundeadkeys) +--p----- a------- sun_vndr/fr(sundeadkeys) +--p----- a------- sun_vndr/fr(nodeadkeys) +--p----- a------- sun_vndr/fr(oss) +--p----- a------- sun_vndr/fr(oss_latin9) +--p----- a------- sun_vndr/fr(oss_Sundeadkeys) +--p----- a------- sun_vndr/fr(oss_sundeadkeys) +--p----- a------- sun_vndr/fr(oss_nodeadkeys) +--p----- a------- sun_vndr/fr(latin9) +--p----- a------- sun_vndr/fr(latin9_Sundeadkeys) +--p----- a------- sun_vndr/fr(latin9_sundeadkeys) +--p----- a------- sun_vndr/fr(latin9_nodeadkeys) +--p----- a------- sun_vndr/fr(bepo) +--p----- a------- sun_vndr/fr(bepo_latin9) +--p----- a------- sun_vndr/fr(dvorak) +--p----- a------- sun_vndr/fr(bre) +--p----- a------- sun_vndr/fr(oci) +--p----- a------- sun_vndr/fr(mac) +--p----- a------- sun_vndr/fr(geo) +-dp----- a------- sun_vndr/gb(sun_type6) +--p----- a------- sun_vndr/gb(basic) +--p----- a------- sun_vndr/gb(intl) +--p----- a------- sun_vndr/gb(extd) +--p----- a------- sun_vndr/gb(colemak) +--p----- a------- sun_vndr/gb(dvorak) +--p----- a------- sun_vndr/gb(dvorakukp) +--p----- a------- sun_vndr/gb(mac) +--p----- a------- sun_vndr/gb(mac_intl) +-d------ a------- sun_vndr/gr(sun_type6) +-------- a------- sun_vndr/gr(basic) +--p----- a------- sun_vndr/gr(simple) +--p----- a------- sun_vndr/gr(bare) +--p----- a------- sun_vndr/gr(extended) +--p----- a------- sun_vndr/gr(polytonic) +--p----- a------- sun_vndr/gr(nodeadkeys) +-dp----- a------- sun_vndr/it(sun_type6) +--p----- a------- sun_vndr/it(basic) +--p----- a------- sun_vndr/it(nodeadkeys) +--p----- a------- sun_vndr/it(mac) +--p----- a------- sun_vndr/it(geo) +--p----- a------- sun_vndr/it(olpc) +--p----- a------- sun_vndr/it(us) +--p----- a------- sun_vndr/it(ibm) +-dp----- am------ sun_vndr/jp(sun_type6_suncompat) +--p----- a------- sun_vndr/jp(sun_type6) +--p----- a------- sun_vndr/jp(sun_type7_suncompat) +--p----- a------- sun_vndr/jp(suncompat) +--p----- a------- sun_vndr/jp(sun_type7) +--p----- a------- sun_vndr/jp(106) +--p----- a------- sun_vndr/jp(common) +--p----- a------- sun_vndr/jp(OADG109A) +--p----- a------- sun_vndr/jp(kana86) +--p----- a------- sun_vndr/jp(kana) +--p----- a------- sun_vndr/jp(nicola_f_bs) +--p----- a------- sun_vndr/jp(mac) +--p----- a------- sun_vndr/jp(hztg_escape) +--p----- a------- sun_vndr/jp(dvorak) +-dp----- a------- sun_vndr/kr(sun_type6) +--p----- a------- sun_vndr/kr(basic) +--p----- a------- sun_vndr/kr(kr106) +--p----- a------- sun_vndr/kr(kr104) +--p----- ---f---- sun_vndr/kr(hw_keys) +--p----- ---f---- sun_vndr/kr(ralt_hangul) +--p----- ---f---- sun_vndr/kr(rctrl_hangul) +--p----- ---f---- sun_vndr/kr(ralt_hanja) +--p----- ---f---- sun_vndr/kr(rctrl_hanja) +-dp----- a------- sun_vndr/lt(sun_type6) +--p----- a------- sun_vndr/lt(basic) +--p----- a------- sun_vndr/lt(us) +--p----- a------- sun_vndr/lt(std) +--p----- a------- sun_vndr/lt(ibm) +--p----- a------- sun_vndr/lt(lekp) +--p----- a------- sun_vndr/lt(lekpa) +--p----- a------- sun_vndr/lt(us_dvorak) +-d------ a------- sun_vndr/lv(sun_type6) +-------- a------- sun_vndr/lv(basic) +--p----- a------- sun_vndr/lv(apostrophe) +--p----- a------- sun_vndr/lv(tilde) +--p----- a------- sun_vndr/lv(fkey) +--p----- a------- sun_vndr/lv(adapted) +--p----- a------- sun_vndr/lv(ergonomic) +--p----- a------- sun_vndr/lv(modern) +--p----- a------- sun_vndr/lv(dvorak) +--p----- a------- sun_vndr/lv(ykeydvorak) +--p----- a------- sun_vndr/lv(minuskeydvorak) +--p----- a------- sun_vndr/lv(dvorakprogr) +--p----- a------- sun_vndr/lv(ykeydvorakprogr) +--p----- a------- sun_vndr/lv(minuskeydvorakprogr) +--p----- a------- sun_vndr/lv(colemak) +--p----- a------- sun_vndr/lv(apostrophecolemak) +-dp----- a------- sun_vndr/nl(sun_type6) +--p----- a------- sun_vndr/nl(basic) +--p----- a------- sun_vndr/nl(std) +--p----- a------- sun_vndr/nl(Sundeadkeys) +--p----- a------- sun_vndr/nl(sundeadkeys) +--p----- a------- sun_vndr/nl(mac) +-dp----- a------- sun_vndr/no(sun_type6) +--p----- a------- sun_vndr/no(basic) +--p----- a------- sun_vndr/no(nodeadkeys) +--p----- a------- sun_vndr/no(dvorak) +--p----- a------- sun_vndr/no(smi) +--p----- a------- sun_vndr/no(smi_nodeadkeys) +--p----- a------- sun_vndr/no(mac) +--p----- a------- sun_vndr/no(mac_nodeadkeys) +--p----- a------- sun_vndr/no(colemak) +-dp----- a------- sun_vndr/pl(sun_type6) +--p----- a------- sun_vndr/pl(basic) +--p----- a------- sun_vndr/pl(legacy) +--p----- a------- sun_vndr/pl(qwertz) +--p----- a------- sun_vndr/pl(intl) +--p----- a------- sun_vndr/pl(dvorak) +--p----- a------- sun_vndr/pl(dvorak_quotes) +--p----- a------- sun_vndr/pl(dvorak_altquotes) +--p----- a------- sun_vndr/pl(dvp) +--p----- a------- sun_vndr/pl(szl) +--p----- a------- sun_vndr/pl(csb) +--p----- a------- sun_vndr/pl(ru_phonetic_dvorak) +-dp----- a------- sun_vndr/pt(sun_type6) +--p----- a------- sun_vndr/pt(basic) +--p----- a------- sun_vndr/pt(Sundeadkeys) +--p----- a------- sun_vndr/pt(sundeadkeys) +--p----- a------- sun_vndr/pt(nodeadkeys) +--p----- a------- sun_vndr/pt(mac) +--p----- a------- sun_vndr/pt(mac_sundeadkeys) +--p----- a------- sun_vndr/pt(mac_nodeadkeys) +--p----- a------- sun_vndr/pt(nativo) +--p----- a------- sun_vndr/pt(nativo-us) +--p----- a------- sun_vndr/pt(nativo-epo) +-dp----- a------- sun_vndr/ro(sun_type6) +--p----- a------- sun_vndr/ro(basic) +--p----- a------- sun_vndr/ro(std) +--p----- a------- sun_vndr/ro(winkeys) +--p----- a------- sun_vndr/ro(crh_dobruja) +--p----- a------- sun_vndr/ro(ergonomic) +-dp----- a------- sun_vndr/ru(sun_type6) +--p----- a------- sun_vndr/ru(basic) +--p----- a------- sun_vndr/ru(winkeys) +--p----- a------- sun_vndr/ru(common) +--p----- a------- sun_vndr/ru(legacy) +--p----- a------- sun_vndr/ru(olpc) +--p----- a------- sun_vndr/ru(typewriter) +--p----- a------- sun_vndr/ru(typewriter-legacy) +--p----- a------- sun_vndr/ru(phonetic) +--p----- a------- sun_vndr/ru(phonetic_winkeys) +--p----- a------- sun_vndr/ru(tt) +--p----- a------- sun_vndr/ru(os_legacy) +--p----- a------- sun_vndr/ru(os_winkeys) +--p----- a------- sun_vndr/ru(cv) +--p----- a------- sun_vndr/ru(udm) +--p----- a------- sun_vndr/ru(cv_latin) +--p----- a------- sun_vndr/ru(kom) +--p----- a------- sun_vndr/ru(sah) +--p----- a------- sun_vndr/ru(xal) +--p----- a------- sun_vndr/ru(dos) +--p----- a------- sun_vndr/ru(bak) +--p----- a------- sun_vndr/ru(srp) +--p----- a------- sun_vndr/ru(chm) +--p----- a------- sun_vndr/ru(chu) +--p----- a------- sun_vndr/ru(ruu) +-dp----- a------- sun_vndr/se(sun_type6) +--p----- a------- sun_vndr/se(basic) +--p----- a------- sun_vndr/se(se) +--p----- a------- sun_vndr/se(nodeadkeys) +--p----- a------- sun_vndr/se(dvorak) +--p----- a------- sun_vndr/se(rus) +--p----- a------- sun_vndr/se(rus_nodeadkeys) +--p----- a------- sun_vndr/se(smi) +--p----- a------- sun_vndr/se(mac) +--p----- a------- sun_vndr/se(svdvorak) +--p----- a------- sun_vndr/se(swl) +-dp----- a------- sun_vndr/sk(sun_type6) +--p----- a------- sun_vndr/sk(basic) +--p----- a------- sun_vndr/sk(bksl) +--p----- a------- sun_vndr/sk(qwerty) +--p----- a------- sun_vndr/sk(qwerty_bksl) +-dp----- a------- sun_vndr/tr(sun_type6) +--p----- a------- sun_vndr/tr(basic) +--p----- a------- sun_vndr/tr(f) +--p----- a------- sun_vndr/tr(alt) +--p----- a------- sun_vndr/tr(Sundeadkeys) +--p----- a------- sun_vndr/tr(sundeadkeys) +--p----- a------- sun_vndr/tr(ku) +--p----- a------- sun_vndr/tr(ku_f) +--p----- a------- sun_vndr/tr(ku_alt) +--p----- a------- sun_vndr/tr(intl) +--p----- a------- sun_vndr/tr(olpc) +--p----- a------- sun_vndr/tr(crh) +--p----- a------- sun_vndr/tr(crh_f) +--p----- a------- sun_vndr/tr(crh_alt) +-dp----- a------- sun_vndr/tw(sun_type6) +--p----- a------- sun_vndr/tw(basic) +--p----- a------- sun_vndr/tw(tw) +--p----- a------- sun_vndr/tw(indigenous) +--p----- a------- sun_vndr/tw(saisiyat) +-dp----- a------- sun_vndr/ua(sun_type6) +--p----- a------- sun_vndr/ua(basic) +--p----- a------- sun_vndr/ua(unicode) +--p----- a------- sun_vndr/ua(legacy) +--p----- a------- sun_vndr/ua(winkeys) +--p----- a------- sun_vndr/ua(typewriter) +--p----- a------- sun_vndr/ua(phonetic) +--p----- a------- sun_vndr/ua(rstu) +--p----- a------- sun_vndr/ua(rstu_ru) +--p----- a------- sun_vndr/ua(homophonic) +-dp----- a------- sun_vndr/us(sunbasic) +--p----- a------- sun_vndr/us(sun_type6) +--p----- a------- sun_vndr/us(basic) +--p----- a------- sun_vndr/us(euro) +--p----- a------- sun_vndr/us(ibm238l) +--p----- a------- sun_vndr/us(intl) +--p----- a------- sun_vndr/us(alt-intl) +--p----- a------- sun_vndr/us(dvorak) +--p----- a------- sun_vndr/us(dvorak-intl) +--p----- a------- sun_vndr/us(dvorak-alt-intl) +--p----- a------- sun_vndr/us(dvorak-l) +--p----- a------- sun_vndr/us(dvorak-r) +--p----- a------- sun_vndr/us(dvorak-classic) +--p----- a------- sun_vndr/us(dvp) +--p----- a------- sun_vndr/us(rus) +--p----- a------- sun_vndr/us(mac) +--p----- a------- sun_vndr/us(colemak) +--p----- a------- sun_vndr/us(altgr-intl) +--p----- a------- sun_vndr/us(classmate) +--p----- a------- sun_vndr/us(classmate-intl) +--p----- a------- sun_vndr/us(classmate-alt-intl) +--p----- a------- sun_vndr/us(classmate-altgr-intl) +--p----- a------- sun_vndr/us(olpc) +--p----- a------- sun_vndr/us(olpc2) +--p----- a------- sun_vndr/us(olpcm) +--p----- a------- sun_vndr/us(chr) +--p----- a------- sun_vndr/us(hbs) +--p----- a------- sun_vndr/us(workman) +--p----- a------- sun_vndr/us(workman-intl) +--p----- a------- sun_vndr/us(norman) +--p----- a------- sun_vndr/us(carpalx) +--p----- a------- sun_vndr/us(carpalx-intl) +--p----- a------- sun_vndr/us(carpalx-altgr-intl) +--p----- a------- sun_vndr/us(carpalx-full) +--p----- a------- sun_vndr/us(carpalx-full-intl) +--p----- a------- sun_vndr/us(carpalx-full-altgr-intl) +--p----- a------- sun_vndr/us(cz_sk_de) +--p----- a------- sun_vndr/us(scn) +--p----- a------- sun_vndr/us(intl-unicode) +--p----- a------- sun_vndr/us(alt-intl-unicode) +--p----- a------- sun_vndr/us(ats) +--p----- a------- sun_vndr/us(crd) +--p----- a------- sun_vndr/us(3l) +--p----- a------- sun_vndr/us(3l-cros) +--p----- a------- sun_vndr/us(3l-emacs) +--p----- a------- sun_vndr/us(drix) +--p----- a------- sun_vndr/us(de_se_fi) +-dp----- a------- sy(basic) +--p----- a------- sy(syc) +--p----- a------- sy(syc_phonetic) +--p----- a------- sy(ku) +--p----- a------- sy(ku_f) +--p----- a------- sy(ku_alt) +-dp----- -m------ terminate(ctrl_alt_bksp) +-dp----- a------- tg(basic) +-dp----- a------- th(basic) +--p----- a------- th(pat) +--p----- a------- th(tis) +--p----- a------- th(olpc) +-dp----- a------- tj(basic) +-------- -------- tj(legacy) +-dp----- -------- tm(basic) +--p----- -------- tm(alt) +-dp----- -------- tr(basic) +--p----- -------- tr(us) +--p----- -------- tr(f) +--p----- -------- tr(alt) +--p----- -------- tr(ku) +--p----- -------- tr(ku_f) +--p----- -------- tr(ku_alt) +--p----- -------- tr(intl) +--p----- a------- tr(olpc) +--p----- a------- tr(sun_type6) +--p----- a------- tr(otk) +--p----- a------- tr(otkf) +--p----- a------- tr(ot) +--p----- a------- tr(otf) +-dp----- a------- trans(ipa) +--p----- a------- trans(qwerty) +-dp----- a------- tw(tw) +--p----- a------- tw(indigenous) +--p----- a------- tw(saisiyat) +--p----- a------- tw(sun_type6) +-dp----- -------- typo(base) +-dp----- a------- tz(swa) +-dp----- a------- ua(unicode) +--p----- a------- ua(macOS) +--p----- a------- ua(legacy) +--p----- a------- ua(winkeys) +--p----- a------- ua(typewriter) +--p----- a------- ua(phonetic) +--p----- a------- ua(rstu) +--p----- a------- ua(rstu_ru) +--p----- a------- ua(homophonic) +--p----- -------- ua(crh) +--p----- -------- ua(crh_f) +--p----- -------- ua(crh_alt) +--p----- a------- ua(sun_type6) +-dp----- am------ us(basic) +--p----- a------- us(euro) +--p----- a------- us(ibm238l) +--p----- a------- us(intl) +--p----- a------- us(alt-intl) +--p----- a------- us(dvorak) +--p----- a------- us(dvorak-intl) +--p----- a------- us(dvorak-alt-intl) +--p----- a------- us(dvorak-l) +--p----- a------- us(dvorak-r) +--p----- a------- us(dvorak-classic) +--p----- a------- us(dvp) +--p----- a------- us(dvorak-mac) +--p----- a------- us(rus) +--p----- a------- us(mac) +--p----- a------- us(colemak) +-------- -------- us(colemak_dh) +-------- -------- us(colemak_dh_iso) +--p----- a------- us(altgr-intl) +--p----- a------- us(altgr-weur) +--p----- a------- us(classmate) +--p----- a------- us(classmate-intl) +--p----- a------- us(classmate-alt-intl) +--p----- a------- us(classmate-altgr-intl) +--p----- a------- us(olpc) +--p----- a------- us(olpc2) +-------- -------- us(olpcm) +--p----- am------ us(chr) +--p----- a------- us(haw) +--p----- a------- us(hbs) +--p----- a------- us(workman) +--p----- a------- us(workman-intl) +--p----- a------- us(norman) +--p----- a------- us(carpalx) +--p----- a------- us(carpalx-intl) +--p----- a------- us(carpalx-altgr-intl) +--p----- a------- us(carpalx-full) +--p----- a------- us(carpalx-full-intl) +--p----- a------- us(carpalx-full-altgr-intl) +--p----- am------ us(symbolic) +--p----- a------- us(cz_sk_de) +--p----- a------- us(cz_sk_pl_de_es_fi_sv) +--p----- a------- us(scn) +--p----- a------- us(intl-unicode) +--p----- a------- us(alt-intl-unicode) +--p----- a------- us(ats) +--p----- a------- us(crd) +--p----- a------- us(sun_type6) +--p----- am------ us(3l) +--p----- -m------ us(3l-cros) +--p----- -m------ us(3l-emacs) +--p----- am------ us(drix) +--p----- a------- us(de_se_fi) +-dp----- a------- uz(cyrillic) +--p----- a------- uz(latin) +-dp----- a------- vn(basic) +--p----- a------- vn(us) +--p----- a------- vn(fr) +--p----- a------- vn(aderty) +--p----- a------- vn(qderty) +-dp----- am------ za(basic) diff --git a/xkbdata/symbols/af b/xkbdata/symbols/af new file mode 100644 index 0000000..75d6d41 --- /dev/null +++ b/xkbdata/symbols/af @@ -0,0 +1,370 @@ +// Keyboard layouts for Dari, Pashto, and Southern Uzbek. +// Created by M. Emal Alekozai in February 2006. +// +// Based on the "Computer Locale Requirements for Afghanistan" [1] +// from the "United Nations Development Programme for Afghanistan" and the +// "Afghan Transitional Islamic Administration Ministry of Communications". +// [1] https://www.evertype.com/standards/af/ + +default partial alphanumeric_keys +xkb_symbols "basic" { + name[Group1]= "Dari"; + + key { [ 0x100200d, 0x10000f7, dead_tilde ] }; + key { [ 0x10006f1, exclam, 0x1000060 ] }; + key { [ 0x10006f2, 0x100066c, 0x1000040 ] }; + key { [ 0x10006f3, 0x100066b, numbersign ] }; + key { [ 0x10006f4, 0x100e60b, 0x1000024] }; + key { [ 0x10006f5, 0x100066a, 0x1000025 ] }; + key { [ 0x10006f6, multiply, 0x100005e ] }; + key { [ 0x10006f7, Arabic_comma, 0x1000026 ] }; + key { [ 0x10006f8, asterisk, 0x1002022 ] }; + key { [ 0x10006f9, 0x1000029, 0x100200e ] }; + key { [ 0x10006f0, 0x1000028, 0x100200f ] }; + key { [ minus, Arabic_tatweel, 0x100005f ] }; + key { [ equal, plus ] }; + + key { [ Arabic_dad, Arabic_sukun, 0x10000b0 ] }; + key { [ Arabic_sad, Arabic_dammatan ] }; + key { [ Arabic_theh, Arabic_kasratan, 0x10020ac ] }; + key { [ Arabic_qaf, Arabic_fathatan, 0x100fd3e ] }; + key { [ Arabic_feh, Arabic_damma, 0x100fd3f ] }; + key { [ Arabic_ghain, Arabic_kasra, 0x100e656] }; + key { [ Arabic_ain, Arabic_fatha, 0x100e659] }; + key { [ Arabic_heh, Arabic_shadda, 0x1000655] }; + key { [ Arabic_khah, bracketright, 0x1000027] }; + key { [ Arabic_hah, bracketleft, 0x1000022] }; + key { [ Arabic_jeem, braceright, 0x1000681 ] }; + key { [ 0x1000686, braceleft, 0x1000685 ] }; + + key { [ Arabic_sheen, Arabic_hamzaonwaw, 0x100069a ] }; + key { [ Arabic_seen, Arabic_hamzaonyeh, 0x10006cd ] }; + key { [ 0x10006cc, Arabic_yeh, 0x1000649 ] }; + key { [ Arabic_beh, Arabic_hamzaunderalef, 0x10006d0 ] }; + key { [ Arabic_lam, Arabic_hamzaonalef, 0x10006b7 ] }; + key { [ Arabic_alef, Arabic_maddaonalef, 0x1000671 ] }; + key { [ Arabic_teh, Arabic_tehmarbuta, 0x100067c ] }; + key { [ Arabic_noon, 0x10000bb, 0x10006bc ] }; + key { [ Arabic_meem, 0x10000ab, 0x10006ba ] }; + key { [ 0x10006a9, colon, 0x100003b ] }; + key { [ 0x10006af, Arabic_semicolon, 0x10006ab ] }; + + key { [ backslash, bar, 0x100003f ] }; + + key { [ Arabic_zah, Arabic_kaf, 0x10006d2] }; + key { [ Arabic_tah, 0x1000653 , 0x1000691 ] }; + key { [ Arabic_zain, 0x1000698, 0x1000696 ] }; + key { [ Arabic_ra, 0x1000670 , 0x1000693 ] }; + key { [ Arabic_thal, 0x100200c, 0x1000688 ] }; + key { [ Arabic_dal, 0x1000654, 0x1000689 ] }; + key { [ 0x100067e, Arabic_hamza, 0x1000679 ] }; + key { [ Arabic_waw, greater, 0x100002c ] }; + key { [ period, less, 0x10006c7 ] }; + key { [ slash, Arabic_question_mark, 0x10006c9 ] }; + + include "nbsp(zwnj2nb3)" + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "ps" { + name[Group1]= "Pashto"; + + key { [ 0x100200d, 0x10000f7, dead_tilde ] }; + key { [ 0x10006f1, exclam, 0x1000060 ] }; + key { [ 0x10006f2, 0x100066c, 0x1000040 ] }; + key { [ 0x10006f3, 0x100066b, numbersign ] }; + key { [ 0x10006f4, 0x100e60b, 0x1000024] }; + key { [ 0x10006f5, 0x100066a, 0x1000025 ] }; + key { [ 0x10006f6, multiply, 0x100005e ] }; + key { [ 0x10006f7, 0x10000bb, 0x1000026 ] }; + key { [ 0x10006f8, 0x10000ab, 0x1002022 ] }; + key { [ 0x10006f9, 0x1000029, 0x100200e ] }; + key { [ 0x10006f0, 0x1000028, 0x100200f ] }; + key { [ minus, Arabic_tatweel, 0x100005f ] }; + key { [ equal, plus ] }; + + key { [ Arabic_dad, Arabic_sukun, 0x10000b0 ] }; + key { [ Arabic_sad, Arabic_dammatan, 0x1000653 ] }; + key { [ Arabic_theh, Arabic_kasratan, 0x10020ac ] }; + key { [ Arabic_qaf, Arabic_fathatan, 0x100fd3e ] }; + key { [ Arabic_feh, Arabic_damma, 0x100fd3f ] }; + key { [ Arabic_ghain, Arabic_kasra, 0x100e656] }; + key { [ Arabic_ain, Arabic_fatha, 0x100e659] }; + key { [ Arabic_heh, Arabic_shadda, 0x1000670] }; + key { [ Arabic_khah, 0x1000681, 0x1000027] }; + key { [ Arabic_hah, 0x1000685, 0x1000022] }; + key { [ Arabic_jeem, 0x100005d, 0x100007d ] }; + key { [ 0x1000686, 0x100005b, 0x100007b ] }; + + key { [ Arabic_sheen, 0x100069a ] }; + key { [ Arabic_seen, Arabic_hamzaonyeh, 0x10006d2 ] }; + key { [ 0x10006cc, Arabic_yeh, 0x1000649 ] }; + key { [ Arabic_beh, 0x100067e, 0x10006ba ] }; + key { [ Arabic_lam, Arabic_hamzaonalef, 0x10006b7 ] }; + key { [ Arabic_alef, Arabic_maddaonalef, 0x1000671 ] }; + key { [ Arabic_teh, 0x100067c, 0x1000679 ] }; + key { [ Arabic_noon, 0x10006bc, 0x100003e ] }; + key { [ Arabic_meem, 0x1000629, 0x100003c ] }; + key { [ 0x10006a9, colon, 0x1000643 ] }; + key { [ 0x10006ab, Arabic_semicolon, 0x10006af ] }; + + key { [ backslash, 0x100002a, 0x100007c ] }; + + key { [ 0x10006cd, 0x1000638, 0x100003f] }; + key { [ 0x10006d0, 0x1000637, 0x100003b ] }; + key { [ Arabic_zain, 0x1000698, 0x1000655 ] }; + key { [ Arabic_ra, 0x1000621, 0x1000654 ] }; + key { [ Arabic_thal, 0x100200c, 0x1000625 ] }; + key { [ Arabic_dal, 0x1000689, 0x1000688 ] }; + key { [ 0x1000693, 0x1000624, 0x1000691 ] }; + key { [ Arabic_waw, 0x100060c, 0x100002c ] }; + key { [ 0x1000696, 0x100002e, 0x10006c7 ] }; + key { [ slash, Arabic_question_mark, 0x10006c9 ] }; + + include "nbsp(zwnj2nb3)" + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "uz" { + name[Group1]= "Uzbek (Afghanistan)"; + + key { [ 0x100200d, 0x10000f7, dead_tilde ] }; + key { [ 0x10006f1, exclam, 0x1000060 ] }; + key { [ 0x10006f2, 0x100066c, 0x1000040 ] }; + key { [ 0x10006f3, 0x100066b, numbersign ] }; + key { [ 0x10006f4, 0x100e60b, 0x1000024] }; + key { [ 0x10006f5, 0x100066a, 0x1000025 ] }; + key { [ 0x10006f6, multiply, 0x100005e ] }; + key { [ 0x10006f7, Arabic_comma, 0x1000026 ] }; + key { [ 0x10006f8, asterisk, 0x1002022 ] }; + key { [ 0x10006f9, 0x1000029, 0x100200e ] }; + key { [ 0x10006f0, 0x1000028, 0x100200f ] }; + key { [ minus, Arabic_tatweel, 0x100005f ] }; + key { [ equal, plus ] }; + + key { [ Arabic_dad, Arabic_sukun, 0x10000b0 ] }; + key { [ Arabic_sad, Arabic_dammatan, 0x1000653 ] }; + key { [ Arabic_theh, Arabic_kasratan, 0x10020ac ] }; + key { [ Arabic_qaf, Arabic_fathatan, 0x100fd3e ] }; + key { [ Arabic_feh, Arabic_damma, 0x100fd3f ] }; + key { [ Arabic_ghain, Arabic_kasra, 0x100e656] }; + key { [ Arabic_ain, Arabic_fatha, 0x100e659] }; + key { [ Arabic_heh, Arabic_shadda, 0x1000670] }; + key { [ Arabic_khah, bracketright, 0x1000027] }; + key { [ Arabic_hah, bracketleft, 0x1000022] }; + key { [ Arabic_jeem, braceright, 0x1000681 ] }; + key { [ 0x1000686, braceleft, 0x1000685 ] }; + + key { [ Arabic_sheen, Arabic_hamzaonwaw, 0x100069a ] }; + key { [ Arabic_seen, Arabic_hamzaonyeh, 0x10006cd ] }; + key { [ 0x10006cc, Arabic_yeh, 0x1000649 ] }; + key { [ Arabic_beh, 0x10006d0, 0x1000643 ] }; + key { [ Arabic_lam, Arabic_hamzaonalef, 0x10006b7 ] }; + key { [ Arabic_alef, Arabic_maddaonalef, 0x1000671 ] }; + key { [ Arabic_teh, Arabic_tehmarbuta, 0x100067c ] }; + key { [ Arabic_noon, 0x10000bb, 0x10006bc ] }; + key { [ Arabic_meem, 0x10000ab, 0x10006ba ] }; + key { [ 0x10006a9, colon, 0x100003b ] }; + key { [ 0x10006af, Arabic_semicolon, 0x10006ab ] }; + + key { [ backslash, bar, 0x100003f ] }; + + key { [ Arabic_zah, 0x10006c9, 0x10006d2] }; + key { [ Arabic_tah, 0x10006c7, 0x1000691 ] }; + key { [ Arabic_zain, 0x1000698, 0x1000696 ] }; + key { [ Arabic_ra, 0x1000625, 0x1000693 ] }; + key { [ Arabic_thal, 0x100200c, 0x1000688 ] }; + key { [ Arabic_dal, 0x1000654, 0x1000689 ] }; + key { [ 0x100067e, Arabic_hamza, 0x1000679 ] }; + key { [ Arabic_waw, greater, 0x100002c ] }; + key { [ period, less ] }; + key { [ slash, Arabic_question_mark, 0x1000655 ] }; + + include "nbsp(zwnj2nb3)" + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "ps-olpc" { + + name[Group1]= "Pashto (Afghanistan, OLPC)"; + + key { [ 0x100200D, 0x1000654, grave ] }; // zero width joiner, Arabic hamza above + key { [ 0x10006F1, exclam, asciitilde ] }; // Arabic one + key { [ 0x10006F2, 0x100066C, at ] }; // Arabic two, Arabic thousands separator + key { [ 0x10006F3, 0x100066B, numbersign ] }; // Arabic three, Arabic decimal separator + key { [ 0x10006F4, 0x100060B, dollar ] }; // Arabic four, Afghani sign + key { [ 0x10006F5, 0x100066A, percent ] }; // Arabic five, Arabic percent sign + key { [ 0x10006F6, multiply, asciicircum ] }; // Arabic six + key { [ 0x10006F7, guillemotright, ampersand ] }; // Arabic seven + key { [ 0x10006F8, guillemotleft, 0x100066D ] }; // Arabic eight, Arabic five-pointed star + key { [ 0x10006F9, parenright, enfilledcircbullet ] }; // Arabic nine + key { [ 0x10006F0, parenleft, degree ] }; // Arabic zero + key { [ minus, 0x1000640, underscore ] }; // Arabic tatweel + key { [ equal, plus, division ] }; + + key { [ 0x1000636, 0x1000652, EuroSign ] }; // Arabic dad, Arabic sukun + key { [ 0x1000635, 0x100064C, 0x1000671 ] }; // Arabic sad, Arabic dammatan, Arabic alef walsa + key { [ 0x100062B, 0x100064D, 0x1000649 ] }; // Arabic theh, Arabic kasratan, Arabic alef maksura initial form + key { [ 0x1000642, 0x100064B, 0x100200E ] }; // Arabic qaf, Arabic fathatan, left-to-right mark + key { [ 0x1000641, 0x100064F, 0x100200F ] }; // Arabic feh, Arabic damma, right-to-left mark + key { [ 0x100063A, 0x1000650, 0x100e653 ] }; // Arabic ghain, Arabic kasra, Arabic alef with madda above + key { [ 0x1000639, 0x100064E, 0x100e659 ] }; // Arabic ain, Arabic fatha, Arabic zwarakay + key { [ 0x1000647, 0x1000651, 0x1000670 ] }; // Arabic heh, Arabic shadda, Arabic superscript alef + key { [ 0x100062E, 0x1000681, apostrophe ] }; // Arabic khah, Arabic hah with hamza above + key { [ 0x100062D, 0x1000685, quotedbl ] }; // Arabic hah, Arabic hah with three dots above + key { [ 0x100062C, bracketright, braceleft ] }; // Arabic jeem + key { [ 0x1000686, bracketleft, braceright ] }; // Arabic tcheh + + key { [ 0x1000634, 0x100069A ] }; // Arabic sheen, Arabic seen with dot below and dot above + key { [ 0x1000633, 0x10006CD ] }; // Arabic seen, Arabic yeh with tail + key { [ 0x10006CC, 0x100064A, 0x10006D2 ] }; // Farsi yeh, Arabic yeh, Arabic yeh barree + key { [ 0x1000628, 0x100067E, 0x10006BA ] }; // Arabic beh, Arabic peh, Arabic noon ghunna + key { [ 0x1000644, 0x1000623, 0x10006B7 ] }; // Arabic lam, Arabic hamza on alef, Arabic alef with hamza above + key { [ 0x1000627, 0x1000622, 0x1000625 ] }; // Arabic alef, Arabic madda on alef, Arabic alef with hamza below + key { [ 0x100062A, 0x100067C, 0x1000679 ] }; // Arabic teh, Arabic teh with ring, Arabic tteh + key { [ 0x1000646, 0x10006BC, greater ] }; // Arabic noon, Arabic noon with ring + key { [ 0x1000645, 0x1000629, less ] }; // Arabic meem, Arabic teh marbuta + key { [ 0x10006A9, colon, 0x1000643 ] }; // Arabic keheh, Arabic kaf + key { [ 0x10006AB, 0x100061B, 0x10006AF ] }; // Arabic kaf with ring, Arabic semicolon, Arabic gaf + + key { [ backslash, asterisk, bar ] }; + + key { [ 0x1000638, 0x1000626, question] }; // Arabic zah, Arabic yeh with hamza above + key { [ 0x10006D0, 0x1000637, semicolon ] }; // Arabic tah, Arabic E + key { [ 0x1000632, 0x1000698 ] }; // Arabic zain, Arabic jeh + key { [ 0x1000631, 0x1000621 ] }; // Arabic reh, Arabic hamza + key { [ 0x1000630, 0x100200C ] }; // Arabic thal, zero width non-joiner + key { [ 0x100062F, 0x1000689, 0x1000688 ] }; // Arabic dal, Arabic dal with ring, Arabic ddal + key { [ 0x1000693, 0x1000624, 0x1000691 ] }; // Arabic reh with ring, Arabic waw with hamza above, Arabic rreh + key { [ 0x1000648, period, comma ] }; // Arabic waw, Arabic comma + key { [ 0x1000696, 0x100002E, 0x10006C7 ] }; // Arabic reh with dot below and dot above, full stop, Arabic letter U + key { [ slash, 0x100061F, 0x10006C9 ] }; // Arabic question mark, Arabic kirghiz yu + + include "nbsp(zwnj2nb3)" + include "group(olpc)" +}; + +partial alphanumeric_keys +xkb_symbols "fa-olpc" { + + name[Group1]= "Dari (Afghanistan, OLPC)"; + + key { [ 0x100200D, division, asciitilde ] }; // zero width joiner + key { [ 0x10006F1, exclam, grave ] }; // Arabic one + key { [ 0x10006F2, 0x100066C, at ] }; // Arabic two, Arabic thousands separator + key { [ 0x10006F3, 0x100066B, numbersign ] }; // Arabic three, Arabic decimal separator + key { [ 0x10006F4, 0x100060B, dollar ] }; // Arabic four, Afghani sign + key { [ 0x10006F5, 0x100066A, percent ] }; // Arabic five, Arabic percent sign + key { [ 0x10006F6, multiply, asciicircum ] }; // Arabic six + key { [ 0x10006F7, 0x100060C, ampersand ] }; // Arabic seven, Arabic comma + key { [ 0x10006F8, asterisk, enfilledcircbullet ] }; // Arabic eight + key { [ 0x10006F9, parenright, 0x100200E ] }; // Arabic nine, left-to-right mark + key { [ 0x10006F0, parenleft, 0x100200F ] }; // Arabic zero, right-to-left mark + key { [ minus, 0x1000640, underscore ] }; // Arabic tatweel + key { [ equal, plus ] }; + + key { [ 0x1000636, 0x1000652, degree ] }; // Arabic dad, Arabic sukun + key { [ 0x1000635, 0x100064C ] }; // Arabic sad, Arabic dammatan + key { [ 0x100062B, 0x100064D, EuroSign ] }; // Arabic theh, Arabic kasratan + key { [ 0x1000642, 0x100064B, 0x100FD3E ] }; // Arabic qaf, Arabic fathatan, ornate left paren + key { [ 0x1000641, 0x100064F, 0x100FD3F ] }; // Arabic feh, Arabic damma, ornate right paren + key { [ 0x100063A, 0x1000650, 0x1000656 ] }; // Arabic ghain, Arabic kasra, Arabic subscript alef + key { [ 0x1000639, 0x100064E, 0x100e659 ] }; // Arabic ain, Arabic fatha, Arabic zwarakay + key { [ 0x1000647, 0x1000651, 0x1000655 ] }; // Arabic heh, Arabic shadda, Arabic hamza below + key { [ 0x100062E, bracketright, apostrophe ] }; // Arabic khah + key { [ 0x100062D, bracketleft, quotedbl ] }; // Arabic hah + key { [ 0x100062C, braceright, 0x1000681 ] }; // Arabic jeem, Arabic hah with hamza above + key { [ 0x1000686, braceleft, 0x1000685 ] }; // Arabic tcheh, Arabic hah with three dots above + + key { [ 0x1000634, 0x1000624, 0x100069A ] }; // Arabic sheen, Arabic waw with hamza above, Arabic seen with dot below and dot above + key { [ 0x1000633, 0x1000626, 0x10006CD ] }; // Arabic seen, Arabic yeh with hamza above, Arabic yeh with tail + key { [ 0x10006CC, 0x100064A, 0x1000649 ] }; // Farsi yeh, Arabic yeh, Arabic alef maksura + key { [ 0x1000628, 0x1000625, 0x10006D0 ] }; // Arabic beh, Arabic alef with hamza below, Arabic e + key { [ 0x1000644, 0x1000623, 0x10006B7 ] }; // Arabic lam, Arabic hamza on alef, Arabic alef with hamza above + key { [ 0x1000627, 0x1000622, 0x1000671 ] }; // Arabic alef, Arabic madda on alef, Arabic alef wasla + key { [ 0x100062A, 0x1000629, 0x100067C ] }; // Arabic teh, Arabic teh marbuta, Arabic tteh + key { [ 0x1000646, guillemotright, 0x10006BC ] }; // Arabic noon, Arabic noon with ring + key { [ 0x1000645, guillemotleft, 0x10006BA ] }; // Arabic meem, Arabic noon ghunna + key { [ 0x10006A9, colon, semicolon ] }; // Arabic keheh + key { [ 0x10006AF, 0x100061B, 0x10006AB ] }; // Arabic gaf, Arabic semicolon, Arabic kaf with ring + + key { [ backslash, bar, question ] }; + + key { [ 0x1000638, 0x1000643, 0x10006D2 ] }; // Arabic zah, Arabic kaf, Arabic yeh barree + key { [ 0x1000637, 0x1000653, 0x1000691 ] }; // Arabic tah, Arabic maddah above, Arabic rreh + key { [ 0x1000632, 0x1000698, 0x1000696 ] }; // Arabic zain, Arabic jeh, Arabic reh with dot below and dot above + key { [ 0x1000631, 0x1000670, 0x1000693 ] }; // Arabic reh, Arabic superscript alef, Arabic reh with ring + key { [ 0x1000630, 0x100200C, 0x1000688 ] }; // Arabic thal, zero width non-joiner, Arabic ddal + key { [ 0x100062F, 0x1000654, 0x1000689 ] }; // Arabic dal, Arabic hamza above, Arabic dal with ring + key { [ 0x100067E, 0x1000621, 0x1000679 ] }; // Arabic peh, Arabic hamza, Arabic tteh + key { [ 0x1000648, greater, comma ] }; // Arabic waw + key { [ period, less, 0x10006C7 ] }; // Arabic u + key { [ slash, 0x100061F, 0x10006C9 ] }; // Arabic question mark, Arabic kirghiz yu + + include "nbsp(zwnj2nb3)" + include "group(olpc)" +}; + +partial alphanumeric_keys +xkb_symbols "uz-olpc" { + + name[Group1]= "Uzbek (Afghanistan, OLPC)"; + + key { [ 0x100200D, division, asciitilde ] }; // zero width joiner + key { [ 0x10006F1, exclam, grave ] }; // Arabic one + key { [ 0x10006F2, 0x100066C, at ] }; // Arabic two, Arabic thousands separator + key { [ 0x10006F3, 0x100066B, numbersign ] }; // Arabic three, Arabic decimal separator + key { [ 0x10006F4, 0x100060B, dollar ] }; // Arabic four, Afghani sign + key { [ 0x10006F5, 0x100066A, percent ] }; // Arabic five, Arabic percent sign + key { [ 0x10006F6, multiply, asciicircum ] }; // Arabic six + key { [ 0x10006F7, 0x100060C, ampersand ] }; // Arabic seven, Arabic comma + key { [ 0x10006F8, asterisk, enfilledcircbullet ] }; // Arabic eight + key { [ 0x10006F9, parenright, 0x100200E ] }; // Arabic nine, left-to-right mark + key { [ 0x10006F0, parenleft, 0x100200F ] }; // Arabic zero, right-to-left mark + key { [ minus, 0x1000640, underscore ] }; // Arabic tatweel + key { [ equal, plus ] }; + + key { [ 0x1000636, 0x1000652, degree ] }; // Arabic dad, Arabic sukun + key { [ 0x1000635, 0x100064C, 0x1000653 ] }; // Arabic sad, Arabic dammatan, Arabic maddah above + key { [ 0x100062B, 0x100064D, EuroSign ] }; // Arabic theh, Arabic kasratan + key { [ 0x1000642, 0x100064B, 0x100FD3E ] }; // Arabic qaf, Arabic fathatan, ornate left paren + key { [ 0x1000641, 0x100064F, 0x100FD3F ] }; // Arabic feh, Arabic damma, ornate right paren + key { [ 0x100063A, 0x1000650, 0x1000656 ] }; // Arabic ghain, Arabic kasra, Arabic subscript alef + key { [ 0x1000639, 0x100064E, 0x100e659 ] }; // Arabic ain, Arabic fatha, Arabic zwarakay + key { [ 0x1000647, 0x1000651, 0x1000670 ] }; // Arabic heh, Arabic shadda, Arabic superscript alef + key { [ 0x100062E, bracketright, apostrophe ] }; // Arabic khah + key { [ 0x100062D, bracketleft, quotedbl ] }; // Arabic hah + key { [ 0x100062C, braceright, 0x1000681 ] }; // Arabic jeem, Arabic hah with hamza above + key { [ 0x1000686, braceleft, 0x1000685 ] }; // Arabic tcheh, Arabic hah with three dots above + + key { [ 0x1000634, 0x1000624, 0x100069A ] }; // Arabic sheen, Arabic waw with hamza above, Arabic seen with dot below and dot above + key { [ 0x1000633, 0x1000626, 0x10006CD ] }; // Arabic seen, Arabic yeh with hamza above, Arabic yeh with tail + key { [ 0x10006CC, 0x100064A, 0x1000649 ] }; // Farsi yeh, Arabic yeh, Arabic alef maksura + key { [ 0x1000628, 0x10006D0, 0x1000643 ] }; // Arabic beh, Arabic e, Arabic kaf + key { [ 0x1000644, 0x1000623, 0x10006B7 ] }; // Arabic lam, Arabic hamza on alef, Arabic alef with hamza above + key { [ 0x1000627, 0x1000622, 0x1000671 ] }; // Arabic alef, Arabic madda on alef, Arabic alef wasla + key { [ 0x100062A, 0x1000629, 0x100067C ] }; // Arabic teh, Arabic teh marbuta, Arabic tteh + key { [ 0x1000646, guillemotright, 0x10006BC ] }; // Arabic noon, Arabic noon with ring + key { [ 0x1000645, guillemotleft, 0x10006BA ] }; // Arabic meem, Arabic noon ghunna + key { [ 0x10006A9, colon, semicolon ] }; // Arabic keheh + key { [ 0x10006AF, 0x100061B, 0x10006AB ] }; // Arabic gaf, Arabic semicolon, Arabic kaf with ring + + key { [ backslash, bar, question ] }; + + key { [ 0x1000638, 0x10006C9, 0x10006D2 ] }; // Arabic zah, Arabic kirghiz yu, Arabic yeh barree + key { [ 0x1000637, 0x10006C7, 0x1000691 ] }; // Arabic tah, Arabic u, Arabic rreh + key { [ 0x1000632, 0x1000698, 0x1000696 ] }; // Arabic zain, Arabic jeh, Arabic reh with dot below and dot above + key { [ 0x1000631, 0x1000625, 0x1000693 ] }; // Arabic reh, Arabic alef with hamza below, Arabic reh with ring + key { [ 0x1000630, 0x100200C, 0x1000688 ] }; // Arabic thal, zero width non-joiner, Arabic ddal + key { [ 0x100062F, 0x1000654, 0x1000689 ] }; // Arabic dal, Arabic hamza above, Arabic dal with ring + key { [ 0x100067E, 0x1000621, 0x1000679 ] }; // Arabic peh, Arabic hamza, Arabic tteh + key { [ 0x1000648, greater, comma ] }; // Arabic waw + key { [ period, less ] }; + key { [ slash, 0x100061F, 0x1000655 ] }; // Arabic question mark, Arabic hamza below + + include "nbsp(zwnj2nb3)" + include "group(olpc)" +}; diff --git a/xkbdata/symbols/al b/xkbdata/symbols/al new file mode 100644 index 0000000..4b0a31d --- /dev/null +++ b/xkbdata/symbols/al @@ -0,0 +1,153 @@ +// Albanian keyboard layout, by Pablo Saratxaga . +default partial alphanumeric_keys +xkb_symbols "basic" { + + include "latin(type3)" + + name[Group1]="Albanian"; + + key { [ 1, exclam, asciitilde, dead_tilde ] }; + key { [ 2, quotedbl, dead_caron, oneeighth ] }; + key { [ 3, numbersign, dead_circumflex, sterling ] }; + key { [ 4, dollar, dead_breve, dollar ] }; + key { [ 5, percent, dead_abovering, threeeighths] }; + key { [ 6, asciicircum, dead_ogonek, fiveeighths ] }; + key { [ 7, ampersand, grave, dead_grave ] }; + key { [ 8, asterisk, dead_abovedot, trademark ] }; + key { [ 9, parenleft, dead_acute, plusminus ] }; + key { [ 0, parenright, dead_doubleacute, degree ] }; + key { [ minus, underscore, dead_diaeresis, questiondown] }; + + key { [ e, E, EuroSign, EuroSign ] }; + key { [ ccedilla, Ccedilla, division, dead_abovering ] }; + key { [ at, apostrophe, multiply, dead_macron ] }; + + key { [ s, S, dstroke, section ] }; + key { [ d, D, Dstroke, ETH ] }; + key { [ediaeresis, Ediaeresis, dollar, dead_doubleacute ] }; + key { [bracketleft, braceleft, ssharp, dead_caron ] }; + key { [ backslash, bar, notsign, notsign ] }; + + key { [bracketright, braceright, currency, dead_breve ] }; + key { [ comma, semicolon, less, multiply ] }; + key { [ period, colon, greater, division ] }; + key { [ slash, question, dead_belowdot, dead_abovedot ] }; + + include "level3(ralt_switch)" +}; + + +// Tastiera Plisi (plisi.org) +// by Getoar Mjeku +// + +partial alphanumeric_keys +xkb_symbols "plisi" { + + include "us" + + name[Group1]= "Albanian (Plisi)"; + + key { [ grave, asciitilde ] }; + key { [ 1, exclam, U2019 ] }; + key { [ 2, at, twosuperior ] }; + key { [ 3, numbersign, threesuperior ] }; + key { [ 4, dollar, EuroSign ] }; + key { [ 5, percent, exclamdown ] }; + key { [ 6, asciicircum, questiondown ] }; + key { [ 7, ampersand, braceleft ] }; + key { [ 8, asterisk, braceright ] }; + key { [ 9, parenleft, bracketleft ] }; + key { [ 0, parenright, bracketright ] }; + key { [ minus, underscore, U00AD ] }; + key { [ equal, plus, registered ] }; + + key { [ q, Q, dead_grave ] }; + key { [ w, W, dead_caron ] }; + key { [ e, E, dead_circumflex ] }; + key { [ r, R, dead_diaeresis ] }; + key { [ t, T, dead_macron ] }; + key { [ y, Y, dead_doubleacute ] }; + key { [ u, U, dead_breve ] }; + key { [ i, I, dead_tilde, U0131 ] }; + key { [ o, O, dead_abovering ] }; + key { [ p, P, dead_abovedot ] }; + key { [ ccedilla, Ccedilla, dead_acute ] }; + key { [ greater, less, U031C ] }; + + key { [ a, A, U2264 ] }; + key { [ s, S, U2265 ] }; + key { [ d, D, U2300 ] }; + key { [ f, F, U2032 ] }; + key { [ g, G, U2033 ] }; + key { [ h, H, section ] }; + key { [ j, J, dead_cedilla ] }; + key { [ k, K, dead_belowcomma ] }; + key { [ l, L, dead_ogonek ] }; + key { [ ediaeresis, Ediaeresis, dead_belowdot ] }; + key { [ apostrophe, quotedbl ] }; + + key { [ z, Z, guillemotleft ] }; + key { [ x, X, guillemotright ] }; + key { [ c, C, copyright ] }; + key { [ v, V, U2039 ] }; + key { [ b, B, U203A ] }; + key { [ n, N, endash ] }; + key { [ m, M, emdash, U00B5 ] }; + key { [ comma, semicolon, U02BB ] }; + key { [ period, colon, U200C ] }; + key { [ slash, question, U2011 ] }; + + key { [ backslash, bar, U031B ] }; + + include "level3(ralt_switch)" +}; + +// EXTRAS: + +// Veqilharxhi layout (https://arberisht.wordpress.com/2019/09/13/an-xkb-layout-for-the-veqilharxhi-alphabet/) +// by Arbër Boriçi (illyriensis@protonmail.com) +// 2019-09-12 + + +partial alphanumeric_keys +xkb_symbols "veqilharxhi" { + + include "us" + + name[Group1]="Albanian (Veqilharxhi)"; + + // QWERTYUIOP + key { [ U105B0, U10589 ] }; // 𐖰, 𐖉 + key { [ U1059F, U10578, w, W ] }; // 𐖟, 𐕸, w, W + key { [ U1059E, U10577 ] }; // 𐖞, 𐕷 + key { [ U105B1, U1058A, U105B2, U1058B ] }; // 𐖱, 𐖊, 𐖲, 𐖋 + key { [ U105B5, U1058E, U105B6, U1058F ] }; // 𐖵, 𐖎, 𐖶, 𐖏 + key { [ U105BB, U10594 ] }; // 𐖻, 𐖔 + key { [ U105B7, U10590 ] }; // 𐖷, 𐖐 + key { [ U105A5, U1057E ] }; // 𐖥, 𐕾 + key { [ U105AE, U10587 ] }; // 𐖮, 𐖇 + key { [ U105AF, U10588 ] }; // 𐖯, 𐖈 + + // ASDFGHJKL + key { [ U10597, U10570 ] }; // 𐖗, 𐕰 + key { [ U105B3, U1058C, U105B4, U1058D ] }; // 𐖳, 𐖌, 𐖴, 𐖍 + key { [ U1059C, U10575, U1059D, U10576 ] }; // 𐖜, 𐕵, 𐖝, 𐕶 + key { [ U105A0, U10579 ] }; // 𐖠, 𐕹 + key { [ U105A1, U1057A, U105A2, U1057B ] }; // 𐖡, 𐕺, 𐖢, 𐕻 + key { [ U105A3, U1057C ] }; // 𐖣, 𐕼 + key { [ U105A7, U10580 ] }; // 𐖧, 𐖀 + key { [ U105A8, U10581 ] }; // 𐖨, 𐖁 + key { [ U105A9, U10582, U105AA, U10583 ] }; // 𐖩, 𐖂, 𐖪, 𐖃 + + // ZXCVBNM + key { [ U105BC, U10595, U105BD, U10596 ] }; // 𐖼, 𐖕, 𐖽, 𐖖 + key { [ U105B9, U10592, U105BA, U10593 ] }; // 𐖹, 𐖒, 𐖺, 𐖓 + key { [ U1059A, U10573, U1059B, U10574 ] }; // 𐖚, 𐕳, 𐖛, 𐕴 + key { [ U105B8, U10591 ] }; // 𐖸, 𐖑 + key { [ U10598, U10571 ] }; // 𐖘, 𐕱 + key { [ U105AC, U10585, U105AD, U10586 ] }; // 𐖬, 𐖅, 𐖭, 𐖆 + key { [ U105AB, U10584 ] }; // 𐖫, 𐖄 + + include "level3(ralt_switch)" +}; diff --git a/xkbdata/symbols/altwin b/xkbdata/symbols/altwin new file mode 100644 index 0000000..43cf129 --- /dev/null +++ b/xkbdata/symbols/altwin @@ -0,0 +1,129 @@ +// Meta is mapped to second level of Alt. +partial modifier_keys +xkb_symbols "meta_alt" { + key { [ Alt_L, Meta_L ] }; + key { type[Group1] = "TWO_LEVEL", + symbols[Group1] = [ Alt_R, Meta_R ] }; + modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R }; +// modifier_map Mod4 {}; +}; + +// Alt is mapped to the Super and the usual Alt. +partial modifier_keys +xkb_symbols "alt_win" { + key { [ Alt_L ] }; + key { [ Alt_R ] }; + modifier_map Mod1 { , }; +}; + +// Ctrl is mapped to the Super and the usual Ctrl keys. +partial modifier_keys +xkb_symbols "ctrl_win" { + key { [ Control_L ] }; + key { [ Control_R ] }; + modifier_map Control { , }; +}; + +// Ctrl is mapped to the Right Super and the usual Ctrl key. +partial modifier_keys +xkb_symbols "ctrl_rwin" { + key { [ Control_R ] }; + modifier_map Control { }; +}; + +// Ctrl is mapped to the Alt, Alt to the Super, and Win to the Ctrl keys. +partial modifier_keys +xkb_symbols "ctrl_alt_win" { + key { [ Control_L, Control_L ] }; + key { type[Group1] = "TWO_LEVEL", + symbols[Group1] = [ Control_R, Control_R ] }; + key { [ Alt_L, Meta_L ] }; + key { [ Alt_R, Meta_R ] }; + key { [ Super_L ] }; + key { [ Super_R ] }; + modifier_map Control { , }; + modifier_map Mod1 { , }; + modifier_map Mod4 { , }; +}; + +// Meta is mapped to the Super. +partial modifier_keys +xkb_symbols "meta_win" { + key { [ Alt_L, Alt_L ] }; + key { type[Group1] = "TWO_LEVEL", + symbols[Group1] = [ Alt_R, Alt_R ] }; + key { [ Meta_L ] }; + key { [ Meta_R ] }; + modifier_map Mod1 { Alt_L, Alt_R }; + modifier_map Mod4 { , Meta_L, Meta_R }; +}; + +// Meta is mapped to the left Win key. +partial modifier_keys +xkb_symbols "left_meta_win" { + key { [ Alt_L, Alt_L ] }; + key { [ Meta_L ] }; + modifier_map Mod1 { Alt_L }; + modifier_map Mod4 { , Meta_L }; +}; + +// Hyper is mapped to the Super. +partial modifier_keys +xkb_symbols "hyper_win" { + key { [ Hyper_L ] }; + key { [ Hyper_R ] }; + modifier_map Mod4 { Hyper_L, Hyper_R }; +}; + +// Menu is mapped to the Menu key. +partial modifier_keys +xkb_symbols "menu" { + key { [ Menu ] }; +}; + +// Menu is mapped to the right Win key. +partial modifier_keys +xkb_symbols "menu_win" { + key { [ Super_R ] }; +}; + +// Layout for Tux key caps with additional right Alt key +partial modifier_keys +xkb_symbols "alt_super_win" { + key { [ Alt_L, Meta_L ] }; + key { [ Alt_R, Meta_R ] }; + key { [ Super_L ]}; + key { [ Super_R ] }; + modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R }; + modifier_map Mod4 { Super_L, Super_R }; +}; + +// Swap the Alt and Super. +partial modifier_keys +xkb_symbols "swap_alt_win" { + include "altwin(swap_lalt_lwin)" + include "altwin(swap_ralt_rwin)" +}; + +// Swap the left Alt and Super. +partial modifier_keys +xkb_symbols "swap_lalt_lwin" { + key { type[Group1] = "ONE_LEVEL", + symbols[Group1] = [ Super_L ] }; + key { [ Alt_L, Meta_L ] }; +}; + +// Swap the right Alt and Super. +hidden partial modifier_keys +xkb_symbols "swap_ralt_rwin" { + key { type[Group1] = "ONE_LEVEL", + symbols[Group1] = [ Super_R ] }; + key { [ Alt_R, Meta_R ] }; +}; + +// Win is mapped to the PrtSc key (and the usual Win key). +partial modifier_keys +xkb_symbols "prtsc_rwin" { + replace key { [ Super_R, Super_R ] }; + modifier_map Mod4 { , }; +}; diff --git a/xkbdata/symbols/am b/xkbdata/symbols/am new file mode 100644 index 0000000..5c7fb4a --- /dev/null +++ b/xkbdata/symbols/am @@ -0,0 +1,235 @@ +default partial alphanumeric_keys +xkb_symbols "basic" { + + name[Group1]= "Armenian"; + + key { [ Armenian_separation_mark, Armenian_exclam ] }; + key { [ question, Armenian_hyphen ] }; + key { [ guillemotright, guillemotleft ] }; + + key { [ Armenian_fe, Armenian_FE ] }; + key { [ Armenian_dza, Armenian_DZA ] }; + key { [ Armenian_hyphen, 0x1002014 ] }; + key { [ comma, dollar ] }; + key { [ Armenian_full_stop, 0x1002026 ] }; + key { [ Armenian_question, percent ] }; + key { [ 0x1002024, Armenian_ligature_ew ] }; + key { [ Armenian_accent, Armenian_apostrophe ] }; + key { [ parenright, parenleft ] }; + key { [ Armenian_o, Armenian_O ] }; + key { [ Armenian_e, Armenian_E ] }; + key { [ Armenian_ghat, Armenian_GHAT ] }; + + key { [ Armenian_tche, Armenian_TCHE ] }; + key { [ Armenian_pyur, Armenian_PYUR ] }; + key { [ Armenian_ben, Armenian_BEN ] }; + key { [ Armenian_se, Armenian_SE ] }; + key { [ Armenian_men, Armenian_MEN ] }; + key { [ Armenian_vo, Armenian_VO ] }; + key { [ Armenian_vyun, Armenian_VYUN ] }; + key { [ Armenian_ken, Armenian_KEN ] }; + key { [ Armenian_at, Armenian_AT ] }; + key { [ Armenian_to, Armenian_TO ] }; + key { [ Armenian_tsa, Armenian_TSA ] }; + key { [ Armenian_tso, Armenian_TSO ] }; + + key { [ Armenian_je, Armenian_JE ] }; + key { [ Armenian_vev, Armenian_VEV ] }; + key { [ Armenian_gim, Armenian_GIM ] }; + key { [ Armenian_yech, Armenian_YECH ] }; + key { [ Armenian_ayb, Armenian_AYB ] }; + key { [ Armenian_nu, Armenian_NU ] }; + key { [ Armenian_ini, Armenian_INI ] }; + key { [ Armenian_tyun, Armenian_TYUN ] }; + key { [ Armenian_ho, Armenian_HO ] }; + key { [ Armenian_pe, Armenian_PE ] }; + key { [ Armenian_re, Armenian_RE ] }; + + key { [ Armenian_zhe, Armenian_ZHE ] }; + key { [ Armenian_da, Armenian_DA ] }; + key { [ Armenian_cha, Armenian_CHA ] }; + key { [ Armenian_hi, Armenian_HI ] }; + key { [ Armenian_za, Armenian_ZA ] }; + key { [ Armenian_lyun, Armenian_LYUN ] }; + key { [ Armenian_ke, Armenian_KE ] }; + key { [ Armenian_khe, Armenian_KHE ] }; + key { [ Armenian_sha, Armenian_SHA ] }; + key { [ Armenian_ra, Armenian_RA ] }; +}; + +partial alphanumeric_keys +xkb_symbols "olpc" { + include "am(basic)" + include "group(olpc)" +}; + +xkb_symbols "phonetic" { + include "am(basic)" + name[Group1]= "Armenian (phonetic)"; + + key { [ Armenian_sha, Armenian_SHA ] }; + + key { [ Armenian_e, Armenian_E ] }; + key { [ Armenian_to, Armenian_TO ] }; + key { [ Armenian_pyur, Armenian_PYUR ] }; + key { [ Armenian_dza, Armenian_DZA ] }; + key { [ Armenian_je, Armenian_JE ] }; + key { [ Armenian_vyun, Armenian_VYUN ] }; + key { [ Armenian_ligature_ew, 0x100058f ] }; + key { [ Armenian_ra, Armenian_RA ] }; + key { [ Armenian_cha, Armenian_CHA ] }; + key { [ Armenian_tche, Armenian_TCHE ] }; + key { [ Armenian_hyphen, 0x1002015 ] }; + key { [ Armenian_zhe, Armenian_ZHE ] }; + + key { [ Armenian_ke, Armenian_KE ] }; + key { [ Armenian_vo, Armenian_VO ] }; + key { [ Armenian_yech, Armenian_YECH ] }; + key { [ Armenian_re, Armenian_RE ] }; + key { [ Armenian_tyun, Armenian_TYUN ] }; + key { [ Armenian_at, Armenian_AT ] }; + key { [ Armenian_vyun, Armenian_VYUN ] }; + key { [ Armenian_ini, Armenian_INI ] }; + key { [ Armenian_o, Armenian_O ] }; + key { [ Armenian_pe, Armenian_PE ] }; + key { [ Armenian_khe, Armenian_KHE ] }; + key { [ Armenian_tsa, Armenian_TSA ] }; + + key { [ Armenian_ayb, Armenian_AYB ] }; + key { [ Armenian_se, Armenian_SE ] }; + key { [ Armenian_da, Armenian_DA ] }; + key { [ Armenian_fe, Armenian_FE ] }; + key { [ Armenian_gim, Armenian_GIM ] }; + key { [ Armenian_ho, Armenian_HO ] }; + key { [ Armenian_hi, Armenian_HI ] }; + key { [ Armenian_ken, Armenian_KEN ] }; + key { [ Armenian_lyun, Armenian_LYUN ] }; + key { [ semicolon, Armenian_full_stop ] }; + key { [ Armenian_accent, 0x1000022 ] }; + + key { [ Armenian_za, Armenian_ZA ] }; + key { [ Armenian_ghat, Armenian_GHAT ] }; + key { [ Armenian_tso, Armenian_TSO ] }; + key { [ Armenian_vev, Armenian_VEV ] }; + key { [ Armenian_ben, Armenian_BEN ] }; + key { [ Armenian_nu, Armenian_NU ] }; + key { [ Armenian_men, Armenian_MEN ] }; + key { [ 0x100002C, 0x10000AB ] }; + key { [ 0x1002024, 0x10000BB ] }; + key { [ 0x100002F, Armenian_question ] }; +}; + +partial alphanumeric_keys +xkb_symbols "phonetic-alt" { + include "am(phonetic)" + name[Group1]= "Armenian (alt. phonetic)"; + + key { [ Armenian_re, Armenian_RE ] }; + key { [ Armenian_ra, Armenian_RA ] }; +}; + +partial alphanumeric_keys +xkb_symbols "olpc-phonetic" { + include "am(phonetic-alt)" + name[Group1]= "Armenian (OLPC, phonetic)"; + + include "group(olpc)" +}; + +partial alphanumeric_keys +xkb_symbols "eastern" { + + name[Group1]="Armenian (eastern)"; + + // This is the closer phonetic transliteration for Eastern Armenian + // than the Windows XP layout for Eastern Armenian, which seems + // to have contained a bug, with the reversal of 'g' for keh and 'c' for gim. + // Also, AE01 (the colon) has been replaced with the Armenian_full_stop, + // and capital AE07 (ken) with the Armenian ligature ew. + + key { [ Armenian_separation_mark, Armenian_exclam ] }; + key { [ Armenian_full_stop, KP_1 ] }; + key { [ Armenian_dza, Armenian_DZA ] }; + key { [ Armenian_hi, Armenian_HI ] }; + key { [ Armenian_accent, KP_3 ] }; + key { [ comma, KP_4 ] }; + key { [ minus, KP_9 ] }; + key { [ period, Armenian_ligature_ew ] }; + key { [ guillemotleft, parenleft ] }; + key { [ guillemotright, parenright ] }; + key { [ Armenian_o, Armenian_O ] }; + key { [ Armenian_ra, Armenian_RA ] }; + key { [ Armenian_zhe, Armenian_ZHE ] }; + + key { [ Armenian_khe, Armenian_KHE ] }; + key { [ Armenian_vyun, Armenian_VYUN ] }; + key { [ Armenian_e, Armenian_E ] }; + key { [ Armenian_re, Armenian_RE ] }; + key { [ Armenian_tyun, Armenian_TYUN ] }; + key { [ Armenian_yech, Armenian_YECH ] }; + key { [ Armenian_at, Armenian_AT ] }; + key { [ Armenian_ini, Armenian_INI ] }; + key { [ Armenian_vo, Armenian_VO ] }; + key { [ Armenian_pe, Armenian_PE ] }; + key { [ Armenian_cha, Armenian_CHA ] }; + key { [ Armenian_je, Armenian_JE ] }; + key { [ apostrophe, Armenian_question ] }; + + key { [ Armenian_ayb, Armenian_AYB ] }; + key { [ Armenian_se, Armenian_SE ] }; + key { [ Armenian_da, Armenian_DA ] }; + key { [ Armenian_fe, Armenian_FE ] }; + key { [ Armenian_gim, Armenian_GIM ] }; + key { [ Armenian_ho, Armenian_HO ] }; + key { [ Armenian_tche, Armenian_TCHE ] }; + key { [ Armenian_ken, Armenian_KEN ] }; + key { [ Armenian_lyun, Armenian_LYUN ] }; + key { [ Armenian_to, Armenian_TO ] }; + key { [ Armenian_pyur, Armenian_PYUR ] }; + + key { [ Armenian_za, Armenian_ZA ] }; + key { [ Armenian_tso, Armenian_TSO ] }; + key { [ Armenian_ke, Armenian_KE ] }; + key { [ Armenian_vev, Armenian_VEV ] }; + key { [ Armenian_ben, Armenian_BEN ] }; + key { [ Armenian_nu, Armenian_NU ] }; + key { [ Armenian_men, Armenian_MEN ] }; + key { [ Armenian_sha, Armenian_SHA ] }; + key { [ Armenian_ghat, Armenian_GHAT ] }; + key { [ Armenian_tsa, Armenian_TSA ] }; +}; + +partial alphanumeric_keys +xkb_symbols "western" { + include "am(eastern)" + name[Group1]="Armenian (western)"; + + // This is exactly the same layout for Western Armenian + // as in Windows XP, except: + // AE01 (the colon) has been replaced with the Armenian_full_stop and + // capital AE07 (ken) with the Armenian ligature ew + + key { [ Armenian_vev, Armenian_VEV ] }; + key { [ Armenian_da, Armenian_DA ] }; + key { [ Armenian_ben, Armenian_BEN ] }; + key { [ Armenian_tyun, Armenian_TYUN ] }; + key { [ Armenian_ken, Armenian_KEN ] }; + key { [ Armenian_ke, Armenian_KE ] }; + key { [ Armenian_gim, Armenian_GIM ] }; + key { [ Armenian_vyun, Armenian_VYUN ] }; + key { [ Armenian_pe, Armenian_PE ] }; +}; + +partial alphanumeric_keys +xkb_symbols "eastern-alt" { + include "am(eastern)" + name[Group1]="Armenian (alt. eastern)"; + + // This replicates the Windows XP keyboard layout for Eastern + // Armenian exactly (including the bug), except: + // AE01 (the colon) has been replaced with the Armenian_full_stop and + // capital AE07 (ken) with the Armenian ligature ew + + key { [ Armenian_ke, Armenian_KE ] }; + key { [ Armenian_gim, Armenian_GIM ] }; +}; diff --git a/xkbdata/symbols/apl b/xkbdata/symbols/apl new file mode 100644 index 0000000..d3f4be1 --- /dev/null +++ b/xkbdata/symbols/apl @@ -0,0 +1,687 @@ +// EXTRAS: +// +// APL Keyboard Layouts + +// This file supports: +// - The Sharp APL for Unix (SAX) layout +// - The IBM APL2 layout +// - The Manugistics APL*PLUS II (Version 5.1, 1993) keyboard layout +// - The Dyalog APL layout - with additions for box drawing and commands + +// Unicode APL table: http://aplwiki.com/UnicodeAplTable +// ...and another: http://publibfp.boulder.ibm.com/epubs/pdf/h2110611.pdf (appendix A) +// Generic Unicode stuff: http://www.fileformat.info/info/unicode/category/index.htm + +// Tim Nelson (this file's creator) says: + +// This file doesn't deal with all the combining stuff -- I'm not an APL programmer, +// and am not quite sure what's needed here. However, it may be possible to get this +// working with dead keys and the like. Patches gratefully accepted. +// [Geoff Streeter: What has been done to is to support all of the APL overstrikes in the compose table] + +// Some of the shift-key assignments may differ from the APL tradition. If +// that's not considered acceptable, it should be possible to remap the +// shift keys. I have striven, however, to ensure that the use of shift keys +// in these maps is at least self-consistent. + +// I'm assuming that this will be used with another keyboard layout (ie. for +// your language), with a special shift key to use these maps. + +// 2018-07-02 added some codes to the Unicode Private Use page. +// 2017-02-27 changed ¤ to ⌺, added ⊆ +// 2012-09-26 changed "overbar" to macron which fixed some strangeness in xterm + +// 2011-12-22 Geoff Streeter: geoff@dyalog.com +// Added the Dyalog support. +// Corrected (what he thinks) are some errors. +// Resolving the confusion between APL's and Unicode's concept of Left and Right tacks. +// Unsure about some of the inheritance from APL2 into APLPLUS. Patches welcome. +// Complied with freedesktop.org requirement that the keycodes be in sorted order. Which +// leads to the bottom to top (roughly) definitions. + +// default layout seems to have to be the first one. Choosing the basic Dyalog layout is definitely +// better than using the "common" one. Choosing the complete Dyalog layout is not useful to non-Dyalog +// users. + +default partial alphanumeric_keys +xkb_symbols "basic" { + + include "apl(dyalog_base)" // forward reference to a good APL keyboard without Dyalogs extras + + name[Group1]="APL"; +}; + +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓ +// │ │ │ │ │ │ │ │ │ │ │ │ │ ┃ ┃ +// │ │ ¨ │ ¯ │ < │ ≤ │ = │ ≥ │ > │ ≠ │ ∨ │ ∧ │ │ ┃ ┃ +// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫ +// ┃ ┃ │ │ │ │ │ │ │ │ │ │ │ ┃ ┃ +// ┃ ┃ ? │ ⍵ │ ∊ │ ⍴ │ ~ │ ↑ │ ↓ │ ⍳ │ ○ │ * │ ← │ ┃ ┃ +// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃ +// ┃ ┃ │ │ │ │ │ │ │ │ │ │ │ ┃ ┃ +// ┃ ┃ ⍺ │ ⌈ │ ⌊ │ _ │ ∇ │ ∆ │ ∘ │ ' │ ⎕ │ │ │ ┃ ┃ +// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫ +// ┃ ┃ │ │ │ │ │ │ │ │ │ │ ┃ ┃ +// ┃ ┃ │ ⊂ │ ⊃ │ ∩ │ ∪ │ ⊥ │ ⊤ │ | │ │ │ ┃ ┃ +// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛ +// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ +// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛ + +hidden partial alphanumeric_keys +xkb_symbols "common" { + + key { [ U2282 ] }; // Z: ⊂ -- Subset Of + key { [ U2283 ] }; // X: ⊃ -- Superset Of + key { [ U2229 ] }; // C: ∩ -- Intersection + key { [ U222A ] }; // V: ∪ -- Union + key { [ U22A5 ] }; // B: ⊥ -- Up Tack + key { [ U22A4 ] }; // N: ⊤ -- Down Tack + key { [ U007C ] }; // M: | -- Vertical Line + + key { [ U237A ] }; // A: ⍺ -- APL Functional Symbol Alpha + key { [ U2308 ] }; // S: ⌈ -- Left Ceiling + key { [ U230A ] }; // D: ⌊ -- Left Floor + key { [ underscore ] }; // F: + key { [ U2207 ] }; // G: ∇ -- Nabla + key { [ U2206 ] }; // H: ∆ -- Increment + key { [ U2218 ] }; // J: ∘ -- Ring Operator + key { [ apostrophe ] }; // K: + key { [ U2395 ] }; // L: ⎕ -- APL Functional Symbol Quad + + key { [ question ] }; // Q: + key { [ U2375 ] }; // W: ⍵ -- APL Functional Symbol Omega + key { [ U220A ] }; // E: ∊ -- Small Element Of + key { [ U2374 ] }; // R: ⍴ -- APL Functional Symbol Rho + key { [ asciitilde ] }; // T: + key { [ U2191 ] }; // Y: ↑ -- Upwards Arrow + key { [ U2193 ] }; // U: ↓ -- Downwards Arrow + key { [ U2373 ] }; // I: ⍳ -- APL Functional Symbol Iota + key { [ U25CB ] }; // O: ○ -- White Circle + key { [ asterisk ] }; // P: * -- asterisk + key { [ U2190 ] }; // [: ← -- Leftwards Arrow + + key { [ diaeresis ] }; + key { [ macron ] }; // ¯ -- Macron + key { [ less ] }; + key { [ U2264 ] }; // ≤ -- Less-than Or Equal To + key { [ equal ] }; + key { [ U2265 ] }; // ≥ -- Greater-than Or Equal To + key { [ greater ] }; + key { [ U2260 ] }; // ≠ -- Not Equal To + key { [ U2228 ] }; // ∨ -- Logical Or + key { [ U2227 ] }; // ∧ -- Logical And +}; + +// Keys common to a number of keyboards that allow normal language usage alongside APL + +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓ +// │ │ │ │ │ │ │ │ │ │ ⍱ │ ⍲ │ │ ⌹ ┃ ┃ +// │ ⋄ │ ¨ │ ¯ │ < │ ≤ │ = │ ≥ │ > │ ≠ │ ∨ │ ∧ │ × │ ÷ ┃ ┃ +// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫ +// ┃ ┃ │ │ │ │ │ │ │ │ │ │ │ ┃ ┃ +// ┃ ┃ ? │ ⍵ │ ∊ │ ⍴ │ ~ │ ↑ │ ↓ │ ⍳ │ ○ │ * │ ← │ → ┃ ┃ +// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃ +// ┃ ┃ │ │ │ │ │ │ │ │ │ │ │ ┃ ┃ +// ┃ ┃ ⍺ │ ⌈ │ ⌊ │ _ │ ∇ │ ∆ │ ∘ │ ' │ ⎕ │ │ │ ┃ ┃ +// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫ +// ┃ ┃ │ │ │ │ │ │ │ │ │ │ ┃ ┃ +// ┃ ┃ │ ⊂ │ ⊃ │ ∩ │ ∪ │ ⊥ │ ⊤ │ | │ │ │ ┃ ┃ +// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛ +// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ +// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛ + +partial alphanumeric_keys +xkb_symbols "unified" { + + include "apl(common)" + + name[Group1]= "APL symbols (unified)"; + + key { [ U2192 ] }; // ]: → -- Rightwards Arrow + key { [ NoSymbol, U2371 ] }; // 9: ⍱ -- APL Functional Symbol Down Caret Tilde + key { [ NoSymbol, U2372 ] }; // 0: ⍲ -- APL Functional Symbol Up Caret Tilde + key { [ U00D7 ] }; // -: × -- Multiplication Sign + key { [ U00F7, U2339 ] }; // =: ÷ ⌹ -- Division Sign / APL Functional Symbol Quad Divide + key { [ U22C4 ] }; // `: ⋄ -- Diamond Operator +}; + +// Layout: http://www.wickensonline.co.uk/apl-unicomp.html + +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓ +// │ │ ¡ │ │ │ ¢ │ │ │ │ ⍂ │ ⍱ │ ⍲ │ ≡ │ ⌹ ┃ ┃ +// │ ⋄ │ ¨ │ ¯ │ < │ ≤ │ = │ ≥ │ > │ ≠ │ ∨ │ ∧ │ × │ ÷ ┃ ┃ +// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫ +// ┃ ┃ ¿ │ ⌽ │ ⍷ │ │ ⍉ │ │ │ ⍸ │ ⍥ │ ⍣ │ │ ┃ ┃ +// ┃ ┃ ? │ ⍵ │ ∊ │ ⍴ │ ~ │ ↑ │ ↓ │ ⍳ │ ○ │ * │ ← │ → ┃ ┃ +// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃ +// ┃ ┃ ⊖ │ │ │ ⍫ │ ⍒ │ ⍋ │ ⍤ │ ⌻ │ ⍞ │ │ │ ⍀ ┃ ┃ +// ┃ ┃ ⍺ │ ⌈ │ ⌊ │ _ │ ∇ │ ∆ │ ∘ │ ' │ ⎕ │ ⊢ │ ⊣ │ ⍝ ┃ ┃ +// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫ +// ┃ ┃ │ │ │ ⍝ │ │ ⍎ │ ⍕ │ ⌶ │ ⍪ │ ⍙ │ ⌿ ┃ ┃ +// ┃ ┃ │ ⊂ │ ⊃ │ ∩ │ ∪ │ ⊥ │ ⊤ │ | │ ⍞ │ ⍎ │ ⍕ ┃ ┃ +// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛ +// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ +// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛ + +partial alphanumeric_keys +xkb_symbols "sax" { + + include "apl(unified)" + + name[Group1]= "APL symbols (SAX, Sharp APL for Unix)"; + + key { [ NoSymbol, U235D ] }; // C: ⍝ -- APL Functional Symbol Up Shoe Jot + key { [ NoSymbol, U234E ] }; // B: ⍎ -- APL Functional Symbol Down Tack Jot (Unicode got the name wrong; it should have been "Up Tack") + key { [ NoSymbol, U2355 ] }; // N: ⍕ -- APL Functional Symbol Up Tack Jot (Unicode got the name wrong; it should have been "Down Tack") + key { [ NoSymbol, U2336 ] }; // M: ⌶ -- APL Functional Symbol I-Beam + key { [ U235E, U236A ] }; // ,: ⍞ ⍪ -- APL Functional Symbol Quote Quad / APL Functional Symbol Comma Bar + key { [ U234E, U2359 ] }; // .: ⍎ ⍙ -- [See B key] / APL Functional Symbol Delta Underbar + key { [ U2355, U233F ] }; // /: ⍕ ⌿ -- [See N key] / APL Functional Symbol Slash Bar + + key { [ NoSymbol, U2296 ] }; // A: ⊖ -- Circled Minus + key { [ NoSymbol, U236B ] }; // F: ⍫ -- APL Functional Symbol Del Tilde + key { [ NoSymbol, U2352 ] }; // G: ∇ ⍒ -- APL Functional Symbol Del Stile + key { [ NoSymbol, U234B ] }; // H: ∆ ⍋ -- APL Functional Symbol Delta Stile + key { [ NoSymbol, U2364 ] }; // J: ⍤ -- APL Functional Symbol Jot Diaeresis + key { [ NoSymbol, U233B ] }; // K: ⌻ + key { [ NoSymbol, U235E ] }; // L: ⍞ -- APL Functional Symbol Quote Quad + key { [ U22A2 ] }; // ;: ⊢ -- Right Tack + key { [ U22A3 ] }; // ': ⊣ -- Left Tack + + key { [ NoSymbol, U00BF ] }; // Q: ¿ -- Inverted Question Mark + key { [ NoSymbol, U233D ] }; // W: ⌽ -- APL Functional Symbol Circle Stile + key { [ NoSymbol, U2377 ] }; // E: ⍷ -- APL Functional Symbol Epsilon Underbar + key { [ NoSymbol, U2349 ] }; // T: ⍉ -- APL Functional Symbol Circle Backslash + key { [ NoSymbol, U2378 ] }; // I: ⍸ -- APL Functional Symbol Iota Underbar + key { [ NoSymbol, U2365 ] }; // O: ⍥ -- APL Functional Symbol Circle Diaeresis + key { [ NoSymbol, U235F ] }; // P: ⍟ -- APL Functional Symbol Circle Star + key { [ NoSymbol, U00A1 ] }; // 1: ¡ -- Inverted Exclamation Mark + key { [ NoSymbol, cent ] }; // 4: + key { [ NoSymbol, U2342 ] }; // 8: ⍂ -- APL Functional Symbol Quad Backslash + key { [ NoSymbol, U2261 ] }; // -: ≡ -- Identical To + + key { [ U235D, U2340 ] }; // \: ⍝ ⍀ -- APL Functional Symbol Up Shoe Jot / APL Functional Symbol Backslash Bar +}; + +// Layout: http://www.wickensonline.co.uk/apl-unicomp.html + +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓ +// │ ⍂ │ ⌶ │ ⍫ │ ⍒ │ ⍋ │ ⌽ │ ⍉ │ ⊖ │ ⍟ │ ⍱ │ ⍲ │ ! │ ⌹ ┃ ┃ +// │ ⌻ │ │ │ │ │ │ │ │ │ │ │ - │ ÷ ┃ ┃ +// │ │ ¨ │ ¯ │ < │ ≤ │ = │ ≥ │ > │ ≠ │ ∨ │ ∧ │ + │ × ┃ ┃ +// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫ +// ┃ ┃ │ │ │ │ │ │ │ │ │ │ ⍞ │ ⍙ ┃ ┃ +// ┃ ┃ │ │ │ │ │ │ │ │ │ │ → │ ⍸ ┃ ┃ +// ┃ ┃ ? │ ⍵ │ ∊ │ ⍴ │ ~ │ ↑ │ ↓ │ ⍳ │ ○ │ * │ ← │ ⌷ ┃ ┃ +// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃ +// ┃ ┃ │ │ │ │ │ │ │ │ │ ⍎ │ ⍕ │ ⍤ ┃ ┃ +// ┃ ┃ │ │ │ │ │ │ │ │ │ ( │ ) │ ⍷ ┃ ┃ +// ┃ ┃ ⍺ │ ⌈ │ ⌊ │ _ │ ∇ │ ∆ │ ∘ │ ' │ ⎕ │ [ │ ] │ ≡ ┃ ┃ +// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫ +// ┃ ┃ │ │ │ │ │ │ │ │ ⍝ │ ⍀ │ ⌿ ┃ ┃ +// ┃ ┃ │ │ │ │ │ │ │ │ ; │ : │ \ ┃ ┃ +// ┃ ┃ │ ⊂ │ ⊃ │ ∩ │ ∪ │ ⊥ │ ⊤ │ | │ , │ . │ / ┃ ┃ +// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛ +// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ +// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛ + +partial alphanumeric_keys +xkb_symbols "apl2" { + + include "apl(common)" + + name[Group1]= "APL symbols (IBM APL2)"; + + // The first column is NoSymbol because it inherits. The second is NoSymbol because those keys don't do anything + // AFS - short for APL Functional Symbol + + key { [ comma, semicolon, U235D ] }; // ,: ⍝ -- AFS Up Shoe Jot + key { [ period, colon, U2340 ] }; // .: ⍀ -- AFS Backslash Bar + key { [ slash, backslash, U233F ] }; // /: ⌿ -- AFS Slash Bar + + key { [ bracketleft, parenleft, U234E ] }; // ;: ⍎ -- [See B key in SAX layout] + key { [ bracketright, parenright, U2355 ] }; // ': ⍕ -- [See N key in SAX layout] + + key { [ NoSymbol, U2192, U235E ] }; // [: (←) → ⍞ -- Rightwards Arrow / AFS Quote Quad + key { [ U2337, U2378, U2359 ] }; // ]: ⌷ ⍸ ⍙ -- AFS Squish Quad / AFS Iota Underbar / AFS Delta Underbar + + key { [ NoSymbol, NoSymbol, U2336 ] }; // 1: ⌶ -- AFS I-Beam + key { [ NoSymbol, NoSymbol, U236B ] }; // 2: ⍫ -- AFS Del Tilde + key { [ NoSymbol, NoSymbol, U2353 ] }; // 3: ⍒ -- AFS Del Stile + key { [ NoSymbol, NoSymbol, U234B ] }; // 4: ⍋ -- AFS Delta Stile + key { [ NoSymbol, NoSymbol, U233D ] }; // 5: ⌽ -- AFS Circle Stile + key { [ NoSymbol, NoSymbol, U2349 ] }; // 6: ⍉ -- AFS Circle Backslash + key { [ NoSymbol, NoSymbol, U2296 ] }; // 7: ⊖ -- Circled Minus + key { [ NoSymbol, NoSymbol, U235F ] }; // 8: ⍟ -- AFS Circle Star + key { [ NoSymbol, NoSymbol, U2371 ] }; // 9: ⍱ -- AFS Down Caret Tilde + key { [ NoSymbol, NoSymbol, U2372 ] }; // 0: ⍲ -- AFS Up Caret Tilde + key { [ plus, minus, exclam ] }; // -: + key { [ U00D7, U00F7, U2339 ] }; // =: × ÷ ⌹ -- Multiplication Sign / Division Sign / AFS Quad Divide + + key { [ U2261, U2377, U2364 ] }; // \: ≡ ⍷ ⍤ -- Identical To / AFS Epsilon Underbar / AFS Jot Diaeresis + + key { [ NoSymbol, U233B, U2342 ] }; // `: ⌻ ⍂ -- + + include "level3(ralt_switch)" +}; + +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓ +// │ ⍪ │ ≡ │ ⍫ │ ⍒ │ ⍋ │ ⌽ │ ⍉ │ ⊖ │ ⍟ │ ⍱ │ ⍲ │ ! │ ⌹ ┃ ┃ +// │ ⋄ │ │ │ │ │ │ │ │ │ │ │ - │ ÷ ┃ ┃ +// │ $ │ ¨ │ ¯ │ < │ ≤ │ = │ ≥ │ > │ ≠ │ ∨ │ ∧ │ + │ × ┃ ┃ +// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫ +// ┃ ┃ │ │ │ │ │ │ │ │ │ │ ⍞ │ ⍬ ┃ ┃ +// ┃ ┃ │ │ │ │ │ │ │ │ │ │ → │ ⍸ ┃ ┃ +// ┃ ┃ ? │ ⍵ │ ∊ │ ⍴ │ ~ │ ↑ │ ↓ │ ⍳ │ ○ │ * │ ← │ → ┃ ┃ +// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃ +// ┃ ┃ │ │ │ │ │ │ │ │ │ ⍎ │ ⍕ │ ⍙ ┃ ┃ +// ┃ ┃ │ │ │ │ │ │ │ │ │ ( │ ) │ ⊣ ┃ ┃ +// ┃ ┃ ⍺ │ ⌈ │ ⌊ │ _ │ ∇ │ ∆ │ ∘ │ ' │ ⎕ │ [ │ ] │ ⊢ ┃ ┃ +// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫ +// ┃ ┃ │ │ │ │ │ │ │ │ ⍝ │ ⍀ │ ⌿ ┃ ┃ +// ┃ ┃ │ │ │ │ │ │ │ │ ; │ : │ \ ┃ ┃ +// ┃ ┃ │ ⊂ │ ⊃ │ ∩ │ ∪ │ ⊥ │ ⊤ │ | │ , │ . │ / ┃ ┃ +// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛ +// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ +// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛ + +partial alphanumeric_keys +xkb_symbols "aplplusII" { + + include "apl(apl2)" + + name[Group1]= "APL symbols (Manugistics APL*PLUS II)"; + + // AFS is short for APL Functional Symbol + key { [ bracketleft, parenleft, U234E ] }; // ;: ⍎ -- [See B key in SAX layout] + key { [ bracketright, parenright, U2355 ] }; // ': ⍕ -- [See N key in SAX layout] + key { [ U2190, NoSymbol, U235E ] }; // [: ← ⍞ -- Leftwards Arrow / AFS Quote Quad + key { [ U2192, NoSymbol, U236C ] }; // ]: → ⍬ -- Rightwards Arrow / AFS Zilde + key { [ NoSymbol, NoSymbol, U2261 ] }; // 1: ≡ -- Identical To + key { [ U22A2, U22A3, U2359 ] }; // \: ⊢ ⊣ ⍙ -- Left Tack / Right Tack / AFS Delta Underbar + key { [ dollar, U22C4, U236A ] }; // `: ⋄ ⍪ -- Diamond Operator / AFS Comma Bar +}; + + +// MicroAPL layout: http://aplwiki.com/APLXKeyboardLayouts +// I didn't do the old-style MicroAPL layout; patches gratefully accepted + +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓ +// │ ⍞ │ ⌶ │ ⍫ │ ⍒ │ ⍋ │ ⌽ │ ⍉ │ ⊖ │ ⍟ │ ⍱ │ ⍲ │ ! │ ⌹ ┃ ┃ +// │ ⋄ │ ¨ │ ¯ │ < │ ≤ │ = │ ≥ │ > │ ≠ │ ∨ │ ∧ │ × │ ÷ ┃ ┃ +// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫ +// ┃ ┃ │ │ │ │ │ │ │ │ │ │ ⍇ │ ⍈ ┃ ┃ +// ┃ ┃ ? │ ⍵ │ ∊ │ ⍴ │ ~ │ ↑ │ ↓ │ ⍳ │ ○ │ * │ ← │ → ┃ ┃ +// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃ +// ┃ ┃ │ │ │ │ │ │ │ │ │ ≡ │ ≢ │ ⊣ ┃ ┃ +// ┃ ┃ ⍺ │ ⌈ │ ⌊ │ _ │ ∇ │ ∆ │ ∘ │ ' │ ⎕ │ ⍎ │ ⍕ │ ⊢ ┃ ┃ +// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫ +// ┃ ┃ │ │ │ │ │ │ │ │ ⍪ │ ⍤ │ ┃ ┃ +// ┃ ┃ │ ⊂ │ ⊃ │ ∩ │ ∪ │ ⊥ │ ⊤ │ | │ ⍝ │ ⍀ │ ⌿ ┃ ┃ +// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛ +// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ +// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛ + +partial alphanumeric_keys +xkb_symbols "aplx" { + + include "apl(unified)" + + name[Group1]= "APL symbols (APLX unified)"; + + key { [ U235D, U236A ] }; // ,: ⍝ ⍪ -- APL Functional Symbol Up Shoe Jot / APL Functional Symbol Comma Bar + key { [ U2340, U2364 ] }; // .: ⍀ ⍤ -- APL Functional Symbol Backslash Bar / APL Functional Symbol Jot Diaeresis + key { [ U233F ] }; // /: ⌿ -- APL Functional Symbol Slash Bar + + key { [ U234E, U2261 ] }; // ;: ⍎ ≡ -- [See B key in SAX layout] / Identical To + key { [ U2355, U2262 ] }; // ': ⍕ ≢ -- [See N key in SAX layout] / Not Identical To + + key { [ NoSymbol, U2347 ] }; // [: ⍇ -- Box With Left Arrow + key { [ NoSymbol, U2348 ] }; // ]: ⍈ -- Box With Right Arrow + + key { [ NoSymbol, U2336 ] }; // 1: ⌶ -- APL Functional Symbol I-Beam + key { [ NoSymbol, U236B ] }; // 2: ⍫ -- APL Functional Symbol Del Tilde + key { [ NoSymbol, U2353 ] }; // 3: ⍒ -- APL Functional Symbol Del Stile + key { [ NoSymbol, U234B ] }; // 4: ⍋ -- APL Functional Symbol Delta Stile + key { [ NoSymbol, U233D ] }; // 5: ⌽ -- APL Functional Symbol Circle Stile + key { [ NoSymbol, U2349 ] }; // 6: ⍉ -- APL Functional Symbol Circle Backslash + key { [ NoSymbol, U2296 ] }; // 7: ⊖ -- Circled Minus + key { [ NoSymbol, U235F ] }; // 8: ⍟ -- APL Functional Symbol Circle Star + key { [ NoSymbol, exclam ] }; // -: + + key { [ U22A2, U22A3 ] }; // \: ⊢ ⊣ -- Right Tack / Left Tack + + key { [ NoSymbol, U235E ] }; // `: ⍞ -- APL Functional Symbol Quote Quad +}; + +// APL language support for the Dyalog keyboard. +// Dyalog Ltd sell this keyboard with APL engravings. The current model is +// engraved on a Cherry G80. Base languages for US, UK and DK are availible. + +// Geoff Streeter, Dyalog Ltd. 2007-09-03 +// geoff@dyalog.com +// extended for APL special actions 2008-09-09 +// add variant 2010-11-26 +// made BKSL and LTGT keys the same to remove a compatibility issue with the UK physical keyboard +// add key (quad equals) 2013-03-12 +// add currency 2014-05-23 +// add parallel 2014-05-23 +// add circle jot 2014-05-23 +// add t diaeresis 2014-05-23 +// add del diaerisis 2014-05-23 +// add quad query 2014-05-23 +// add dagger 2014-05-23 +// correct spelling of key name LTGT→LSGT 2016-05-26 +// add enclose underbar 2017-02-27 +// add alpha underbar 2019-03-22 +// add omega underbar 2019-03-22 +// change all "partial hidden" to "hidden partial" - seems to be a compiler change + +// The intention is that this keyboard layout overlays a base keyboard that provides +// the alphabet and similar. If this keyboard is placed as the 2nd layout then it can +// be reached with a latching shift to increase group by one. + +hidden partial alphanumeric_keys +xkb_symbols "dyalog_base" { + +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓ +// │ ⌺ │ ⌶ │ ⍫ │ ⍒ │ ⍋ │ ⌽ │ ⍉ │ ⊖ │ ⍟ │ ⍱ │ ⍲ │ ! │ ⌹ ┃ ┃ +// │ ⋄ │ ¨ │ ¯ │ < │ ≤ │ = │ ≥ │ > │ ≠ │ ∨ │ ∧ │ × │ ÷ ┃ ┃ +// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫ +// ┃ ┃ ⍰ │ ⍹ │ ⍷ │ ⌾ │ ⍨ │ │ │ ⍸ │ ⍥ │ ⍣ │ ⍞ │ ⍬ ┃ ┃ +// ┃ ┃ ? │ ⍵ │ ∊ │ ⍴ │ ~ │ ↑ │ ↓ │ ⍳ │ ○ │ * │ ← │ → ┃ ┃ +// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃ +// ┃ ┃ ⍶ │ │ │ │ ⍢ │ │ ⍤ │ ⌸ │ ⌷ │ ≡ │ ≢ │ ⊣ ┃ ┃ +// ┃ ┃ ⍺ │ ⌈ │ ⌊ │ _ │ ∇ │ ∆ │ ∘ │ ' │ ⎕ │ ⍎ │ ⍕ │ ⊢ ┃ ┃ +// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫ +// ┃ ┃ ⊣ │ ⊆ │ │ │ │ ⍭ │ ⍡ │ ∥ │ ⍪ │ ⍙ │ ⍠ ┃ ┃ +// ┃ ┃ ⊢ │ ⊂ │ ⊃ │ ∩ │ ∪ │ ⊥ │ ⊤ │ | │ ⍝ │ ⍀ │ ⌿ ┃ ┃ +// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛ +// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ +// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛ + + + key { [ U2282, U2286 ] }; // subset of, enclose if simple + key { [ U2283 ] }; // superset of + key { [ U2229 ] }; // intersection + key { [ U222A ] }; // union + key { [ U22a5, U236d ] }; // up tack, stile tide + key { [ U22a4, U2361 ] }; // down tack, down tack diaeresis + key { [ bar, U2225 ] }; // vertical line, parallel to + key { [ U235d, U236a ] }; // up shoe jot, comma bar + key { [ U2340, U2359 ] }; // backslash bar, delta underbar + key { [ U233f, U2360 ] }; // slash bar, quad colon + key { [ U237a, U2376 ] }; // alpha, alpha underscore + key { [ U2308 ] }; // left ceiling + key { [ U230a ] }; // left floor + key { [ underscore ] }; // low line + key { [ U2207, U2362 ] }; // nabla, del diaerisis + key { [ U2206 ] }; // increment + key { [ U2218, U2364 ] }; // ring operator, jot diaeresis + key { [ apostrophe, U2338 ] }; // quote, key + key { [ U2395, U2337 ] }; // quad, squish quad + key { [ U234e, U2261 ] }; // up tack jot, identical to + key { [ U2355, U2262 ] }; // down tack jot, not identical to + key { [ question, U2370 ] }; // ?, quad question + key { [ U2375, U2379 ] }; // omega, omega underscore + key { [ U220a, U2377 ] }; // small element of, epsilon underbar + key { [ U2374, U233E ] }; // rho, circle jot + key { [ asciitilde, U2368 ] }; // tilde, tilde diaeresis + key { [ U2191 ] }; // upwards arrow + key { [ U2193 ] }; // downwards arrow + key { [ U2373, U2378 ] }; // iota, iota underbar + key { [ U25cb, U2365 ] }; // circle, circle diaeresis + key { [ asterisk, U2363 ] }; // asterisk, star diaeresis + key { [ U2190, U235e ] }; // left arrow, quote quad + key { [ U2192, U236c ] }; // right arrow, zilde + key { [ diaeresis, U2336 ] }; // i-beam + key { [ macron, U236B ] }; // deltilde + key { [ less, U2352 ] }; // downgrade + key { [ U2264, U234b ] }; // lesseq upgrade + key { [ equal, U233d ] }; // circlestile + key { [ U2265, U2349 ] }; // greatereq circleslope + key { [ greater, U2296 ] }; // circlebar + key { [ U2260, U235f ] }; // notequal, circlestar + key { [ U2228, U2371 ] }; // logical or, down caret tilde + key { [ U2227, U2372 ] }; // logical and, up caret tilde + key { [ multiply, exclam ] }; + key { [ division, U2339 ] }; // quad divide + key { [ U22a2, U22a3 ] }; // right tack, left tack + key { [ U22a2, U22a3 ] }; // right tack, left tack + key { [ U22c4, U233a ] }; // diamond, quad diamond +}; + +hidden partial keypad_keys +xkb_symbols "dyalog_box" { + +// ┌───┬───┬───┬───┐ +// │ │ │ │ │ +// ├───┼───┼───┼───┤ +// │ ┌ │ ┬ │ ┐ │ │ +// ├───┼───┼───┤ │ +// │ ├ │ ┼ │ ┤ │ │ +// ├───┼───┼───┼───┤ +// │ └ │ ┴ │ ┘ │ │ +// ├───┴───┼───┤ │ +// │ ─ │ │ │ │ +// └───────┴───┴───┘ + + key { [ U2500 ] }; // box drawing light horizontal + key { [ U2514 ] }; // box drawing light up and right + key { [ U2534 ] }; // box drawing light up and horizontal + key { [ U2518 ] }; // box drawing light up and left + key { [ U251c ] }; // box drawing light vertical and right + key { [ U253c ] }; // box drawing light vertical and horizontal + key { [ U2524 ] }; // box drawing light vertical and left + key { [ U250c ] }; // box drawing light down and right + key { [ U252c ] }; // box drawing light down and horizontal + key { [ U2510 ] }; // box drawing light down and left + key { [ U2502 ] }; // box drawing light vertical +}; + +hidden partial +xkb_symbols "dyalog_codes" { + +// Layout of private use area for this. In the style of the Unicode book +// +// APL special actions F800-F88F +// +// │F800 F810 F820 F830 F840 F850 F860 F870 F880 +// ├────┬────┬────┬────┬────┬────┬────┬────┬────┐ +// 0│QT │LL │BK │FX │Rc │BP │PA │ │ │ +// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤ +// 1│ER │HO │ZM │LN │LW │AB │SA │ │ │ +// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤ +// 2│TB │CT │SC │MC │RW │HT │RZ │ │ │ +// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤ +// 3│BT │PT │RP │MR │Lw │TH │AC │ │ │ +// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤ +// 4│EP │IN │NX │JP │Rw │RM │MA │ │ │ +// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤ +// 5│UC │II │PV │D1 │Uc │CB │OF │ │ │ +// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤ +// 6│DC │DI │RT │D2 │Dc │PR │FS │ │TO │ +// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤ +// 7│RC │DP │RA │D3 │Ll │SR │FA │ │MO │ +// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤ +// 8│LC │DB │ED │D4 │Rl │IS │TT │ │ │ +// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤ +// 9│US │RD │TC │D5 │Ul │TL │FT │ │ │ +// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤ +// A│DS │TG │NB │U1 │Dl │UA │PL │ │ │ +// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤ +// B│RS │DK │NS │U2 │Us │AO │CA │ │ │ +// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤ +// C│LS │OP │ST │U3 │Ds │DO │ │ │ │ +// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤ +// D│UL │CP │EN │U4 │DD │GL │ │ │S1 │ +// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤ +// E│DL │MV │IF │U5 │DH │CH │ │ │S2 │ +// ├────┼────┼────┼────┼────┼────┼────┼────┼────┤ +// F│RL │FD │HK │Lc │BH │PU │ │ │OS │ +// └────┴────┴────┴────┴────┴────┴────┴────┴────┘ +// +// APL Function Keys F700-F7FF +// +// │F700 ... ... F7F0 +// ├────┬────┬────┬────┬....┬────┬────┬────┬────┐ +// 0│F0 │F16 │F32 │F48 │ │F192│F208│F224│F240│ +// . +// . +// . +// F│F15 │F31 │F47 │F63 │ │F207│F223│F239│F255│ +// └────┴────┴────┴────┴....┴────┴────┴────┴────┘ +// +// whilst these locations are defined. Dyalog's "aplkeys/xterm" file copes with +// normal function keys from the base keyboard rather than this overlay + +// ┌─────┐ ┌───┐ +// │ CA │ │ZM │ +// │ QT │ │ZM │ +// └─────┘ └───┘ + +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓ +// │ │ │ │ │ │ │ │ │ │ │ │ │ ┃ CB ┃ +// │ │ │ │ │ │ │ │ │ │ │ │ │ ┃ BP ┃ +// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫ +// ┃ BT ┃ │ │ │ │ │ │ │ │ │ │ │ ┃ ┃ +// ┃ TB ┃ │ │ │ │ │ │ │ │ │ │ │ ┃ ┃ +// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃ +// ┃ ┃ │ │ │ │ │ │ │ │ │ │ │ ┃ TC ┃ +// ┃ ┃ │ │ │ │ │ │ │ │ │ │ │ ┃ ED ┃ +// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫ +// ┃ ┃ │ │ │ │ │ │ │ │ │ │ ┃ ┃ +// ┃ ┃ │ │ │ │ │ │ │ │ │ │ ┃ ┃ +// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛ +// ┃ ┃ ┃ ┃ MO ┃ ┃ ┃ ┃ +// ┃ ┃ ┃ ┃ TO ┃ ┃ ┃ ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛ + + + key { [ Uf850, Uf855 ] }; // BP CB + key { [ Uf800, Uf86b ] }; // QT CA + key { [ Uf821, Uf821 ] }; // ZM, ZM put this on both, the unshifted one sometimes gets lost + key { [ Uf828, Uf829 ] }; // ED, TC + key { [ Uf886, Uf887 ] }; // TO, MO + key { [ Uf802, Uf803 ] }; // TB, BT + +// ┌─────┐ +// │ │ +// │ BK │ +// ┌────┼─────┼────┐ +// │ BH │ │ RM │ +// │ PV │ FD │ NX │ +// └────┴─────┴────┘ + + key { [ Uf81f ] }; // FD + key { [ Uf825, Uf84f ] }; // PV, BH + key { [ Uf824, Uf854 ] }; // NX, RM + key { [ Uf820 ] }; // BK + + +// ┌───┬───┬───┐ +// │PT │LL │UL │ +// │CP │LS │US │ +// ├───┼───┼───┤ +// │CT │RL │DL │ +// │DK │RS │DS │ +// └───┴───┴───┘ + + key { [ Uf81b, Uf812 ] }; // DK, CT + key { [ Uf80b, Uf80f ] }; // RS, RL + key { [ Uf80c, Uf810 ] }; // LS, LL + key { [ Uf81d, Uf813 ] }; // CP, PT + key { [ Uf80a, Uf80e ] }; // DS, DL + key { [ Uf809, Uf80d ] }; // US, UL + +// ┌───┬───┬───┬───┐ +// │ │RD │TG │LN │ +// ├───┼───┼───┼───┤ +// │ │ │ │ │ +// ├───┼───┼───┤TL │ +// │ │ │ │ │ +// ├───┼───┼───┼───┤ +// │ │ │ │ │ +// ├───┴───┼───┤ │ +// │ │ │ │ +// └───────┴───┴───┘ + + + key { [ Uf859 ] }; // TL + key { [ Uf819 ] }; // RD + key { [ Uf81a ] }; // TG + key { [ Uf831 ] }; // LN +}; + +xkb_symbols "dyalog" { + + include "apl(dyalog_base)" + include "apl(dyalog_box)" + include "apl(dyalog_codes)" + + name[Group1] = "APL symbols (Dyalog APL)"; +}; + +partial +xkb_symbols "level3" { + // #UNREGISTERED + name[Group1] = "APL on Level3"; + + //from apl(dyalog_base) -- any way to just include it shifted to level3? + + key { [ NoSymbol, NoSymbol, U2282, U2286 ] }; // subset of, enclose if simple + key { [ NoSymbol, NoSymbol, U2283 ] }; // superset of + key { [ NoSymbol, NoSymbol, U2229 ] }; // intersection + key { [ NoSymbol, NoSymbol, U222A ] }; // union + key { [ NoSymbol, NoSymbol, U22a5, U236d ] }; // up tack, stile tide + key { [ NoSymbol, NoSymbol, U22a4, U2361 ] }; // down tack, down tack diaeresis + key { [ NoSymbol, NoSymbol, bar, U2225 ] }; // vertical line, parallel to + key { [ NoSymbol, NoSymbol, U235d, U236a ] }; // up shoe jot, comma bar + key { [ NoSymbol, NoSymbol, U2340, U2359 ] }; // backslash bar, delta underbar + key { [ NoSymbol, NoSymbol, U233f, U2360 ] }; // slash bar, quad colon + key { [ NoSymbol, NoSymbol, U237a, U2376 ] }; // alpha, alpha underscore + key { [ NoSymbol, NoSymbol, U2308 ] }; // left ceiling + key { [ NoSymbol, NoSymbol, U230a ] }; // left floor + key { [ NoSymbol, NoSymbol, underscore ] }; // low line + key { [ NoSymbol, NoSymbol, U2207, U2362 ] }; // nabla, del diaerisis + key { [ NoSymbol, NoSymbol, U2206 ] }; // increment + key { [ NoSymbol, NoSymbol, U2218, U2364 ] }; // ring operator, jot diaeresis + key { [ NoSymbol, NoSymbol, apostrophe, U2338 ] }; // quote, key + key { [ NoSymbol, NoSymbol, U2395, U2337 ] }; // quad, squish quad + key { [ NoSymbol, NoSymbol, U234e, U2261 ] }; // up tack jot, identical to + key { [ NoSymbol, NoSymbol, U2355, U2262 ] }; // down tack jot, not identical to + key { [ NoSymbol, NoSymbol, question, U2370 ] }; // ?, quad question + key { [ NoSymbol, NoSymbol, U2375, U2379 ] }; // omega, omega underscore + key { [ NoSymbol, NoSymbol, U220a, U2377 ] }; // small element of, epsilon underbar + key { [ NoSymbol, NoSymbol, U2374, U233E ] }; // rho, circle jot + key { [ NoSymbol, NoSymbol, asciitilde, U2368 ] }; // tilde, tilde diaeresis + key { [ NoSymbol, NoSymbol, U2191 ] }; // upwards arrow + key { [ NoSymbol, NoSymbol, U2193 ] }; // downwards arrow + key { [ NoSymbol, NoSymbol, U2373, U2378 ] }; // iota, iota underbar + key { [ NoSymbol, NoSymbol, U25cb, U2365 ] }; // circle, circle diaeresis + key { [ NoSymbol, NoSymbol, asterisk, U2363 ] }; // asterisk, star diaeresis + key { [ NoSymbol, NoSymbol, U2190, U235e ] }; // left arrow, quote quad + key { [ NoSymbol, NoSymbol, U2192, U236c ] }; // right arrow, zilde + key { [ NoSymbol, NoSymbol, diaeresis, U2336 ] }; // i-beam + key { [ NoSymbol, NoSymbol, macron, U236B ] }; // deltilde + key { [ NoSymbol, NoSymbol, less, U2352 ] }; // downgrade + key { [ NoSymbol, NoSymbol, U2264, U234b ] }; // lesseq upgrade + key { [ NoSymbol, NoSymbol, equal, U233d ] }; // circlestile + key { [ NoSymbol, NoSymbol, U2265, U2349 ] }; // greatereq circleslope + key { [ NoSymbol, NoSymbol, greater, U2296 ] }; // circlebar + key { [ NoSymbol, NoSymbol, U2260, U235f ] }; // notequal, circlestar + key { [ NoSymbol, NoSymbol, U2228, U2371 ] }; // logical or, down caret tilde + key { [ NoSymbol, NoSymbol, U2227, U2372 ] }; // logical and, up caret tilde + key { [ NoSymbol, NoSymbol, multiply, exclam ] }; + key { [ NoSymbol, NoSymbol, division, U2339 ] }; // quad divide + key { [ NoSymbol, NoSymbol, U22a2, U22a3 ] }; // right tack, left tack + key { [ NoSymbol, NoSymbol, U22a2, U22a3 ] }; // right tack, left tack + key { [ NoSymbol, NoSymbol, U22c4, U233a ] }; // diamond, quad diamond +}; diff --git a/xkbdata/symbols/ara b/xkbdata/symbols/ara new file mode 100644 index 0000000..ac913e5 --- /dev/null +++ b/xkbdata/symbols/ara @@ -0,0 +1,558 @@ +default partial alphanumeric_keys +xkb_symbols "basic" { + + name[Group1]= "Arabic"; + + key.type[Group1]="FOUR_LEVEL"; + + key { [ Arabic_thal, Arabic_shadda, Arabic_percent, U0609 ]}; // ‎ذ‎ ‎◌ّ‎ ‎٪‎ ‎؉‎ + key { [ 1, exclam, Arabic_1, NoSymbol ]}; // 1 ! ١ + key { [ 2, at, Arabic_2, NoSymbol ]}; // 2 @ ٢ + key { [ 3, numbersign, Arabic_3, NoSymbol ]}; // 3 # ٣ + key { [ 4, dollar, Arabic_4, NoSymbol ]}; // 4 $ ٤ + key { [ 5, percent, Arabic_5, U2030 ]}; // 5 % ٥ ‰ + key { [ 6, asciicircum, Arabic_6, NoSymbol ]}; // 6 ^ ٦ + key { [ 7, ampersand, Arabic_7, NoSymbol ]}; // 7 & ٧ + key { [ 8, asterisk, Arabic_8, NoSymbol ]}; // 8 * ٨ + key { [ 9, parenright, Arabic_9, NoSymbol ]}; // 9 ) ٩ + key { [ 0, parenleft, Arabic_0, NoSymbol ]}; // 0 ( ٠ + key { [ minus, underscore, endash, U2011 ]}; // - _ – Non-Breaking-Hyphen + key { [ equal, plus, notequal, U2248 ]}; // = + ≠ ≈ + + key { [ Arabic_dad, Arabic_fatha, NoSymbol, U2066 ]}; // ‎ض‎ ‎◌َ LEFT‑TO‑RIGHT ISOLATE + key { [ Arabic_sad, Arabic_fathatan, NoSymbol, U2067 ]}; // ‎ص‎ ‎◌ً RIGHT‑TO‑LEFT ISOLATE + key { [ Arabic_theh, Arabic_damma, NoSymbol, U2068 ]}; // ‎ث‎ ‎◌ُ FIRST STRONG ISOLATE + key { [ Arabic_qaf, Arabic_dammatan, NoSymbol, U2069 ]}; // ‎ق‎ ‎◌ٌ POP DIRECTIONAL ISOLATE + key { [ Arabic_feh, UFEF9, Arabic_veh, NoSymbol ]}; // ‎ف‎ ‎ﻹ ‎ڤ + key { [ Arabic_ghain,Arabic_hamzaunderalef, NoSymbol, U202A ]}; // ‎غ‎ ‎إ‎ LEFT-TO-RIGHT-EMBEDDING + key { [ Arabic_ain, grave, NoSymbol, U202B ]}; // ‎ع‎ ` RIGHT-TO-LEFT EMBEDDING + key { [ Arabic_ha, division, NoSymbol, U202C ]}; // ‎ه‎ ÷ POP DIRECTIONAL FORMATTING + key { [ Arabic_khah, multiply, NoSymbol, NoSymbol ]}; // ‎خ‎ × + key { [ Arabic_hah, Arabic_semicolon, NoSymbol, U200E ]}; // ‎ح‎ ؛ LEFT-TO-RIGHT MARK + key { [ Arabic_jeem, less, Arabic_tcheh, U200F ]}; // ‎ج‎ < ‎چ‎ RIGHT-TO-LEFT MARK + key { [ Arabic_dal, greater, NoSymbol, U061C ]}; // ‎د‎ > ARABIC LETTER MARK + + key { [ Arabic_sheen, Arabic_kasra, NoSymbol, NoSymbol ]}; // ‎ش‎ ‎◌ِ‎ + key { [ Arabic_seen, Arabic_kasratan, NoSymbol, NoSymbol ]}; // ‎س‎ ‎◌ٍ‎ + key { [ Arabic_yeh, bracketright, NoSymbol, NoSymbol ]}; // ‎ي‎ ] + key { [ Arabic_beh, bracketleft, Arabic_peh, NoSymbol ]}; // ‎ب‎ [ ‎پ‎ + key { [ Arabic_lam, U0FEF7, NoSymbol, NoSymbol ]}; // ‎ل‎ ‎ﻷ‎ + key { [ Arabic_alef, Arabic_hamzaonalef, U0671, NoSymbol ]}; // ‎ا‎ ‎أ ‎ٱ‎ + key { [ Arabic_teh, Arabic_tatweel, NoSymbol, NoSymbol ]}; // ‎ت‎ ‎ـ‎ + key { [ Arabic_noon, Arabic_comma, U066B, NoSymbol ]}; // ‎ن‎ ‎،‎ ‎٫‎ + key { [ Arabic_meem, slash, NoSymbol, NoSymbol ]}; // ‎م‎ / + key { [ Arabic_kaf, colon, Arabic_gaf, NoSymbol ]}; // ‎ك‎ : ‎گ‎ + key { [ Arabic_tah, quotedbl, U27E9, U200D ]}; // ‎ط‎ " ⟩ ZWJ + key { [ backslash, ellipsis, U27E8, U202F ]}; // \ … ⟨ NNBSP + + key { [ bar, brokenbar, NoSymbol, NoSymbol ]}; // | ¦ + key { [Arabic_hamzaonyeh, asciitilde, guillemotright, U203A ]}; // ‎ئ‎ ~ » › + key { [ Arabic_hamza, Arabic_sukun, guillemotleft, U2039 ]}; // ‎ء‎ ◌ْ « ‹ + key { [Arabic_hamzaonwaw, braceright, NoSymbol, NoSymbol ]}; // ‎ؤ } + key { [ Arabic_ra, braceleft, NoSymbol, NoSymbol ]}; // ‎ر‎ { + key { [ UFEFB, UFEF5, NoSymbol, NoSymbol ]}; // ‎ﻻ‎ ‎ﻵ‎ + key {[Arabic_alefmaksura, Arabic_maddaonalef, Arabic_superscript_alef, NoSymbol ]}; // ‎ى‎ ‎آ‎ ‎◌ٰ‎ + key { [Arabic_tehmarbuta, apostrophe, NoSymbol, NoSymbol ]}; // ‎ة‎ ' + key { [ Arabic_waw, comma, U066C, NoSymbol ]}; // ‎و‎ , ‎٬ + key { [ Arabic_zain, period, Arabic_jeh, NoSymbol ]}; // ‎ز‎ . ‎ژ‎ + key { [ Arabic_zah, Arabic_question_mark, U066D, U200C ]}; // ‎ظ‎ ‎؟‎ ‎٭‎ ZWNJ + + include "level3(ralt_switch)" +}; + +// Synonym for the default +partial alphanumeric_keys +xkb_symbols "qwerty" { + include "ara(basic)" + name[Group1]= "Arabic (QWERTY)"; +}; + + +// Replaces the Western numeral signs with Arabic-script digits on the keypad, pushing the Western digits to the third level accessible by the right alt key. +// As this set of definitions is unlisted, it is not usable without parallel mapping on the numeric row in the ara(digits) layout which includes it. +partial hidden keypad_keys +xkb_symbols "digits_KP" { + + key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD"; + + key { [ KP_Home, Arabic_7, 7, NoSymbol ] }; + key { [ KP_Up, Arabic_8, 8, NoSymbol ] }; + key { [ KP_Prior, Arabic_9, 9, NoSymbol ] }; + + key { [ KP_Left, Arabic_4, 4, NoSymbol ] }; + key { [ KP_Begin, Arabic_5, 5, NoSymbol ] }; + key { [ KP_Right, Arabic_6, 6, NoSymbol ] }; + + key { [ KP_End, Arabic_1, 1, NoSymbol ] }; + key { [ KP_Down, Arabic_2, 2, NoSymbol ] }; + key { [ KP_Next, Arabic_3, 3, NoSymbol ] }; + + key { [ KP_Insert, Arabic_0, 0, NoSymbol ] }; + + include "kpdl(momayyezoss)" +}; + +// Replaces the Western numeral signs with Arabic-script digits on the numeric row, pushing the Western digits to the third level accessible by the right alt key. +partial alphanumeric_keys +xkb_symbols "digits" { + + include "ara(basic)" + + name[Group1]= "Arabic (Eastern Arabic numerals)"; + + key { [Arabic_thal,Arabic_shadda, percent,U2030]}; + key { [ Arabic_1, exclam, 1, NoSymbol ] }; + key { [ Arabic_2, at, 2, NoSymbol ] }; + key { [ Arabic_3, numbersign, 3, NoSymbol ] }; + key { [ Arabic_4, dollar, 4, NoSymbol ] }; + key { [ Arabic_5, Arabic_percent, 5, U0609 ] }; + key { [ Arabic_6, asciicircum, 6, NoSymbol ] }; + key { [ Arabic_7, ampersand, 7, NoSymbol ] }; + key { [ Arabic_8, asterisk, 8, NoSymbol ] }; + key { [ Arabic_9, parenright, 9, NoSymbol ] }; + key { [ Arabic_0, parenleft, 0, NoSymbol ] }; + + include "ara(digits_KP)" +}; + +// Synonym for the layout with the Latin-script and Arabic-script digits switched +partial alphanumeric_keys +xkb_symbols "qwerty_digits" { + include "ara(digits)" + name[Group1]= "Arabic (QWERTY, Eastern Arabic numerals)"; +}; + + +partial alphanumeric_keys +xkb_symbols "azerty" { + include "ara(basic)" + name[Group1]= "Arabic (AZERTY)"; + + // The North African Arabic keyboard differs from the Middle East one + // by the numeric row; it follows French keyboard style. + // + // PROBLEM: some characters are inaccessible: ! @ # $ % ^ * + // Should they go elsewhere? Replacing " ' that are now doubled? + // Also, dead_circumflex and dead_diaeresis from French keyboard + // as well as ugrave are missing, which questions the utility of the + // other accentuated Latin letters. Maybe this is useful only with + // a French keyboard in Group1? Then, shouldn't Group1 be filled? + + key { [ ampersand, 1 ] }; + key { [ eacute, 2 ] }; + key { [ quotedbl, 3 ] }; + key { [ apostrophe, 4 ] }; + key { [ parenleft, 5 ] }; + key { [ minus, 6 ] }; + key { [ egrave, 7 ] }; + key { [ underscore, 8 ] }; + key { [ ccedilla, 9 ] }; + key { [ agrave, 0 ] }; + key { [ parenright, degree ] }; +}; + +partial alphanumeric_keys +xkb_symbols "azerty_digits" { + include "ara(azerty)" + name[Group1]= "Arabic (AZERTY, Eastern Arabic numerals)"; + + key { [ ampersand, Arabic_1, 1, NoSymbol ] }; + key { [ eacute, Arabic_2, 2, NoSymbol ] }; + key { [ quotedbl, Arabic_3, 3, NoSymbol ] }; + key { [ apostrophe, Arabic_4, 4, NoSymbol ] }; + key { [ parenleft, Arabic_5, 5, NoSymbol ] }; + key { [ minus, Arabic_6, 6, NoSymbol ] }; + key { [ egrave, Arabic_7, 7, NoSymbol ] }; + key { [ underscore, Arabic_8, 8, NoSymbol ] }; + key { [ ccedilla, Arabic_9, 9, NoSymbol ] }; + key { [ agrave, Arabic_0, 0, NoSymbol ] }; +}; + + +// Arabic keyboard using Buckwalter transliteration +// http://www.qamus.org/transliteration.htm +// Martin Vidner + +partial alphanumeric_keys +xkb_symbols "buckwalter" { + name[Group1]= "Arabic (Buckwalter)"; + + // ARABIC LETTER SUPERSCRIPT ALEF + key { [ 0x1000670, Arabic_shadda ] }; + + // Arabic_0 .. Arabic_9 do not work in Kate, + // Unicode never seems to work worse. + key { [ 0x1000661, VoidSymbol ] }; + key { [ 0x1000662, VoidSymbol ] }; + key { [ 0x1000663, VoidSymbol ] }; + key { [ 0x1000664, Arabic_sheen ] }; + key { [ 0x1000665, Arabic_percent ] }; + key { [ 0x1000666, VoidSymbol ] }; + key { [ 0x1000667, Arabic_hamzaonwaw ] }; + key { [ 0x1000668, Arabic_thal ] }; + // ORNATE LEFT PARENTHESIS + key { [ 0x1000669, 0x100fd3e ] }; + // ORNATE RIGHT PARENTHESIS + key { [ 0x1000660, 0x100fd3f ] }; + key { [ minus, Arabic_tatweel ] }; + key { [ equal, plus ] }; + + key { [ Arabic_qaf, VoidSymbol ] }; + key { [ Arabic_waw, Arabic_hamzaonwaw ] }; + key { [ VoidSymbol, Arabic_ain ] }; + key { [ Arabic_ra, VoidSymbol ] }; + key { [ Arabic_teh, Arabic_tah ] }; + key { [ Arabic_yeh, Arabic_alefmaksura ] }; + key { [ Arabic_damma, VoidSymbol ] }; + key { [ Arabic_kasra, Arabic_hamzaunderalef ] }; + key { [ Arabic_sukun, Arabic_hamzaonalef ] }; + key { [ Arabic_tehmarbuta, VoidSymbol ] }; + // ARABIC LETTER ALEF WASLA + key { [ VoidSymbol, 0x1000671 ] }; + key { [ VoidSymbol, Arabic_hamzaonyeh ] }; + + key { [ Arabic_fatha, Arabic_alef ] }; + key { [ Arabic_seen, Arabic_sad ] }; + key { [ Arabic_dal, Arabic_dad ] }; + key { [ Arabic_feh, Arabic_fathatan ] }; + key { [ Arabic_ghain, VoidSymbol ] }; + key { [ Arabic_ha, Arabic_hah ] }; + key { [ Arabic_jeem, VoidSymbol ] }; + key { [ Arabic_kaf, Arabic_kasratan ] }; + key { [ Arabic_lam, VoidSymbol ] }; + key { [ Arabic_semicolon, VoidSymbol ] }; + key { [ Arabic_hamza, VoidSymbol ] }; + + key { [ VoidSymbol, Arabic_maddaonalef ] }; + + key { [ Arabic_zain, Arabic_zah ] }; + key { [ Arabic_khah, VoidSymbol ] }; + key { [ VoidSymbol, VoidSymbol ] }; + key { [ Arabic_theh, VoidSymbol ] }; + key { [ Arabic_beh, VoidSymbol ] }; + key { [ Arabic_noon, Arabic_dammatan ] }; + key { [ Arabic_meem, VoidSymbol ] }; + key { [ Arabic_comma, Arabic_hamzaunderalef ] }; + // ARABIC FULL STOP (Urdu) + key { [ 0x10006d4, Arabic_hamzaonalef ] }; + key { [ VoidSymbol, Arabic_question_mark ] }; +}; + +partial alphanumeric_keys +xkb_symbols "olpc" { + + include "ara(basic)" + + name[Group1]= "Arabic (OLPC)"; + + // This OLPC layout comprises the following changes in comparison to the default Arabic one: + // ‣ Arabic and European digits are swapped (which entails swapping of the percent and permille signs). + // ‣ Lām-ʾalif is eliminated. People type as they pronounce, and lam-alef is just a visual formatting of the + // sequence and thus arguably not used on the keyboard. This frees four slots which are used for the following three changes. + // ‣ The characters move: + // • Thal from to + // • Shadda from to + // ‣ £ and € obtain the and keys, the ^ and & signs previously occupying them take seat at and . + // ‣ The key gets grave ` and asciitilde ~ as on English keyboards. + // ‣ In sum the grave and asciitilde are present twice, as their erstwhile places are not removed. + // ‣ The braces }{ take the place of the less-than and greater-than >< signs, + // but these the place of kasra and kasratan which establish themselves in the braces’ former steads. + // ‣ The … character on is replaced by |, because OLPC laptops have no key installed where the bar is else placed. + + key { [ grave, asciitilde, percent, U2030 ] }; + + key { [ Arabic_1, exclam, 1 ] }; + key { [ Arabic_2, at, 2 ] }; + key { [ Arabic_3, numbersign, 3 ] }; + key { [ Arabic_4, dollar, 4 ] }; + key { [ Arabic_5, Arabic_percent, 5, U0609 ] }; + key { [ Arabic_6, sterling, 6 ] }; + key { [ Arabic_7, EuroSign, 7 ] }; + key { [ Arabic_8, asterisk, 8 ] }; + key { [ Arabic_9, parenright, 9 ] }; + key { [ Arabic_0, parenleft, 0 ] }; + + key { [ Arabic_feh, Arabic_shadda ] }; + + key { [ Arabic_jeem, braceright ] }; + key { [ Arabic_dal, braceleft ] }; + + key { [ Arabic_sheen, greater ] }; + key { [ Arabic_seen, less ] }; + key { [ Arabic_lam, ampersand ] }; + key { [ backslash, bar ] }; + + key { [ Arabic_hamzaonwaw, Arabic_kasra ] }; + key { [ Arabic_ra, Arabic_kasratan ] }; + key { [ Arabic_thal, asciicircum ] }; + + include "group(olpc)" +}; + +partial alphanumeric_keys +xkb_symbols "mac" { + + //This is a layout that is compatible with macbooks + + include "ara(digits)" + name[Group1]= "Arabic (Macintosh)"; + + key { [ minus, underscore ] }; + key { [ equal, plus ] }; + + key { [ Arabic_tatweel, VoidSymbol ] }; + key { [ Arabic_theh, Arabic_kasra ] }; + key { [ Arabic_qaf, Arabic_kasratan ] }; + key { [ Arabic_feh, Arabic_damma ] }; + key { [ Arabic_ghain, Arabic_dammatan ] }; + key { [ Arabic_ain, Arabic_sukun ] }; + key { [ Arabic_ha, Arabic_shadda ] }; + key { [ Arabic_khah, bracketright ] }; + key { [ Arabic_hah, bracketleft ] }; + key { [ Arabic_jeem, braceright ] }; + key { [Arabic_tehmarbuta, braceleft ] }; + + key { [ Arabic_sheen, guillemotright ] }; + key { [ Arabic_seen, guillemotleft ] }; + key { [ Arabic_yeh, Arabic_alefmaksura] }; + key { [ Arabic_beh, 0x1000670 ] }; + key { [ Arabic_lam, VoidSymbol ] }; + key { [ Arabic_alef, Arabic_maddaonalef ] }; + key { [ Arabic_teh, 0x1000671 ] }; + key { [ Arabic_noon, VoidSymbol ] }; + key { [ Arabic_meem, VoidSymbol ] }; + key { [ Arabic_kaf, colon ] }; + key { [ Arabic_semicolon, quotedbl ] }; + + key { [ backslash, bar ] }; + + key { [ Arabic_tatweel, VoidSymbol ] }; + key { [ Arabic_zah, VoidSymbol ] }; + key { [ Arabic_tah, VoidSymbol ] }; + key { [ Arabic_thal, Arabic_hamzaonyeh ] }; + key { [ Arabic_dal, Arabic_hamza ] }; + key { [ Arabic_zain, Arabic_hamzaonalef ] }; + key { [ Arabic_ra, Arabic_hamzaunderalef ] }; + key { [ Arabic_waw, Arabic_hamzaonwaw ] }; + key { [ Arabic_comma, greater ] }; + key { [ period, less ] }; + key { [ slash, Arabic_question_mark ] }; +}; + +// EXTRAS: + +partial alphanumeric_keys + xkb_symbols "sun_type6" { + include "sun_vndr/ara(sun_type6)" +}; + +partial alphanumeric_keys +xkb_symbols "basic_ext" { + + name[Group1]= "Arabic (Arabic numerals, extensions in the 4th level)"; + + key.type[Group1]="FOUR_LEVEL"; + + key { [ Arabic_thal, Arabic_shadda, Arabic_percent, Arabic_ddal ]}; // ‎ذ‎ ‎◌ّ‎ ‎٪‎ ‎ڈ‎ + key { [ 1, exclam, Arabic_1, Farsi_1 ]}; // 1 ! ١ ۱ + key { [ 2, at, Arabic_2, Farsi_2 ]}; // 2 @ ٢ ۲ + key { [ 3, numbersign, Arabic_3, Farsi_3 ]}; // 3 # ٣ ۳ + key { [ 4, dollar, Arabic_4, Farsi_4 ]}; // 4 $ ٤ ۴ + key { [ 5, percent, Arabic_5, Farsi_5 ]}; // 5 % ٥ ۵ + key { [ 6, Farsi_yeh, Arabic_6, Farsi_6 ]}; // 6 ‎ی‎ ٦ ۶ + key { [ 7, ampersand, Arabic_7, Farsi_7 ]}; // 7 & ٧ ۷ + key { [ 8, asterisk, Arabic_8, Farsi_8 ]}; // 8 * ٨ ۸ + key { [ 9, parenright, Arabic_9, Farsi_9 ]}; // 9 ) ٩ ۹ + key { [ 0, parenleft, Arabic_0, Farsi_0 ]}; // 0 ( ٠ ۰ + key { [ minus, underscore, endash, U2011 ]}; // - _ – Non-Breaking-Hyphen + key { [ equal, plus, notequal, U2248 ]}; // = + ≠ ≈ + + key { [ Arabic_dad, Arabic_fatha, U0689, U2066 ]}; // ‎ض‎ ‎◌َ ډ LEFT‑TO‑RIGHT ISOLATE + key { [ Arabic_sad, Arabic_fathatan, U06D5, U2067 ]}; // ‎ص‎ ‎◌ً ە RIGHT‑TO‑LEFT ISOLATE + key { [ Arabic_theh, Arabic_damma, U067F, U2068 ]}; // ‎ث‎ ‎◌ُ ٿ FIRST STRONG ISOLATE + key { [ Arabic_qaf, Arabic_dammatan, U06A6, U2069 ]}; // ‎ق‎ ‎◌ٌ ڦ POP DIRECTIONAL ISOLATE + key { [ Arabic_feh, UFEF9, Arabic_veh, U068D ]}; // ‎ف‎ ‎ﻹ ‎ڤ ‎ڍ‎ + key { [ Arabic_ghain,Arabic_hamzaunderalef, U0685, U202A ]}; // ‎غ‎ ‎إ‎ ‎څ‎ LEFT-TO-RIGHT-EMBEDDING + key { [ Arabic_ain, Arabic_rreh, Arabic_heh_goal, U202B ]}; // ‎ع‎ ‎ڑ‎ ‎ہ‎ RIGHT-TO-LEFT EMBEDDING + key { [ Arabic_ha, division, Arabic_heh_doachashmee, U202C ]}; // ‎ه‎ ÷ ‎ھ‎ POP DIRECTIONAL FORMATTING + key { [ Arabic_khah, multiply, U0681, U0687 ]}; // ‎خ‎ × ‎ځ‎ ‎ڇ‎ + key { [ Arabic_hah, Arabic_semicolon, U0683, U200E ]}; // ‎ح‎ ؛ ‎ڃ‎ LEFT-TO-RIGHT MARK + key { [ Arabic_jeem, less, Arabic_tcheh, U200F ]}; // ‎ج‎ < ‎چ‎ RIGHT-TO-LEFT MARK + key { [ Arabic_dal, greater, U0684, U061C ]}; // ‎د‎ > ‎ڄ‎ ARABIC LETTER MARK + + key { [ Arabic_sheen, Arabic_kasra, U06C6, U06C9 ]}; // ‎ش‎ ‎◌ِ‎ ‎ۆ‎ ‎ۉ‎ + key { [ Arabic_seen, Arabic_kasratan, U067C, U0680 ]}; // ‎س‎ ‎◌ٍ‎ ‎ټ‎ ‎ڀ‎ + key { [ Arabic_yeh, bracketright, U06D0, U06CD ]}; // ‎ي‎ ] ‎ې‎ ‎ۍ‎ + key { [ Arabic_beh, bracketleft, Arabic_peh, U067B ]}; // ‎ب‎ [ ‎پ‎ ‎ٻ‎ + key { [ Arabic_lam, U0FEF7, U076A, U0658 ]}; // ‎ل‎ ‎ﻷ‎ ‎ݪ‎ ٘‎◌‎ + key { [ Arabic_alef, Arabic_hamzaonalef, U0671, Arabic_noon_ghunna ]}; // ‎ا‎ ‎أ ‎ٱ‎ ‎ں‎ + key { [ Arabic_teh, Arabic_tatweel, U067D, U067A ]}; // ‎ت‎ ‎ـ‎ ‎ٽ‎ ٺ‎ + key { [ Arabic_noon, Arabic_comma, U066B, U06BB ]}; // ‎ن‎ ‎،‎ ‎٫‎ ڻ‎ + key { [ Arabic_meem, slash, U06B3, U06B1 ]}; // ‎م‎ / ‎ڳ‎ ‎ڱ‎ + key { [ Arabic_kaf, colon, Arabic_gaf, Arabic_keheh ]}; // ‎ك‎ : ‎گ‎ ‎ک‎ + key { [ Arabic_tah, quotedbl, U27E9, U200D ]}; // ‎ط‎ " ⟩ ZWJ + key { [ backslash, ellipsis, U27E8, U202F ]}; // \ … ⟨ NNBSP + + key { [ bar, brokenbar, U06C0, U0620 ]}; // | ¦ ‎ۀ‎ ‎ؠ‎ + key { [Arabic_hamzaonyeh, asciitilde, guillemotright, U203A ]}; // ‎ئ‎ ~ » › + key { [ Arabic_hamza, Arabic_sukun, guillemotleft, U2039 ]}; // ‎ء‎ ◌ْ « ‹ + key { [Arabic_hamzaonwaw, braceright, U06C7, U0677 ]}; // ‎ؤ } ‎ۇ‎ ‎ٷ‎ + key { [ Arabic_ra, braceleft, U0693, U0699 ]}; // ‎ر‎ { ‎ړ ‎ڙ‎ + key { [ UFEFB, UFEF5, U06AB, U06AD ]}; // ‎ﻻ‎ ‎ﻵ‎ ‎ګ‎ ‎ڭ‎ + key {[Arabic_alefmaksura, Arabic_maddaonalef, Arabic_superscript_alef, Arabic_yeh_baree ]}; // ‎ى‎ ‎آ‎ ‎◌ٰ‎ ‎ے‎ + key { [Arabic_tehmarbuta, apostrophe, Arabic_fullstop, U06AA ]}; // ‎ة‎ ' ۔ ‎ڪ‎ + key { [ Arabic_waw, comma, U066C, U06CB ]}; // ‎و‎ , ‎٬‎ ‎ۋ‎ + key { [ Arabic_zain, period, Arabic_jeh, U0696 ]}; // ‎ز‎ . ‎ژ‎ ‎ږ‎ + key { [ Arabic_zah, Arabic_question_mark, Arabic_tteh, U200C ]}; // ‎ظ‎ ‎؟‎ ‎ٹ‎ ZWNJ + + include "level3(ralt_switch)" +}; + +// Replaces the Western numeral signs with Arabic-script digits on the keypad, pushing the Western digits to the third level accessible by the right alt key. +// As this set of definitions is unlisted, it is not usable without parallel mapping on the numeric row in the ara(basic_ext_digits) layout which includes it. +partial hidden keypad_keys +xkb_symbols "basic_ext_digits_KP" { + + key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD"; + + key { [ KP_Home, Arabic_7, 7, Farsi_7 ] }; + key { [ KP_Up, Arabic_8, 8, Farsi_8 ] }; + key { [ KP_Prior, Arabic_9, 9, Farsi_9 ] }; + + key { [ KP_Left, Arabic_4, 4, Farsi_4 ] }; + key { [ KP_Begin, Arabic_5, 5, Farsi_5 ] }; + key { [ KP_Right, Arabic_6, 6, Farsi_6 ] }; + + key { [ KP_End, Arabic_1, 1, Farsi_1 ] }; + key { [ KP_Down, Arabic_2, 2, Farsi_2 ] }; + key { [ KP_Next, Arabic_3, 3, Farsi_3 ] }; + + key { [ KP_Insert, Arabic_0, 0, Farsi_0 ] }; + + include "kpdl(momayyezoss)" +}; + +// Replaces the Western numeral signs with Arabic-script digits on the numeric row, pushing the Western digits to the third level accessible by the right alt key. +// The alternative numeral glyphs used in some languages that employ the Arabic script are featured in the fourth layer. +partial alphanumeric_keys +xkb_symbols "basic_ext_digits" { + + include "ara(basic_ext)" + + name[Group1]= "Arabic (Eastern Arabic numerals, extensions in the 4th level)"; + + key { [Arabic_thal,Arabic_shadda, percent, Arabic_ddal ]}; + key { [ Arabic_1, exclam, 1, Farsi_1 ] }; + key { [ Arabic_2, at, 2, Farsi_2 ] }; + key { [ Arabic_3, numbersign, 3, Farsi_3 ] }; + key { [ Arabic_4, dollar, 4, Farsi_4 ] }; + key { [ Arabic_5, Arabic_percent, 5, Farsi_5 ] }; + key { [ Arabic_6, Farsi_yeh, 6, Farsi_6 ] }; + key { [ Arabic_7, ampersand, 7, Farsi_7 ] }; + key { [ Arabic_8, asterisk, 8, Farsi_8 ] }; + key { [ Arabic_9, parenright, 9, Farsi_9 ] }; + key { [ Arabic_0, parenleft, 0, Farsi_0 ] }; + + include "ara(basic_ext_digits_KP)" +}; + +// In this layout the Ugaritic characters get the places of the Arabic characters with the matching sound values. +partial alphanumeric_keys +xkb_symbols "uga" { + + name[Group1]= "Ugaritic instead of Arabic"; + + key.type[Group1]="TWO_LEVEL"; + + key { [ U1038F, NoSymbol ]}; // 𐎏 + key { [ 1, exclam ]}; // 1 ! + key { [ 2, at ]}; // 2 @ + key { [ 3, numbersign ]}; // 3 # + key { [ 4, dollar ]}; // 4 $ + key { [ 5, percent ]}; // 5 % + key { [ 6, asciicircum ]}; // 6 ^ + key { [ 7, ampersand ]}; // 7 & + key { [ 8, asterisk ]}; // 8 * + key { [ 9, parenleft ]}; // 9 ( + key { [ 0, parenright ]}; // 0 ) + key { [ minus, underscore ]}; // - _ + key { [ equal, plus ]}; // = + + + key { [ U1039D, NoSymbol ]}; // 𐎝 + key { [ U10395, NoSymbol ]}; // 𐎕 + key { [ U10398, NoSymbol ]}; // 𐎘 + key { [ U10396, NoSymbol ]}; // 𐎖 + key { [ U10394, NoSymbol ]}; // 𐎔 + key { [ U10399, NoSymbol ]}; // 𐎙 + key { [ U10393, grave ]}; // 𐎓 ` + key { [ U10385, division ]}; // 𐎅 ÷ + key { [ U10383, multiply ]}; // 𐎃 × + key { [ U10388, semicolon ]}; // 𐎈 ; + key { [ U10382, greater ]}; // 𐎂 > + key { [ U10384, less ]}; // 𐎄 < + + key { [ U1038C, U27E8 ]}; // 𐎌 ⟨ + key { [ U10392, U27E9 ]}; // 𐎒 ⟩ + key { [ U1038A, bracketleft ]}; // 𐎊 [ + key { [ U10381, bracketright ]}; // 𐎁 ] + key { [ U1038D, NoSymbol ]}; // 𐎍 + key { [ U10380, NoSymbol ]}; // 𐎀 + key { [ U1039A, NoSymbol ]}; // 𐎚 + key { [ U10390, NoSymbol ]}; // 𐎐 + key { [ U1038E, slash ]}; // 𐎎 / + key { [ U1038B, colon ]}; // 𐎋: + key { [ U10389, quotedbl ]}; // 𐎉 " + key { [backslash, ellipsis ]}; // \ … + + key { [ bar, endash ]}; // | – + key { [ U1039B, guillemotleft ]}; // 𐎛 « + key { [ NoSymbol, guillemotright ]}; // » + key { [ U1039C, braceleft ]}; // 𐎜 { + key { [ U10397, braceright ]}; // 𐎗 } + key { [ U1039F, U2039 ]}; // 𐎟 ‹ + key { [ question, U203A ]}; // ? › + key { [ U002BC, apostrophe ]}; // ʼ ' + key { [ U10386, comma ]}; // 𐎆 , + key { [ U10387, period ]}; // 𐎇 . + key { [ U10391, periodcentered ]}; // 𐎑 · +}; + +// An Ergonomic implementation of the basic Arabic keyboard (PC). Brings all letters to the middle 30 keys. +xkb_symbols "ergoarabic" { + include "ara(basic)" + name[Group1]= "Arabic (ErgoArabic)"; + + key { [ grave, asciitilde, NoSymbol, NoSymbol ]}; + + key { [ Arabic_dal, Arabic_thal, NoSymbol, U2066 ]}; + key { [ Arabic_sad, Arabic_dad, NoSymbol, U2067 ]}; + key { [ Arabic_feh, Arabic_shadda, Arabic_veh, NoSymbol ]}; + key { [ Arabic_hamza, Arabic_hamzaunderalef, NoSymbol, U202A ]}; + key { [ Arabic_ain, Arabic_ghain, NoSymbol, U202B ]}; + key { [ Arabic_ha, division, NoSymbol, U202C ]}; + key { [ Arabic_waw, Arabic_hamzaonwaw, NoSymbol, NoSymbol ]}; + key { [ Arabic_tehmarbuta, Arabic_semicolon, NoSymbol, U200E ]}; + key { [ bracketright, braceright, NoSymbol, U200F ]}; + key { [ bracketleft, braceleft, NoSymbol, U061C ]}; + + key { [ Arabic_yeh, Arabic_fatha, NoSymbol, NoSymbol ]}; + key { [ Arabic_beh, Arabic_fathatan, Arabic_peh, NoSymbol ]}; + key { [ Arabic_lam, Arabic_maddaonalef,Arabic_superscript_alef, NoSymbol ]}; + key { [ Arabic_teh, Arabic_tatweel, NoSymbol, NoSymbol ]}; + key { [ Arabic_noon, multiply, U066B, NoSymbol ]}; + key { [ Arabic_meem, comma, NoSymbol, NoSymbol ]}; + key { [ Arabic_kaf, colon, Arabic_gaf, NoSymbol ]}; + key { [ apostrophe, quotedbl, U27E9, U200D ]}; + key { [ backslash, bar, U27E8, U202F ]}; + + key { [ Arabic_hamzaonyeh, NoSymbol, U203A, NoSymbol ]}; + key { [Arabic_alefmaksura, Arabic_sukun, U2039, NoSymbol ]}; + key { [ Arabic_tah, Arabic_zah, NoSymbol, NoSymbol ]}; + key { [ Arabic_ra, Arabic_zain, Arabic_jeh, NoSymbol ]}; + key { [ Arabic_khah, ellipsis, NoSymbol, NoSymbol ]}; + key { [ Arabic_hah, guillemotright, NoSymbol, NoSymbol ]}; + key { [ Arabic_jeem, guillemotleft, Arabic_tcheh, NoSymbol ]}; + key { [ Arabic_comma, greater, NoSymbol, NoSymbol ]}; + key { [ period, less, NoSymbol, NoSymbol ]}; + key { [ slash, Arabic_question_mark, U066D, U200C ]}; +}; diff --git a/xkbdata/symbols/at b/xkbdata/symbols/at new file mode 100644 index 0000000..a195e94 --- /dev/null +++ b/xkbdata/symbols/at @@ -0,0 +1,23 @@ +default +xkb_symbols "basic" { + + include "de(basic)" + + name[Group1]="German (Austria)"; +}; + +partial alphanumeric_keys +xkb_symbols "nodeadkeys" { + + include "de(nodeadkeys)" + + name[Group1]="German (Austria, no dead keys)"; +}; + +partial alphanumeric_keys +xkb_symbols "mac" { + + include "de(mac)" + + name[Group1]= "German (Austria, Macintosh)"; +}; diff --git a/xkbdata/symbols/au b/xkbdata/symbols/au new file mode 100644 index 0000000..bba66af --- /dev/null +++ b/xkbdata/symbols/au @@ -0,0 +1,9 @@ +// +// Default Australian is the same as American +// +default partial alphanumeric_keys +xkb_symbols "basic" { + include "us(basic)" + + name[Group1]= "English (Australian)"; +}; diff --git a/xkbdata/symbols/az b/xkbdata/symbols/az new file mode 100644 index 0000000..8c4f3a5 --- /dev/null +++ b/xkbdata/symbols/az @@ -0,0 +1,87 @@ +// Symbols definition for a Azerbaijani keyboard layout. +// Based on AZS 495-2010 standard. +// 2001 - Pablo Saratxaga +// 2015 - Adil Aliyev + +default partial alphanumeric_keys +xkb_symbols "latin" { + + include "us" + + name[Group1]= "Azerbaijani"; + + key { [ grave, asciitilde ] }; + key { [ 2, quotedbl ] }; + key { [ 3, U2166 ] }; + key { [ 4, semicolon ] }; + key { [ 5, percent ] }; + key { [ 6, colon ] }; + key { [ 7, question ] }; + key { [ 8, asterisk ] }; + + key { [ backslash, slash ] }; + + key { [ udiaeresis, Udiaeresis ] }; + key { [ i, Iabovedot ] }; + key { [ odiaeresis, Odiaeresis ] }; + key { [ gbreve, Gbreve ] }; + key { [ idotless, I ] }; + key { [ schwa, SCHWA ] }; + key { [ ccedilla, Ccedilla ] }; + key { [ scedilla, Scedilla ] }; + key { [ period, comma ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "cyrillic" { + + name[Group1]= "Azerbaijani (Cyrillic)"; + + key {[ 2, quotedbl ] }; + key {[ 3, numbersign ] }; + key {[ 4, semicolon ] }; + key {[ 6, colon ] }; + key {[ 7, question ] }; + key {[ 8, asterisk, braceleft ] }; + key {[ 9, parenleft, bracketleft ] }; + key {[ 0, parenright, bracketright ] }; + key {[ minus, underscore, braceright ] }; + + key {[ Cyrillic_je, Cyrillic_JE ] }; + key {[ Cyrillic_u_straight, Cyrillic_U_straight ] }; + key {[ Cyrillic_u, Cyrillic_U ] }; + key {[ Cyrillic_ka, Cyrillic_KA ] }; + key {[ Cyrillic_ie, Cyrillic_IE ] }; + key {[ Cyrillic_en, Cyrillic_EN ] }; + key {[ Cyrillic_ghe, Cyrillic_GHE ] }; + key {[ Cyrillic_sha, Cyrillic_SHA ] }; + key {[ Cyrillic_shha, Cyrillic_SHHA ] }; + key {[ Cyrillic_ze, Cyrillic_ZE ] }; + key {[ Cyrillic_ha, Cyrillic_HA ] }; + key {[ Cyrillic_che_vertstroke, Cyrillic_CHE_vertstroke ] }; + + key {[ Cyrillic_ef, Cyrillic_EF ] }; + key {[ Cyrillic_yeru, Cyrillic_YERU ] }; + key {[ Cyrillic_ve, Cyrillic_VE ] }; + key {[ Cyrillic_a, Cyrillic_A ] }; + key {[ Cyrillic_pe, Cyrillic_PE ] }; + key {[ Cyrillic_er, Cyrillic_ER ] }; + key {[ Cyrillic_o, Cyrillic_O ] }; + key {[ Cyrillic_el, Cyrillic_EL ] }; + key {[ Cyrillic_de, Cyrillic_DE ] }; + key {[ Cyrillic_zhe, Cyrillic_ZHE ] }; + key {[ Cyrillic_ka_vertstroke,Cyrillic_KA_vertstroke ] }; + + key {[ Cyrillic_schwa, Cyrillic_SCHWA ] }; + key {[ Cyrillic_che, Cyrillic_CHE ] }; + key {[ Cyrillic_es, Cyrillic_ES ] }; + key {[ Cyrillic_em, Cyrillic_EM ] }; + key {[ Cyrillic_i, Cyrillic_I ] }; + key {[ Cyrillic_te, Cyrillic_TE ] }; + key {[ Cyrillic_ghe_bar, Cyrillic_GHE_bar ] }; + key {[ Cyrillic_be, Cyrillic_BE ] }; + key {[ Cyrillic_o_bar, Cyrillic_O_bar ] }; + key {[ period, comma ] }; +}; diff --git a/xkbdata/symbols/ba b/xkbdata/symbols/ba new file mode 100644 index 0000000..4692ea8 --- /dev/null +++ b/xkbdata/symbols/ba @@ -0,0 +1,34 @@ +default partial alphanumeric_keys +xkb_symbols "basic" { + + include "rs(latin)" + name[Group1]="Bosnian"; +}; + +partial alphanumeric_keys +xkb_symbols "us" { + + include "rs(latinyz)" + name[Group1]= "Bosnian (US)"; +}; + +partial alphanumeric_keys +xkb_symbols "alternatequotes" { + + include "rs(latinalternatequotes)" + name[Group1]= "Bosnian (with guillemets)"; +}; + +partial alphanumeric_keys +xkb_symbols "unicode" { + + include "rs(latinunicode)" + name[Group1]= "Bosnian (with Bosnian digraphs)"; +}; + +partial alphanumeric_keys +xkb_symbols "unicodeus" { + + include "rs(latinunicodeyz)" + name[Group1]= "Bosnian (US, with Bosnian digraphs)"; +}; diff --git a/xkbdata/symbols/bd b/xkbdata/symbols/bd new file mode 100644 index 0000000..e716b72 --- /dev/null +++ b/xkbdata/symbols/bd @@ -0,0 +1,95 @@ +// +// XKB symbol :: National Bangla/Bengali Standard Keyboard Layout for Bangladesh +// Ref: http://www.bcc.net.bd/keyboard/bsti_kb_specification.pdf +// +// Author: Jamil Ahmed +// Created: 18-12-2005 +// Last Updated: 08-01-2006 +// Version: 6.01.3 +// +// Issues: +// Khanda-Ta is given U-09CE; But BCC had U-09BA +// U-09BB is added though it is not allocated in Original Unicode +// U-09B3 is added though it is not allocated in Original Unicode +// 3 Conjunct characters are not included +// + +default partial alphanumeric_keys +xkb_symbols "basic" { + name[Group1]= "Bangla"; + key { [ Escape ] }; + +// numbers + key { [ grave, asciitilde, voidsymbol, voidsymbol ] }; + key { [ 0x10009E7, exclam, 0x10009F4, voidsymbol ] }; + key { [ 0x10009E8, at, 0x10009F5, voidsymbol ] }; + key { [ 0x10009E9, numbersign, 0x10009F6, voidsymbol ] }; + key { [ 0x10009EA, dollar, 0x10009F3, 0x10009F2 ] }; + key { [ 0x10009EB, percent, 0x10009F7, voidsymbol ] }; + key { [ 0x10009EC, asciicircum, 0x10009F8, 0x10009B3 ] }; + key { [ 0x10009ED, ampersand, 0x1000902, voidsymbol ] }; + key { [ 0x10009EE, asterisk, voidsymbol, voidsymbol ] }; + key { [ 0x10009EF, parenleft, voidsymbol, voidsymbol ] }; + key { [ 0x10009E6, parenright, 0x10009F9, voidsymbol ] }; + key { [ minus, underscore, 0x100200C, voidsymbol ] }; + key { [ equal, plus, 0x100200D, voidsymbol ] }; + key { [ BackSpace ] }; + +// tab, q to ] + key { [ Tab, ISO_Left_Tab ] }; + key { [ 0x1000999, 0x1000982, 0x10009E2, 0x10009E3 ] }; + key { [ 0x10009AF, 0x10009DF, voidsymbol, voidsymbol ] }; + key { [ 0x10009A1, 0x10009A2, 0x10009C4, voidsymbol ] }; + key { [ 0x10009AA, 0x10009AB, voidsymbol, voidsymbol ] }; + key { [ 0x100099F, 0x10009A0, voidsymbol, voidsymbol ] }; + key { [ 0x100099A, 0x100099B, voidsymbol, voidsymbol ] }; + key { [ 0x100099C, 0x100099D, voidsymbol, voidsymbol ] }; + key { [ 0x10009B9, 0x100099E, 0x10009BD, voidsymbol ] }; + key { [ 0x1000997, 0x1000998, voidsymbol, voidsymbol ] }; + key { [ 0x10009DC, 0x10009DD, voidsymbol, voidsymbol ] }; + key { [ bracketleft, braceleft, voidsymbol, voidsymbol ] }; + key { [ bracketright, braceright, voidsymbol, voidsymbol ] }; + key { [ Return ] }; + +// caps, a to ' +// key { [ Caps_Lock ] }; + key { [ 0x10009C3, 0x10009D7, 0x100098B, 0x10009E0 ] }; + key { [ 0x10009C1, 0x10009C2, 0x1000989, 0x100098A ] }; + key { [ 0x10009BF, 0x10009C0, 0x1000987, 0x1000988 ] }; + key { [ 0x10009AC, 0x10009AD, 0x10009F0, 0x10009F1 ] }; + key { [ 0x10009CD, 0x1000964, 0x1000965, voidsymbol ] }; + key { [ 0x10009BE, 0x1000985, 0x1000986, voidsymbol ] }; + key { [ 0x1000995, 0x1000996, 0x10009BB, voidsymbol ] }; + key { [ 0x10009A4, 0x10009A5, 0x10009CE, voidsymbol ] }; + key { [ 0x10009A6, 0x10009A7, 0x100098C, 0x10009E1 ] }; + key { [ semicolon, colon, voidsymbol, voidsymbol ] }; + key { [ apostrophe, quotedbl, voidsymbol, voidsymbol ] }; + +// shift, z to / +// key { [ Shift_L ] }; + key { [ 0x1000981, 0x1000983, 0x10009FA, voidsymbol ] }; + key { [ 0x10009CB, 0x10009CC, 0x1000993, 0x1000994 ] }; + key { [ 0x10009C7, 0x10009C8, 0x100098F, 0x1000990 ] }; + key { [ 0x10009B0, 0x10009B2, voidsymbol, voidsymbol ] }; + key { [ 0x10009A8, 0x10009A3, voidsymbol, voidsymbol ] }; + key { [ 0x10009B8, 0x10009B7, voidsymbol, voidsymbol ] }; + key { [ 0x10009AE, 0x10009B6, voidsymbol, voidsymbol ] }; + key { [ comma, less, voidsymbol, voidsymbol ] }; + key { [ period, greater, 0x10009BC, voidsymbol ] }; + key { [ slash, question, voidsymbol, voidsymbol ] }; + key { [ backslash, bar, voidsymbol, voidsymbol ] }; + +// third level with right-Alt + include "level3(ralt_switch)" +}; + + +// +// XKB symbol :: Probhat Bangla/Bengali Keyboard Layout +// Ref: www.ankurbangla.org/images/probhat_layout.png +// + +xkb_symbols "probhat" { + include "in(ben_probhat)" + name[Group1]= "Bangla (Probhat)"; +}; diff --git a/xkbdata/symbols/be b/xkbdata/symbols/be new file mode 100644 index 0000000..92e4ee5 --- /dev/null +++ b/xkbdata/symbols/be @@ -0,0 +1,183 @@ +default partial alphanumeric_keys +xkb_symbols "basic" { + + include "latin" + + name[Group1]="Belgian"; + + key { [ ampersand, 1, bar, exclamdown ] }; + key { [ eacute, 2, at, oneeighth ] }; + key { [ quotedbl, 3, numbersign, sterling ] }; + key { [apostrophe, 4, onequarter, dollar ] }; + key { [ parenleft, 5, onehalf, threeeighths ] }; + key { [ section, 6, asciicircum, fiveeighths ] }; + key { [ egrave, 7, braceleft, seveneighths ] }; + key { [ exclam, 8, bracketleft, trademark ] }; + key { [ ccedilla, 9, braceleft, plusminus ] }; + key { [ agrave, 0, braceright, degree ] }; + key { [parenright, degree, backslash, questiondown ] }; + key { [ minus, underscore, dead_cedilla, dead_ogonek ] }; + + key { [ a, A, at, Greek_OMEGA ] }; + key { [ z, Z, U017F, section ] }; + key { [ e, E, EuroSign, cent ] }; + key { [ o, O, oe, OE ] }; // o O œ Œ + key { [dead_circumflex, dead_diaeresis, bracketleft, dead_abovering ] }; + key { [ dollar, asterisk, bracketright, dead_macron ] }; + + key { [ q, Q, ae, AE ] }; + key { [ m, M, dead_acute, dead_doubleacute ] }; + key { [ ugrave, percent, dead_acute, dead_caron ] }; + key { [twosuperior, threesuperior, notsign, notsign ] }; + + key { [ mu, sterling, dead_grave, dead_breve ] }; + key { [ w, W, guillemotleft, less ] }; + key { [ comma, question, dead_cedilla, masculine ] }; + key { [ semicolon, period, U2022, multiply ] }; // bullet + key { [ colon, slash, periodcentered, division ] }; + key { [ equal, plus, dead_tilde, dead_abovedot] }; + key { [ less, greater, backslash, backslash ] }; + + include "level3(ralt_switch)" +}; + + +// Variant of the fr(oss) layout for Belgium +// Copyright © 2006 Nicolas Mailhot +// +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓ +// │ ³ ≤ │ 1 ≥ │ 2 É │ 3 ˘ │ 4 — │ 5 – │ 6 ™ │ 7 È │ 8 ¡ │ 9 Ç │ 0 À │ ° Ø │ _ ± ┃ ⌫ Retour┃ +// │ ² ¹ │ & | │ é @ │ " # │ ' ¸ │ ( ˇ │ § ^ │ è ` │ ! ~ │ ç { │ à } │ ) ø │ - ‑ ┃ arrière┃ +// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫ +// ┃ ┃ A Æ │ Z  │ E ¢ │ R Ê │ T Þ │ Y Ÿ │ U Û │ I Î │ O Œ │ P Ô │ ¨ ˚ │ * ̨ ┃Entrée ┃ +// ┃Tab ↹ ┃ a æ │ z â │ e € │ r ê │ t þ │ y ÿ │ u û │ i î │ o œ │ p ô │ ^ [ │ $ ] ┃ ⏎ ┃ +// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃ +// ┃ ┃ Q Ä │ S „ │ D Ë │ F ‚ │ G ¥ │ H Ð │ J Ü │ K Ï │ L │ M Ö │ % Ù │ £ ̄ ┃ ┃ +// ┃Maj ⇬ ┃ q ä │ s ß │ d ë │ f ‘ │ g ’ │ h ð │ j ü │ k ï │ l / │ m ö │ ù ' │ µ ` ┃ ┃ +// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫ +// ┃ ┃ > ≠ │ W “ │ X ” │ C ® │ V ← │ B ↑ │ N → │ ? … │ . . │ / ∕ │ + − ┃ ┃ +// ┃Shift ⇧┃ < \ │ w « │ x » │ c © │ v ⍽ │ b ↓ │ n ¬ │ , ¿ │ ; × │ : ÷ │ = ~ ┃Shift ⇧ ┃ +// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛ +// ┃ ┃ ┃ ┃ ␣ Espace insécable ⍽ ┃ ┃ ┃ ┃ +// ┃Ctrl ┃Meta ┃Alt ┃ ␣ Espace ␣ ┃AltGr ⇮┃Menu ┃Ctrl ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛ +partial alphanumeric_keys +xkb_symbols "oss" { + + include "fr(oss)" + include "be(oss_frbe)" + + name[Group1]="Belgian (alt.)"; +}; + +partial alphanumeric_keys +xkb_symbols "oss_frbe" { + // First row + key { [ twosuperior, threesuperior, onesuperior, lessthanequal ] }; // ² ³ ¹ ≤ + key { [ ampersand, 1, bar, greaterthanequal ] }; // & 1 | ≥ + key { [ eacute, 2, at, Eacute ] }; // é 2 @ É + key { [ apostrophe, 4, dead_cedilla, 0x1002014 ] }; // ' 4 ¸ — (tiret cadratin) + key { [ parenleft, 5, dead_caron, 0x1002013 ] }; // ( 5 ˇ – (tiret demi-cadratin) + key { [ section, 6, asciicircum, trademark ] }; // § 6 ^ ™ + key { [ exclam, 8, asciitilde, exclamdown ] }; // ! 8 ~ ¡ + key { [ ccedilla, 9, braceleft, Ccedilla ] }; // ç 9 { Ç + key { [ agrave, 0, braceright, Agrave ] }; // à 0 } À + key { [ parenright, degree, oslash, Ooblique ] }; // ) ° ø Ø + key { [ minus, underscore, 0x1002011, plusminus ] }; // - _ - (tiret insécable) ± + + // Second row + key { [ dead_circumflex, dead_diaeresis, bracketleft, dead_abovering ] }; // ^ ̈ [ ˚ + key { [ dollar, asterisk, bracketright, dead_ogonek ] }; // $ * ] ̨ + + // Third row + key { [ l, L, dead_stroke ] }; + key { [ mu, sterling, dead_grave, dead_macron ] }; // µ £ ` ̄ + + // Fourth row + key { [ less, greater, backslash, notequal ] }; // < > \ ≠ + key { [ equal, plus, dead_tilde, 0x1002212 ] }; // = + ~ − +}; + + +partial alphanumeric_keys +xkb_symbols "oss_latin9" { + + // Restricts the be(oss) layout to latin9 symbols + + include "fr(oss_latin9)" + include "be(oss_frbe)" + include "keypad(oss_latin9)" + + name[Group1]="Belgian (Latin-9 only, alt.)"; + + // First row + key { [ twosuperior, threesuperior, onesuperior, less ] }; // ² ³ ¹ < + key { [ ampersand, 1, bar, greater ] }; // & 1 | > + key { [ apostrophe, 4, dead_cedilla, minus ] }; // ' 4 ¸ - + key { [ parenleft, 5, dead_caron, minus ] }; // ( 5 ˇ - + key { [ section, 6, asciicircum, asciicircum ] }; // § 6 ^ ^ + key { [ minus, underscore, minus, plusminus ] }; // - _ - ± + + // Second row + key { [ dollar, asterisk, bracketright, dead_cedilla ] }; // $ * ] ¸ + + // Third row + key { [ l, L, l, L ] }; // l L l L + key { [ mu, sterling, dead_grave, dead_circumflex ] }; // µ £ ` ^ + + // Fourth row + key { [ less, greater, backslash, equal ] }; // < > \ = + key { [ equal, plus, dead_tilde, minus ] }; // = + ~ - +}; + + +partial alphanumeric_keys +xkb_symbols "iso-alternate" { + include "be(basic)" + name[Group1]="Belgian (ISO, alt.)"; + + key { [ a, A, ae, AE ] }; + key { [ z, Z, guillemotleft, less ] }; + key { [ q, Q, at, Greek_OMEGA ] }; + key { [ m, M, mu, masculine ] }; + key { [ w, W, lstroke, Lstroke ] }; + key { [ comma, question, dead_cedilla, dead_doubleacute ] }; +}; + +partial alphanumeric_keys +xkb_symbols "nodeadkeys" { + + // Eliminates dead keys from the basic Belgian layout + + include "be(basic)" + name[Group1]="Belgian (no dead keys)"; + + key { [ minus, underscore, cedilla, ogonek ] }; + key { [asciicircum, diaeresis, bracketleft, bracketleft] }; + key { [ dollar, asterisk, bracketright, macron ] }; + key { [ m, M, acute, doubleacute ] }; + key { [ ugrave, percent, apostrophe, apostrophe ] }; + key { [ mu, sterling, grave, grave ] }; + key { [ comma, question, cedilla, masculine ] }; + key { [ equal, plus, asciitilde, asciitilde ] }; +}; + +// Wang model 724 azerty Belgium keyboard +partial alphanumeric_keys +xkb_symbols "wang" { + + include "be(basic)" + include "keypad(legacy_wang)" + name[Group1]="Belgian (Wang 724 AZERTY)"; + + // Engravings on Wang 725-3771-ae + key { [ twosuperior, threesuperior, notsign, asciitilde ] }; + key { [ less, greater, backslash, brokenbar ] }; +}; + +// EXTRAS: + +partial alphanumeric_keys + xkb_symbols "sun_type6" { + include "sun_vndr/be(sun_type6)" +}; diff --git a/xkbdata/symbols/bg b/xkbdata/symbols/bg new file mode 100644 index 0000000..017d604 --- /dev/null +++ b/xkbdata/symbols/bg @@ -0,0 +1,319 @@ +////////////////////////////////////////////////////////////////////////// +// Copyright (C) 1999, 2000, 2007, 2009 by Anton Zinoviev +// +// This software may be used, modified, copied, distributed, and sold, +// both in source and binary form provided that the above copyright +// notice and these terms are retained. The name of the author may not +// be used to endorse or promote products derived from this software +// without prior permission. THIS SOFTWARE IS PROVIDED "AS IS" AND +// ANY EXPRESS OR IMPLIED WARRANTIES ARE DISCLAIMED. IN NO EVENT +// SHALL THE AUTHOR BE LIABLE FOR ANY DAMAGES ARISING IN ANY WAY OUT +// OF THE USE OF THIS SOFTWARE. +// +////////////////////////////////////////////////////////////////////////// +// Version 2.0 + +// The following variants are defined in this file: + +// "bds" - the BDS keyboard layout compliant with the proposed +// Bulgarian state standard BDS 5237:2006 + +// "phonetic" - the phonetic Bulgarian layout with the traditional position +// of the letters + +// "bas_phonetic" - the phonetic keyboard layout compliant with the +// proposed Bulgarian state standard BDS 5237:2006 + +// "bekl" - the enhanced variant of the Bulgarian BDS keyboard, proposed +// in May 2020. + +// "latin" - an extended variant of the QWERTY layout with symbols that +// Bulgarian users will type while the keyboard is in Latin mode + +// The reasons behind the layout of the symbols in levels 3 and 4 are +// explained in http://arxiv.org/abs/0905.0484 (in Bulgarian). + +// Two notes for the maintainers of xkeyboard-config: + +// 1. Please do not use key names such as for the Bulgarian +// phonetic layouts. The placement of the symbols must stay always +// the same regardless of which one of the alias sets in +// xkb/keycodes/aliases is used. + +// 2. The layouts should not include level3(ralt_switch). + +////////////////////////////////////////////////////////////////////////// + +// Describes Bulgarian keyboard "BDS" modified according to the +// the new state standard BDS 5237:2006 and extended with symbols in +// levels 3 and 4. +default partial alphanumeric_keys +xkb_symbols "bds" { + + name[Group1]= "Bulgarian"; + + key {[ parenleft, parenright, bracketleft, bracketright ]}; + key {[ 1, exclam ]}; + key {[ 2, question ]}; + key {[ 3, plus, dagger, dagger ]}; + key {[ 4, quotedbl ]}; + key {[ 5, percent, U2329, U232A ]}; + key {[ 6, equal, emdash, emdash ]}; + key {[ 7, colon, ellipsis, ellipsis ]}; + key {[ 8, slash, U0300, U0301 ]}; + key {[ 9, endash ]}; + key {[ 0, numerosign ]}; + key {[ minus, dollar, U2011, EuroSign ]}; + key {[ period, EuroSign ]}; + + key {[ comma, Cyrillic_yeru, rightsinglequotemark, leftsinglequotemark ]}; + key {[ Cyrillic_u, Cyrillic_U ]}; + key {[ Cyrillic_ie, Cyrillic_IE, Cyrillic_e, Cyrillic_E ]}; + key {[ Cyrillic_i, Cyrillic_I, U045D, U040D ]}; + key {[ Cyrillic_sha, Cyrillic_SHA ]}; + key {[ Cyrillic_shcha, Cyrillic_SHCHA ]}; + key {[ Cyrillic_ka, Cyrillic_KA, copyright, copyright ]}; + key {[ Cyrillic_es, Cyrillic_ES, copyright, copyright ]}; + key {[ Cyrillic_de, Cyrillic_DE ]}; + key {[ Cyrillic_ze, Cyrillic_ZE ]}; + key {[ Cyrillic_tse, Cyrillic_TSE ]}; + key {[ semicolon, section ]}; + + key {[ Cyrillic_softsign, U045D, Cyrillic_yeru, Cyrillic_YERU ]}; + key {[ Cyrillic_ya, Cyrillic_YA, U0463, U0462 ]}; + key {[ Cyrillic_a, Cyrillic_A ]}; + key {[ Cyrillic_o, Cyrillic_O ]}; + key {[ Cyrillic_zhe, Cyrillic_ZHE ]}; + key {[ Cyrillic_ghe, Cyrillic_GHE ]}; + key {[ Cyrillic_te, Cyrillic_TE, trademark, trademark ]}; + key {[ Cyrillic_en, Cyrillic_EN ]}; + key {[ Cyrillic_ve, Cyrillic_VE ]}; + key {[ Cyrillic_em, Cyrillic_EM ]}; + key {[ Cyrillic_che, Cyrillic_CHE ]}; + key {[ doublelowquotemark, leftdoublequotemark, guillemotleft, guillemotright ]}; + + key {[ U045D, U040D ]}; + key {[ Cyrillic_yu, Cyrillic_YU ]}; + key {[ Cyrillic_shorti, Cyrillic_SHORTI, U046D, U046C ]}; + key {[ Cyrillic_hardsign, Cyrillic_HARDSIGN, U046B, U046A ]}; + key {[ Cyrillic_e, Cyrillic_E ]}; + key {[ Cyrillic_ef, Cyrillic_EF ]}; + key {[ Cyrillic_ha, Cyrillic_HA ]}; + key {[ Cyrillic_pe, Cyrillic_PE ]}; + key {[ Cyrillic_er, Cyrillic_ER, registered, registered ]}; + key {[ Cyrillic_el, Cyrillic_EL ]}; + key {[ Cyrillic_be, Cyrillic_BE ]}; + + key {[ space, space, nobreakspace, nobreakspace ]}; + + key { type[Group1] = "KEYPAD", [ KP_Delete, KP_Separator ]}; +}; + +// This is an improved variant of the traditional Bulgarian phonetic +// keyboard. Some unnecessary symbols in levels 1 and 2 are replaced +// by more useful ones (similar as in "bas_phonetic") and additional +// symbols are added in levels 3 and 4. +partial alphanumeric_keys +xkb_symbols "phonetic" { + name[Group1]= "Bulgarian (traditional phonetic)"; + + key {[ Cyrillic_che, Cyrillic_CHE ]}; + key {[ 1, exclam ]}; + key {[ 2, at ]}; + key {[ 3, numerosign ]}; + key {[ 4, dollar, EuroSign, EuroSign ]}; + key {[ 5, percent ]}; + key {[ 6, EuroSign ]}; + key {[ 7, section ]}; + key {[ 8, asterisk ]}; + key {[ 9, parenleft, bracketleft, U2329 ]}; + key {[ 0, parenright, bracketright, U232A ]}; + key {[ minus, endash, U2011, U2011 ]}; + key {[ equal, plus, emdash, dagger ]}; + + key {[ Cyrillic_ya, Cyrillic_YA, U0463, U0462 ]}; + key {[ Cyrillic_ve, Cyrillic_VE ]}; + key {[ Cyrillic_ie, Cyrillic_IE, Cyrillic_e, Cyrillic_E ]}; + key {[ Cyrillic_er, Cyrillic_ER, registered, registered ]}; + key {[ Cyrillic_te, Cyrillic_TE, trademark, trademark ]}; + key {[ Cyrillic_hardsign, Cyrillic_HARDSIGN, U046B, U046A ]}; + key {[ Cyrillic_u, Cyrillic_U ]}; + key {[ Cyrillic_i, Cyrillic_I, U045D, U040D ]}; + key {[ Cyrillic_o, Cyrillic_O ]}; + key {[ Cyrillic_pe, Cyrillic_PE ]}; + key {[ Cyrillic_sha, Cyrillic_SHA ]}; + key {[ Cyrillic_shcha, Cyrillic_SHCHA ]}; + + key {[ Cyrillic_a, Cyrillic_A ]}; + key {[ Cyrillic_es, Cyrillic_ES, copyright, copyright ]}; + key {[ Cyrillic_de, Cyrillic_DE ]}; + key {[ Cyrillic_ef, Cyrillic_EF ]}; + key {[ Cyrillic_ghe, Cyrillic_GHE ]}; + key {[ Cyrillic_ha, Cyrillic_HA ]}; + key {[ Cyrillic_shorti, Cyrillic_SHORTI, U046D, U046C ]}; + key {[ Cyrillic_ka, Cyrillic_KA ]}; + key {[ Cyrillic_el, Cyrillic_EL ]}; + key {[ semicolon, colon, ellipsis, ellipsis ]}; + key {[ apostrophe, quotedbl, rightsinglequotemark, leftsinglequotemark ]}; + key {[ Cyrillic_yu, Cyrillic_YU ]}; + + key {[ U045D, U040D ]}; + key {[ Cyrillic_ze, Cyrillic_ZE ]}; + key {[ Cyrillic_softsign, U045D, Cyrillic_yeru, Cyrillic_YERU ]}; + key {[ Cyrillic_tse, Cyrillic_TSE, copyright, copyright ]}; + key {[ Cyrillic_zhe, Cyrillic_ZHE ]}; + key {[ Cyrillic_be, Cyrillic_BE ]}; + key {[ Cyrillic_en, Cyrillic_EN ]}; + key {[ Cyrillic_em, Cyrillic_EM ]}; + key {[ comma, doublelowquotemark, guillemotleft, guillemotleft ]}; + key {[ period, leftdoublequotemark, guillemotright, guillemotright ]}; + key {[ slash, question, U0300, U0301 ]}; + + key {[ space, space, nobreakspace, nobreakspace ]}; + + key { type[Group1] = "KEYPAD", [ KP_Delete, KP_Separator ]}; +}; + +// This is the Bulgarian phonetic keyboard according to the proposed +// state standard BDS 5237:2006 with additional symbols in levels 3 and 4. +partial alphanumeric_keys +xkb_symbols "bas_phonetic" { + include "bg(phonetic)" + name[Group1]= "Bulgarian (new phonetic)"; + + key {[ Cyrillic_yu, Cyrillic_YU ]}; + key {[ Cyrillic_che, Cyrillic_CHE ]}; + key {[ Cyrillic_sha, Cyrillic_SHA ]}; + key {[ Cyrillic_ya, Cyrillic_YA, U0463, U0462 ]}; + key {[ Cyrillic_softsign, U045D, Cyrillic_yeru, Cyrillic_YERU ]}; + key {[ Cyrillic_zhe, Cyrillic_ZHE ]}; + key {[ Cyrillic_ve, Cyrillic_VE ]}; +}; + +// This is an enhanced variant of the Bulgarian BDS keyboard, proposed +// in May 2020 by a group of more than 500 linguists, teachers, writers, +// translators, IT specialists, professors and many more. +partial alphanumeric_keys +xkb_symbols "bekl" { + + name[Group1]= "Bulgarian (enhanced)"; + + key {[ parenleft, parenright, bracketleft, bracketright ]}; + key {[ 1, exclam ]}; + key {[ 2, question, U0040, U0040 ]}; + key {[ 3, plus, dagger, dagger ]}; + key {[ 4, quotedbl ]}; + key {[ 5, percent, U2329, U232A ]}; + key {[ 6, equal, emdash, emdash ]}; + key {[ 7, colon, ellipsis, ellipsis ]}; + key {[ 8, slash, U0300, U0301 ]}; + key {[ 9, endash ]}; + key {[ 0, numerosign ]}; + key {[ minus, dollar, U2011, EuroSign ]}; + key {[ period, EuroSign ]}; + + key {[ comma, U02BC ]}; + key {[ Cyrillic_u, Cyrillic_U ]}; + key {[ Cyrillic_ie, Cyrillic_IE, Cyrillic_e, Cyrillic_E ]}; + key {[ Cyrillic_i, Cyrillic_I, U045D, U040D ]}; + key {[ Cyrillic_sha, Cyrillic_SHA ]}; + key {[ Cyrillic_shcha, Cyrillic_SHCHA ]}; + key {[ Cyrillic_ka, Cyrillic_KA, copyright, copyright ]}; + key {[ Cyrillic_es, Cyrillic_ES ]}; + key {[ Cyrillic_de, Cyrillic_DE ]}; + key {[ Cyrillic_ze, Cyrillic_ZE ]}; + key {[ Cyrillic_tse, Cyrillic_TSE ]}; + key {[ semicolon, section ]}; + + key {[ Cyrillic_softsign, U045D, Cyrillic_yeru, Cyrillic_YERU ]}; + key {[ Cyrillic_ya, Cyrillic_YA ]}; + key {[ Cyrillic_a, Cyrillic_A ]}; + key {[ Cyrillic_o, Cyrillic_O ]}; + key {[ Cyrillic_zhe, Cyrillic_ZHE ]}; + key {[ Cyrillic_ghe, Cyrillic_GHE ]}; + key {[ Cyrillic_te, Cyrillic_TE, trademark, trademark ]}; + key {[ Cyrillic_en, Cyrillic_EN ]}; + key {[ Cyrillic_ve, Cyrillic_VE ]}; + key {[ Cyrillic_em, Cyrillic_EM ]}; + key {[ Cyrillic_che, Cyrillic_CHE ]}; + key {[ doublelowquotemark, leftdoublequotemark, guillemotleft, guillemotright ]}; + + key {[ U045D, U040D ]}; + key {[ Cyrillic_yu, Cyrillic_YU ]}; + key {[ Cyrillic_shorti, Cyrillic_SHORTI, U046D, U046C ]}; + key {[ Cyrillic_hardsign, Cyrillic_HARDSIGN, U046B, U046A ]}; + key {[ U0463, U0462 ]}; + key {[ Cyrillic_ef, Cyrillic_EF ]}; + key {[ Cyrillic_ha, Cyrillic_HA ]}; + key {[ Cyrillic_pe, Cyrillic_PE ]}; + key {[ Cyrillic_er, Cyrillic_ER, registered, registered ]}; + key {[ Cyrillic_el, Cyrillic_EL ]}; + key {[ Cyrillic_be, Cyrillic_BE ]}; + + key {[ space, space, nobreakspace, nobreakspace ]}; + + key { type[Group1] = "KEYPAD", [ KP_Delete, KP_Separator ]}; +}; + + +// This is an extended variant of the standard Latin QWERTY layout with +// additional symbols in levels 3 and 4. +hidden partial alphanumeric_keys +xkb_symbols "latin" { + + key {[ grave, asciitilde, U2248, U2245 ]}; + key {[ 1, exclam, notsign, notsign ]}; + key {[ 2, at, twosuperior, enfilledcircbullet ]}; + key {[ 3, numbersign, threesuperior, notequal ]}; + key {[ 4, dollar, EuroSign, sterling ]}; + key {[ 5, percent, U2030, U2030 ]}; + key {[ 6, asciicircum, logicaland, logicalor ]}; + key {[ 7, ampersand, section, section ]}; + key {[ 8, asterisk, infinity, multiply ]}; + key {[ 9, parenleft, U2202, nabla ]}; + key {[ 0, parenright, U2300, U2300 ]}; + key {[ minus, underscore, U2011, endash ]}; + key {[ equal, plus, emdash, plusminus ]}; + + key {[ q, Q, Greek_THETA, Greek_theta ]}; + key {[ w, W, Greek_OMEGA, Greek_omega ]}; + key {[ e, E, U2203, Greek_epsilon ]}; + key {[ r, R, registered, Greek_rho ]}; + key {[ t, T, trademark, Greek_tau ]}; + key {[ y, Y, yen, Greek_upsilon ]}; + key {[ u, U, intersection, union ]}; + key {[ i, I, integral, Greek_iota ]}; + key {[ o, O, degree, U222E ]}; + key {[ p, P, Greek_PI, Greek_pi ]}; + key {[ bracketleft, braceleft, U2286, includedin ]}; + key {[ bracketright, braceright, U2208, U2209 ]}; + + key {[ a, A, U2200, Greek_alpha ]}; + key {[ s, S, Greek_SIGMA, Greek_sigma ]}; + key {[ d, D, Greek_DELTA, Greek_delta ]}; + key {[ f, F, Greek_PHI, Greek_phi ]}; + key {[ g, G, Greek_GAMMA, Greek_gamma ]}; + key {[ h, H, U2225, Greek_eta ]}; + key {[ j, J ]}; + key {[ k, K, U03F0, Greek_kappa ]}; + key {[ l, L, Greek_LAMBDA, Greek_lambda ]}; + key {[ semicolon, colon, division, division ]}; + key {[ apostrophe, quotedbl, leftdoublequotemark, rightdoublequotemark]}; + key {[ backslash, bar, identical, downtack ]}; + + key {[ less, greater, U2266, U2267 ]}; + key {[ z, Z, U2220, Greek_zeta ]}; + key {[ x, X, Greek_XI, Greek_xi ]}; + key {[ c, C, copyright, Greek_chi ]}; + key {[ v, V, Greek_PSI, Greek_psi ]}; + key {[ b, B, U03D1, Greek_beta ]}; + key {[ n, N, U207F, Greek_nu ]}; + key {[ m, M, Greek_mu, Greek_mu ]}; + key {[ comma, less, U2266, U21D4 ]}; + key {[ period, greater, U2267, U21D2 ]}; + key {[ slash, question, leftsinglequotemark, rightsinglequotemark]}; + + key {[ space, space, nobreakspace, nobreakspace ]}; + + key { type[Group1] = "KEYPAD", [ KP_Delete, KP_Decimal ]}; +}; diff --git a/xkbdata/symbols/br b/xkbdata/symbols/br new file mode 100644 index 0000000..d8dca78 --- /dev/null +++ b/xkbdata/symbols/br @@ -0,0 +1,308 @@ +default +xkb_symbols "abnt2" { + + // Based on a very simple Brazilian ABNT2 keyboard, + // by Ricardo Y. Igarashi (iga@that.com.br). + // With added support for dead keys in I18N applications, + // by Conectiva (http://www.conectiva.com.br). + + include "latin" + name[Group1]="Portuguese (Brazil)"; + + key { [ apostrophe, quotedbl, notsign, notsign ] }; + key { [ 2, at, twosuperior, onehalf ] }; + key { [ 3, numbersign, threesuperior, threequarters ] }; + key { [ 4, dollar, sterling, onequarter ] }; + key { [ 5, percent, cent, threeeighths ] }; + key { [ 6, dead_diaeresis, notsign, diaeresis ] }; + key { [ equal, plus, section, dead_ogonek ] }; + + key { [ q, Q, slash, slash ] }; + key { [ w, W, question, question ] }; + key { [ e, E, degree, degree ] }; + key { [ r, R, registered, registered ] }; + key { [ dead_acute, dead_grave, acute, grave ] }; + key { [ bracketleft, braceleft, ordfeminine, dead_macron ] }; + key { [ bracketright, braceright, masculine, masculine ] }; + + key { [ ccedilla, Ccedilla, dead_acute,dead_doubleacute ] }; + key { [ dead_tilde,dead_circumflex, asciitilde, asciicircum ] }; + + key { [ backslash, bar, dead_caron, dead_breve ] }; + key { [ c, C, copyright, copyright ] }; + key { [ m, M, mu, mu ] }; + key { [ semicolon, colon, dead_belowdot, dead_abovedot ] }; + + // The ABNT-2 keyboard has this special key: + key { [ slash, question, degree, questiondown ] }; + + include "kpdl(comma)" + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "nodeadkeys" { + + include "br(abnt2)" + name[Group1]="Portuguese (Brazil, no dead keys)"; + + key { [ 6, diaeresis, notsign, notsign ] }; + key { [ apostrophe, grave ] }; + key { [ ccedilla, Ccedilla, acute, doubleacute ] }; + key { [ asciitilde, asciicircum ] }; + key { [ semicolon, colon, dead_belowdot, abovedot ] }; +}; + + +// The ABNT2 keyboard on IBM/Lenovo Thinkpads, +// by Piter PUNK . +// +partial alphanumeric_keys +xkb_symbols "thinkpad" { + + include "br(abnt2)" + name[Group1]="Portuguese (Brazil, IBM/Lenovo ThinkPad)"; + + key { [ slash, question, degree, questiondown ] }; +}; + + +partial alphanumeric_keys +xkb_symbols "olpc" { + // #HW-SPECIFIC + include "us(basic)" + name[Group1]="Portuguese (Brazil)"; + + key { [ apostrophe, quotedbl ] }; + key { [ 1, exclam, onesuperior ] }; + key { [ 2, at, twosuperior ] }; + key { [ 3, numbersign, threesuperior ] }; + key { [ 4, dollar, sterling ] }; + key { [ 5, percent, cent ] }; + key { [ 6, dead_diaeresis, notsign ] }; + key { [ equal, plus, section ] }; + + key { [ e, E, EuroSign ] }; + key { [ dead_acute, dead_grave, acute, grave ] }; + key { [ bracketleft, braceleft, 0x10000AA ] }; + key { [ bracketright, braceright, 0x10000BA ] }; + + key { [ ccedilla, Ccedilla ] }; + key { [ dead_tilde, dead_circumflex ] }; + + key { [ z, Z, bar ] }; + key { [ c, C, 0x10020A2 ] }; + key { [ period, greater, backslash ] }; + key { [ semicolon, colon ] }; + + key { [ slash, question, degree, ISO_Next_Group ] }; + + include "level3(ralt_switch)" +}; + + +// +// Brazilian Dvorak layout 2005-04-18 +// "Teclado Simplificado Brasileiro" ou "Dvorak Brasileiro" +// +// Heitor Moraes heitor.moraes@gmail.com +// Luiz Portella lfpor@lujz.org +// Nando Florestan nando2003@mandic.com.br +// Ari Caldeira ari@tecladobrasileiro.com.br +// +partial alphanumeric_keys +xkb_symbols "dvorak" { + + name[Group1]="Portuguese (Brazil, Dvorak)"; + +// Numeric row + key { [ apostrophe, quotedbl, dead_caron, dead_doubleacute ] }; + key { [ 1, exclam, onesuperior, exclamdown ] }; + key { [ 2, at, twosuperior, onehalf ] }; + key { [ 3, numbersign, threesuperior, threequarters ] }; + key { [ 4, dollar, sterling, onequarter ] }; + key { [ 5, percent, cent, 0x01002030 ] }; + key { [ 6, dead_diaeresis, notsign, diaeresis ] }; + key { [ 7, ampersand, dead_belowdot, dead_abovedot ] }; + key { [ 8, asterisk, dead_ogonek, dead_horn ] }; + key { [ 9, parenleft, dead_cedilla, dead_hook ] }; + key { [ 0, parenright, dead_macron, dead_breve ] }; + key { [ bracketleft, braceleft, ordfeminine, 0x01000326 ] }; + key { [ bracketright, braceright, masculine, dead_abovering ] }; + + +// Upper row + key { [ slash, question, degree, questiondown ] }; + key { [ comma, less, 0x01000329, 0x01000313 ] }; + key { [ period, greater, 0x01002022, periodcentered ] }; + key { [ p, P, thorn, THORN ] }; + key { [ y, Y, yen, yen ] }; + key { [ f, F, leftdoublequotemark, leftsinglequotemark ] }; + key { [ g, G, rightdoublequotemark, rightsinglequotemark ] }; + key { [ c, C, uparrow, copyright ] }; + key { [ r, R, registered, registered ] }; + key { [ l, L, lstroke, Lstroke ] }; + key { [ dead_acute, dead_grave, acute, grave ] }; + key { [ equal, plus, section, plusminus ] }; + +// Central row + key { [ a, A, ae, AE ] }; + key { [ o, O, oe, OE ] }; + key { [ e, E, EuroSign, EuroSign ] }; + key { [ u, U, oslash, Ooblique ] }; + key { [ i, I, idotless, Iabovedot ] }; + key { [ d, D, eth, ETH ] }; + key { [ h, H, leftarrow, paragraph ] }; + key { [ t, T, rightarrow, trademark ] }; + key { [ n, N, eng, ENG ] }; + key { [ s, S, ssharp, U1E9E ] }; + key { [ dead_tilde, dead_circumflex, asciitilde, asciicircum ] }; + key { [ minus, underscore, 0x01002015, 0x01000336 ] }; + +// Lower row + key { [ ccedilla, Ccedilla, backslash, bar ] }; + key { [ semicolon, colon, 0x01000331, 0x0100032D ] }; + key { [ q, Q, 0x01000259, 0x0100018F ] }; + key { [ j, J, 0x01000292, 0x010001B7 ] }; + key { [ k, K, guillemotleft, 0x01002039 ] }; + key { [ x, X, multiply, division ] }; + key { [ b, B, guillemotright, 0x0100203A ] }; + key { [ m, M, downarrow, mu ] }; + key { [ w, W, ubreve, Ubreve ] }; + key { [ v, V, doublelowquotemark, singlelowquotemark ] }; + key { [ z, Z, 0x0100201F, 0x0100201B ] }; + key { [ backslash, bar, currency, brokenbar ] }; + + key { [ space, space, nobreakspace, nobreakspace ] }; + +// Configures the "," for the numeric keypad + include "kpdl(comma)" + +// Configures the use of the AltGr key + include "level3(ralt_switch)" +}; + + +// +// Brazilian Nativo layout. +// This is a Dvorak-based layout, designed for the Portuguese language. +// +// Ari Caldeira 2005-07-19 +// +partial alphanumeric_keys +xkb_symbols "nativo" { + + name[Group1]="Portuguese (Brazil, Nativo)"; + +// Numeric row + key { [ equal, plus, section, plusminus ] }; + key { [ 1, exclam, onesuperior, exclamdown ] }; + key { [ 2, at, twosuperior, onehalf ] }; + key { [ 3, numbersign, threesuperior, threequarters ] }; + key { [ 4, dollar, sterling, onequarter ] }; + key { [ 5, percent, cent, 0x01002030 ] }; + key { [ 6, dead_diaeresis, notsign, diaeresis ] }; + key { [ 7, ampersand, dead_belowdot, dead_abovedot ] }; + key { [ 8, asterisk, dead_ogonek, dead_horn ] }; + key { [ 9, parenleft, dead_cedilla, dead_hook ] }; + key { [ 0, parenright, dead_macron, dead_breve ] }; + key { [ bracketleft, braceleft, ordfeminine, 0x01000326 ] }; + key { [ bracketright, braceright, masculine, dead_abovering ] }; + +// Upper row + key { [ slash, question, degree, questiondown ] }; + key { [ comma, less, 0x01000329, 0x01000313 ] }; + key { [ period, greater, 0x01002022, periodcentered ] }; + key { [ h, H, paragraph, paragraph ] }; + key { [ x, X, multiply, division ] }; + key { [ w, W, ubreve, Ubreve ] }; + key { [ l, L, lstroke, Lstroke ] }; + key { [ t, T, trademark, trademark ] }; + key { [ c, C, copyright, copyright ] }; + key { [ p, P, thorn, THORN ] }; + key { [ dead_tilde, dead_circumflex, asciitilde, asciicircum ] }; + key { [ minus, underscore, 0x01002015, 0x01000336 ] }; + +// Central row + key { [ i, I, idotless, Iabovedot ] }; + key { [ e, E, EuroSign, EuroSign ] }; + key { [ a, A, ae, AE ] }; + key { [ o, O, oe, OE ] }; + key { [ u, U, oslash, Ooblique ] }; + key { [ m, M, mu, mu ] }; + key { [ d, D, eth, ETH ] }; + key { [ s, S, ssharp, U1E9E ] }; + key { [ r, R, registered, registered ] }; + key { [ n, N, eng, ENG ] }; + key { [ dead_acute, dead_grave, acute, grave ] }; + key { [ apostrophe, quotedbl, dead_caron, dead_doubleacute ] }; + +// Lower row + key { [ semicolon, colon, 0x01000331, 0x0100032D ] }; + key { [ y, Y, yen, yen ] }; + key { [ ccedilla, Ccedilla, backslash, bar ] }; + key { [ j, J, 0x01000292, 0x010001B7 ] }; + key { [ b, B, guillemotleft, 0x01002039 ] }; + key { [ k, K, guillemotright, 0x0100203A ] }; + key { [ q, Q, 0x01000259, 0x0100018F ] }; + key { [ v, V, doublelowquotemark, singlelowquotemark ] }; + key { [ g, G, leftdoublequotemark, leftsinglequotemark ] }; + key { [ f, F, rightdoublequotemark, rightsinglequotemark ] }; + key { [ z, Z, 0x0100201F, 0x0100201B ] }; + key { [ backslash, bar, currency, brokenbar ] }; + + key { [ space, space, nobreakspace, nobreakspace ] }; + +// Configures the "," for the numeric keypad + include "kpdl(comma)" + +// Configures the use of the AltGr key + include "level3(ralt_switch)" +}; + + +// +// Brazilian Nativo layout for US keyboards. +// +// Ari Caldeira 2005-07-19 +// +partial alphanumeric_keys +xkb_symbols "nativo-us" { + + include "br(nativo)" + + name[Group1]="Portuguese (Brazil, Nativo for US keyboards)"; + + key { [ y, Y, ccedilla, Ccedilla ] }; + key { [ semicolon, colon, backslash, bar ] }; +}; + + +// +// Brazilian Nativo layout for typing Esperanto. +// +// Ari Caldeira 2005-07-19 +// +partial alphanumeric_keys +xkb_symbols "nativo-epo" { + + include "br(nativo)" + + name[Group1]="Esperanto (Brazil, Nativo)"; + + key { [ h, H, hcircumflex, Hcircumflex ] }; + key { [ ccircumflex, Ccircumflex, x, X ] }; + key { [ ubreve, Ubreve, w, W ] }; + + key { [ jcircumflex, Jcircumflex, y, Y ] }; + key { [ scircumflex, Scircumflex, ccedilla, Ccedilla ] }; + key { [ gcircumflex, Gcircumflex, q, Q ] }; +}; + +// EXTRAS: + +partial alphanumeric_keys + xkb_symbols "sun_type6" { + include "sun_vndr/br(sun_type6)" +}; diff --git a/xkbdata/symbols/brai b/xkbdata/symbols/brai new file mode 100644 index 0000000..b18c811 --- /dev/null +++ b/xkbdata/symbols/brai @@ -0,0 +1,92 @@ +// 10-dot patterns on the home row + v and n +default partial alphanumeric_keys +xkb_symbols "home_row" { + include "brai(keypad)" + + name[Group1]="Braille"; + + key { [ braille_dot_1 ] }; + key { [ braille_dot_2 ] }; + key { [ braille_dot_3 ] }; + key { [ braille_dot_4 ] }; + key { [ braille_dot_5 ] }; + key { [ braille_dot_6 ] }; + key { [ braille_dot_7 ] }; + key { [ braille_dot_8 ] }; + key { [ braille_dot_9 ] }; + key { [ braille_dot_10 ] }; +}; + +// 6-dot patterns for the left hand +partial alphanumeric_keys +xkb_symbols "left_hand" { + include "brai(keypad_left)" + + name[Group1]="Braille (left-handed)"; + + key { [ braille_dot_1 ] }; + key { [ braille_dot_2 ] }; + key { [ braille_dot_3 ] }; + key { [ braille_dot_4 ] }; + key { [ braille_dot_5 ] }; + key { [ braille_dot_6 ] }; +}; + +// 6-dot patterns for the left hand +partial alphanumeric_keys +xkb_symbols "left_hand_invert" { + include "brai(left_hand)" + + name[Group1]="Braille (left-handed inverted thumb)"; + + key { [ braille_dot_5 ] }; + key { [ braille_dot_6 ] }; +}; + +// 6-dot patterns for the right hand +partial alphanumeric_keys +xkb_symbols "right_hand" { + include "brai(keypad)" + + name[Group1]="Braille (right-handed)"; + + key { [ braille_dot_1 ] }; + key { [ braille_dot_2 ] }; + key { [ braille_dot_3 ] }; + key { [ braille_dot_4 ] }; + key { [ braille_dot_5 ] }; + key { [ braille_dot_6 ] }; +}; + +// 6-dot patterns for the right hand +partial alphanumeric_keys +xkb_symbols "right_hand_invert" { + include "brai(right_hand)" + + name[Group1]="Braille (right-handed inverted thumb)"; + + key { [ braille_dot_2 ] }; + key { [ braille_dot_3 ] }; +}; + +// 6-dot patterns on the keypad +hidden partial keypad_keys +xkb_symbols "keypad" { + key { [ braille_dot_1 ] }; + key { [ braille_dot_2 ] }; + key { [ braille_dot_3 ] }; + key { [ braille_dot_4 ] }; + key { [ braille_dot_5 ] }; + key { [ braille_dot_6 ] }; +}; + +// 6-dot patterns on the keypad with left hand +hidden partial keypad_keys +xkb_symbols "keypad_left" { + key { [ braille_dot_1 ] }; + key { [ braille_dot_2 ] }; + key { [ braille_dot_3 ] }; + key { [ braille_dot_4 ] }; + key { [ braille_dot_5 ] }; + key { [ braille_dot_6 ] }; +}; diff --git a/xkbdata/symbols/bt b/xkbdata/symbols/bt new file mode 100644 index 0000000..06ff652 --- /dev/null +++ b/xkbdata/symbols/bt @@ -0,0 +1,87 @@ +// +// Dzongkha / Tibetan layout for Bhutanese keyboard +// +///////////////////////////////////////////////////////////////// +// +// Based on the official layout for Dzongkha +// approved by the Department of Information Technology & +// Dzongkha Development Authority of the Government of Bhutan +// +// Copyright (C) 2004, Gregory Mokhin +///////////////////////////////////////////////////////////////// +// Version 0.97 2004-01-09 Layout map provided by Chris Fynn +// Version 1.0 2004-07-29 Some correction by Pema Geyleg +///////////////////////////////////////////////////////////////// + +default partial alphanumeric_keys +xkb_symbols "basic" { + name[Group1]= "Dzongkha"; + + key { [ 0x1000F09, 0x1000F0A, 0x1000F6C, 0x1000F6D ] }; + +// numbers e.a. + key { [ 0x1000F21, 0x1000F04, 1, exclam ] }; + key { [ 0x1000F22, 0x1000F05, 2, at ] }; + key { [ 0x1000F23, 0x1000F06, 3, numbersign ] }; + key { [ 0x1000F24, 0x1000F48, 4, dollar ] }; + key { [ 0x1000F25, 0x1000F70, 5, percent ] }; + key { [ 0x1000F26, 0x1000F08, 6, 0x1000F01 ] }; + key { [ 0x1000F27, 0x1000F38, 7, ampersand ] }; + key { [ 0x1000F28, 0x1000F34, 8, asterisk ] }; + key { [ 0x1000F29, 0x1000F3C, 9, parenleft ] }; + key { [ 0x1000F20, 0x1000F3D, 0, parenright ] }; + key { [ 0x1000F14, 0x1000F7F, minus, underscore ] }; + key { [ 0x1000F0D, 0x1000F11, equal, plus ] }; + +// consonants ( ka kha ga nga ) + key { [ 0x1000F40, 0x1000F90, 0x1000F88, VoidSymbol ] }; + key { [ 0x1000F41, 0x1000F91, 0x1000F89, VoidSymbol ] }; + key { [ 0x1000F42, 0x1000F92, 0x1000F6E, 0x1000F6F] }; + key { [ 0x1000F44, 0x1000F94, 0x1000F83, 0x1000F82 ] }; + +// vowels ( i u e o ) + key { [ 0x1000F72, 0x1000F80, 0x1000F1A, VoidSymbol ] }; + key { [ 0x1000F74, 0x1000F84, 0x1000F1B, VoidSymbol ] }; + key { [ 0x1000F7A, 0x1000F7B, 0x1000F1C, VoidSymbol ] }; + key { [ 0x1000F7C, 0x1000F7D, 0x1000F1D, 0x1000F17 ] }; + +// consonants ( ca cha ja nya ) + key { [ 0x1000F45, 0x1000F95, 0x1000F1E, 0x1000F18 ] }; + key { [ 0x1000F46, 0x1000F96, 0x1000F1F, 0x1000F19 ] }; + key { [ 0x1000F47, 0x1000F97, bracketleft, 0x1000F3E ] }; + key { [ 0x1000F49, 0x1000F99, bracketright, 0x1000F3F ] }; + +// consonants ( ta tha da na pa pha ba ma tsa tsha dza wa ) + key { [ 0x1000F4F, 0x1000F9F, 0x1000F4A, 0x1000F9A ] }; + key { [ 0x1000F50, 0x1000FA0, 0x1000F4B, 0x1000F9B ] }; + key { [ 0x1000F51, 0x1000FA1, 0x1000F4C, 0x1000F9C ] }; + key { [ 0x1000F53, 0x1000FA3, 0x1000F4E, 0x1000F9E ] }; + key { [ 0x1000F54, 0x1000FA4, 0x1002039, guillemotleft ] }; + key { [ 0x1000F55, 0x1000FA5, 0x100203A, guillemotright ] }; + key { [ 0x1000F56, 0x1000FA6, 0x1000F37, 0x1000F35 ] }; + key { [ 0x1000F58, 0x1000FA8, 0x1000F7E, VoidSymbol ] }; + key { [ 0x1000F59, 0x1000FA9, 0x1000F39, VoidSymbol ] }; + key { [ 0x1000F5A, 0x1000FAA, colon, semicolon ] }; + key { [ 0x1000F5B, 0x1000FAB, apostrophe, quotedbl ] }; + +// TODO: BKSL and LSGT are from gb layout, are there any variants? + key { [ 0x1000F5D, 0x1000FAD, backslash, 0x1000FBA ] }; + key { [ 0x1000F0D, 0x1000F11, 0x1000F10, 0x1000F0F ] }; + +// consonants ( zha za 'a ya ra la sha sa ha a ) + key { [ 0x1000F5E, 0x1000FAE, 0x1000F13, 0x1000F36 ] }; + key { [ 0x1000F5F, 0x1000FAF, 0x1000FBE, 0x1000FBF ] }; + key { [ 0x1000F60, 0x1000F71, 0x1000F03, 0x1000FB0 ] }; + key { [ 0x1000F61, 0x1000FB1, 0x1000F12, 0x1000FBB ] }; + key { [ 0x1000F62, 0x1000FB2, 0x1000F6A, 0x1000FBC ] }; + key { [ 0x1000F63, 0x1000FB3, 0x1000F8A, 0x1000F8B ] }; + key { [ 0x1000F64, 0x1000FB4, 0x1000F65, 0x1000FB5 ] }; + key { [ 0x1000F66, 0x1000FB6, comma, less ] }; + key { [ 0x1000F67, 0x1000FB7, period, greater ] }; + key { [ 0x1000F68, 0x1000FB8, slash, question ] }; + +// space + key { [ 0x1000F0B, space, 0x1000F0C, nobreakspace ] }; + + include "level3(ralt_switch)" +}; diff --git a/xkbdata/symbols/bw b/xkbdata/symbols/bw new file mode 100644 index 0000000..8e62755 --- /dev/null +++ b/xkbdata/symbols/bw @@ -0,0 +1,19 @@ +default partial alphanumeric_keys +xkb_symbols "tswana" { + + include "us" + + name[Group1]= "Tswana"; + + key {[ grave, asciitilde, 0x01000300, 0x01000303 ]}; // COMBINING GRAVE ACCENT, COMBINING TILDE + key {[ 6, asciicircum, 0x01000302 ]}; // COMBINING CIRCUMFLEX ACCENT + key {[ 8, asterisk, 0x01000307, 0x01000323 ]}; // COMBINING DOT ABOVE, COMBINING DOT BELOW + key {[ 9, parenleft, 0x01000306 ]}; // COMBINING BREVE + key {[ 0, parenright, 0x0100030c ]}; // COMBINING CARON + key {[ minus, underscore, 0x01000304, 0x01000331 ]}; // COMBINING MACRON, COMBINING MACRON BELOW + + key {[ semicolon, colon, 0x01000324, 0x01000324 ]}; // COMBINING DIAERESIS BELOW + key {[apostrophe, quotedbl, 0x01000301, 0x01000308 ]}; // COMBINING ACUTE ACCENT, COMBINING DIAERESIS + + include "level3(ralt_switch)" +}; diff --git a/xkbdata/symbols/by b/xkbdata/symbols/by new file mode 100644 index 0000000..edfced7 --- /dev/null +++ b/xkbdata/symbols/by @@ -0,0 +1,80 @@ +// Belarusian standard keyboard, by Alexander Mikhailian . +// Reworked to use winkeys by default and russian keymap as base by Paul Lubetsky +// Added Belarusian-Russian and Russian-Belarusian variants, by Pavel Senchanka +// See freedesktop.org bug #23604 + +default partial alphanumeric_keys +xkb_symbols "basic" { + include "ru(winkeys)" + name[Group1]= "Belarusian"; + + key { [ Byelorussian_shortu, Byelorussian_SHORTU ] }; + key { [ apostrophe, apostrophe ] }; + key { [ Ukrainian_i, Ukrainian_I ] }; +}; + +partial alphanumeric_keys +xkb_symbols "legacy" { + include "by(basic)" + name[Group1]= "Belarusian (legacy)"; + + key { [ 3, numbersign ] }; + key { [ 4, asterisk ] }; + key { [ 5, colon ] }; + key { [ 6, comma ] }; + key { [ 7, period ] }; + key { [ 8, semicolon ] }; + key { [ slash, question ] }; + key { [ backslash, bar ] }; +}; + +partial alphanumeric_keys +xkb_symbols "latin" { + include "latin" + name[Group1]= "Belarusian (Latin)"; + + key { [ w, W, scaron, Scaron ] }; + key { [ u, U, ubreve, Ubreve ] }; + key { [ s, S, sacute, Sacute ] }; + key { [ l, L, lstroke, Lstroke ] }; + key { [ z, Z, zacute, Zacute ] }; + key { [ x, X, zcaron, Zcaron ] }; + key { [ c, C, cacute, Cacute ] }; + key { [ v, V, ccaron, Ccaron ] }; + key { [ n, N, nacute, Nacute ] }; + + include "level3(ralt_switch)" +}; + +// Russian layout with Belarusian symbols on third level. +partial alphanumeric_keys +xkb_symbols "ru" { + include "ru(winkeys)" + name[Group1]= "Russian (Belarus)"; + + key { [ Cyrillic_i, Cyrillic_I, Ukrainian_i, Ukrainian_I ] }; + key { [ Cyrillic_shcha, Cyrillic_SHCHA, Byelorussian_shortu, Byelorussian_SHORTU ] }; + key { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, U2019, apostrophe ] }; + + include "level3(ralt_switch)" +}; + +// Belarusian layout extended with other East Slavic language symbols +// (Russian, Ukrainian). +partial alphanumeric_keys +xkb_symbols "intl" { + include "by(basic)" + name[Group1]= "Belarusian (intl.)"; + + // Russian + key { [ Ukrainian_i, Ukrainian_I, Cyrillic_i, Cyrillic_I ] }; + key { [ Byelorussian_shortu, Byelorussian_SHORTU, Cyrillic_shcha, Cyrillic_SHCHA ] }; + key { [ U2019, apostrophe, Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; + + // Ukrainian (Yi is usually on , but is it taken in our case). + key { [ Cyrillic_e, Cyrillic_E, Ukrainian_ie, Ukrainian_IE ] }; + key { [ Cyrillic_ha, Cyrillic_HA, Ukrainian_yi, Ukrainian_YI ] }; + key { [ backslash, bar, Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] }; + + include "level3(ralt_switch)" +}; diff --git a/xkbdata/symbols/ca b/xkbdata/symbols/ca new file mode 100644 index 0000000..3d458f0 --- /dev/null +++ b/xkbdata/symbols/ca @@ -0,0 +1,483 @@ +default partial +xkb_symbols "fr" { + name[Group1] = "French (Canada)"; + + key { [ numbersign, bar, backslash ] }; + key { [ 1, exclam, plusminus ] }; + key { [ 2, quotedbl, at ] }; + key { [ 3, slash, sterling ] }; + key { [ 4, dollar, cent ] }; + key { [ 5, percent, currency ] }; + key { [ 6, question, notsign ] }; + key { [ 7, ampersand, brokenbar ] }; + key { [ 8, asterisk, twosuperior ] }; + key { [ 9, parenleft, threesuperior ] }; + key { [ 0, parenright, onequarter ] }; + key { [ minus, underscore, onehalf ] }; + key { [ equal, plus, threequarters ] }; + + key { [ q, Q ] }; + key { [ w, W ] }; + key { [ e, E ] }; + key { [ r, R ] }; + key { [ t, T ] }; + key { [ y, Y ] }; + key { [ u, U ] }; + key { [ i, I ] }; + key { [ o, O, section ] }; + key { [ p, P, paragraph ] }; + key { [dead_circumflex, dead_circumflex, bracketleft ] }; + key { [ dead_cedilla, dead_diaeresis, bracketright ] }; + + key { [ a, A ] }; + key { [ s, S ] }; + key { [ d, D ] }; + key { [ f, F ] }; + key { [ g, G ] }; + key { [ h, H ] }; + key { [ j, J ] }; + key { [ k, K ] }; + key { [ l, L ] }; + key { [ semicolon, colon, asciitilde ] }; + key { [dead_grave, dead_grave, braceleft ] }; + key { [ less, greater, braceright ] }; + + key { [guillemotleft, guillemotright, degree] }; + key { [ z, Z ] }; + key { [ x, X ] }; + key { [ c, C ] }; + key { [ v, V ] }; + key { [ b, B ] }; + key { [ n, N ] }; + key { [ m, M, mu ] }; + key { [ comma, apostrophe, macron ] }; + key { [ period, period, hyphen ] }; + key { [ eacute, Eacute, dead_acute ] }; + + key { [ space, space, nobreakspace ] }; + + include "level3(ralt_switch)" +}; + +xkb_symbols "fr-dvorak" { + name[Group1] = "French (Canada, Dvorak)"; + + key { [ numbersign, bar, backslash ] }; + key { [ 1, exclam, plusminus ] }; + key { [ 2, quotedbl, at ] }; + key { [ 3, slash, sterling ] }; + key { [ 4, dollar, cent ] }; + key { [ 5, percent, currency ] }; + key { [ 6, question, notsign ] }; + key { [ 7, ampersand, brokenbar ] }; + key { [ 8, asterisk, twosuperior ] }; + key { [ 9, parenleft, threesuperior ] }; + key { [ 0, parenright, onequarter ] }; + key { [dead_circumflex, dead_circumflex, bracketleft ] }; + key { [ dead_cedilla, dead_diaeresis, bracketright ] }; + + key { [dead_grave, dead_grave, braceleft ] }; + key { [ comma, apostrophe, macron ] }; + key { [ period, period, hyphen ] }; + key { [ p, P, paragraph ] }; + key { [ y, Y ] }; + key { [ f, F ] }; + key { [ g, G ] }; + key { [ c, C ] }; + key { [ r, R ] }; + key { [ l, L ] }; + key { [ eacute, Eacute, dead_acute ] }; + key { [ equal, plus, threequarters ] }; + + key { [ a, A ] }; + key { [ o, O, section ] }; + key { [ e, E ] }; + key { [ u, U ] }; + key { [ i, I ] }; + key { [ d, D ] }; + key { [ h, H ] }; + key { [ t, T ] }; + key { [ n, N ] }; + key { [ s, S ] }; + key { [ minus, underscore, onehalf ] }; + key { [ less, greater, braceright ] }; + + key { [guillemotleft, guillemotright, degree] }; + key { [ semicolon, colon, asciitilde ] }; + key { [ q, Q ] }; + key { [ j, J ] }; + key { [ k, K ] }; + key { [ x, X ] }; + key { [ b, B ] }; + key { [ m, M, mu ] }; + key { [ w, W ] }; + key { [ v, V ] }; + key { [ z, Z ] }; + + key { [ space, space, nobreakspace ] }; + + include "level3(ralt_switch)" +}; + +partial +xkb_symbols "fr-legacy" { + + include "ca(fr)" + + name[Group1] = "French (Canada, legacy)"; + + key { [ degree, degree, notsign ] }; + key { [ 1, exclam, onesuperior ] }; + + key { [ 3, numbersign, threesuperior ] }; + key { [ 4, dollar, onequarter ] }; + key { [ 5, percent, onehalf ] }; + key { [ 6, question, threequarters ] }; + key { [ 7, ampersand, braceleft ] }; + key { [ 8, asterisk, bracketleft ] }; + key { [ 9, parenleft, bracketright, plusminus ] }; + key { [ 0, parenright, braceright ] }; + key { [ minus, underscore, bar, questiondown] }; + key { [ equal, plus, dead_cedilla ] }; + + key { [ r, R, paragraph, registered ] }; + key { [ y, Y, yen ] }; + key { [ o, O, oslash, Ooblique ] }; + key { [ p, P, thorn, THORN ] }; + key { [dead_circumflex, dead_circumflex, degree ] }; + key { [ ccedilla, Ccedilla, dead_tilde, dead_diaeresis ] }; + + key { [ a, A, ae, AE ] }; + key { [ s, S, ssharp, section ] }; + key { [ d, D, eth, ETH ] }; + key { [ f, F, ordfeminine ] }; + key { [ semicolon, colon, dead_acute, dead_acute ] }; + key { [ egrave, Egrave ] }; + key { [ agrave, Agrave, dead_grave ] }; + + key { [ ugrave, Ugrave, backslash, bar ] }; + key { [ z, Z, guillemotleft ] }; + key { [ x, X, guillemotright ] }; + key { [ c, C, cent, copyright ] }; + key { [ m, M, mu, masculine ] }; + key { [ comma, apostrophe, less ] }; + key { [ period, period, greater ] }; + key { [ eacute, Eacute, slash ] }; +}; + +partial +xkb_symbols "multi" { + + include "ca(fr)" + + name[Group1] = "Canadian (intl., 1st part)"; + + key { [ slash, backslash, bar ] }; + key { [ 1, exclam ] }; + key { [ 2, at ] }; + key { [ 3, numbersign ] }; + key { [ 4, dollar ] }; + key { [ 5, percent ] }; + key { [ 6, question ] }; + key { [ 7, ampersand, braceleft ] }; + key { [ 8, asterisk, braceright ] }; + key { [ 9, parenleft, bracketleft ] }; + key { [ 0, parenright, bracketright ] }; + key { [ minus, underscore ] }; + key { [ equal, plus, notsign ] }; + + key { [ o, O ] }; + key { [ p, P ] }; + key { [dead_circumflex, dead_diaeresis, dead_grave ] }; + key { [ ccedilla, Ccedilla, asciitilde ] }; + + key { [ semicolon, colon, degree ] }; + key { [ egrave, Egrave ] }; + key { [ agrave, Agrave ] }; + + key { [ ugrave, Ugrave ] }; + key { [ z, Z, guillemotleft ] }; + key { [ x, X, guillemotright ] }; + key { [ comma, apostrophe, less ] }; + key { [ period, quotedbl, greater ] }; + key { [ eacute, Eacute ] }; +}; + +partial +xkb_symbols "multi-2gr" { + + name[Group1] = "Canadian (intl., 2nd part)"; + + key { [ NoSymbol, hyphen ] }; + key { [ onesuperior, exclamdown ] }; + key { [ twosuperior, NoSymbol ] }; + key { [ threesuperior, sterling ] }; + key { [ onequarter, currency ] }; + key { [ onehalf,threeeighths ] }; + key { [ threequarters, fiveeighths ] }; + key { [ NoSymbol,seveneighths ] }; + key { [ NoSymbol, trademark ] }; + key { [ NoSymbol, plusminus ] }; + + key { [ NoSymbol, questiondown] }; + key { [ dead_cedilla, dead_ogonek ] }; + + key { [ NoSymbol, Greek_OMEGA ] }; + key { [ lstroke, Lstroke ] }; + key { [ oe, OE ] }; + key { [ paragraph, registered ] }; + key { [ tslash, Tslash ] }; + key { [ leftarrow, yen ] }; + key { [ downarrow, uparrow ] }; + key { [ rightarrow, idotless ] }; + key { [ oslash, Ooblique ] }; + key { [ thorn, THORN ] }; + key { [ NoSymbol, dead_abovering ] }; + key { [ dead_tilde, dead_macron ] }; + + key { [ ae, AE ] }; + key { [ ssharp, section ] }; + key { [ eth, ETH ] }; + key { [ NoSymbol, ordfeminine ] }; + key { [ eng, ENG ] }; + key { [ hstroke, Hstroke ] }; + key { [ U0133, U0132 ] }; + key { [ kra, NoSymbol ] }; + key { [ U0140, U013F ] }; + key { [ dead_acute, dead_doubleacute ] }; + key { [ NoSymbol, dead_caron ] }; + key { [ NoSymbol, dead_breve ] }; + + + key { [ NoSymbol, brokenbar ] }; + + key { [ cent, copyright ] }; + key { [ leftdoublequotemark, leftsinglequotemark ] }; + key { [ rightdoublequotemark, rightsinglequotemark ] }; + key { [ U0149, U266A ] }; + key { [ mu, masculine ] }; + key { [ Greek_horizbar, multiply ] }; + key { [ periodcentered, division ] }; + key { [ NoSymbol, dead_abovedot ] }; +}; + +// Inuktitut keyboard layout, by Pablo Saratxaga . +alphanumeric_keys +xkb_symbols "ike" { + + name[Group1]= "Inuktitut"; + + key { [ 0x01001595, 1 ] }; + key { [ 0x01001449, 2 ] }; + key { [ 0x01001550, 3 ] }; + key { [ 0x01001483, 4 ] }; + key { [ 0x01001466, 5 ] }; + key { [ 0x01001585, 6 ] }; + key { [ 0x010014bb, 7 ] }; + key { [ 0x010014d0, 8 ] }; + key { [ 0x010014ea, 9 ] }; + key { [ 0x0100153e, 0 ] }; + key { [ minus, underscore ] }; + key { [ 0x0100155d, equal ] }; + + key { [ 0x0100158f, 0x0100148b ] }; + key { [ 0x01001403, 0x01001431 ] }; + key { [ 0x0100157f, 0x01001546 ] }; + key { [ 0x0100146d, 0x01001596 ] }; + key { [ 0x0100144e, 0x01001671 ] }; + key { [ 0x010014ef, 0x01001673 ] }; + key { [ 0x010014a5, 0x01001675 ] }; + key { [ 0x010014c2, 0x010015a4 ] }; + key { [ 0x010014d5, 0x010015a0 ] }; + key { [ 0x01001528, 0x010015a6 ] }; + key { [ 0x010014a1, 0x01001505 ] }; + key { [ dead_abovedot, 0x0100141e] }; + + key { [ 0x01001591, 0x0100148d ] }; + key { [ 0x01001405, 0x01001433 ] }; + key { [ 0x01001581, 0x01001548 ] }; + key { [ 0x0100146f, 0x01001555 ] }; + key { [ 0x01001450, parenleft ] }; + key { [ 0x010014f1, parenright ] }; + key { [ 0x010014a7, 0x0100152a ] }; + key { [ 0x010014c4, 0x01001557 ] }; + key { [ 0x010014d7, 0x010015a2 ] }; + key { [ semicolon, colon ] }; + key { [ apostrophe, quotedbl ] }; + + key { [ 0x01001593, 0x01001490 ] }; + key { [ 0x0100140a, 0x01001438 ] }; + key { [ 0x01001583, 0x0100154b ] }; + key { [ 0x01001472, question ] }; + key { [ 0x01001455, 0x0100157c ] }; + key { [ 0x010014f4, 0x010014c7 ] }; + key { [ 0x010014aa, 0x010014da ] }; + key { [ comma, less ] }; + key { [ period, greater ] }; + key { [ 0x0100152d, 0x01001559 ] }; + + key { [ 0x0100157b, 0x01001575 ] }; + key { [ 0x01001579, 0x01001577 ] }; + key { [ backslash, bar ] }; +}; + +partial +xkb_symbols "multix" { + + name[Group1] = "Canadian (intl.)"; + + key.type[group1]="EIGHT_LEVEL_SEMIALPHABETIC"; + key {[ slash, backslash, bar, NoSymbol, NoSymbol, hyphen ]}; + key {[ 1, exclam, plusminus, NoSymbol, onesuperior, exclamdown ]}; + key {[ 2, at, at, NoSymbol, twosuperior, NoSymbol ]}; + key {[ 3, numbersign, sterling, NoSymbol, threesuperior, sterling ]}; + key {[ 4, dollar, cent, NoSymbol, onequarter, currency ]}; + key {[ 5, percent, currency, NoSymbol, onehalf, threeeighths ]}; + key {[ 6, question, notsign, NoSymbol, threequarters, fiveeighths ]}; + key {[ 7, ampersand, braceleft, NoSymbol, NoSymbol, seveneighths ]}; + key {[ 8, asterisk, braceright, NoSymbol, NoSymbol, trademark ]}; + key {[ 9, parenleft, bracketleft, NoSymbol, NoSymbol, plusminus ]}; + key {[ 0, parenright, bracketright, NoSymbol ]}; + key {[ minus, underscore, onehalf, NoSymbol, NoSymbol, questiondown ]}; + key {[ equal, plus, notsign, NoSymbol, dead_cedilla, dead_ogonek ]}; + + key.type[group1]="EIGHT_LEVEL_SEMIALPHABETIC"; + key {[ q, Q, NoSymbol, NoSymbol, NoSymbol, Greek_OMEGA ]}; + key {[ w, W, NoSymbol, NoSymbol, Lstroke, lstroke ]}; + key {[ e, E, NoSymbol, NoSymbol, oe, OE ]}; + key {[ r, R, NoSymbol, NoSymbol, paragraph, registered ]}; + key {[ t, T, NoSymbol, NoSymbol, tslash, Tslash ]}; + key {[ y, Y, NoSymbol, NoSymbol, leftarrow, yen ]}; + key {[ u, U, NoSymbol, NoSymbol, downarrow, uparrow ]}; + key {[ i, I, NoSymbol, NoSymbol, rightarrow, idotless ]}; + key {[ o, O, section, NoSymbol, oslash, Ooblique ]}; + key {[ p, P, paragraph, NoSymbol, thorn, THORN ]}; + + key.type[group1]="EIGHT_LEVEL"; + key {[dead_circumflex, dead_diaeresis, dead_grave, NoSymbol, NoSymbol, dead_abovering ]}; + + key.type[group1]="EIGHT_LEVEL_SEMIALPHABETIC"; + key {[ ccedilla, Ccedilla, asciitilde, NoSymbol, dead_tilde, dead_macron ]}; + + key {[ a, A, NoSymbol, NoSymbol, ae, AE ]}; + key {[ s, S, NoSymbol, NoSymbol, ssharp, U1E9E ]}; + key {[ d, D, NoSymbol, NoSymbol, eth, ETH ]}; + key {[ f, F, NoSymbol, NoSymbol, NoSymbol, ordfeminine ]}; + key {[ g, G, NoSymbol, NoSymbol, eng, ENG ]}; + key {[ h, H, NoSymbol, NoSymbol, hstroke, Hstroke ]}; + key {[ j, J, NoSymbol, NoSymbol, U0133, U0132 ]}; // ij IJ + key {[ k, K, NoSymbol, NoSymbol, kra, NoSymbol ]}; + key {[ l, L, NoSymbol, NoSymbol, U0140, U013F ]}; // ŀ Ŀ + + key.type[group1]="EIGHT_LEVEL"; + key {[ semicolon, colon, degree, NoSymbol, dead_acute, dead_doubleacute ]}; + + key.type[group1]="EIGHT_LEVEL_SEMIALPHABETIC"; + key {[ egrave, Egrave, braceleft, NoSymbol, NoSymbol, dead_caron ]}; + key {[ agrave, Agrave, braceright, NoSymbol, NoSymbol, dead_breve ]}; + + key {[ ugrave, Ugrave, degree, NoSymbol, NoSymbol, brokenbar ]}; + + key.type[group1]="FOUR_LEVEL_SEMIALPHABETIC"; + key {[ z, Z, guillemotleft, NoSymbol ]}; + key {[ x, X, guillemotright, NoSymbol ]}; + + key.type[group1]="EIGHT_LEVEL_SEMIALPHABETIC"; + key {[ c, C, NoSymbol, NoSymbol, cent, copyright ]}; + key {[ v, V, NoSymbol, NoSymbol, leftdoublequotemark, leftsinglequotemark ]}; + key {[ b, B, NoSymbol, NoSymbol, rightdoublequotemark, rightsinglequotemark ]}; + key {[ n, N, NoSymbol, NoSymbol, U0149, U266A ]}; // ʼn ♪ + key {[ m, M, mu, NoSymbol, mu, masculine ]}; + key {[ comma, apostrophe, less, NoSymbol, Greek_horizbar, multiply ]}; + key {[ period, quotedbl, greater, NoSymbol, periodcentered, division ]}; + key {[ eacute, Eacute, dead_acute, NoSymbol, NoSymbol, dead_abovedot ]}; + + include "nbsp(level3s)" + + modifier_map Control{ Control_L }; + + include "level3(ralt_switch)" + include "level5(rctrl_switch)" +}; + +// OLPC Section +xkb_symbols "olpc" { + + include "ca(fr)" + + key { [ 2, quotedbl, ograve, Ograve ] }; + key { [ 3, slash, at, VoidSymbol ] }; + + key { [ e, E, EuroSign, VoidSymbol] }; + + key { [ period, period, 0x1002010 ] }; + + key { [ guillemotleft, guillemotright, degree, VoidSymbol ] }; +}; + +partial alphanumeric_keys +xkb_symbols "eng" { + include "us(basic)" + name[Group1] = "English (Canada)"; + + key { [ backslash, bar, VoidSymbol, VoidSymbol ] }; +}; + +// EXTRAS: + +partial alphanumeric_keys +xkb_symbols "kut" { + + // Ejective U0313 and acute accents are taken from shs layout. + include "ca(shs)" + + name[Group1]= "Kutenai"; + + // Alveolar Click + key { [ t, T,U01C2 ,U01C2 ] }; + + //Cent sign + key { [ c, C,U00A2,U00A2 ] }; + + //Mid dot + key { [ period, greater,U00B7 ] }; + + //Glottal stop + key { [ slash, question, U0294 ] }; + + //COMBINING COMMA ABOVE RIGHT + key { [ apostrophe, quotedbl, U0315,U0315 ] }; + + //MODIFIER LETTER RIGHT HALF RING + key { [ semicolon, colon,U02BE,U02BE ] }; +}; + +// Secwepemctsin keyboard for X11 +// written by Neskie Manuel +partial alphanumeric_keys +xkb_symbols "shs" { + + include "us" + + name[Group1]= "Secwepemctsin"; + + // Using a "dead key" to get a COMBINING COMMA ABOVE + // for ejectives on q, l, t, s, m, g, k, p, w, y, r. + // The Compose key is used for the other acutes and grave. + + key { [ comma, less, U0313 ] }; + key { [ a, A, aacute, Aacute ] }; + key { [ e, E, eacute, Eacute ] }; + key { [ u, U, uacute, Uacute ] }; + key { [ i, I, iacute, Iacute ] }; + key { [ o, O, oacute, Oacute ] }; + + include "level3(ralt_switch)" + include "compose(rctrl)" +}; + + +partial alphanumeric_keys + xkb_symbols "sun_type6" { + include "sun_vndr/ca(sun_type6)" +}; diff --git a/xkbdata/symbols/capslock b/xkbdata/symbols/capslock new file mode 100644 index 0000000..a082b75 --- /dev/null +++ b/xkbdata/symbols/capslock @@ -0,0 +1,88 @@ +default hidden partial modifier_keys +xkb_symbols "capslock" { + replace key { [ Caps_Lock ] }; + modifier_map Lock { Caps_Lock }; +}; + +hidden partial modifier_keys +xkb_symbols "shiftlock" { + replace key { [ Shift_Lock ] }; + modifier_map Shift { Shift_Lock }; +}; + +hidden partial modifier_keys +xkb_symbols "grouplock" { + replace key { [ ISO_Next_Group, Caps_Lock ] }; +}; + +hidden partial modifier_keys +xkb_symbols "groupshift" { + key { + type[Group1] = "PC_ALT_LEVEL2", + [ Mode_switch, Caps_Lock ] + }; +}; + +hidden partial modifier_keys +xkb_symbols "swapescape" { + key { [ Escape ] }; + key { [ Caps_Lock ] }; +}; + +hidden partial modifier_keys +xkb_symbols "escape" { + key { [ Escape ] }; +}; + +hidden partial modifier_keys +xkb_symbols "escape_shifted_capslock" { + key { + type[Group1] = "TWO_LEVEL", + symbols[Group1] = [ Escape, Caps_Lock ], + actions[Group1] = [ NoAction(), LockMods(modifiers = Lock) ] + }; +}; + +hidden partial modifier_keys +xkb_symbols "backspace" { + key { [ BackSpace ] }; +}; + +hidden partial modifier_keys +xkb_symbols "super" { + key { [ Super_L ] }; + modifier_map Mod4 { }; +}; + +hidden partial modifier_keys +xkb_symbols "hyper" { + key { [ Hyper_L ] }; + modifier_map Mod4 { }; +}; + +hidden partial modifier_keys +xkb_symbols "menu" { + key { [ Menu ] }; +}; + +hidden partial modifier_keys +xkb_symbols "numlock" { + key { [ Num_Lock ] }; +}; + +// This changes the key to become a Control modifier, +// but it will still produce the Caps_Lock keysym. +hidden partial modifier_keys +xkb_symbols "ctrl_modifier" { + replace key { + type[Group1] = "ONE_LEVEL", + symbols[Group1] = [ Caps_Lock ], + actions[Group1] = [ SetMods(modifiers=Control) ] + }; + modifier_map Control { }; +}; + +hidden partial modifier_keys +xkb_symbols "none" { + key { [ VoidSymbol ] }; +}; diff --git a/xkbdata/symbols/cd b/xkbdata/symbols/cd new file mode 100644 index 0000000..715d086 --- /dev/null +++ b/xkbdata/symbols/cd @@ -0,0 +1,65 @@ +default partial alphanumeric_keys +xkb_symbols "basic" { + + name[Group1]= "French (Democratic Republic of the Congo)"; + + key.type[Group1] = "FOUR_LEVEL"; + + // GRAVE, TILDE, COMBINING TILDE + key { [ grave, asciitilde, 0x01000303 ] }; + key { [ ampersand, 1, numbersign ] }; + key { [0x01000301, 2, at ] }; + key { [0x01000300, 3, guillemotleft ] }; + key { [ parenleft, 4, bracketleft ] }; + key { [ braceleft, 5, less ] }; + key { [ braceright, 6, greater ] }; + key { [parenright, 7, bracketright ] }; + key { [0x01000302, 8, guillemotright ] }; + key { [0x0100030c, 9, 0x0100030D ] }; + key { [0x01000308, 0, at ] }; + key { [ minus, underscore, percent, degree ] }; + key { [ equal, plus, multiply, division ] }; + + key { [ a, A, ae, AE ] }; + key { [ z, Z ] }; + key { [ e, E, oe, OE ] }; + key { [ r, R ] }; + key { [ t, T ] }; + key { [ y, Y ] }; + key { [ u, U, 0x01000289, 0x01000244 ] }; + key { [ i, I, 0x01000268, 0x01000197 ] }; + key { [ o, O, oslash, Ooblique ] }; + key { [ p, P ] }; + key { [0x0100025B, 0x01000190, asciicircum ] }; + key { [ asterisk, asciicircum, dollar ] }; + + key { [ q, Q ] }; + key { [ s, S ] }; + key { [ d, D ] }; + key { [ f, F ] }; + key { [ g, G ] }; + key { [ h, H ] }; + key { [ j, J ] }; + key { [ k, K ] }; + key { [ l, L ] }; + key { [ m, M ] }; + key { [0x01000254, 0x01000186 ] }; + key { [ backslash, bar ] }; + + key { [ w, W ] }; + key { [ x, X ] }; + key { [ c, C ] }; + key { [ v, V ] }; + key { [ b, B ] }; + key { [ n, N, 0x0100014B, 0x0100014A ] }; + key { [ comma, question, 0x01000327 ] }; + key { [ semicolon, period ] }; + key { [ colon, slash ] }; + key { [ exclam, apostrophe, 0x01002019 ] }; + key { [ quotedbl, backslash, bar ] }; + + // SPACE, SPACE, NO-BREAK SPACE, NARROW NO_BREAK SPACE + key { [ space, space, nobreakspace, 0x0100202F ] }; + + include "level3(ralt_switch)" +}; diff --git a/xkbdata/symbols/ch b/xkbdata/symbols/ch new file mode 100644 index 0000000..d5cef64 --- /dev/null +++ b/xkbdata/symbols/ch @@ -0,0 +1,187 @@ +default partial alphanumeric_keys +xkb_symbols "basic" { + + include "latin" + name[Group1]= "German (Switzerland)"; + + key { [ section, degree ] }; + key { [ 1, plus, bar, exclamdown ] }; + key { [ 2, quotedbl, at, oneeighth ] }; + key { [ 3, asterisk, numbersign ] }; + key { [ 4, ccedilla ] }; + key { [ 5, percent ] }; + key { [ 6, ampersand, notsign ] }; + key { [ 7, slash, bar ] }; + key { [ 8, parenleft, cent ] }; + key { [ 9, parenright ] }; + key { [ 0, equal ] }; + key { [ apostrophe, question, dead_acute ] }; + key { [ dead_circumflex, dead_grave, dead_tilde ] }; + + key { [ e, E, EuroSign ] }; + key { [ z, Z ] }; + key { [ o, O, oe, OE ] }; + key { [ udiaeresis, egrave, bracketleft ] }; + key { [ dead_diaeresis, exclam, bracketright ] }; + + key { [ odiaeresis, eacute ] }; + key { [ adiaeresis, agrave, braceleft ] }; + key { [ dollar, sterling, braceright ] }; + + key { [ less, greater, backslash, brokenbar ] }; + key { [ y, Y ] }; + key { [ comma, semicolon ] }; + key { [ period, colon ] }; + key { [ minus, underscore ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "legacy" { + include "ch(basic)" + + name[Group1]= "German (Switzerland, legacy)"; + key { [ 7, slash, brokenbar ] }; +}; + +partial alphanumeric_keys +xkb_symbols "de" { + include "ch(basic)" +}; + +partial alphanumeric_keys +xkb_symbols "de_nodeadkeys" { + // modify the basic Swiss German layout not to have any dead keys + include "ch(basic)" + name[Group1]= "German (Switzerland, no dead keys)"; + key { [ apostrophe, question, acute ] }; + key { [ asciicircum, grave, asciitilde ] }; + key { [ diaeresis, exclam, bracketright ] }; +}; + +partial alphanumeric_keys +xkb_symbols "fr" { + + include "ch(basic)" + name[Group1]= "French (Switzerland)"; + + override key { + [ egrave, udiaeresis, bracketleft ] + }; + override key { + [ eacute, odiaeresis ] + }; + override key { + [ agrave, adiaeresis, braceleft ] + }; +}; + +partial alphanumeric_keys +xkb_symbols "fr_nodeadkeys" { + // modify the basic Swiss French layout not to have any dead keys + include "ch(fr)" + name[Group1]= "French (Switzerland, no dead keys)"; + key { [ apostrophe, question, acute ] }; + key { [ asciicircum, grave, asciitilde ] }; + key { [ diaeresis, exclam, bracketright ] }; +}; + +// Copied from macintosh_vndr/ch +// 03.01.2003 +// Andreas Tobler +// modified for Swiss German Apple Extended Keyboard II + +partial alphanumeric_keys +xkb_symbols "de_mac" { + + name[Group1]= "German (Switzerland, Macintosh)"; + + key { [ 1, plus, plusminus, infinity ] }; + key { [ 2, quotedbl, leftdoublequotemark, rightdoublequotemark ] }; + key { [ 3, asterisk, numbersign, leftcaret ] }; + // not displayed here + key { [ 4, ccedilla, Ccedilla, slash ] }; + key { [ 5, percent, bracketleft ] }; + key { [ 6, ampersand, bracketright ] }; + key { [ 7, slash, bar, backslash ] }; + key { [ 8, parenleft, braceleft, Ograve ] }; + key { [ 9, parenright, braceright, Ocircumflex ] }; + key { [ 0, equal, notequal, Uacute ] }; + key { [ apostrophe, question, questiondown, NoSymbol ] }; + key { [ dead_circumflex,dead_grave, dead_acute, asciicircum ] }; + key { [ q, Q, oe, OE ] }; + key { [ w, W, Greek_SIGMA, Aacute ] }; + key { [ e, E, EuroSign, Ediaeresis ] }; + key { [ r, R, registered, Egrave ] }; + key { [ t, T, dagger, Icircumflex ] }; + key { [ z, Z, Greek_OMEGA, Iacute ] }; + key { [ u, U, degree, Ugrave ] }; + key { [ i, I, exclamdown, idotless ] }; + key { [ o, O, oslash, Ooblique ] }; + key { [ p, P, Greek_pi, Greek_PI ] }; + key { [ udiaeresis, egrave, section, ydiaeresis ] }; + key { [ dead_diaeresis, exclam, grave, apostrophe ] }; + key { [ a, A, aring, Aring ] }; + key { [ s, S, ssharp, U1E9E ] }; + // ligature fl + key { [ d, D, Greek_sigma, NoSymbol ] }; + // partialderivative is not available here att + key { [ f, F, function, doubledagger ] }; + key { [ g, G, at, comma ] }; + key { [ h, H, ordfeminine, periodcentered ] }; + key { [ j, J, masculine, eth ] }; + key { [ k, K, Greek_DELTA, macron ] }; + key { [ l, L, notsign, caret ] }; + key { [ odiaeresis, eacute, cent, breve ] }; + key { [ adiaeresis, agrave, ae, AE ] }; + key { [ y, Y, yen, Ydiaeresis ] }; + key { [ x, X, similarequal, trademark ] }; + key { [ c, C, copyright, NoSymbol ] }; + key { [ v, V, radical, diamond ] }; + key { [ b, B, integral, NoSymbol ] }; + key { [ n, N, dead_tilde, enopencircbullet ] }; + // to be fixed att + key { [ m, M, mu, dead_abovering ] }; + // not sure att + key { [ comma, semicolon, guillemotleft, guillemotright ] }; + key { [ period, colon, ellipsis, division ] }; + key { [ minus, underscore, hyphen, emdash ] }; + key { [ section, degree, NoSymbol, NoSymbol ] }; + // ligature fi // per mille + key { [ space, nobreakspace, nobreakspace ] }; + key { [ less, greater, lessthanequal, greaterthanequal ] }; + key { [ dollar, sterling, paragraph, enfilledcircbullet ] }; + + include "kpdl(comma)" + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "fr_mac" { + + include "ch(de_mac)" + name[Group1]= "French (Switzerland, Macintosh)"; + + override key { + [ egrave, udiaeresis, bracketleft ] + }; + override key { + [ eacute, odiaeresis ] + }; + override key { + [ agrave, adiaeresis, braceleft ] + }; +}; + +// EXTRAS: + +partial alphanumeric_keys + xkb_symbols "sun_type6_de" { + include "sun_vndr/ch(sun_type6_de)" +}; + +partial alphanumeric_keys + xkb_symbols "sun_type6_fr" { + include "sun_vndr/ch(sun_type6_fr)" +}; diff --git a/xkbdata/symbols/cm b/xkbdata/symbols/cm new file mode 100644 index 0000000..e4683de --- /dev/null +++ b/xkbdata/symbols/cm @@ -0,0 +1,489 @@ +// ========== Cameroon Keyboards ========== + + +// ---------------------------------------------------------------------------- +// This comment was added by , on 18-Jun-2016: +// +// All comments below this one, were in the original cm file;they do not +// apply to the Mmuock keyboard which is defined towards the end of this file. +// ---------------------------------------------------------------------------- + +// ****** For Instructions, see "Use of Cameroon Keyboards" section below ****** + + +// The XKB versions of these keyboards were developed by Matthew Lee, Jenni Beadle, and Bruce Cox of SIL Cameroon in association with Going Komputya, Uwe Yung of the Goethe Institute, Yaoundé, and Centre ANACLAC. + +// Cameroon is officially a bilingual country, using French and English, but there are over 270 minority languages. + +// * Cameroon Français is an exact copy of the French France keyboard intended for AZERTY users. +// * Cameroon is an exact copy of the Basic US Keyboard. I can not currently name this "Cameroon English" due to a limitation of XKB. +// * Cameroon QWERTY and Cameroon AZERTY are based largely on SIL Cameroon's Keyman and Microsoft keyboards of the same style already in wide use. These keyboards are designed to allow the user to type any of Cameroon's 270+ languages and dialects that use the approved orthography. This Approved Orthography was adopted in 1979 by the National Committee for the Unification and Harmonisation of Alphabets of Camerooninan Languages. +// * Cameroon Dvorak is described below. + +// ===== Use of Cameroon Keyboards ===== + +// == Fonts == +// These keyboards are fully Unicode (5.1), so we recommend using a good unicode font for diacritics to position correctly. Recommended fonts are: ttf-sil-charis, ttf-sil-doulos, ttf-sil-gentium and ttf-sil-andika (All of which are free for Linux, Mac, and Windows). + + +// == Cameroon AZERTY == +// Cameroon AZERTY uses the French France (AZERTY) layout, as french keyboards are widely used here. While this keyboard is designed for Cameroonian orthography, it still is possible but not recommended, to type French with minimal discomfort using this keyboard. +// Cameroon AZERTY uses the "!" (exclamation) key as the "Cameroon" key. Pressing this key before another key allows you to access the special letters and diacritics needed in Cameroonian orthography. +// For example, press "!" then "a" and get "ɛ" (small epsilon). "!" then "Shift" + "a" (A) will get an "Ɛ" (capital epsilon). Press the "!" key twice to get a "!". +// If you prefer, you can hold the AltGr (and/or Shift) key to access the same letters, but we have found this to be much more awkward in practice. If you really don't like our Cameroon key, simply comment out "include "cm(exclamation_switch)"" and the exclamation key will return to normal. +// All Diacritics (with the exception of French Trema and Circumflex) must be typed (in order of stacking) after the letter. + + +// == Cameroon QWERTY == +// Cameroon QWERTY uses the US QWERTY layout, as US keyboards are also widely used here. While this keyboard is designed for Cameroonian orthography, it is possible, but not recommended, to type English with minimal discomfort using this keyboard. +// Cameroon QWERTY uses the ";" (semicolon) key as the "Cameroon" key. Pressing this key before another key allows you to access the special letters and diacritics needed in Cameroonian orthography. +// For example, press ";" then "a" and get "ɛ" (small epsilon). ";" then "Shift" + "a" (A) will get an "Ɛ" (capital epsilon). Press ";" twice to get a ";", or press Shift + ; (:) twice to get a ":" (colon). +// If you prefer, you can hold the AltGr (and/or Shift) key to access the same letters, but we have found this to be much more awkward in practice. If you really don't like our Cameroon key, simply comment out "include "cm(semicolon_switch)"" and the semicolon key will return to normal. +// All Diacritics must be typed (in order of stacking) after the letter. + + +// == Cameroon Dvorak == +// Cameroon Dvorak is uses a similar system to Cameroon QWERTY. + +default partial alphanumeric_keys +xkb_symbols "basic" { + + name[Group1]="English (Cameroon)"; + + key { [ grave, asciitilde ] }; + key { [ 1, exclam ] }; + key { [ 2, at ] }; + key { [ 3, numbersign ] }; + key { [ 4, dollar ] }; + key { [ 5, percent ] }; + key { [ 6, asciicircum ] }; + key { [ 7, ampersand ] }; + key { [ 8, asterisk ] }; + key { [ 9, parenleft ] }; + key { [ 0, parenright ] }; + key { [ minus, underscore ] }; + key { [ equal, plus ] }; + + key { [ q, Q ] }; + key { [ w, W ] }; + key { [ e, E ] }; + key { [ r, R ] }; + key { [ t, T ] }; + key { [ y, Y ] }; + key { [ u, U ] }; + key { [ i, I ] }; + key { [ o, O ] }; + key { [ p, P ] }; + key { [ bracketleft, braceleft ] }; + key { [ bracketright, braceright ] }; + key { [ a, A ] }; + key { [ s, S ] }; + key { [ d, D ] }; + key { [ f, F ] }; + key { [ g, G ] }; + key { [ h, H ] }; + key { [ j, J ] }; + key { [ k, K ] }; + key { [ l, L ] }; + key { [ semicolon, colon ] }; + key { [ apostrophe, quotedbl ] }; + + key { [ z, Z ] }; + key { [ x, X ] }; + key { [ c, C ] }; + key { [ v, V ] }; + key { [ b, B ] }; + key { [ n, N ] }; + key { [ m, M ] }; + key { [ comma, less ] }; + key { [ period, greater ] }; + key { [ slash, U003F ] }; + + key { [ backslash, bar ] }; +}; + +partial alphanumeric_keys +xkb_symbols "french" +{ + include "latin" + name[Group1]="French (Cameroon)"; + + key { [ ampersand, 1, onesuperior, exclamdown ] }; + key { [ eacute, 2, asciitilde, oneeighth ] }; + key { [ quotedbl, 3, numbersign, sterling ] }; + key { [apostrophe, 4, braceleft, dollar ] }; + key { [ parenleft, 5, bracketleft, threeeighths ] }; + key { [ minus, 6, bar, fiveeighths ] }; + key { [ egrave, 7, grave, seveneighths ] }; + key { [underscore, 8, backslash, trademark ] }; + key { [ ccedilla, 9, asciicircum, plusminus ] }; + key { [ agrave, 0, at, degree ] }; + key { [parenright, degree, bracketright, questiondown ] }; + key { [ equal, plus, braceright, dead_ogonek ] }; + + key { [ a, A, ae, AE ] }; + key { [ z, Z, guillemotleft, less ] }; + key { [ e, E, EuroSign, cent ] }; + key { [dead_circumflex, dead_diaeresis, dead_diaeresis, dead_abovering ] }; + key { [ dollar, sterling, currency, dead_macron ] }; + + key { [ q, Q, at, Greek_OMEGA ] }; + key { [ m, M, mu, masculine ] }; + key { [ ugrave, percent, dead_circumflex, dead_caron] }; + key { [twosuperior, asciitilde, notsign, notsign ] }; + + key { [ asterisk, mu, dead_grave, dead_breve ] }; + key { [ w, W, lstroke, Lstroke ] }; + key { [ comma, U003F, dead_acute, dead_doubleacute ] }; + key { [ semicolon, period, U2022, multiply ] }; // bullet + key { [ colon, slash, periodcentered, division ] }; + key { [ exclam, section, dead_belowdot, dead_abovedot ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "azerty" +{ + include "cm(basic)" + name[Group1] = "Cameroon (AZERTY, intl.)"; + key { [ w, W, U1E85, U1E84 ] }; // SMALL LETTER W, CAPITAL LETTER W, SMALL LETTER W WITH DIAERESIS, CAPITAL LETTER W WITH DIAERESIS + key { [ x, X, U2039, U203A ] }; // SMALL LETTER X, CAPITAL LETTER X, SINGLE LEFT-POINTING ANGLE QUOTATION MARK, SINGLE RIGHT-POINTING ANGLE QUOTATION MARK + key { [ c, C, U0327, copyright ] }; // SMALL LETTER C, CAPITAL LETTER C, COMBINING CEDILLA, COPYRIGHT SIGN + key { [ v, V, UA78C, UA78B ] }; // SMALL LETTER V, CAPITAL LETTER V, SMALL LETTER GLOTTAL (SALTILLO), CAPITAL LETTER GLOTTAL (SALTILLO) + key { [ b, B, U0253, U0181 ] }; // SMALL LETTER B, CAPITAL LETTER B, SMALL LETTER B WITH HOOK, CAPITAL LETTER B WITH HOOK + key { [ n, N, U014B, U014A ] }; // SMALL LETTER N, CAPITAL LETTER N, SMALL LETTER ENG, CAPITAL LETTER ENG + key { [ U002C, U003F, NoSymbol, U00D7 ] }; // COMMA, QUESTION MARK, , MULTIPLY + key { [ semicolon, period, dead_acute, dead_grave ] }; // SEMICOLON, PERIOD + key { [ colon, slash, U0323 ] }; // COLON, SLASH, COMBINING DOT BELOW + key { [ exclam, U00A7 ] }; // EXCLAMATION MARK, SECTION SIGN + key { [ q, Q, U2014, U2013 ] }; // SMALL LETTER Q, CAPITAL LETTER Q, EM DASH, EN DASH + key { [ s, S, U201C, U201D ] }; // SMALL LETTER S, CAPITAL LETTER S, LEFT DOUBLE QUOTES, RIGHT DOUBLE QUOTES + key { [ d, D, U0257, U018A ] }; // SMALL LETTER D, CAPITAL LETTER D, SMALL LETTER D WITH HOOK, CAPITAL LETTER D WITH HOOK + key { [ f, F, U00E6, U00C6 ] }; // SMALL LETTER F, CAPITAL LETTER F, SMALL LIGATURE AE, CAPITAL LIGATURE AE + key { [ g, G, U02BC, UA78B ] }; // SMALL LETTER G, CAPITAL LETTER G, CURVED GLOTTAL, CAPITAL LETTER GLOTTAL (SALTILLO) + key { [ h, H, U0251, U2C6D ] }; // SMALL LETTER H, CAPITAL LETTER H, SMALL LETTER ALPHA, CAPITAL LETTER ALPHA + key { [ j, J, leftarrow, U2122 ] }; //SMALL LETTER J, CAPITAL LETTER J, LEFT ARROW, TRADE MARK SIGN + key { [ k, K, downarrow, uparrow ] }; // SMALL LETTER K, CAPITAL LETTER K, DOWN ARROW, UP ARROW + key { [ l, L, rightarrow, U00A3 ] }; // SMALL LETTER L, CAPITAL LETTER L, RIGHT ARROW, POUND STERLING + key { [ m, M, U00F9, U00B5 ] }; // SMALL LETTER M, CAPITAL LETTER M, SMALL LETTER U WITH GRAVE, MICRO SYMBOL + key { [ U0300, U0302, U1DC5, U1DC4 ] }; // COMBINING LOW TONE, COMBINING FALLING TONE, COMBINING LOW-MID TONE, COMBINING MID-HIGH TONE + key { [ a, A, U025B, U0190 ] }; // SMALL LETTER A, CAPITAL LETTER A, SMALL LETTER OPEN E, CAPITAL LETTER OPEN E + key { [ z, Z, U2026, U2020 ] }; // SMALL LETTER Z, CAPITAL LETTER Z, ELLIPSIS, DAGGER + key { [ e, E, U0259, U018F ] }; // SMALL LETTER E, CAPITAL LETTER E, SMALL LETTER SCHWA, CAPITAL LETTER SCHWA + key { [ r, R, U25CC, U00AE ] }; // SMALL LETTER R, CAPITAL LETTER R, PLACEHOLDER SYMBOL, REGISTERED SIGN + key { [ t, T, U0153, U0152 ] }; // SMALL LETTER T, CAPITAL LETTER T, SMALL LIGATURE OE, CAPITAL LIGATURE OE + key { [ y, Y, U01B4, U01B3 ] }; // SMALL LETTER Y, CAPITAL LETTER Y, SMALL LETTER Y WITH HOOK, CAPITAL LETTER Y WITH HOOK + key { [ u, U, U0289, U0244 ] }; // SMALL LETTER U, CAPITAL LETTER U, SMALL LETTER U BAR, CAPITAL LETTER U BAR + key { [ i, I, U0268, U0197 ] }; // SMALL LETTER I, CAPITAL LETTER I, SMALL LETTER I BAR, CAPITAL LETTER I BAR + key { [ o, O, U0254, U0186 ] }; // SMALL LETTER O, CAPITAL LETTER O, SMALL LETTER OPEN O, CAPITAL LETTER OPEN O + key { [ p, P, U00F8, U00D8 ] }; // SMALL LETTER P, CAPITAL LETTER P, SMALL LETTER O BAR, CAPITAL LETTER O BAR + key { [ U0301, U030C, dead_circumflex, dead_diaeresis ] }; // COMBINING HIGH TONE, COMBINING RISING TONE, DEAD CIRCUMFLEX, DEAD DIAERESIS + key { [ U0330, U0303, U0304, U030D ] }; // COMBINING TILDE (NASAL) BELOW, COMBINING TILDE (NASAL), COMBINING MID TONE, COMBINING VERTICAL LINE ABOVE + key { [ U0026, KP_1, U00B9, U2018 ] }; // AMPERSAND, 1, SUPERSCRIPT 1, LEFT SINGLE QUOTE + key { [ eacute, KP_2, asciitilde, U2019 ] }; // SMALL LETTER E WITH ACUTE, 2, TILDE, RIGHT SINGLE QUOTE + key { [ U0022, KP_3, U0025 ] }; // QUOTATION MARK, 3, PERCENT SIGN + key { [ U0027, KP_4, U007B ] }; // APOSTROPHE, 4, LEFT CURLY BRACKET + key { [ U0028, KP_5, U005B, numbersign ] }; // LEFT PARENTHESIS, 5, LEFT SQUARE BRACKET, NUMBER SIGN + key { [ U002D, KP_6, U007C ] }; // HYPHEN/MINUS, 6, BAR + key { [ U00E8, KP_7, U0300 ] }; // SMALL LETTER E WITH GRAVE, 7, COMBINING GRAVE + key { [ underscore, KP_8, backslash, U20D6 ] }; // UNDERSCORE, 8, BACKSLASH, COMBINING LEFT ARROW ABOVE + key { [ ccedilla, KP_9, U005E] }; // SMALL LETTER C WITH CEDILLA, 9, CIRCUMFLEX + key { [ U00E0, KP_0, at, U20D7 ] }; // SMALL LETTER A WITH GRAVE + key { [ U0029, U00B0, U005D ] }; // RIGHT PARENTHESIS, DEGREE, RIGHT SQUARE BRACKET + key { [ U003D, U002B, U007D, U00B1 ] }; // EQUAL SIGN, PLUS SIGN, RIGHT CURLY BRACKET, PLUS-MINUS SIGN + key { [ U1DC6, U1DC7, KP_Multiply, U00A4 ] }; // COMBINING MID-LOW, COMBINING HIGH-MID, MULTIPLY, CURRENCY SIGN + key { [ U003C, U003E, U00AB, U00BB ] }; // LESS THAN, GREATER THAN, LEFT GUILLEMET, RIGHT GUILLEMET + key { [ U0024, U20AC, U00B2, U00B3 ] }; // DOLLAR, EURO, SUPERSCRIPT 2, SUPERSCRIPT 3 + include "cm(exclamation_switch)" + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "qwerty" +{ + include "cm(basic)" + name[Group1] = "Cameroon Multilingual (QWERTY, intl.)"; + key { [ z, Z, U2026, U2020 ] }; // SMALL LETTER Z, CAPITAL LETTER Z, ELLIPSIS, DAGGER + key { [ x, X ] }; // SMALL LETTER X, CAPITAL LETTER X + key { [ c, C, U0327, U00A9 ] }; // SMALL LETTER C, CAPITAL LETTER C, CEDILLA, COPYRIGHT + key { [ v, V, UA78C, UA78B ] }; // SMALL LETTER V, CAPITAL LETTER V, SMALL LETTER GLOTTAL (SALTILLO), CAPITAL LETTER GLOTTAL (SALTILLO) + key { [ b, B, U0253, U0181 ] }; // SMALL LETTER B, CAPITAL LETTER B, SMALL LETTER B WITH HOOK, CAPITAL LETTER B WITH HOOK + key { [ n, N, U014B, U014A ] }; // SMALL LETTER N, CAPITAL LETTER N, SMALL LETTER ENG, CAPITAL LETTER ENG + key { [ m, M, NoSymbol, U2122 ] }; // SMALL LETTER M, CAPITAL LETTER M, , TRADEMARK SIGN + key { [ U002C, U003C, U2039, U00AB ] }; // COMMA, LESS THAN SIGN, LEFT SINGLE GUILLEMET, LEFT DOUBLE GUILLEMET + key { [ U002E, U003E, U203A, U00BB ] }; // PERIOD, GREATER THAN SIGN, RIGHT SINGLE GUILLEMET, RIGHT DOUBLE GUILLEMET + key { [ U002F, U003F, U00F7 ] }; // SLASH, QUESTION MARK, DIVISION SIGN + key { [ a, A, U025B, U0190 ] }; // SMALL LETTER A, CAPITAL LETTER A, SMALL LETTER OPEN E, CAPITAL LETTER OPEN E + key { [ s, S ] }; // SMALL LETTER S, CAPITAL LETTER S + key { [ d, D, U0257, U018A ] }; // SMALL LETTER D, CAPITAL LETTER D, SMALL LETTER D WITH HOOK, CAPITAL LETTER D WITH HOOK + key { [ f, F, U00E6, U00C6 ] }; // SMALL LETTER F, CAPITAL LETTER F, SMALL LIGATURE AE, CAPITAL LIGATURE AE + key { [ g, G, U02BC, UA78B ] }; // SMALL LETTER G, CAPITAL LETTER G, CURVED GLOTTAL, CAPITAL LETTER GLOTTAL (SALTILLO) + key { [ h, H, U0251, U2C6D ] }; // SMALL LETTER H, CAPITAL LETTER H, SMALL LETTER ALPHA, CAPITAL LETTER ALPHA + key { [ j, J, U0330, U0323 ] }; // SMALL LETTER J, CAPITAL LETTER J, COMBINING TILDE (NASAL) BELOW, COMBINING DOT BELOW + key { [ k, K, U1DC5, U1DC7 ] }; // SMALL LETTER K, CAPITAL LETTER K, COMBINING LOW-MID TONE, COMBINING HIGH-MID + key { [ l, L, U1DC6, U1DC4 ] }; // SMALL LETTER L, CAPITAL LETTER L, COMBINING MID-LOW, COMBINING MID-HIGH TONE + key { [ U003B, U003A ] }; // SEMICOLON, COLON + key { [ U0300, U0302, U0027, U0022 ] }; // COMBINING LOW TONE, COMBINING FALLING TONE, APOSTROPHE, QUOTATION MARK + key { [ q, Q, U2014, U2013 ] }; // SMALL LETTER Q, CAPITAL LETTER Q, EM DASH, EN DASH + key { [ w, W, U1E85, U1E84 ] }; // SMALL LETTER W, CAPITAL LETTER W, SMALL LETTER W WITH DIAERESIS, CAPITAL LETTER W WITH DIAERESIS + key { [ e, E, U0259, U018F ] }; // SMALL LETTER E, CAPITAL LETTER E, SMALL LETTER SCHWA, CAPITAL LETTER SCHWA + key { [ r, R, U25CC, U00AE ] }; // SMALL LETTER R, CAPITAL LETTER R, PLACEHOLDER SYMBOL, REGISTERED SIGN + key { [ t, T, U0153, U0152 ] }; // SMALL LETTER T, CAPITAL LETTER T, SMALL LIGATURE OE, CAPITAL LIGATURE OE + key { [ y, Y, U01B4, U01B3 ] }; // SMALL LETTER Y, CAPITAL LETTER Y, SMALL LETTER Y WITH HOOK, CAPITAL LETTER Y WITH HOOK + key { [ u, U, U0289, U0244 ] }; // SMALL LETTER U, CAPITAL LETTER U, SMALL LETTER U BAR, CAPITAL LETTER U BAR + key { [ i, I, U0268, U0197 ] }; // SMALL LETTER I, CAPITAL LETTER I, SMALL LETTER I BAR, CAPITAL LETTER I BAR + key { [ o, O, U0254, U0186 ] }; // SMALL LETTER O, CAPITAL LETTER O, SMALL LETTER OPEN O, CAPITAL LETTER OPEN O + key { [ p, P, U00F8, U00D8 ] }; // SMALL LETTER P, CAPITAL LETTER P, SMALL LETTER O BAR, CAPITAL LETTER O BAR + key { [ U0301, U030C, U005B, U007B ] }; // COMBINING HIGH TONE, COMBINING RISING TONE, LEFT SQUARE BRACKET, LEFT CURLY BRACKET + key { [ U0327, U0308, U005D, U007D ] }; // COMBINING CEDILLA, COMBINING DIAERESIS, RIGHT SQUARE BRACKET, RIGHT CURLY BRACKET + key { [ U0031, U0021, U00BC ] }; // 1, EXCLAMATION POINT, ONE QUARTER + key { [ U0032, U0040, U00BD ] }; //2, AT SYMBOL, ONE HALF + key { [ U0033, U0023, U00BE ] }; // 3, NUMBER SIGN, THREE QUARTERS + key { [ U0034, U0024, NoSymbol, U20AC ] }; // 4, DOLLAR, , EURO SIGN + key { [ U0038, U002A, NoSymbol, U00D7 ] }; // 8, ASTERISK, , MATH MULTIPLY + key { [ U0039, U0028, U2018, U201C ] }; // 9, LEFT PARENTHESIS, LEFT SINGLE QUOTE MARK, LEFT DOUBLE QUOTE MARK + key { [ U0030, U0029, U2019, U201D ] }; // 0, RIGHT PARENTHESIS, RIGHT SINGLE QUOTE MARK, LEFT DOUBLE QUOTE MARK + key { [ U002D, U005F, U0304 ] }; // MINUS, UNDERSCORE, COMBINING MID TONE, COMBINING MID TONE + key { [ U003D, U002B, NoSymbol, U00B1 ] }; // EQUAL, PLUS, , PLUS-MINUS + key { [ U005C, U007C ] }; // BACKSLASH, BAR + key { [ U030D, U0303, U0060, U007E ] }; // COMBINING VERTICAL LINE ABOVE, COMBINING TILDE ABOVE, GRAVE ACCENT, TILDE + include "cm(semicolon_switch)" + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "dvorak" +{ + include "us(dvorak)" + name[Group1] = "Cameroon (Dvorak, intl.)"; + key { [ semicolon, colon ] }; // SEMICOLON, COLON + key { [ q, Q, U2014, U2013 ] }; // SMALL LETTER Q, CAPITAL LETTER Q, EM DASH, EN DASH + key { [ j, J, U0330, U0323 ] }; // SMALL LETTER J, CAPITAL LETTER J, COMBINING TILDE (NASAL) BELOW, COMBINING DOT BELOW + key { [ k, K, U1DC5, U1DC7 ] }; // SMALL LETTER K, CAPITAL LETTER K, COMBINING LOW-MID TONE, COMBINING HIGH-MID + key { [ x, X ] }; // SMALL LETTER X, CAPITAL LETTER X + key { [ b, B, U0253, U0181 ] }; // SMALL LETTER B, CAPITAL LETTER B, SMALL LETTER B WITH HOOK, CAPITAL LETTER B WITH HOOK + key { [ m, M, NoSymbol, U2122 ] }; // SMALL LETTER M, CAPITAL LETTER M, , TRADEMARK SIGN + key { [ w, W, U1E85, U1E84 ] }; // SMALL LETTER W, CAPITAL LETTER W, SMALL LETTER W WITH DIAERESIS, CAPITAL LETTER W WITH DIAERESIS + key { [ v, V, UA78C, UA78B ] }; // SMALL LETTER V, CAPITAL LETTER V, SMALL LETTER GLOTTAL (SALTILLO), CAPITAL LETTER GLOTTAL (SALTILLO) + key { [ z, Z, U2026, U2020 ] }; // SMALL LETTER Z, CAPITAL LETTER Z, ELLIPSIS, DAGGER + key { [ a, A, U025B, U0190 ] }; // SMALL LETTER A, CAPITAL LETTER A, SMALL LETTER OPEN E, CAPITAL LETTER OPEN E + key { [ o, O, U0254, U0186 ] }; // SMALL LETTER O, CAPITAL LETTER O, SMALL LETTER OPEN O, CAPITAL LETTER OPEN O + key { [ e, E, U0259, U018F ] }; // SMALL LETTER E, CAPITAL LETTER E, SMALL LETTER SCHWA, CAPITAL LETTER SCHWA + key { [ u, U, U0289, U0244 ] }; // SMALL LETTER U, CAPITAL LETTER U, SMALL LETTER U BAR, CAPITAL LETTER U BAR + key { [ i, I, U0268, U0197 ] }; // SMALL LETTER I, CAPITAL LETTER I, SMALL LETTER I BAR, CAPITAL LETTER I BAR + key { [ d, D, U0257, U018A ] }; // SMALL LETTER D, CAPITAL LETTER D, SMALL LETTER D WITH HOOK, CAPITAL LETTER D WITH HOOK + key { [ h, H, U0251, U2C6D ] }; // SMALL LETTER H, CAPITAL LETTER H, SMALL LETTER ALPHA, CAPITAL LETTER ALPHA + key { [ t, T, U0153, U0152 ] }; // SMALL LETTER T, CAPITAL LETTER T, SMALL LIGATURE OE, CAPITAL LIGATURE OE + key { [ n, N, U014B, U014A ] }; // SMALL LETTER N, CAPITAL LETTER N, SMALL LETTER ENG, CAPITAL LETTER ENG + key { [ s, S ] }; // SMALL LETTER S, CAPITAL LETTER S + key { [ minus, underscore, U0304 ] }; // MINUS, UNDERSCORE, COMBINING MID TONE + key { [ U0300, U0302, U0027, U0022 ] }; // COMBINING LOW TONE, COMBINING FALLING TONE, APOSTROPHE, QUOTATION MARK + key { [ comma, less, U2039, U00AB ] }; // COMMA, LESS THAN SIGN, LEFT SINGLE GUILLEMET, LEFT DOUBLE GUILLEMET + key { [ period, greater, U203A, U00BB ] }; // PERIOD, GREATER THAN SIGN, RIGHT SINGLE GUILLEMET, RIGHT DOUBLE GUILLEMET + key { [ p, P, U00F8, U00D8 ] }; // SMALL LETTER P, CAPITAL LETTER P, SMALL LETTER O BAR, CAPITAL LETTER O BAR + key { [ y, Y, U01B4, U01B3 ] }; // SMALL LETTER Y, CAPITAL LETTER Y, SMALL LETTER Y WITH HOOK, CAPITAL LETTER Y WITH HOOK + key { [ f, F, U00E6, U00C6 ] }; // SMALL LETTER F, CAPITAL LETTER F, SMALL LIGATURE AE, CAPITAL LIGATURE AE + key { [ g, G, U02BC, UA78B ] }; // SMALL LETTER G, CAPITAL LETTER G, CURVED GLOTTAL, CAPITAL LETTER GLOTTAL (SALTILLO) + key { [ c, C, U0327, U00A9 ] }; // SMALL LETTER C, CAPITAL LETTER C, CEDILLA, COPYRIGHT + key { [ r, R, U25CC, U00AE ] }; // SMALL LETTER R, CAPITAL LETTER R, PLACEHOLDER SYMBOL, REGISTERED SIGN + key { [ l, L, U1DC6, U1DC4 ] }; // SMALL LETTER L, CAPITAL LETTER L, COMBINING MID-LOW, COMBINING MID-HIGH TONE + key { [ slash, U003F, U00F7, U0294 ] }; // SLASH, QUESTION MARK, DIVISION SIGN, GLOTTAL STOP + key { [ equal, plus, NoSymbol, plusminus ] }; // EQUAL, PLUS, , PLUS-MINUS + key { [ KP_1, exclam, U00BC ] }; // 1, EXCLAMATION POINT, ONE QUARTER + key { [ KP_2, at, U00BD ] }; // 2, AT SYMBOL, ONE HALF + key { [ KP_3, numbersign, U00BE ] }; // 3, NUMBER SIGN, THREE QUARTERS + key { [ KP_4, dollar, NoSymbol, U20AC ] }; // 4, DOLLAR, , EURO SIGN + key { [ KP_5, percent ] }; // 5, PERCENT + key { [ KP_6, asciicircum ] }; // 6, CARET + key { [ KP_7, ampersand ] }; // 7, AMPERSAND + key { [ KP_8, asterisk, NoSymbol, multiply ] }; // 8, ASTERISK, , MULTIPLY + key { [ KP_9, parenleft, leftsinglequotemark, leftdoublequotemark ] }; // 9, LEFT PARENTHESIS, LEFT SINGLE QUOTE MARK, LEFT DOUBLE QUOTE MARK + key { [ KP_0, parenright, rightsinglequotemark, rightdoublequotemark ] }; // 0, RIGHT PARENTHESIS, RIGHT SINGLE QUOTE MARK, LEFT DOUBLE QUOTE MARK + key { [ U0301, U030C, U005B, U007B ] }; // COMBINING HIGH TONE, COMBINING RISING TONE, LEFT SQUARE BRACKET, LEFT CURLY BRACKET + key { [ U0327, dead_diaeresis, U005D, braceright ] }; // COMBINING CEDILLA, DEAD DIAERESIS, RIGHT SQUARE BRACKET, RIGHT CURLY BRACKET + key { [ backslash, bar ] }; // BACKSLASH, BAR + key { [ U030D, U0303, U0060, U007E ] }; // COMBINING VERTICAL LINE ABOVE, COMBINING TILDE ABOVE, GRAVE ACCENT, TILDE + include "cm(semicolon_switch_dvorak)" + include "level3(ralt_switch)" +}; + +// The following code creates the "Cameroon key" phenomenon. + +partial modifier_keys +xkb_symbols "semicolon_switch" { + key { + symbols[Group1] = [ ISO_Level3_Latch, colon, semicolon, colon ]}; + modifier_map Mod5 { ISO_Level3_Latch }; +}; + +partial modifier_keys +xkb_symbols "exclamation_switch" { + key { + symbols[Group1] = [ ISO_Level3_Latch, U00A7, exclam, U00A7 ] + }; + modifier_map Mod5 { ISO_Level3_Latch }; +}; + +partial modifier_keys +xkb_symbols "semicolon_switch_dvorak" { + key { + symbols[Group1] = [ ISO_Level3_Latch, colon, semicolon, colon ] + }; +modifier_map Mod5 { ISO_Level3_Latch }; +}; + + +// ------- begin Mmuock alphabet layout ------------------------------------------ +// This layout is used for the Mmuock alphabet as described in the book +// _The Sound of Mmuock: Orthography (2. ed.)_ [isbn: 978-9956-645-28-1]. +// Mmuock is the language of the Mmuock (local: Muòk) people of Western +// Cameroon. +// +// Author: Tano Fotang +// Created: 2014-06-24 +// Version: 1.2 +// +// CHANGES v 1.0: +// 2014-07-06 corrected shifted level3 of to quotedbl +// CHANGES v 1.1: +// 2015-05-23 1- added dead_tilde to key ; this is needed to produce +// the letter <ñ> which was totally missing from the keyboard +// 2- added letter to ; the letter had been missing. +// 3- if we're not re-defining particular symbols from the included +// latin layout, then maintain the original latin mappings. +// Previously, we had set them to NoSymbol. Now, we want to +// keep the original latin mappings except for those few that we +// want to overwrite for our own keyboard. +// +// CHANGES v 1.2: +// 2016-06-17 1- added dead keys dead_macron, dead_acute, and dead_grave for +// tones 1, 3, and 4, for compatibility with the Keyman version. +// 2- rearranged combining diacritics for tones 0 to 5 such that +// the diacritics are on consequetive keys (AC01 to AC05). +// 3- moved tone 8 to level 3 of AE12. +// 4- moved layout definition out of the EXTRAS section. +// 5- for a cleaner keyboard, +// replaced ṭhe included latin layout with us(basic). +// +// +// NOTES: +// 0. This map is based on the Latin alphabet layout for the US keyboard. +// +// 1. We use combining diacritical marks to create tone markings. There are 13 +// tones that need to be indicated, although the first 5 are usually enough +// to represent the rest in simplified orthography. +// +// 2. When composing Mmuock text, about every fourth symbol is for tone. To +// facilitate easy and fast input, the combining diacritics are placed on +// the home row (AC). To reduce the number of key strokes required, the +// unshifted third level is used. Only 5 of the combining diacritics are not +// on the AC row; they are in the top number row, AE. +// +// 3. Symbols that are used infrequently (`r', `h', `ɛ', `ǝ', etc.) are placed +// in level3. Additionally, the letter eng (`ŋ'), although commonly used, +// is found in level3 because it can alternatively be represented by . +// (Indeed, the keyman version of keyboard actually replaces with `ŋ'.) +// +// 4. The unshifted AB10 key (normally assigned to the slash `/') is used as +// level 3 switch since the slash is not used in the ordinary course of +// typing Mmuock text. +// +// 5. The 'Cameroon Multilingual' keyboards that are defined elsewhere, do not +// fit our needs because: (a) they are based on a different alphabet, (b) the +// vast majority of their symbols are not used in Mmuock, and (c) for the few +// symbols that are used in Mmuock, their placings are not egonomic for +// typing Mmuock as the _PRIMARY_ language. The aim of this keyboard, is +// to give priority to symbols that are actually used in the Mmuock alphabet. +// +// 6. The following fonts have been found to produce the best results with this +// keyboard: +// Family Accuracy +// DejaVu (except Sans Mono) 9/10 +// Linux Libertine 8/10 +// Ubuntu (except light) 8/10 +// Droid (except sans mono) 7/10 +// Gentium, Gentium Alt 6.5/10 +// In the terminal emulator, the following font variants have been tested: +// Ubuntu Mono 9/10 +// Unifont (Medium) 9/10 +// DejaVu Sans Mono 7.5/10 +// Droid Sans Mono 6.5/10 +// These fonts are all freely available. +// +// ------the layout----------- +// +// ┌─────┐ +// │ 2 4 │ 2 = Shift, 4 = Level3 + Shift +// │ 1 3 │ 1 = Normal, 3 = Level3 +// └─────┘ +// +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓ +// │ ~ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & | * │ ( │ ) │ _ – │ + ̣┃ ⌫ Back- ┃ +// AE│ ` ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6  ̂│ 7  ̑│ 8  ̍│ 9  ̓│ 0  ̊│ ¯ - │ = ̋┃ space ┃ +// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫ +// ┃ ┃ Q │ W │ E Ǝ │ Š R │ T │ Y │ U Ω │ I Ɛ │ O Φ │ P ∏ │ Ø { │ Σ } ┃ Enter ┃ +// AD┃Tab ↹ ┃ q │ w │ e ǝ │ š r │ t │ y │ u ω │ i ɛ │ o φ │ p π │ ø [ │ σ ] ┃ ⏎ ┃ +// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃ +// ┃ ┃ A │ S │ D │ F │ G │  ̇ H │ J │ K │ L │ Œ : │ " ” │ Æ | ┃ ┃ +// AC┃Caps ⇬ ┃ a  ̃│ s  ̄| d ́| f  ̀| g  ̌|  ̣ h │ j  ̆│ k  ̏│ l  ̈│ œ ; │ ' ’ │ æ \ ┃ ┃ +// ┣━━━━━━━━┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫ +// ┃ │ Z Dz │ X │ C │ V │ B │ N ŋ │ M │ < « │ > » │ ? ┃ ┃ +// AB┃Shift ⇧ │ z dz │ x │ c │ v │ b │ n Ŋ │ m │ , ‹ │ . › │ / ┃Shift ⇧ ┃ +// ┣━━━━━━━┳━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛ +// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ +// AA┃Ctrl ┃Meta ┃Alt ┃ Space ┃AltGr ⇮┃Menu ┃Ctrl ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛ +// + +partial alphanumeric_keys +xkb_symbols "mmuock" { + + include "us(basic)" + include "level3(ralt_switch)" + + name[Group1]= "Mmuock"; + key { [ 6, asciicircum, U0302 ] }; // tone 10 + key { [ 7, ampersand, U0311 ] }; // tone 12 + key { [ 8, asterisk, U030D ] }; // tone 13 + key { [ 9, parenleft, U0307 ] }; // tone 7 + key { [ 0, parenright, U030A ] }; // tone 6 + key { [dead_macron, underscore, minus, endash ] }; + key { [ equal, plus, U030B, dead_belowdot ] }; // U030B = tone 8 + key { [ e, E, U01DD, U018E ] }; // U01DD = reversed E + key { [ scaron, Scaron, r, R ] }; + key { [ u, U, Greek_omega, Greek_OMEGA ] }; + key { [ i, I, U025B, U0190 ] }; // U025B = open E + key { [ o, O, Greek_phi, Greek_PHI ] }; + key { [ p, P, Greek_pi, Greek_PI ] }; + key { [ oslash, Ooblique, bracketleft, braceleft ] }; + key { [Greek_sigma, Greek_SIGMA, bracketright, braceright ] }; + key { [ a, A, U0303 ] }; // tone 0 + key { [ s, S, U0304 ] }; // tone 1 + key { [ d, D, U0301 ] }; // tone 3 + key { [ f, F, U0300 ] }; // tone 4 + key { [ g, G, U030C ] }; // tone 5 + key { [ U0323, U0307, h, H ] }; // COMBINING DOT BELOW, ABOVE + key { [ j, J, U0306 ] }; // tone 9 + key { [ k, K, U030F ] }; // tone 11 + key { [ l, L, U0308 ] }; // tone 14 + key { [ oe, OE, semicolon, colon ] }; + key { [ dead_acute, quotedbl, apostrophe ] }; + key { [ dead_grave, dead_tilde, grave, asciitilde ] }; + key { [ z, Z, U01F3, U01F2 ] }; // U01F3 = letter dz + key { [ n, N, eng, ENG ] }; + key { [ comma, less, guillemotleft, U2039 ] }; + key { [ period, greater, guillemotright, U203A ] }; + key { [ ae, AE, backslash, bar ] }; + + include "cm(solidus_switch)" +}; +// use slash as special key for switching to level3 +partial modifier_keys +xkb_symbols "solidus_switch" { + key { + symbols[Group1] = [ ISO_Level3_Latch, question, slash, dead_abovedot ] + }; + modifier_map Mod5 { ISO_Level3_Latch }; +}; +// ------- end of Mmuock keyboard map -------------------------------------------- diff --git a/xkbdata/symbols/cn b/xkbdata/symbols/cn new file mode 100644 index 0000000..8d4cd5c --- /dev/null +++ b/xkbdata/symbols/cn @@ -0,0 +1,712 @@ +// +// Default Chinese is the same as American +// +default partial alphanumeric_keys +xkb_symbols "basic" { + include "us(basic)" + + name[Group1]= "Chinese"; +}; + +// Tibetan Standard Keyboard map for XKB/X.org +// +// Based on the CNS Tibetan keyboard as supported by Windows Vista +// using information published by Tashi Tsering: +// http://www.yalasoo.com/English/docs/yalasoo_en_MStbKb.html +// +// XKB version by Rich Felker . +// +// The CNS Tibetan keyboard standard specifies 5 keyboards worth of keys, +// but apparently makes no requirements about how each is accessed. Only +// the first 2 are needed for native Tibetan text; the remainder are +// filled with special symbols and letters for transliterating foreign +// text. Further, CNS leaves the level of support of keyboards 2-5 as an +// option to the implementor (despite the fact that #2 is absolutely +// essential...). Windows Vista maps them as follows: +// +// 1. Unshifted +// 2. "m"-key-prefixed +// 3. Shift-modified +// 4. Ctrl+Alt+Shift-modified +// 5. "M"-key-prefixed +// +// I roughly copy the Windows Vista mapping, which was intended by the +// designer of the keyboard, with the following exceptions: +// +// The fifth keyboard is almost empty and contains only precomposed forms +// of subjoined letter characters whose use is strongly discouraged, and +// is not implemented at all in this XKB map. The fourth is implemented, +// but is accessed by an "m"-prefix (or "M"-prefix, for convenience) +// followed by a Shift-modified key. This avoids stealing the Ctrl and Alt +// keys, which belong to applications on *nix and not to the keyboard or +// input method. Aside from enterring rare special symbols and +// foreign-word-transliteration letters, these differences should not +// affect users. +// +// Implementation notes: +// +// A latching ISO Level3 shift is used for the "m"-prefix modifier. In +// principle moving it to other keys (e.g. AltGr) would be possible +// according to user preference, but this is not practical for typing +// Tibetan, since the subjoined consonants, of which Tibetan has 0-2 per +// syllable, are accessed via this mechanism. +// +// One annoyance is that the latching Level3 shift fails to work if the +// previous key is not yet released when "m" is pressed (the key release +// event kills the latch). I consider this a bug in X and don't know an +// easy way to work around it. Complain to the maintainers if it bothers +// you and maybe they'll find a fix. You won't notice it unless you're +// fast at typing Tibetan anyway. + +partial alphanumeric_keys +xkb_symbols "tib" { + + name[Group1]= "Tibetan"; + + key { [ 0x1000f68, 0x1000f01, 0x1000fb8, 0x1000f00 ] }; # ཨ ༁ ྸ ༀ + key { [ 0x1000f21, 0x1000f2a, 0x1000f04, 0x1000f76 ] }; # ༡ ༪ ༄ ྲྀ + key { [ 0x1000f22, 0x1000f2b, 0x1000f05, 0x1000f77 ] }; # ༢ ༫ ༅ ཷ + key { [ 0x1000f23, 0x1000f2c, 0x1000f7e, 0x1000f78 ] }; # ༣ ༬ ཾ ླྀ + key { [ 0x1000f24, 0x1000f2d, 0x1000f83, 0x1000f79 ] }; # ༤ ༭ ྃ ཹ + key { [ 0x1000f25, 0x1000f2e, 0x1000f37, 0x1000f81 ] }; # ༥ ༮ ༷ ཱྀ + key { [ 0x1000f26, 0x1000f2f, 0x1000f35, 0x1000f09 ] }; # ༦ ༯ ༵ ༉ + key { [ 0x1000f27, 0x1000f30, 0x1000f7f, 0x1000f0a ] }; # ༧ ༰ ཿ ༊ + key { [ 0x1000f28, 0x1000f31, 0x1000f14, 0x1000f0f ] }; # ༨ ༱ ༔ ༏ + key { [ 0x1000f29, 0x1000f32, 0x1000f11, 0x1000f10 ] }; # ༩ ༲ ༑ ༐ + key { [ 0x1000f20, 0x1000f33, 0x1000f08, 0x1000f12 ] }; # ༠ ༳ ༈ ༒ + key { [ 0x1000f67, 0x1000f3c, 0x1000fb7, 0x1000f0c ] }; # ཧ ༼ ྷ ༌ + key { [ 0x1000f5d, 0x1000f3d, 0x1000fba, 0x1000f13 ] }; # ཝ ༽ ྺ ༓ + + key { [ 0x1000f45, 0x1000f15, 0x1000f95, 0x1000f89 ] }; # ཅ ༕ ྕ ྉ + key { [ 0x1000f46, 0x1000f16, 0x1000f96, 0x1000f88 ] }; # ཆ ༖ ྖ ྈ + key { [ 0x1000f7a, 0x1000f17, 0x1000f7b, 0x1000fbe ] }; # ེ ༗ ཻ ྾ + key { [ 0x1000f62, 0x1000fbc, 0x1000fb2, 0x1000f6a ] }; # ར ྼ ྲ ཪ + key { [ 0x1000f4f, 0x1000f4a, 0x1000f9f, 0x1000f9a ] }; # ཏ ཊ ྟ ྚ + key { [ 0x1000f61, 0x1000fbb, 0x1000fb1, 0x1000fbf ] }; # ཡ ྻ ྱ ྿ + key { [ 0x1000f74, 0x1000f18, 0x1000fad, 0x1000f75 ] }; # ུ ༘ ྭ ཱུ + key { [ 0x1000f72, 0x1000f19, 0x1000f80, 0x1000f73 ] }; # ི ༙ ྀ ཱི + key { [ 0x1000f7c, 0x1000f1a, 0x1000f7d, 0x1000fc0 ] }; # ོ ༚ ཽ ࿀ + key { [ 0x1000f55, 0x1000f1b, 0x1000fa5, 0x1000fc1 ] }; # ཕ ༛ ྥ ࿁ + key { [ 0x1000f59, 0x1000f1c, 0x1000fa9, 0x1000fc2 ] }; # ཙ ༜ ྩ ࿂ + key { [ 0x1000f5a, 0x1000f1d, 0x1000faa, 0x1000fc3 ] }; # ཚ ༝ ྪ ࿃ + key { [ 0x1000f5b, 0x1000f1e, 0x1000fab, 0x1000f5c ] }; # ཛ ༞ ྫ ཛྷ + + key { [ 0x1000f60, 0x1000f71, 0x1000fb0, 0x1000fc4 ] }; # འ ཱ ྰ ࿄ + key { [ 0x1000f66, 0x1000f1f, 0x1000fb6, 0x1000fc5 ] }; # ས ༟ ྶ ࿅ + key { [ 0x1000f51, 0x1000f4c, 0x1000fa1, 0x1000f9c ] }; # ད ཌ ྡ ྜ + key { [ 0x1000f56, 0x1000f3e, 0x1000fa6, 0x1000f57 ] }; # བ ༾ ྦ བྷ + key { [ 0x1000f44, 0x1000f3f, 0x1000f94, 0x1000fc6 ] }; # ང ༿ ྔ ࿆ + key { [ 0x1000f58, 0x1000fcf, 0x1000fa8, 0x1000fc7 ] }; # མ ࿏ ྨ ࿇ + key { [ 0x1000f0b, 0x1000f02, 0x1000f84, 0x1000fc8 ] }; # ་ ༂ ྄ ࿈ + key { [ 0x1000f42, 0x1000f03, 0x1000f92, 0x1000f43 ] }; # ག ༃ ྒ གྷ + key { [ 0x1000f63, 0x1000f06, 0x1000fb3, 0x1000fc9 ] }; # ལ ༆ ླ ࿉ + key { [ 0x1000f5e, 0x1000f07, 0x1000fae, 0x1000fca ] }; # ཞ ༇ ྮ ࿊ + key { [ 0x1000f0d, 0x1000f38, 0x1000f0e, 0x1000fcb ] }; # ། ༸ ༎ ࿋ + + key { [ 0x1000f5f, 0x1000f34, 0x1000faf, 0x1000fcc ] }; # ཟ ༴ ྯ ࿌ + key { [ 0x1000f64, 0x1000f65, 0x1000fb4, 0x1000fb5 ] }; # ཤ ཥ ྴ ྵ + key { [ 0x1000f40, 0x1000f69, 0x1000f90, 0x1000fb9 ] }; # ཀ ཀྵ ྐ ྐྵ + key { [ 0x1000f41, 0x1000f87, 0x1000f91, 0x1000f36 ] }; # ཁ ྇ ྑ ༶ + key { [ 0x1000f54, 0x1000f86, 0x1000fa4, 0x1000f82 ] }; # པ ྆ ྤ ྂ + key { [ 0x1000f53, 0x1000f4e, 0x1000fa3, 0x1000f9e ] }; # ན ཎ ྣ ྞ + key { [ ISO_Level3_Latch, ISO_Level3_Latch, 0x1000f85, 0x1000f52 ] }; # -བཏགས་ ྅ དྷ + key { [ 0x1000f50, 0x1000f4b, 0x1000fa0, 0x1000f9b ] }; # ཐ ཋ ྠ ྛ + key { [ 0x1000f47, 0x1000f3a, 0x1000f97, 0x1000f8b ] }; # ཇ ༺ ྗ ྋ + key { [ 0x1000f49, 0x1000f3b, 0x1000f99, 0x1000f8a ] }; # ཉ ༻ ྙ ྊ +}; + +// Tibetan Standard Keyboard with ASCII numerals +// +// Users may prefer that the numeral keys enter ASCII numerals instead of +// Tibetan numerals, since the latter are not in modern use in Tibet. +// This is especially an issue for laptop users who do not have a numeric +// keypad by which to access the ASCII numerals, and who need to type +// numbers to be interpreted by applications. +// +// In this mapping, the Shift-modified numeral keys generate Tibetan +// numerals, since it was unclear to me that the standard Latin punctuation +// keys would be any use without Latin letters. (One can imagine wanting to +// type an email address using the @ sign, but as of present non-ASCII +// email addresses are not possible.) This mapping may change in the future +// if a clearly better use for the shifted numerals is pointed out by users. + +partial alphanumeric_keys +xkb_symbols "tib_asciinum" { + include "cn(tib)" + + name[Group1]= "Tibetan (with ASCII numerals)"; + + key { [ 1, 0x1000f21, 0x1000f04, 0x1000f76 ] }; # 1 ༡ ༄ ྲྀ + key { [ 2, 0x1000f22, 0x1000f05, 0x1000f77 ] }; # 2 ༢ ༅ ཷ + key { [ 3, 0x1000f23, 0x1000f7e, 0x1000f78 ] }; # 3 ༣ ཾ ླྀ + key { [ 4, 0x1000f24, 0x1000f83, 0x1000f79 ] }; # 4 ༤ ྃ ཹ + key { [ 5, 0x1000f25, 0x1000f37, 0x1000f81 ] }; # 5 ༥ ༷ ཱྀ + key { [ 6, 0x1000f26, 0x1000f35, 0x1000f09 ] }; # 6 ༦ ༵ ༉ + key { [ 7, 0x1000f27, 0x1000f7f, 0x1000f0a ] }; # 7 ༧ ཿ ༊ + key { [ 8, 0x1000f28, 0x1000f14, 0x1000f0f ] }; # 8 ༨ ༔ ༏ + key { [ 9, 0x1000f29, 0x1000f11, 0x1000f10 ] }; # 9 ༩ ༑ ༐ + key { [ 0, 0x1000f20, 0x1000f08, 0x1000f12 ] }; # 0 ༠ ༈ ༒ +}; + +// Uyghur Standard Keyboard Map for XKB/X.Org +// +// XKB version in collaboration by Muhemmed Abdullah , +// Abdussalam Abdurrahman , and +// Ekrem Tomur + +partial alphanumeric_keys +xkb_symbols "ug" { + include "us(basic)" + + name[Group1]= "Uyghur"; + + key { [ 9, parenright ] }; // 9 ) + key { [ 0, parenleft ] }; // 0 ( + key { [ minus, 0x1002014 ] }; // - — + + key { [ 0x1000686, VoidSymbol ] }; // چ + key { [ 0x10006cb, VoidSymbol ] }; // ۋ + key { [ 0x10006d0, VoidSymbol ] }; // ې + key { [ 0x1000631, VoidSymbol ] }; // ر + key { [ 0x100062a, VoidSymbol ] }; // ت + key { [ 0x100064a, VoidSymbol ] }; // ي + key { [ 0x10006c7, VoidSymbol ] }; // ۇ + key { [ 0x10006ad, VoidSymbol ] }; // ڭ + key { [ 0x1000648, VoidSymbol ] }; // و + key { [ 0x100067e, VoidSymbol ] }; // پ + key { [ bracketright, guillemotright ] }; // ] » + key { [ bracketleft, guillemotleft ] }; // [ « + + key { [ 0x10006be, VoidSymbol ] }; // ھ + key { [ 0x1000633, VoidSymbol ] }; // س + key { [ 0x100062f, 0x1000698 ] }; // د ژ + key { [ 0x1000627, 0x1000641 ] }; // ا ف + key { [ 0x10006d5, 0x10006af ] }; // ە گ + key { [ 0x1000649, 0x100062e ] }; // ى خ + key { [ 0x1000642, 0x100062c ] }; // ق ج + key { [ 0x1000643, 0x10006c6 ] }; // ك ۆ + key { [ 0x1000644, VoidSymbol ] }; // ل + key { [ Arabic_semicolon, colon ] }; // ؛ : + + key { [ 0x1000632, VoidSymbol ] }; // ز + key { [ 0x1000634, VoidSymbol ] }; // ش + key { [ 0x100063a, VoidSymbol ] }; // غ + key { [ 0x10006c8, VoidSymbol ] }; // ۈ + key { [ 0x1000628, VoidSymbol ] }; // ب + key { [ 0x1000646, VoidSymbol ] }; // ن + key { [ 0x1000645, VoidSymbol ] }; // م + key { [ Arabic_comma, 0x100203a ] }; // ، › + key { [ period, 0x1002039 ] }; // . ‹ + key { [ 0x1000626, Arabic_question_mark ] }; // ئ ؟ +}; + +// Pinyin Keyboard, in the style of altgr-intl +// +// Chinese speakers and learners often find it hard to type Hanyu Pinyin +// with all its tones and ü. This rule defines an altgr-intl-like behavior, +// with dead keys activated by "AltGr + ". It also works with many +// "pinyin" extensions, such as Tongyong Pinyin (Taiwan Mandarin) and +// various SASM/GNC romanizations. +// +// Number row keys 1 2 3 4 are defined as dead-keys for the tones. +// They correspond to the four tones in Hanyu Pinyin. +// +// To generate a · for "neutral" syllables, use AltGr + ` (grave). +// To generate a raw ü, use AltGr + v. +// V is used instead of ü for tones. +// +// AltGr+Shift+` triggers dead_abovering (˚), used by the Taiwanese +// Tongyong Pinyin variant for the "neutral" tone. +// +// AltGr+6 triggers dead_circumflex (^) for ê ẑ ĉ ŝ, etc. +// These can be stacked after tones to produce ế and ề; other tones require +// combining characters, available through nobreakspace (AltGr+Space). +// +// AltGr+Shift+6 triggers dead_diaeresis (¨) for SASM/GNC +// romanization of tib, mon, and ug. +// +// This file should be used with an appropriate XCompose file with +// definitons for dead_{macron,acute,caron,grave} + a/e/i/o/u/v(ü). +// --Mingye Wang + +partial alphanumeric_keys +xkb_symbols "altgr-pinyin" { + include "us(basic)" + name[Group1]= "Hanyu Pinyin Letters (with AltGr dead keys)"; + + key { [ grave, asciitilde, periodcentered,dead_abovering ] }; + key { [ 1, exclam, dead_macron, macron ] }; + key { [ 2, at, dead_acute, acute ] }; + key { [ 3, numbersign, dead_caron, caron ] }; + key { [ 4, dollar, dead_grave, grave ] }; + + key { [ 6, asciicircum, dead_circumflex, dead_diaeresis ] }; + key { [ v, V, udiaeresis, Udiaeresis ] }; + + key { [ space, space, nobreakspace, nobreakspace ] }; + + include "level3(ralt_switch)" +}; + +// Mongolian Bichig (traditional) Keyboard Map for XKB/X.Org +// +// by Maurizio M. Gavioli , 2019 from PRC +// standard GB/T 28038-2011, par. 4.3. +// The original standard has vertical presentation forms (UFExx range) +// for level 2 of AB08 - AB10, AD11 - AD13, AE01, AE09, AE10; they have +// been replaced by the corresponding decompositions, assuming that: +// 1) presentation forms are a job of the font stack more than of the +// keyboard management. +// 2) these keyboard layout will not necessarily be used only for +// vertical text orientations. + +partial alphanumeric_keys +xkb_symbols "mon_trad" { + include "us(basic)" + + name[Group1]= "Mongolian (Bichig)"; + + key { [ U180D, asciitilde ] }; // ~: FVS3, ~ + key { [ 1, exclam ] }; // 1: 1, ! + key { [ 2, U2048 ] }; // 2: 2, ⁈ + key { [ 3, U2049 ] }; // 3: 3, ⁉ + key { [ 4, 4 ] }; // 4: 4 + key { [ 5, percent ] }; // 5: 5, % + key { [ 6, U200C ] }; // 6: 6, ZWNJ + key { [ 7, U180A ] }; // 7: 7, ᠊ NIRUGU + key { [ 8, U200D ] }; // 8: 8, ZWJ + key { [ 9, parenleft ] }; // 9: 9, ( + key { [ 0, parenright ] }; // 0: 0, ) + key { [ U202F, U180E ] }; // -: NNBSP, MVS + key { [ equal, plus ] }; // +: =, + + + key { [ U1823, U1842 ] }; // Q: ᠣ O, ᡂ CHI + key { [ U1838, U1838 ] }; // W: ᠸ WA + key { [ U1821, U1827 ] }; // E: ᠡ E, ᠧ EE + key { [ U1837, U183F ] }; // R: ᠷ RA, ᠿ ZRA + key { [ U1832, U1832 ] }; // T: ᠲ TA + key { [ U1836, U1836 ] }; // Y: ᠶ YA + key { [ U1826, U1826 ] }; // U: ᠦ UE + key { [ U1822, U1822 ] }; // I: ᠢ I + key { [ U1825, U1825 ] }; // O: ᠥ OE + key { [ U182B, U182B ] }; // P: ᠫ PA + key { [ bracketleft, U3008 ] }; // [: [, 〈 + key { [ bracketright, U3009 ] }; // ]: ], 〉 + key { [ U1801, U2014 ] }; // \: ᠁, — + + key { [ U1820, U1820 ] }; // A: ᠠ A + key { [ U1830, U1830 ] }; // S: ᠰ SA + key { [ U1833, U1833 ] }; // D: ᠳ DA + key { [ U1839, U1839 ] }; // F: ᠹ FA + key { [ U182D, U182D ] }; // G: ᠭ GA + key { [ U182C, U183E ] }; // H: ᠬ QA, ᠾ HAA + key { [ U1835, U1835 ] }; // J: ᠵ JA + key { [ U183A, U183B ] }; // K: ᠺ KA, ᠻ KHA + key { [ U182F, U1840 ] }; // L: ᠯ LA, ᡀ LHA + key { [ semicolon, U1804 ] }; // ;: ;, ᠄ + key { [ U180B, U180C ] }; // `: FVS1, FVS2 + + key { [ U183D, U1841 ] }; // Z: ᠽ ZA, ᡁ ZHI + key { [ U1831, U1831 ] }; // X: ᠱ SHA + key { [ U1834, U183C ] }; // C: ᠴ CHA, ᠼ TSA + key { [ U1824, U1824 ] }; // V: ᠤ U + key { [ U182A, U182A ] }; // B: ᠪ BA + key { [ U1828, U1829 ] }; // N: ᠨ NA, ᠩ ANG + key { [ U182E, U182E ] }; // M: ᠮ MA + key { [ U1802, U300A ] }; // ,: ᠂, 《 + key { [ U1803, U300B ] }; // .: ᠃, 》 + key { [ U00B7, question ] }; // /: ·, ? +}; + +// Mongolian (Todo) Keyboard Map for XKB/X.Org +// +// by Maurizio M. Gavioli , 2019 from PRC +// standard GB/T 28038-2011, par. 4.4. +// The original standard has vertical presentation forms (UFExx range) +// in AB08 - AB10, AC10, AD11 - AD13, AE01, AE09 - AE11: they have been +// replaced by the corresponding decompositions; see explanation for +// "mon_trad" above. + +partial alphanumeric_keys +xkb_symbols "mon_trad_todo" { + include "us(basic)" + + name[Group1]= "Mongolian (Todo)"; + + key { [ U180D, asciitilde ] }; // ~: FVS3, ~ + key { [ 1, exclam ] }; // 1: 1, ! + key { [ 2, U2048 ] }; // 2: 2, ⁈ + key { [ 3, U2049 ] }; // 3: 3, ⁉ + key { [ 4, U1843 ] }; // 4: 4, ᡃ TODO LONG VOWEL + key { [ 5, percent ] }; // 5: 5, % + key { [ 6, U200C ] }; // 6: 6, ZWNJ + key { [ 7, U180A ] }; // 7: 7, ᠊ NIRUGU + key { [ 8, U200D ] }; // 8: 8, ZWJ + key { [ 9, parenleft ] }; // 9: 9, ( + key { [ 0, parenright ] }; // 0: 0, ) + key { [ U202F, U2014 ] }; // -: NNBSP, — EM DASH + key { [ equal, plus ] }; // +: =, + + + key { [ U1846, U1806 ] }; // Q: ᡆ TODO O, ᠆ (Todo hyphen) + key { [ U1856, U1856 ] }; // W: ᡖ TODO WA + key { [ U1844, U1844 ] }; // E: ᡄ TODO E + key { [ U1837, U1837 ] }; // R: ᠷ RA + key { [ U1850, U1850 ] }; // T: ᡐ TODO TA + key { [ U1855, U1855 ] }; // Y: ᡕ TODO YA + key { [ U1849, U1849 ] }; // U: ᡉ TODO UE + key { [ U1845, U1845 ] }; // I: ᡅ TODO I + key { [ U1848, U1848 ] }; // O: ᡈ TODO OE + key { [ U184C, U184C ] }; // P: ᠫ PA + key { [ bracketleft, U300C ] }; // [: [, 「 + key { [ bracketright, U300D ] }; // ]: ], 」 + key { [ U1801, U00B7 ] }; // \: ᠁, · + + key { [ U1820, U1820 ] }; // A: ᠠ A + key { [ U1830, U1830 ] }; // S: ᠰ SA + key { [ U1851, U1851 ] }; // D: ᡑ TODO DA + key { [ U1838, U1838 ] }; // F: ᠸ WA + key { [ U184E, U1858 ] }; // G: ᡎ TODO GA, ᡘ TODO GAA + key { [ U184D, U1859 ] }; // H: ᡍ TODO Qa, ᡙ TODO HAA + key { [ U1853, U185A ] }; // J: ᡓ TODO JA, ᡚ TODO JIA + key { [ U1857, U1857 ] }; // K: ᡗ TODO KA + key { [ U182F, U1840 ] }; // L: ᠯ LA, ᡀ LHA + key { [ semicolon, U1804 ] }; // ;: ;, ᠄ + key { [ U180B, U180C ] }; // `: FVS1, FVS2 + + key { [ U1834, U185C ] }; // Z: ᠴ CHA, ᠼ TODO DZA + key { [ U1831, U1831 ] }; // X: ᠱ SHA + key { [ U1854, U1852 ] }; // C: ᡔ TODO TSA ᡒ TODO CHA + key { [ U1847, U1847 ] }; // V: ᡇ TODO U + key { [ U184B, U184B ] }; // B: ᡋ TODO BA + key { [ U1828, U184A ] }; // N: ᠨ NA, ᠩ TODO ANG + key { [ U184F, U184F ] }; // M: ᡏ TODO MA + key { [ comma, U300E ] }; // ,: ,, 『 + key { [ U3002, U300F ] }; // .: 。, 』 + key { [ U3001, question ] }; // /: 、, ? +}; + +// Mongolian (Xibe) Keyboard Map for XKB/X.Org +// +// by Maurizio M. Gavioli , 2019 from PRC +// standard GB/T 28038-2011, par. 4.5. +// The original standard has vertical presentation forms (UFExx range) +// in AB08 - AB10, AD11 - AD13, AE01, AE09, AE10; they have been +// replaced by the corresponding decompositions; see explanation for +// "mon_trad" above. + +partial alphanumeric_keys +xkb_symbols "mon_trad_xibe" { + include "us(basic)" + + name[Group1]= "Mongolian (Xibe)"; + + key { [ U180D, asciitilde ] }; // ~: FVS3, ~ + key { [ 1, exclam ] }; // 1: 1, ! + key { [ 2, U2018 ] }; // 2: 2, ‘ + key { [ 3, U2019 ] }; // 3: 3, ’ + key { [ 4, U1807 ] }; // 4: 4, ᠇ SIBE SYLL. BOUND. MARKER + key { [ 5, percent ] }; // 5: 5, % + key { [ 6, U200C ] }; // 6: 6, ZWNJ + key { [ 7, U180A ] }; // 7: 7, ᠊ NIRUGU + key { [ 8, U200D ] }; // 8: 8, ZWJ + key { [ 9, parenleft ] }; // 9: 9, ( + key { [ 0, parenright ] }; // 0: 0, ) + key { [ U202F, U202F ] }; // -: NNBSP + key { [ equal, plus ] }; // +: =, + + + key { [ U1834, U1834 ] }; // Q: ᠴ CHA + key { [ U1838, U1838 ] }; // W: ᠸ WA + key { [ U185D, U185D ] }; // E: ᡝ SIBE E + key { [ U1837, U1870 ] }; // R: ᠷ RA, ᡰ SIBE RAA + key { [ U1868, U1868 ] }; // T: ᡨ SIBE TA + key { [ U1836, U1836 ] }; // Y: ᠶ YA + key { [ U1860, U1860 ] }; // U: ᡠ SIBE UE + key { [ U185E, U185F ] }; // I: ᡞ SIBE I, ᡟ SIBE IY + key { [ U1823, U1823 ] }; // O: ᠣ O + key { [ U1866, U1866 ] }; // P: ᡦ SIBE PA + key { [ bracketleft, U201C ] }; // [: [, “ + key { [ bracketright, U201D ] }; // ]: ], ” + key { [ U1801, U2014 ] }; // \: ᠁, — + + key { [ U1820, U1820 ] }; // A: ᠠ A + key { [ U1830, U1830 ] }; // S: ᠰ SA + key { [ U1869, U1869 ] }; // D: ᡩ SIBE DA + key { [ U186B, U186B ] }; // F: ᡫ SIBE FA + key { [ U1864, U186C ] }; // G: ᡤ SIBE GA, ᡬ SIBE GAA + key { [ U1865, U186D ] }; // H: ᡥ SIBE HA, ᡭ SIBE HAA + key { [ U186A, U186A ] }; // J: ᡪ SIBE JA + key { [ U1863, U183A ] }; // K: ᡣ SIBE KA, ᠺ KA + key { [ U182F, U182F ] }; // L: ᠯ LA + key { [ semicolon, U1804 ] }; // ;: ;, ᠄ + key { [ U180B, U180C ] }; // `: FVS1, FVS2 + + key { [ U186F, U1872 ] }; // Z: ᡯ SIBE ZA, ᡲ SIBE ZHA + key { [ U1867, U1867 ] }; // X: ᡧ SIBE SHA + key { [ U186E, U1871 ] }; // C: ᡮ SIBE TSA, ᡱ SIBE CHA + key { [ U1861, U1861 ] }; // V: ᡡ SIBE U + key { [ U182A, U182A ] }; // B: ᠪ BA + key { [ U1828, U1862 ] }; // N: ᠨ NA, ᡢ SIBE ANG + key { [ U182E, U182E ] }; // M: ᠮ MA + key { [ comma, U300E ] }; // ,: ,, 『 + key { [ U3002, U300F ] }; // .: 。, 』 + key { [ U3001, question ] }; // /: 、, ? +}; + +// Mongolian (Manchu) Keyboard Map for XKB/X.Org +// +// by Maurizio M. Gavioli , 2019 from PRC +// standard GB/T 28038-2011, par. 4.6. +// The original standard has vertical presentation forms (UFExx range) +// for level 2 of AB10, ABC10, AD11 - AD13, AE01, AE09, AE10; they have been +// replaced by the corresponding decompositions; see explanation for +// "mon_trad" above. + + +partial alphanumeric_keys +xkb_symbols "mon_trad_manchu" { + include "us(basic)" + + name[Group1]= "Mongolian (Manchu)"; + + key { [ U180D, asciitilde ] }; // ~: FVS3, ~ + key { [ 1, exclam ] }; // 1: 1, ! + key { [ 2, 2 ] }; // 2: 2 + key { [ 3, 3 ] }; // 3: 3 + key { [ 4, 4 ] }; // 4: 4 + key { [ 5, percent ] }; // 5: 5, % + key { [ 6, U200C ] }; // 6: 6, ZWNJ + key { [ 7, U180A ] }; // 7: 7, ᠊ NIRUGU + key { [ 8, U200D ] }; // 8: 8, ZWJ + key { [ 9, parenleft ] }; // 9: 9, ( + key { [ 0, parenright ] }; // 0: 0, ) + key { [ U202F, U202F ] }; // -: NNBSP + key { [ equal, plus ] }; // +: =, + + + key { [ U1834, U1834 ] }; // Q: ᠴ CHA + key { [ U1838, U1838 ] }; // W: ᠸ WA + key { [ U185D, U185D ] }; // E: ᡝ SIBE E + key { [ U1875, U1870 ] }; // R: ᡵ MANCHU RA, ᡰ SIBE RAA + key { [ U1868, U1868 ] }; // T: ᡠ SIBE TA + key { [ U1836, U1836 ] }; // Y: ᠶ YA + key { [ U1860, U1860 ] }; // U: ᡠ SIBE UE + key { [ U1873, U185F ] }; // I: ᡳ MANCHU I, ᡟ SIBE IY + key { [ U1823, U1823 ] }; // O: ᠣ O + key { [ U1866, U1866 ] }; // P: ᡦ SIBE PA + key { [ bracketleft, bracketleft ] }; // [: [ + key { [ bracketright, bracketright ] }; // ]: ] + key { [ U1801, U2014 ] }; // \: ᠁, — + + key { [ U1820, U1820 ] }; // A: ᠠ A + key { [ U1830, U1830 ] }; // S: ᠰ SA + key { [ U1869, U1869 ] }; // D: ᡩ SIBE DA + key { [ U1876, U1876 ] }; // F: ᡶ MANCHU FA + key { [ U1864, U186C ] }; // G: ᡩ SIBE GA, ᡶ SIBE GAA + key { [ U1865, U186D ] }; // H: ᡩ SIBE HA, ᡶ SIBE HAA + key { [ U1835, U1835 ] }; // J: ᠵ JA + key { [ U1874, U183A ] }; // K: ᡴ MANCHU KA, ᠺ KA + key { [ U182F, U182F ] }; // L: ᠯ LA + key { [ semicolon, U1804 ] }; // ;: ;, ᠄ + key { [ U180B, U180C ] }; // `: FVS1, FVS2 + + key { [ U186F, U1872 ] }; // Z: ᡯ SIBE ZA, ᡲ SIBE ZHA + key { [ U1867, U1867 ] }; // X: ᡧ SIBE SHA + key { [ U186E, U1871 ] }; // C: ᡮ SIBE TSA, ᡱ SIBE CHA + key { [ U1861, U1861 ] }; // V: ᡡ SIBE U + key { [ U182A, U182A ] }; // B: ᠪ BA + key { [ U1828, U1862 ] }; // N: ᠨ NA, ᡢ SIBE ANG + key { [ U182E, U182E ] }; // M: ᠮ MA + key { [ U1808, U1808 ] }; // ,: ᠈ + key { [ U1809, U1809 ] }; // .: ᠉ + key { [ question, question ] }; // /: , ? +}; + +// Mongolian Bichig Galik Keyboard Map for XKB/X.Org +// +// by Maurizio M. Gavioli , 2019 from PRC +// standard GB/T 28038-2011, par. 4.7. + +partial alphanumeric_keys +xkb_symbols "mon_trad_galik" { + include "us(basic)" + + name[Group1]= "Mongolian (Galik)"; + + key { [ U180D, U180D ] }; // ~: FVS3 + key { [ U1811, U1811 ] }; // 1: ᠑ + key { [ U1812, U1812 ] }; // 2: ᠒ + key { [ U1813, U1813 ] }; // 3: ᠓ + key { [ U1814, U1814 ] }; // 4: ᠔ + key { [ U1815, U1815 ] }; // 5: ᠕ + key { [ U1816, U200C ] }; // 6: ᠖, ZWNJ + key { [ U1817, U1817 ] }; // 7: ᠗ + key { [ U1818, U200D ] }; // 8: ᠘, ZWJ + key { [ U1819, U1919 ] }; // 9: ᠙ + key { [ U1810, U1910 ] }; // 0: ᠐ + key { [ U202F, U180E ] }; // -: NNBSP, MVS + key { [ VoidSymbol, VoidSymbol ] }; // +: --- + + key { [ U1880, U1827 ] }; // Q: ᢀ ALI GALI ANUNASVARA ONE, ᠧ EE + key { [ U1881, U1823 ] }; // W: ᢁ ALI GALI VISARGA ONE, ᠣ O + key { [ U1882, U1821 ] }; // E: ᢂ ALI GALI DAMARU, ᠡ E + key { [ U1883, U1883 ] }; // R: ᢃ ALI GALI UBADAMA + key { [ U1884, U1884 ] }; // T: ᢄ ALI GAL INVERTED UDADAMA + key { [ U1885, U1885 ] }; // Y: ᢅ ALI GALI BALUDA + key { [ U1886, U1826 ] }; // U: ᢆ ALI GALI THREE BALUDA, ᠦ UE + key { [ U1887, U1822 ] }; // I: ᢇ ALI GALI A, ᠢ I + key { [ U1888, U1888 ] }; // O: ᢈALI GALI I + key { [ U1889, U1889 ] }; // P: ᢉ ALI GALI KA + key { [ U188A, U188A ] }; // [: ᢊ ALI GALI NGA + key { [ U1895, U1895 ] }; // ]: ᢕ ALI GALI ZHA + key { [ VoidSymbol, VoidSymbol ] }; // \: -- + + key { [ U188B, U1820 ] }; // A: ᠀ ALI GALI CA,ᠠ A + key { [ U188C, U188C ] }; // S: ᡛ ALI GALI TTA + key { [ U188D, U188D ] }; // D: ᢍ ALI GALI THA + key { [ U188E, U188E ] }; // F: ᢎ ALI GALI DDA + key { [ U188F, U188F ] }; // G: ᢏ ALI GALI NNA + key { [ U1890, U1890 ] }; // H: ᢐ ALI GALI TA + key { [ U1891, U1853 ] }; // J: ᢑ ALI GALI DA, ᡓ TODO JA + key { [ U1892, U1858 ] }; // K: ᢒ ALI GALI PA, ᡘ TODO GAA + key { [ U1893, U1893 ] }; // L: ᢓ ALI GALI PHA + key { [ U1894, U1894 ] }; // ;: ᢔ ALI GALI SSA + key { [ U180B, U180C ] }; // `: FVS1, FVS2 + + key { [ U1896, U185C ] }; // Z: ᢖ ALI GALI ZA, ᡜ TODO DZA + key { [ U1897, U1897 ] }; // X: ᢗ ALI GALI AH + key { [ U18A6, U18A6 ] }; // C: ᢦ ALI GALI HALF U + key { [ U18A7, U1824 ] }; // V: ᢦ ALI GALI HALF YA ,ᠤ U + key { [ U18A9, U18A9 ] }; // B: ᢩ ALI GALI DAGALGA + key { [ U1805, U1805 ] }; // N: ᠅ + key { [ U1800, U185B ] }; // M: ᠀ BIRGA, ᡛ TODO NYA + key { [ U1802, U1802 ] }; // ,: ᠂ + key { [ U1803, U1803 ] }; // .: ᠃ + key { [ VoidSymbol, VoidSymbol ] }; // /: +}; + +// Mongolian (Todo Galik) Keyboard Map for XKB/X.Org +// +// by Maurizio M. Gavioli , 2019 from PRC +// standard GB/T 28038-2011, par. 4.8. + +partial alphanumeric_keys +xkb_symbols "mon_todo_galik" { + include "us(basic)" + + name[Group1]= "Mongolian (Todo Galik)"; + + key { [ U180D, U180D ] }; // ~: FVS3 + key { [ U1811, U1811 ] }; // 1: ᠑ + key { [ U1812, U1812 ] }; // 2: ᠒ + key { [ U1813, U1813 ] }; // 3: ᠓ + key { [ U1814, U1843 ] }; // 4: ᠔, ᡃ TODO LONG VOWEL SIGN + + key { [ U1815, U1815 ] }; // 5: ᠕ + key { [ U1816, U200C ] }; // 6: ᠖, ZWNJ + key { [ U1817, U1817 ] }; // 7: ᠗ + key { [ U1818, U200D ] }; // 8: ᠘, ZWJ + key { [ U1819, U1919 ] }; // 9: ᠙ + key { [ U1810, U1910 ] }; // 0: ᠐ + key { [ U202F, U202F ] }; // -: NNBSP + key { [ VoidSymbol, VoidSymbol ] }; // /: --- + + key { [ U1880, U1880 ] }; // Q: ᢀ ALI GALI ANUNASVARA ONE + key { [ U1881, U1846 ] }; // W: ᢁ ALI GALI VISARGA ONE, ᡆ TODO O + key { [ U1882, U1844 ] }; // E: ᢂ ALI GALI DAMARU, ᡄ TODO E + key { [ U1883, U1883 ] }; // R: ᢃ ALI GALI UBADAMA + key { [ U1884, U1884 ] }; // T: ᢄ ALI GAL INVERTED UDADAMA + key { [ U1885, U1885 ] }; // Y: ᢅ ALI GALI BALUDA + key { [ U1886, U1849 ] }; // U: ᢆ ALI GALI THREE BALUDA, ᡉ TODO UE + key { [ U1889, U1845 ] }; // I: ᢉ ALI GALI KA, ᡅ TODO I + key { [ U188A, U188A ] }; // O: ᢊ ALI GALI NGA + key { [ U1887, U1887 ] }; // P: ᢇ ALI GALI A + key { [ VoidSymbol, VoidSymbol ] }; // /: --- + key { [ VoidSymbol, VoidSymbol ] }; // /: --- + key { [ VoidSymbol, VoidSymbol ] }; // /: --- + + key { [ U188B, U1820 ] }; // A: ᢋ ALI GALI CA, ᠠ A + key { [ U188C, U188C ] }; // S: ᢌ ALI GALI TTA + key { [ U188D, U188D ] }; // D: ᢍ ALI GALI THA + key { [ U188E, U188E ] }; // F: ᢎ ALI GALI DDA + key { [ U188F, U188F ] }; // G: ᢏ ALI GALI NNA + key { [ U1894, U1894 ] }; // ;: ᢔ ALI GALI SSA + key { [ U1896, U1896 ] }; // Z: ᢖ ALI GALI ZA + key { [ U1897, U1897 ] }; // X: ᢗ ALI GALI AH + key { [ U1898, U1898 ] }; // L: ᢘ TODO ALI GALI TA + key { [ U1892, U1892 ] }; // K: ᢒ ALI GALI PA + key { [ U180B, U180C ] }; // `: FVS1, FVS2 + + key { [ U1899, U1899 ] }; // Z: ᢙ TODO ALI GALI ZHA + key { [ U18A7, U18A6 ] }; // X: ᢧ ALI GALI HALF YA + key { [ U1893, U1893 ] }; // C: ᢓ ALI GALI PHA + key { [ U1847, U1847 ] }; // V: ᡇ TODO U + key { [ U18A9, U18A9 ] }; // B: ᢩ ALIGALI DAGALGA + key { [ U1805, U1805 ] }; // N: ᠅ FOUR DOTS + key { [ U1800, U185B ] }; // M: ᠀ BIRGA, ᡛ TODO NIA + key { [ U1802, U1802 ] }; // ,: ᠂ COMMA + key { [ U1803, U1803 ] }; // .: ᠃ FULL STOP + key { [ VoidSymbol, VoidSymbol ] }; // /: --- +}; + +// Mongolian (Manchu Galik) Keyboard Map for XKB/X.Org +// +// by Maurizio M. Gavioli , 2019 from PRC +// standard GB/T 28038-2011, par. 4.9. + + +partial alphanumeric_keys +xkb_symbols "mon_manchu_galik" { + include "us(basic)" + + name[Group1]= "Mongolian (Manchu Galik)"; + + key { [ U180D, U180D ] }; // ~: FVS3 + key { [ VoidSymbol, VoidSymbol ] }; // /: --- + key { [ VoidSymbol, VoidSymbol ] }; // /: --- + key { [ VoidSymbol, VoidSymbol ] }; // /: --- + key { [ VoidSymbol, VoidSymbol ] }; // /: --- + key { [ VoidSymbol, VoidSymbol ] }; // /: --- + key { [ VoidSymbol, U200C ] }; // 6: --, ZWNJ + key { [ VoidSymbol, VoidSymbol ] }; // /: --- + key { [ VoidSymbol, U200D ] }; // 8: 8, ZWJ + key { [ VoidSymbol, VoidSymbol ] }; // /: --- + key { [ VoidSymbol, VoidSymbol ] }; // /: --- + key { [ U202F, U202F ] }; // -: NNBSP + key { [ VoidSymbol, VoidSymbol ] }; // /: --- + + key { [ U1880, U1880 ] }; // Q: ᢀ ALI GALI ANUNASVARA ONE + key { [ U1881, U1881 ] }; // W: ᢁ ALI GALI VISARGA ONE + key { [ U1882, U185D ] }; // E: ᢂ ALI GALI DAMARU, ᡝ SIBE E + key { [ U1883, U1883 ] }; // R: ᢃ ALI GALI UBADAMA + key { [ U1884, U1884 ] }; // T: ᢄ ALI GAL INVERTED UDADAMA + key { [ U1885, U1885 ] }; // Y: ᢅ ALI GALI BALUDA + key { [ U1886, U1860 ] }; // U: ᢆ ALI GALI THREE BALUDA, ᡠ SIBE UE + key { [ U1887, U1873 ] }; // I: ᢇ ALI GALI A, ᡳ MANCHU I + key { [ U1888, U1823 ] }; // O: ᢈ ALI GALI I, ᠣ O + key { [ U188F, U188F ] }; // P: ᢏ ALI GALI NNA + key { [ VoidSymbol, VoidSymbol ] }; // /: --- + key { [ VoidSymbol, VoidSymbol ] }; // /: --- + key { [ VoidSymbol, VoidSymbol ] }; // /: --- + + key { [ U1892, U1820 ] }; // A: ᢒ ALI GALI PA, ᠠ A + key { [ U189A, U189A ] }; // S: ᢚ MANCHU ALI GALI GHA + key { [ U189B, U189B ] }; // D: ᢛ MANCHU ALI GALI NGA + key { [ U189C, U189C ] }; // F: ᢜ MANCHU ALI GALI CA + key { [ U189D, U189D ] }; // G: ᢝ MANCHU ALI GALI JHA + key { [ U189E, U189E ] }; // H: ᢞ MANCHU ALI GALI TTA + key { [ U189F, U189F ] }; // J: ᢟ MANCHU ALI GALI DDHA + key { [ U18A0, U18A0 ] }; // K: ᢠ MANCHU ALI GALI TA + key { [ U18A1, U18A1 ] }; // L: ᢡ MANCHU ALI GALI DHA + key { [ VoidSymbol, VoidSymbol ] }; // /: --- + key { [ U180B, U180C ] }; // `: FVS1, FVS2 + + key { [ U18A2, U18A2 ] }; // Z: ᢢ MANCHU ALI GALI SSA + key { [ U18A3, U18A3 ] }; // X: ᢣ MANCHU ALI GALI CYA + key { [ U18A4, U18A4 ] }; // C: ᢤ MANCHU ALI GALI ZHA + key { [ U18A5, U1861 ] }; // V: ᢥ MANCHU ALI GALI ZA, ᡡ SIBE U + key { [ U18A8, U18A8 ] }; // B: ᢨ MANCHU ALI GALI BHA + key { [ U18AA, U18AA ] }; // N: ᢪ MANCHU ALI GALI LHA + key { [ VoidSymbol, VoidSymbol ] }; // /: --- + key { [ U1808, U1808 ] }; // ,: ᠈ + key { [ U1809, U1809 ] }; // .: ᠉ + key { [ VoidSymbol, VoidSymbol ] }; // /: --- +}; diff --git a/xkbdata/symbols/compose b/xkbdata/symbols/compose new file mode 100644 index 0000000..08446bf --- /dev/null +++ b/xkbdata/symbols/compose @@ -0,0 +1,89 @@ +partial modifier_keys +xkb_symbols "ralt" { + key { type[Group1]="TWO_LEVEL", [ Multi_key, Multi_key ] }; +}; + +partial modifier_keys +xkb_symbols "lwin" { + key { type[Group1]="TWO_LEVEL", [ Multi_key, Multi_key ] }; +}; + +partial modifier_keys +xkb_symbols "lwin-altgr" { + key { type[Group1]="FOUR_LEVEL", [ Super_L, Super_L, Multi_key, Multi_key ] }; +}; + +partial modifier_keys +xkb_symbols "rwin" { + key { type[Group1]="TWO_LEVEL", [ Multi_key, Multi_key ] }; +}; + +partial modifier_keys +xkb_symbols "rwin-altgr" { + key { type[Group1]="FOUR_LEVEL", [ Super_R, Super_R, Multi_key, Multi_key ] }; +}; + +partial modifier_keys +xkb_symbols "menu" { + key { type[Group1]="TWO_LEVEL", [ Multi_key, Multi_key ] }; +}; + +partial modifier_keys +xkb_symbols "menu-altgr" { + key { type[Group1]="FOUR_LEVEL", [ Menu, Menu, Multi_key, Multi_key ] }; +}; + +partial modifier_keys +xkb_symbols "rctrl" { + key { type[Group1]="TWO_LEVEL", [ Multi_key, Multi_key ] }; +}; + +partial modifier_keys +xkb_symbols "rctrl-altgr" { + key { type[Group1]="FOUR_LEVEL", [ Control_R, Control_R, Multi_key, Multi_key ] }; +}; + +partial modifier_keys +xkb_symbols "lctrl" { + key { type[Group1]="TWO_LEVEL", [ Multi_key, Multi_key ] }; +}; + +partial modifier_keys +xkb_symbols "lctrl-altgr" { + key { type[Group1]="FOUR_LEVEL", [ Control_L, Control_L, Multi_key, Multi_key ] }; +}; + +partial modifier_keys +xkb_symbols "caps" { + key { type[Group1]="TWO_LEVEL", [ Multi_key, Multi_key ] }; +}; + +partial modifier_keys +xkb_symbols "caps-altgr" { + key { type[Group1]="FOUR_LEVEL", [ Caps_Lock, Caps_Lock, Multi_key, Multi_key ] }; +}; + +partial modifier_keys +xkb_symbols "102" { + key { type[Group1]="TWO_LEVEL", [ Multi_key, Multi_key ] }; +}; + +partial modifier_keys +xkb_symbols "102-altgr" { + key { type[Group1]="FOUR_LEVEL", [ less, greater, Multi_key, Multi_key ] }; +}; + +partial modifier_keys +xkb_symbols "paus" { + key { type[Group1]="TWO_LEVEL", [ Multi_key, Multi_key ] }; +}; + +partial modifier_keys +xkb_symbols "prsc" { + key { type[Group1]="TWO_LEVEL", [ Multi_key, Multi_key ] }; +}; + +partial modifier_keys +xkb_symbols "sclk" { + key { type[Group1]="TWO_LEVEL", [ Multi_key, Multi_key ] }; +}; diff --git a/xkbdata/symbols/ctrl b/xkbdata/symbols/ctrl new file mode 100644 index 0000000..a9e97f5 --- /dev/null +++ b/xkbdata/symbols/ctrl @@ -0,0 +1,123 @@ +// Eliminate CapsLock, making it another Ctrl. +partial modifier_keys +xkb_symbols "nocaps" { + replace key { [ Control_L, Control_L ] }; + modifier_map Control { , }; +}; + +// Make the left Ctrl key a left Meta. +xkb_symbols "lctrl_meta" { + replace key { [ Meta_L ] }; + modifier_map Mod4 { }; +}; + +// Swap the functions of the CapsLock key and the left Ctrl key. +partial modifier_keys +xkb_symbols "swapcaps" { + replace key { [ Control_L ] }; + replace key { [ Caps_Lock ] }; + modifier_map Control { }; + modifier_map Lock { }; +}; + +// Swap the functions of the CapsLock key and the left Ctrl key, +// but make the Ctrl key a 'Hyper' modifier +partial modifier_keys +xkb_symbols "swapcaps_hyper" { + replace key { [ Control_L ] }; + replace key { [ Hyper_L ] }; + modifier_map Control { }; + modifier_map Mod3 { }; +}; + +// Set CapsLock to left Ctrl and left Ctrl to switch layout. +partial modifier_keys +xkb_symbols "swapcaps_and_switch_layout" { + replace key { [ Control_L ] }; + replace key { [ ISO_Next_Group ] }; + modifier_map Control { }; + modifier_map Lock { }; +}; + +// Move Ctrl to the leftmost key on the middle row and CapsLock to the +// leftmost key on the bottom row. Only works if the geometry or keycodes +// file has defined appropriate aliases for the keys in question. +partial modifier_keys +xkb_symbols "ac_ctrl" { + replace key { [ Control_L ] }; + replace key { [ Caps_Lock ] }; + modifier_map Control { }; + modifier_map Lock { }; +}; + +// Move Ctrl to the leftmost key on the bottom row and CapsLock to the +// leftmost key on the middle row. Only works if the geometry or keycodes +// file has defined appropriate aliases for the keys in question. +partial modifier_keys +xkb_symbols "aa_ctrl" { + replace key { [ Control_L ] }; + replace key { [ Caps_Lock ] }; + modifier_map Control { }; + modifier_map Lock { }; +}; + +// Right Ctrl functions as another right Alt. +partial modifier_keys +xkb_symbols "rctrl_ralt" { + key { symbols[Group1]= [ Alt_R ] }; + modifier_map Mod1{ }; +}; + +// Menu key functions as another right Ctrl. +partial modifier_keys +xkb_symbols "menu_rctrl" { + replace key { [ Control_R, Control_R ] }; + modifier_map Control { Control_L, }; +}; + +// Right Alt key functions as another right Ctrl. +partial modifier_keys +xkb_symbols "ralt_rctrl" { + replace key { type[Group1] = "TWO_LEVEL", + symbols[Group1] = [ Control_R, Control_R ] }; + modifier_map Control { }; +}; + +// Swap the functions of the left Alt key and the left Ctrl key. +partial modifier_keys +xkb_symbols "swap_lalt_lctl" { + replace key { [ Control_L, Control_L ] }; + replace key { [ Alt_L, Meta_L ] }; + modifier_map Mod1 { }; + modifier_map Control { }; +}; + +// Swap the functions of the left Win key and the left Ctrl key. +partial modifier_keys +xkb_symbols "swap_lwin_lctl" { + replace key { [ Control_L ] }; + replace key { [ Super_L ] }; + modifier_map Mod4 { }; + modifier_map Control { }; +}; + +// Swap the functions of the right Win key and the right Ctrl key. +partial modifier_keys +xkb_symbols "swap_rwin_rctl" { + replace key { [ Control_R ] }; + replace key { [ Super_R ] }; + modifier_map Mod4 { }; + modifier_map Control { }; +}; + +// Map Ctrl to the left Alt key, Alt to the left Win key, +// and Super to the left Ctrl key. +partial modifier_keys +xkb_symbols "swap_lalt_lctl_lwin" { + replace key { [ Control_L, Control_L ] }; + replace key { [ Alt_L, Meta_L ] }; + replace key { [ Super_L ] }; + modifier_map Mod1 { }; + modifier_map Mod4 { }; + modifier_map Control { }; +}; diff --git a/xkbdata/symbols/cz b/xkbdata/symbols/cz new file mode 100644 index 0000000..7c3679a --- /dev/null +++ b/xkbdata/symbols/cz @@ -0,0 +1,483 @@ +default partial alphanumeric_keys +xkb_symbols "basic" { + + // This layout conforms to a new Czech compromise standard + // designed to satisfy most Unix, Windows and Mac users. + // 2001 by Kamil Toman + + include "latin" + name[Group1]= "Czech"; + + key { [ semicolon, dead_abovering, grave, asciitilde ] }; + key { [ plus, 1, exclam, dead_tilde ] }; + key { [ ecaron, 2, at, dead_caron ] }; + key { [ scaron, 3, numbersign, dead_circumflex ] }; + key { [ ccaron, 4, dollar, dead_breve ] }; + key { [ rcaron, 5, percent, dead_abovering]}; + key { [ zcaron, 6, asciicircum, dead_ogonek ] }; + key { [ yacute, 7, ampersand, dead_grave ] }; + key { [ aacute, 8, asterisk, dead_abovedot] }; + key { [ iacute, 9, braceleft, dead_acute ] }; + key { [ eacute, 0, braceright, dead_doubleacute ] }; + key { [ equal, percent, NoSymbol, dead_diaeresis]}; + key { [dead_acute, dead_caron, dead_macron, dead_cedilla ] }; + + key { [ q, Q, backslash, NoSymbol ] }; + key { [ w, W, bar, Nosymbol ] }; + key { [ e, E, EuroSign, NoSymbol ] }; + key { [ r, R, NoSymbol, NoSymbol ] }; + key { [ t, T, NoSymbol, NoSymbol ] }; + key { [ z, Z, NoSymbol, NoSymbol ] }; + key { [ u, U, NoSymbol, NoSymbol ] }; + key { [ i, I, NoSymbol, NoSymbol ] }; + key { [ o, O, NoSymbol, NoSymbol ] }; + key { [ p, P, NoSymbol, NoSymbol ] }; + + key { [ uacute, slash, bracketleft, division ] }; + key { [parenright, parenleft, bracketright, multiply ] }; + + key { [ a, A, asciitilde, NoSymbol ] }; + key { [ s, S, dstroke, NoSymbol ] }; + key { [ d, D, Dstroke, NoSymbol ] }; + key { [ f, F, bracketleft, NoSymbol ] }; + key { [ g, G, bracketright, NoSymbol ] }; + key { [ h, H, grave, NoSymbol ] }; + key { [ j, J, apostrophe, NoSymbol ] }; + key { [ k, K, lstroke, NoSymbol ] }; + key { [ l, L, Lstroke, NoSymbol ] }; + + key { [ uring, quotedbl, dollar, NoSymbol ] }; + key { [ section, exclam, apostrophe, ssharp ] }; + key { [ EuroSign, dead_diaeresis, NoSymbol, NoSymbol ] }; + key { [dead_diaeresis, apostrophe, backslash, bar ] }; + + key { [ backslash, bar, slash, NoSymbol ] }; + key { [ y, Y, degree, NoSymbol ] }; + key { [ x, X, numbersign, Nosymbol ] }; + key { [ c, C, ampersand, NoSymbol ] }; + key { [ v, V, at, NoSymbol ] }; + key { [ b, B, braceleft, NoSymbol ] }; + key { [ n, N, braceright, NoSymbol ] }; + key { [ m, M, asciicircum, NoSymbol ] }; + key { [ comma, question, less, NoSymbol ] }; + key { [ period, colon, greater, NoSymbol ] }; + key { [ minus, underscore, asterisk, NoSymbol ] }; + + key { [ space, space, space, space ] }; + + include "level3(ralt_switch)" +}; + +xkb_symbols "bksl" { + + // Use instead of (useful for keyboards without key). + + include "cz(basic)" + name[Group1]= "Czech (with <\|> key)"; + + key { [ backslash, bar, slash, NoSymbol ] }; +}; + +partial alphanumeric_keys +xkb_symbols "qwerty" { + + // This layout represents the actual Czech keyboards; + // it complies with the symbols printed on the keys. + // 2011 by Lukáš Mojžíš + + include "cz(basic)" + name[Group1]= "Czech (QWERTY)"; + + key { [ z, Z, degree, NoSymbol ] }; + key { [ uring, quotedbl, semicolon, colon ] }; + key { [ section, exclam, apostrophe, ssharp ] }; + key { [ y, Y, NoSymbol, NoSymbol ] }; + key { [ uacute, slash, bracketleft, braceleft ] }; + key { [parenright, parenleft, bracketright, braceright ] }; + key { [ iacute, 9, parenleft, dead_acute ] }; + key { [ eacute, 0, parenright, dead_doubleacute ] }; +}; + +xkb_symbols "qwerty_bksl" { + + // Use instead of (useful for keyboards without key). + + include "cz(qwerty)" + name[Group1]= "Czech (QWERTY, extended backslash)"; + + key { [ backslash, bar, slash, NoSymbol ] }; +}; + +partial alphanumeric_keys +xkb_symbols "qwerty-mac" { + + // This layout corresponds to the Apple's Czech - QWERTY. + // 2018 by Jakub Jirutka + + include "latin" + name[Group1]= "Czech (QWERTY, Macintosh)"; + + key { [ less, greater, lessthanequal, greaterthanequal]}; + key { [ plus, 1, grave, notsign ] }; + key { [ ecaron, 2, at, enfilledcircbullet]}; + key { [ scaron, 3, numbersign, notequal ] }; + key { [ ccaron, 4, dollar, sterling ] }; + key { [ rcaron, 5, asciitilde, U25CA ] }; + key { [ zcaron, 6, asciicircum, dagger ] }; + key { [ yacute, 7, ampersand, paragraph ] }; + key { [ aacute, 8, asterisk, division ] }; + key { [ iacute, 9, braceleft, guillemotleft] }; + key { [ eacute, 0, braceright, guillemotright]}; + key { [ equal, percent, dead_abovering, dead_cedilla]}; + key { [dead_acute, dead_caron, dead_circumflex, dead_macron]}; + + key { [ q, Q, NoSymbol, NoSymbol ] }; + key { [ w, W, eabovedot, Eabovedot ] }; + key { [ e, E, eogonek, Eogonek ] }; + key { [ r, R, EuroSign, registered ] }; + key { [ t, T, NoSymbol, trademark ] }; + key { [ y, Y, NoSymbol, NoSymbol ] }; + key { [ u, U, NoSymbol, NoSymbol ] }; + key { [ i, I, NoSymbol, NoSymbol ] }; + key { [ o, O, NoSymbol, NoSymbol ] }; + key { [ p, P, NoSymbol, NoSymbol ] }; + + key { [ uacute, slash, bracketleft, less ] }; + key { [parenright, parenleft, bracketright, greater ] }; + + key { [ a, A, aogonek, Aogonek ] }; + key { [ s, S, ssharp, U2211 ] }; + key { [ d, D, partialderivative, U2206 ] }; + key { [ f, F, NoSymbol, NoSymbol ] }; + key { [ g, G, NoSymbol, NoSymbol ] }; + key { [ h, H, leftsinglequotemark, leftdoublequotemark]}; + key { [ j, J, rightsinglequotemark, rightdoublequotemark]}; + key { [ k, K, NoSymbol, NoSymbol ] }; + key { [ l, L, lstroke, Lstroke ] }; + + key { [ uring, quotedbl, semicolon, ellipsis ] }; + key { [ section, exclam, apostrophe, dead_tilde ] }; + key { [dead_diaeresis, grave, dead_diaeresis, dead_doubleacute]}; + + key { [ backslash, bar, NoSymbol, NoSymbol ] }; + key { [ z, Z, zabovedot, Zabovedot ] }; + key { [ x, X, NoSymbol, NoSymbol ] }; + key { [ c, C, NoSymbol, copyright ] }; + key { [ v, V, NoSymbol, squareroot ] }; + key { [ b, B, NoSymbol, NoSymbol ] }; + key { [ n, N, singlelowquotemark, doublelowquotemark]}; + key { [ m, M, NoSymbol, NoSymbol ] }; + key { [ comma, question, less, lessthanequal] }; + key { [ period, colon, greater, greaterthanequal]}; + key { [ minus, underscore, endash, emdash ] }; + + key { [ space, space, nobreakspace, nobreakspace ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys alternate_group +xkb_symbols "ucw" { + + // This layout is usually used as the second group, + // it contains accented characters only, no 'latin' set. + // 2008 by Milan Vancura + + name[Group1]= "Czech (UCW, only accented letters)"; + + key { [zcaron, Zcaron ] }; + key { [ssharp, U1E9E ] }; + key { [ccaron, Ccaron ] }; + key { [ccedilla, Ccedilla ] }; + key { [ntilde, Ntilde ] }; + key { [ncaron, Ncaron ] }; + key { [lacute, Lacute ] }; + + key { [aacute, Aacute ] }; + key { [scaron, Scaron ] }; + key { [dcaron, Dcaron ] }; + key { [ediaeresis, Ediaeresis ] }; + key { [racute, Racute ] }; + key { [uacute, Uacute ] }; + key { [udiaeresis, Udiaeresis ] }; + key { [ocircumflex, Ocircumflex ] }; + key { [lcaron, Lcaron ] }; + + key { [adiaeresis, Adiaeresis ] }; + key { [ecaron, Ecaron ] }; + key { [eacute, Eacute ] }; + key { [rcaron, Rcaron ] }; + key { [tcaron, Tcaron ] }; + key { [yacute, Yacute ] }; + key { [uring, Uring ] }; + key { [iacute, Iacute ] }; + key { [oacute, Oacute ] }; + key { [odiaeresis, Odiaeresis ] }; +}; + +partial alphanumeric_keys +xkb_symbols "dvorak-ucw" { + + // US Dvorak layout extended with UCW, + // AltGr produces accented characters. + + include "us(dvorak)" + name[Group1]= "Czech (US, Dvorak, UCW support)"; + + key { [ j, J, eacute, Eacute ] }; + key { [ k, K, uacute, Uacute ] }; + key { [ z, Z, zcaron, Zcaron ] }; + + key { [ a, A, aacute, Aacute ] }; + key { [ o, O, oacute, Oacute ] }; + key { [ e, E, ecaron, Ecaron ] }; + key { [ u, U, uring, Uring ] }; + key { [ i, I, iacute, Iacute ] }; + key { [ d, D, dcaron, Dcaron ] }; + key { [ t, T, tcaron, Tcaron ] }; + key { [ n, N, ncaron, Ncaron ] }; + key { [ s, S, scaron, Scaron ] }; + + key { [ y, Y, yacute, Yacute ] }; + key { [ c, C, ccaron, Ccaron ] }; + key { [ r, R, rcaron, Rcaron ] }; + + include "level3(ralt_switch)" +}; + +// phonetic layout for Russian letters on an CZ (QWERTY) keyboard +// originaly created by Pavel Sorejs + +partial alphanumeric_keys +xkb_symbols "rus" { + + include "cz(qwerty)" + name[Group1]= "Russian (Czech, phonetic)"; + + key { [ plus, ampersand, 1 , 1 ] }; + key { [ Cyrillic_hardsign, 2, 2 , 2 ] }; + key { [ Cyrillic_sha, Cyrillic_SHA, 3 , 3 ] }; + key { [ Cyrillic_che, Cyrillic_CHE, 4 , 4 ] }; + key { [ Cyrillic_shcha, Cyrillic_SHCHA, 5 , 5 ] }; + key { [ Cyrillic_zhe, Cyrillic_ZHE, 6 , 6 ] }; + key { [ quotedbl, 4, 7 , 7 ] }; + key { [ section, 5, 8 , 8 ] }; + key { [ dollar, 6, 9 , 9 ] }; + key { [ equal, 7, 0 , 0 ] }; + key { [ percent, 8 ] }; + key { [ apostrophe, 9 ] }; + + key { [ comma, question ] }; + key { [ period, exclam ] }; + key { [ minus, slash ] }; + + key { [ semicolon, colon ] }; + + key { [ bar, brokenbar ] }; + + key { [ Cyrillic_io, Cyrillic_IO ] }; + + + key { [ numerosign, 1, q, Q ] }; + key { [ Cyrillic_yu, Cyrillic_YU, w, W ] }; + key { [ Cyrillic_ie, Cyrillic_IE, e, E ] }; + key { [ Cyrillic_er, Cyrillic_ER, r, R ] }; + key { [ Cyrillic_te, Cyrillic_TE, t, T ] }; + key { [ Cyrillic_yeru, Cyrillic_YERU, y, Y ] }; + key { [ Cyrillic_u, Cyrillic_U, u, U ] }; + key { [ Cyrillic_i, Cyrillic_I, i, I ] }; + key { [ Cyrillic_o, Cyrillic_O, o, O ] }; + key { [ Cyrillic_pe, Cyrillic_PE, p, P ] }; + key { [ Cyrillic_e, Cyrillic_E, bracketleft, division ] }; + key { [ parenright, parenleft, bracketright, multiply ] }; + + key { [ Cyrillic_a, Cyrillic_A, a, A ] }; + key { [ Cyrillic_es, Cyrillic_ES, s, S ] }; + key { [ Cyrillic_de, Cyrillic_DE, d, D ] }; + key { [ Cyrillic_ef, Cyrillic_EF, f, F ] }; + key { [ Cyrillic_ghe, Cyrillic_GHE, g, G ] }; + key { [ Cyrillic_ha, Cyrillic_HA, h, H ] }; + key { [ Cyrillic_shorti, Cyrillic_SHORTI, j, J ] }; + key { [ Cyrillic_ka, Cyrillic_KA, k, K ] }; + key { [ Cyrillic_el, Cyrillic_EL, l, L ] }; + key { [ Cyrillic_softsign, Cyrillic_SOFTSIGN, less, greater ] }; + + key { [ Cyrillic_ze, Cyrillic_ZE, z, Z ] }; + key { [ Cyrillic_ya, Cyrillic_YA, x, X ] }; + key { [ Cyrillic_tse, Cyrillic_TSE, c, C ] }; + key { [ Cyrillic_ve, Cyrillic_VE, v, V ] }; + key { [ Cyrillic_be, Cyrillic_BE, b, B ] }; + key { [ Cyrillic_en, Cyrillic_EN, n, N ] }; + key { [ Cyrillic_em, Cyrillic_EM, m, M ] }; + + key { [ backslash, brokenbar ] }; + + include "level3(ralt_switch)" +}; + +// EXTRAS: + +partial alphanumeric_keys + xkb_symbols "sun_type6" { + include "sun_vndr/cz(sun_type6)" +}; + +xkb_symbols "prog" { + // cz-prog 1.0 2019-05-15 by Viktor Grešák and Tomáš Hudec + // + // Programmer keyboard. Based on the US layout with accented Czech letters and dead keys. + // Using AltGr and a key from the 1st row generates original level 2 US key as level 3 except TLDE and AE12. + // Using AltGr+Shift on accented letters generates its uppercase variant. + // Using AltGr or AltGr+Shift on letters which have accent in Czech but are not on the 1st row directly accessible generate accented letters, + // i.e. [d, D], [t, T], [n, N], [o, O] generate with AltGr and AltGr+Shift: [dcaron, Dcaron], [tcaron, Tcaron], [ncaron, Ncaron], [oacute, Oacute]. + // Other Czech letters besides alphanumeric keys (like uacute, uring) are generated using AltGr. + + name[Group1]="Czech (programming)"; + + key { [ z, Z ] }; + key { [ x, X ] }; + key { [ c, C ] }; + key { [ v, V ] }; + key { [ b, B ] }; + key { [ n, N, ncaron, Ncaron ] }; + key { [ m, M ] }; + key { [ comma, less, multiply ] }; + key { [ period, greater, division ] }; + key { [ slash, question, dead_abovedot ] }; + key { [ a, A ] }; + key { [ s, S ] }; + key { [ d, D, dcaron, Dcaron ] }; + key { [ f, F ] }; + key { [ g, G ] }; + key { [ h, H ] }; + key { [ j, J ] }; + key { [ k, K ] }; + key { [ l, L ] }; + key { [ semicolon, colon, uring, Uring ] }; + key { [ apostrophe, quotedbl, section ] }; + key { [ q, Q ] }; + key { [ w, W ] }; + key { [ e, E ] }; + key { [ r, R ] }; + key { [ t, T, tcaron, Tcaron ] }; + key { [ y, Y ] }; + key { [ u, U ] }; + key { [ i, I ] }; + key { [ o, O, oacute, Oacute ] }; + key { [ p, P ] }; + key { [ bracketleft, braceleft, uacute, Uacute ] }; + key { [ bracketright, braceright ] }; + key { [ plus, 1, exclam, NoSymbol ] }; + key { [ ecaron, 2, at, Ecaron ] }; + key { [ scaron, 3, numbersign, Scaron ] }; + key { [ ccaron, 4, dollar, Ccaron ] }; + key { [ rcaron, 5, percent, Rcaron ] }; + key { [ zcaron, 6, asciicircum, Zcaron ] }; + key { [ yacute, 7, ampersand, Yacute ] }; + key { [ aacute, 8, asterisk, Aacute ] }; + key { [ iacute, 9, parenleft, Iacute ] }; + key { [ eacute, 0, parenright, Eacute ] }; + key { [ equal, minus, underscore, U2212 ] }; + key { [ dead_acute, dead_caron, plusminus, notequal ] }; + key { [ backslash, bar, dead_diaeresis ] }; + key { [ BackSpace, BackSpace ] }; + key { [ Caps_Lock ] }; + key { [ Menu, Multi_key ] }; + key { [ Alt_L, Meta_L ] }; + key { [ Control_L ] }; + key { [ Shift_L ] }; + key { [ Super_L ] }; + key { [ ISO_Level3_Shift ] }; + key { [ Control_R ] }; + key { [ Return ] }; + key { [ Shift_R ] }; + key { [ Super_R ] }; + key { [ space ] }; + key { [ Tab, ISO_Left_Tab ] }; + key { [ grave, asciitilde ] }; + + include "level3(ralt_switch)" +}; + +xkb_symbols "typo" { + // cz-typo 1.0 2019-05-15 by Viktor Grešák and Tomáš Hudec + // + // Contains typographic symbols in third and fourth level. + // It is intended to be used in conjuction with other existing layout, e.g. setxkbmap -symbols "pc+cz(basic)+cz(typo)+inet(evdev)" + + name[Group1]="Czech (typographic)"; + + key { [ NoSymbol, NoSymbol, degree, U2300 ] }; + key { [ NoSymbol, NoSymbol, multiply, U22C5 ] }; + key { [ NoSymbol, NoSymbol, ampersand, copyright ] }; + key { [ NoSymbol, NoSymbol, at, ordfeminine ] }; + key { [ NoSymbol, NoSymbol, enfilledcircbullet, enopencircbullet ] }; + key { [ NoSymbol, NoSymbol, U203A, U2039 ] }; + key { [ NoSymbol, NoSymbol, doublelowquotemark, leftdoublequotemark ] }; + key { [ NoSymbol, NoSymbol, ellipsis, rightdoublequotemark ] }; + key { [ NoSymbol, NoSymbol, endash, emdash ] }; + key { [ NoSymbol, NoSymbol, UFB00, UFB05 ] }; + key { [ NoSymbol, NoSymbol, U2010, U2011 ] }; + key { [ NoSymbol, NoSymbol, guillemotright, guillemotleft ] }; + key { [ NoSymbol, NoSymbol, dagger, doubledagger ] }; + key { [ NoSymbol, NoSymbol, UFB02, UFB04 ] }; + key { [ NoSymbol, NoSymbol, NoSymbol, UFB03 ] }; + key { [ NoSymbol, NoSymbol, U2030, registered ] }; + key { [ NoSymbol, NoSymbol, leftarrow ] }; + key { [ NoSymbol, NoSymbol, downarrow, uparrow ] }; + key { [ NoSymbol, NoSymbol, rightarrow, UFB01 ] }; + key { [ NoSymbol, NoSymbol, minutes, seconds ] }; + key { [ NoSymbol, NoSymbol, NoSymbol, rightsinglequotemark ] }; + key { [ NoSymbol, NoSymbol, underscore, U2212 ] }; + key { [ space, space, space, nobreakspace ] }; + key { [ NoSymbol, NoSymbol, singlelowquotemark, leftsinglequotemark ] }; +}; + +xkb_symbols "coder" { + + // US layout with Czech chars under AltGr + // for touch-typing programmers who need to write Czech occasionally + // https://github.com/michalkahle/czech-coder-xkb + + include "us" + name[Group1]= "Czech (coder)"; + + key {[ grave, asciitilde, semicolon, dead_abovering ]}; + key {[ 2, at, ecaron, Ecaron ]}; + key {[ 3, numbersign, scaron, Scaron ]}; + key {[ 4, dollar, ccaron, Ccaron ]}; + key {[ 5, percent, rcaron, Rcaron ]}; + key {[ 6, asciicircum, zcaron, Zcaron ]}; + key {[ 7, ampersand, yacute, Yacute ]}; + key {[ 8, asterisk, aacute, Aacute ]}; + key {[ 9, parenleft, iacute, Iacute ]}; + key {[ 0, parenright, eacute, Eacute ]}; + key {[ equal, plus, dead_acute, dead_caron ]}; + + key {[ e, E, e, EuroSign ]}; + key {[ bracketleft, braceleft, uacute, Uacute ]}; + + key {[ semicolon, colon, uring, Uring ]}; + key {[ apostrophe, quotedbl, section, quotedbl ]}; + key {[ backslash, bar, dead_diaeresis, apostrophe ]}; + + include "level3(ralt_switch)" +}; + +xkb_symbols "prog_typo" { + // cz-prog-typo 1.0 2019-06-17 by Viktor Grešák and Tomáš Hudec + // + // Programmer + Typographic keyboard. Based on the US layout with accented Czech letters and dead keys. + // Using AltGr and a key from the 1st row generates original level 2 US key as level 3 except TLDE and AE12. + // Using AltGr+Shift on accented letters generates its uppercase variant. + // Using AltGr or AltGr+Shift on letters which have accent in Czech but are not on the 1st row directly accessible generate accented letters, + // i.e. [d, D], [t, T], [n, N], [o, O] generate with AltGr and AltGr+Shift: [dcaron, Dcaron], [tcaron, Tcaron], [ncaron, Ncaron], [oacute, Oacute]. + // Other Czech letters besides alphanumeric keys (like uacute, uring) are generated using AltGr. + // + // Contains typographic symbols in third and fourth level. + + include "cz(prog)" + include "cz(typo)" + + name[Group1]="Czech (programming, typographic)"; +}; diff --git a/xkbdata/symbols/de b/xkbdata/symbols/de new file mode 100644 index 0000000..01d8e7a --- /dev/null +++ b/xkbdata/symbols/de @@ -0,0 +1,1200 @@ +default +xkb_symbols "basic" { + + include "latin(type4)" + + name[Group1]="German"; + + key { [ 2, quotedbl, twosuperior, oneeighth ] }; + key { [ 3, section, threesuperior, sterling ] }; + key { [ 4, dollar, onequarter, currency ] }; + + key {type[Group1]="FOUR_LEVEL_PLUS_LOCK", symbols[Group1]= + [ssharp, question, backslash, questiondown, 0x1001E9E ]}; + key { [dead_acute, dead_grave, dead_cedilla, dead_ogonek ] }; + + key { [ e, E, EuroSign, EuroSign ] }; + key { [ z, Z, leftarrow, yen ] }; + key { [udiaeresis, Udiaeresis, dead_diaeresis, dead_abovering ] }; + key { [ plus, asterisk, asciitilde, macron ] }; + + key { [ s, S, U017F, U1E9E ] }; + key { [ j, J, dead_belowdot, dead_abovedot ] }; + key { [odiaeresis, Odiaeresis, dead_doubleacute, dead_belowdot ] }; + key { [adiaeresis, Adiaeresis, dead_circumflex, dead_caron ] }; + key { [dead_circumflex, degree, U2032, U2033 ] }; + + key { [numbersign, apostrophe, rightsinglequotemark, dead_breve ] }; + key { [ y, Y, guillemotright, U203A ] }; + key { [ x, X, guillemotleft, U2039 ] }; + key { [ comma, semicolon, periodcentered, multiply ] }; + key { [ period, colon, U2026, division ] }; + key { [ minus, underscore, endash, emdash ] }; + key { [ less, greater, bar, dead_belowmacron ] }; + + include "kpdl(comma)" + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "deadtilde" { + // previous standard German layout with tilde as dead key + + include "de(basic)" + name[Group1]="German (dead tilde)"; + + key { [ plus, asterisk, dead_tilde, dead_macron ] }; +}; + +partial alphanumeric_keys +xkb_symbols "nodeadkeys" { + + // modify the basic German layout to not have any dead keys + + include "de(basic)" + name[Group1]="German (no dead keys)"; + + key { [asciicircum, degree, notsign, notsign ] }; + key { [ acute, grave, cedilla, cedilla ] }; + key { [ udiaeresis, Udiaeresis, diaeresis, diaeresis ] }; + key { [ plus, asterisk, asciitilde, macron ] }; + key { [ odiaeresis, Odiaeresis, doubleacute, doubleacute ] }; + key { [ adiaeresis, Adiaeresis, asciicircum, asciicircum ] }; + key { [ numbersign, apostrophe, rightsinglequotemark, grave ] }; +}; + +partial alphanumeric_keys +xkb_symbols "deadgraveacute" { + // modify the basic German layout to have only acute and grave + // as dead keys (tilde and circumflex are needed as spacing characters + // in many programming languages) + + include "de(basic)" + name[Group1]="German (dead grave acute)"; + + key { [asciicircum, degree, notsign, notsign ] }; + key { [ plus, asterisk, asciitilde, dead_macron ] }; + key { [ numbersign, apostrophe, rightsinglequotemark, grave ] }; +}; + +partial alphanumeric_keys +xkb_symbols "deadacute" { + // modify the basic German layout to have only acute as + // dead keys (ASCII grave, tilde and circumflex are needed as + // spacing characters in many programming languages and text formatters) + + include "de(deadgraveacute)" + + name[Group1]="German (dead acute)"; + + key { [dead_acute, grave, dead_cedilla, dead_ogonek ] }; + key { [numbersign, apostrophe, rightsinglequotemark, dead_grave ] }; +}; + +partial alphanumeric_keys +xkb_symbols "e1" { + // German extended layout E1 based on DIN 2137-1:2020-11 + // Designed for a 105-key keyboard + // https://de.wikipedia.org/wiki/Tastaturbelegung + + name[Group1]="German (E1)"; + + // first row + key.type[Group1] = "EIGHT_LEVEL"; + key { [ dead_circumflex, degree, multiply, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ] }; + key { [ 1, exclam, rightsinglequotemark, NoSymbol, onequarter, U25CA, NoSymbol, NoSymbol ] }; + key { [ 2, quotedbl, twosuperior, NoSymbol, onehalf, U00A6, NoSymbol, NoSymbol ] }; + key { [ 3, section, threesuperior, NoSymbol, threequarters, U00B6, NoSymbol, NoSymbol ] }; + key { [ 4, dollar, emdash, NoSymbol, currency, U2133, NoSymbol, NoSymbol ] }; + key { [ 5, percent, exclamdown, NoSymbol, U2030, U20B0, NoSymbol, NoSymbol ] }; + key { [ 6, ampersand, questiondown, NoSymbol, U2044, U204A, NoSymbol, NoSymbol ] }; + key { [ 7, slash, braceleft, NoSymbol, U2300, U2116, NoSymbol, NoSymbol ] }; + key { [ 8, parenleft, bracketleft, NoSymbol, U27E8, U27EA, NoSymbol, NoSymbol ] }; + key { [ 9, parenright, bracketright, NoSymbol, U27E9, U27EB, NoSymbol, NoSymbol ] }; + key { [ 0, equal, braceright, NoSymbol, division, U2205, NoSymbol, NoSymbol ] }; + key { [ ssharp, question, backslash, NoSymbol, notequal, U00AC, NoSymbol, NoSymbol ] }; + key { [ dead_acute, dead_grave, dead_abovedot, NoSymbol, sterling, U035C, NoSymbol, NoSymbol ] }; + + // second row + key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC"; + key { [ q, Q, at, NoSymbol, masculine, U2642, NoSymbol, NoSymbol ] }; + key { [ w, W, dead_macron, NoSymbol, ordfeminine, U2640, NoSymbol, NoSymbol ] }; + key { [ e, E, EuroSign, NoSymbol, schwa, SCHWA, NoSymbol, NoSymbol ] }; + key { [ r, R, dead_doubleacute, NoSymbol, trademark, registered, NoSymbol, NoSymbol ] }; + key { [ t, T, dead_caron, NoSymbol, thorn, THORN, NoSymbol, NoSymbol ] }; + key { [ z, Z, dead_diaeresis, NoSymbol, U0292, U01B7, NoSymbol, NoSymbol ] }; + key { [ u, U, dead_breve, NoSymbol, rightarrow, leftarrow, NoSymbol, NoSymbol ] }; + key { [ i, I, dead_tilde, NoSymbol, idotless, U26A5, NoSymbol, NoSymbol ] }; + key { [ o, O, dead_abovering, NoSymbol, oslash, Oslash, NoSymbol, NoSymbol ] }; + key { [ p, P, dead_hook, NoSymbol, downarrow, uparrow, NoSymbol, NoSymbol ] }; + key { [ udiaeresis, Udiaeresis, dead_horn, NoSymbol, U2198, U2197, NoSymbol, NoSymbol ] }; + key.type[Group1] = "EIGHT_LEVEL"; + key { [ plus, asterisk, asciitilde, NoSymbol, plusminus, U2052, NoSymbol, NoSymbol ] }; + + // third row + key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC"; + // Per DIN 2137-1:2018-12, p. 11-12, (Alt)Gr+a can either invoke + // a selection possibility for emojis or special characters, or + // output the U+263A smiley. + key { [ a, A, Multi_key, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ] }; + key { [ s, S, seconds, NoSymbol, U017F, U2211, NoSymbol, NoSymbol ] }; + key { [ d, D, minutes, NoSymbol, eth, ETH, NoSymbol, NoSymbol ] }; + key { [ f, F, ISO_Level5_Latch, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ] }; + key { [ g, G, U1E9E, NoSymbol, U02BF, U261B, NoSymbol, NoSymbol ] }; + key { [ h, H, dead_belowmacron, NoSymbol, U02BE, U261A, NoSymbol, NoSymbol ] }; + key { [ j, J, dead_cedilla, NoSymbol, U02B9, U02BA, NoSymbol, NoSymbol ] }; + key { [ k, K, dead_belowcomma, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ] }; + key { [ l, L, dead_ogonek, NoSymbol, lstroke, Lstroke, NoSymbol, NoSymbol ] }; + key { [ odiaeresis, Odiaeresis, dead_belowdot, NoSymbol, oe, OE, NoSymbol, NoSymbol ] }; + key { [ adiaeresis, Adiaeresis, dead_stroke, NoSymbol, ae, AE, NoSymbol, NoSymbol ] }; + key.type[Group1] = "EIGHT_LEVEL"; + key { [ numbersign, apostrophe, U2212, NoSymbol, U2020, U2021, NoSymbol, NoSymbol ] }; + + // fourth row + key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC"; + key { [ y, Y, U203A, NoSymbol, U2423, U23D1, NoSymbol, NoSymbol ] }; + key { [ x, X, guillemotright, NoSymbol, doublelowquotemark, singlelowquotemark, NoSymbol, NoSymbol ] }; + key { [ c, C, U202F, NoSymbol, cent, copyright, NoSymbol, NoSymbol ] }; + key { [ v, V, guillemotleft, NoSymbol, leftdoublequotemark, leftsinglequotemark, NoSymbol, NoSymbol ] }; + key { [ b, B, U2039, NoSymbol, rightdoublequotemark, rightsinglequotemark, NoSymbol, NoSymbol ] }; + key { [ n, N, endash, NoSymbol, eng, ENG, NoSymbol, NoSymbol ] }; + // Per DIN 2137-1:2018-12, p. 12, U+2217 should be replaced by the + // 'middle asterisk' character as soon as it has been added to + // Unicode (see Unicode proposal L2/17-152). + key { [ m, M, mu, NoSymbol, U200C, U2217, NoSymbol, NoSymbol ] }; + key.type[Group1] = "EIGHT_LEVEL"; + key { [ comma, semicolon, U2011, NoSymbol, U02BB, U2661, NoSymbol, NoSymbol ] }; + key { [ period, colon, periodcentered, NoSymbol, ellipsis, U2713, NoSymbol, NoSymbol ] }; + key { [ minus, underscore, hyphen, NoSymbol, U2022, U25E6, NoSymbol, NoSymbol ] }; + + // fifth row + key.type[Group1] = "EIGHT_LEVEL"; + key { [ space, space, nobreakspace, NoSymbol, U200A, U2009, NoSymbol, NoSymbol ] }; + key.type[Group1] = "ONE_LEVEL"; + key { [ Shift_L ] }; + key { [ Shift_R ] }; + key { [ ISO_Level3_Shift ] }; + + // key exists only on the 105-key keyboard + key.type[Group1] = "EIGHT_LEVEL"; + key { [ less, greater, bar, NoSymbol, lessthanequal, greaterthanequal, NoSymbol, NoSymbol ] }; + + include "kpdl(comma)" + include "level3(modifier_mapping)" + include "level5(modifier_mapping)" + }; + +partial alphanumeric_keys +xkb_symbols "e2" { + // German extended layout E2 based on DIN 2137-1:2020-11 + // Designed for a 104-key keyboard + // https://de.wikipedia.org/wiki/Tastaturbelegung + + include "de(e1)" + name[Group1]="German (E2)"; + + // one key less: assign bar, less and greater to other keys + key.type[Group1] = "EIGHT_LEVEL"; + key { [ dead_circumflex, degree, bar, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ] }; + key { [ 2, quotedbl, less, NoSymbol, onehalf, U00A6, NoSymbol, NoSymbol ] }; + key { [ 3, section, greater, NoSymbol, threequarters, U00B6, NoSymbol, NoSymbol ] }; + key { [ plus, asterisk, asciitilde, NoSymbol, multiply, U2052, NoSymbol, NoSymbol ] }; + + // if E2 is used on a 105-key keyboard + key.type[Group1] = "ONE_LEVEL"; + key { [ ISO_Level3_Shift ] }; +}; + +partial alphanumeric_keys +xkb_symbols "T3" { + // German extended layout T3 based on DIN 2137-1:2012-06 + // Now obsolete, use de(e1) or de(e2) + + name[Group1]="German (T3)"; + + key.type[Group1] = "EIGHT_LEVEL"; + key { [ dead_circumflex, degree, multiply, NoSymbol, U204A, hyphen, bar, NoSymbol ] }; + key { [ 1, exclam, rightsinglequotemark, NoSymbol, onesuperior, exclamdown, U02B9, NoSymbol ] }; + key { [ 2, quotedbl, twosuperior, NoSymbol, twosuperior, currency, U02BA, NoSymbol ] }; + key { [ 3, section, threesuperior, NoSymbol, threesuperior, sterling, U02BF, NoSymbol ] }; + key { [ 4, dollar, emdash, NoSymbol, onequarter, 0x20AC, U02BE, NoSymbol ] }; + key { [ 5, percent, exclamdown, NoSymbol, onehalf, uparrow, U02C1, NoSymbol ] }; + key { [ 6, ampersand, questiondown, NoSymbol, threequarters, downarrow, U02C0, NoSymbol ] }; + key { [ 7, slash, braceleft, NoSymbol, oneeighth, leftarrow, braceleft, NoSymbol ] }; + key { [ 8, parenleft, bracketleft, NoSymbol, threeeighths, rightarrow, braceright, NoSymbol ] }; + key { [ 9, parenright, bracketright, NoSymbol, fiveeighths, plusminus, bracketleft, NoSymbol ] }; + key { [ 0, equal, braceright, NoSymbol, seveneighths, trademark, bracketright, NoSymbol ] }; + key { [ ssharp, question, backslash, NoSymbol, backslash, questiondown, U02BB, NoSymbol ] }; + key { [ dead_acute, dead_grave, dead_abovedot, NoSymbol, dead_cedilla, dead_ogonek, notsign, NoSymbol ] }; + + key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC"; + key { [ q, Q, at, NoSymbol, U0242, U0241, U030D, NoSymbol ] }; + key { [ w, W, dead_caron, NoSymbol, U02B7, U2126, dead_abovedot, NoSymbol ] }; + key { [ e, E, EuroSign, NoSymbol, oe, OE, dead_breve, NoSymbol ] }; + key { [ r, R, dead_diaeresis, NoSymbol, paragraph, registered, dead_circumflex, NoSymbol ] }; + key { [ t, T, dead_macron, NoSymbol, UA78C, UA78B, dead_diaeresis, NoSymbol ] }; + key { [ z, Z, dead_doubleacute, NoSymbol, U027C, yen, dead_invertedbreve, NoSymbol ] }; + key { [ u, U, dead_breve, NoSymbol, U0223, U0222, dead_caron, NoSymbol ] }; + key { [ i, I, dead_tilde, NoSymbol, idotless, U214D, dead_abovecomma, NoSymbol ] }; + key { [ o, O, dead_abovering, NoSymbol, oslash, Oslash, dead_horn, NoSymbol ] }; + key { [ p, P, dead_hook, NoSymbol, thorn, THORN, dead_hook, NoSymbol ] }; + key { [ udiaeresis, Udiaeresis, dead_horn, NoSymbol, U017F, dead_abovering, dead_grave, NoSymbol ] }; + key.type[Group1] = "EIGHT_LEVEL"; + key { [ plus, asterisk, asciitilde, NoSymbol, dead_tilde, dead_macron, at, NoSymbol ] }; + + key.type[Group1] = "ONE_LEVEL"; + key { [ Caps_Lock ] }; + key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC"; + key { [ a, A, lessthanequal, NoSymbol, ae, AE, U0329, NoSymbol ] }; + key { [ s, S, greaterthanequal, NoSymbol, ssharp, section, dead_belowdot, NoSymbol ] }; + key { [ d, D, U2300, NoSymbol, eth, ETH, dead_belowbreve, NoSymbol ] }; + key { [ f, F, minutes, NoSymbol, U0294, ordfeminine, dead_belowcircumflex, NoSymbol ] }; + key { [ g, G, seconds, NoSymbol, eng, ENG, dead_belowmacron, NoSymbol ] }; + key { [ h, H, U1E9E, NoSymbol, U0272, U019D, U0332, NoSymbol ] }; + key { [ j, J, dead_cedilla, NoSymbol, U0133, U0132, dead_belowring, NoSymbol ] }; + key { [ k, K, dead_belowcomma, NoSymbol, kra, dead_belowcomma, dead_stroke, NoSymbol ] }; + key { [ l, L, dead_ogonek, NoSymbol, lstroke, Lstroke, U0338, NoSymbol ] }; + key { [ odiaeresis, Odiaeresis, dead_belowdot, NoSymbol, dead_acute, dead_doubleacute, degree, NoSymbol ] }; + key { [ adiaeresis, Adiaeresis, dead_stroke, NoSymbol, U019B, U1E9E, minutes, NoSymbol ] }; + key.type[Group1] = "EIGHT_LEVEL"; + key { [ numbersign, apostrophe, registered, NoSymbol, schwa, SCHWA, seconds, NoSymbol ] }; + + key { [ less, greater, bar, NoSymbol, U0149, brokenbar, U266A, NoSymbol ] }; + key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC"; + key { [ y, Y, U203A, NoSymbol, U0292, U01B7, guillemotleft, NoSymbol ] }; + key { [ x, X, guillemotright, NoSymbol, doublelowquotemark, singlelowquotemark, guillemotright, NoSymbol ] }; + key { [ c, C, copyright, NoSymbol, cent, copyright, Greek_horizbar, NoSymbol ] }; + key { [ v, V, guillemotleft, NoSymbol, leftdoublequotemark, leftsinglequotemark, U2039, NoSymbol ] }; + key { [ b, B, U2039, NoSymbol, rightdoublequotemark, rightsinglequotemark, U203A, NoSymbol ] }; + key { [ n, N, endash, NoSymbol, U019E, U0220, endash, NoSymbol ] }; + key { [ m, M, mu, NoSymbol, mu, masculine, emdash, NoSymbol ] }; + key.type[Group1] = "EIGHT_LEVEL"; + key { [ comma, semicolon, U02BB, NoSymbol, ellipsis, multiply, dollar, NoSymbol ] }; + key { [ period, colon, U200C, NoSymbol, periodcentered, division, numbersign, NoSymbol ] }; + key { [ minus, underscore, hyphen, NoSymbol, U0140, U013F, U2011, NoSymbol ] }; + + key { [ space, space, nobreakspace, NoSymbol, U202F, U200C, nobreakspace, NoSymbol ] }; + + include "kpdl(comma)" + + include "level5(modifier_mapping)" + include "level3(modifier_mapping)" + key.type[Group1] = "THREE_LEVEL"; + key { [ Shift_L, Shift_L, ISO_Level5_Latch ] }; + key { [ Shift_R, Shift_R, ISO_Level5_Latch ] }; + key { [ ISO_Level3_Shift, ISO_Level5_Latch, ISO_Level5_Latch ] }; + }; + +partial alphanumeric_keys +xkb_symbols "ro" { + // Adds Romanian-specific letters to the German basic layout. + // Romanian symbols are accessible by combining and + // 'a', 's', 't', 'i', 'ä (ä)' (+ for capital letters). + + include "de(basic)" + + name[Group1]="Romanian (Germany)"; + + key { [ t, T, U021b, U021a ] }; + key { [ i, I, icircumflex, Icircumflex ] }; + key { [ a, A, acircumflex, Acircumflex ] }; + key { [ s, S, U0219, U0218 ] }; + key { [ adiaeresis, Adiaeresis, abreve, Abreve ] }; +}; + +partial alphanumeric_keys +xkb_symbols "ro_nodeadkeys" { + // Adds Romanian-specific letters to the German nodeadkeys layout. + // Read the comment for de_ro ! + + include "de(nodeadkeys)" + name[Group1]="Romanian (Germany, no dead keys)"; + + key { [ t, T, U021b, U021a ] }; + key { [ i, I, icircumflex, Icircumflex ] }; + key { [ a, A, acircumflex, Acircumflex ] }; + key { [ s, S, U0219, U0218 ] }; + key { [ adiaeresis, Adiaeresis, abreve, Abreve ] }; +}; + +// German Dvorak keymap by Thorsten Staerk (www.staerk.de/thorsten) +// Have acute and grave as dead keys, tilde and circumflex alive as they are needed +// in many programming languages. +// to use this keymap, use a 105-key-keyboard and the command setxkbmap -model pc105 -layout dvorak -variant de +// source: http://www-lehre.informatik.uni-osnabrueck.de/~rfreund/dvorak.php +partial alphanumeric_keys +xkb_symbols "dvorak" { + include "us(dvorak)" + + name[Group1]="German (Dvorak)"; + + key { [ asciicircum, degree ] }; + + key { [ 1, exclam, onesuperior ] }; + key { [ 2, quotedbl, twosuperior ] }; + key { [ 3, section, threesuperior ] }; + key { [ 4, dollar, bar ] }; + key { [ 5, percent, bar ] }; + key { [ 6, ampersand, brokenbar ] }; + key { [ 7, slash, braceleft ] }; + key { [ 8, parenleft, bracketleft ] }; + key { [ 9, parenright, bracketright ] }; + key { [ 0, equal, braceright ] }; + key { [ plus, asterisk, asciitilde ] }; + key { [ less, greater, dead_grave ] }; + + key { [ udiaeresis, Udiaeresis, at ] }; + key { [ comma, semicolon, dead_diaeresis ] }; + key { [ period, colon ] }; + key { [ c, C, copyright, Cacute ] }; + key { [ t, T, trademark ] }; + key { [ z, Z, zabovedot, Zabovedot ] }; + key { [ question, ssharp ] }; + key { [ slash, backslash, dead_acute ] }; + + key { [ a, A, at, aogonek ] }; + key { [ o, O, oacute, Oacute ] }; + key { [ e, E, EuroSign, eogonek ] }; + key { [ i, I ] }; + key { [ u, U ] }; + key { [ h, H ] }; + key { [ d, D ] }; + key { [ r, R, registered ] }; + key { [ n, N, nacute, Nacute ] }; + key { [ s, S, sacute, Sacute] }; + key { [ l, L, lstroke, Lstroke ] }; + + key { [ odiaeresis, Odiaeresis ] }; + key { [ q, Q, at ] }; + key { [ m, M, mu ] }; + key { [ numbersign, apostrophe ] }; + + key { [ minus, underscore, hyphen, diaeresis] }; + + key { [ adiaeresis, Adiaeresis, bar ] }; + + include "level3(ralt_switch)" +}; + + +// German Neo-Layout Version 2 +// adopted 2004 by Hanno Behrens +// inspired by Dvorak/de-ergo http://www.goebel-consult.de/de-ergo/ +// +// Authors: +// Stephan Hilb +// +// Benjamin Kellermann +// Erik Streb +// and many other contributors +// +// http://www.neo-layout.org +// +// $Revision$, $Date$ + +partial alphanumeric_keys modifier_keys keypad_keys +xkb_symbols "neo_base" { + + // Levels in Neo jargon + // -------------------------------------------------------------- + // Ebene 1: normal + // Ebene 2: Shift + // Ebene 3: Mod3 + // Ebene 4: Mod4 (for marking something use Shift + Mod4) + // Ebene 5: Shift + Mod3 + // Ebene 6: Mod3 + Mod4 + // Compose (not a level): Mod3 + Tab + // Feststelltaste (Capslock): Shift + Shift + // Mod4-Lock: Mod4 + Mod4 + // Mod4-Lock: Shift + Mod3 + Tab + + // Legend + // =============== + // Levels in Xkbmap jargon to be found here in the definitions. + // These are the levels used, and Xorg's translations: + // -------------------------------------------------------------- + // Xorg: Level1 Level2 Level3 Level4 Level5 Level6 Level7 Level8 + // Neo: Ebene1 Ebene2 Ebene3 Ebene5 Ebene4 Pseudo-Ebene Ebene6 ??? + // Keys (Neo): None Shift Mod3 Mod3 + Shift Mod4 Mod4 + Shift Mod3 + Mod4 Mod3 + Mod4 + Shift + + + // Alphanumeric-keys + // =============== + key.type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK"; + + // Tab as Multi_key (Compose) + // -------------------------------------------------------------- + key { [ Tab, ISO_Left_Tab, Multi_key, ISO_Level5_Lock, NoSymbol, NoSymbol, NoSymbol, ISO_Level5_Lock ] }; + + + // Number row + // -------------------------------------------------------------- + key { [ dead_circumflex, dead_caron, U21BB, U02DE, dead_abovedot, Pointer_EnableKeys, dead_belowdot, NoSymbol ] }; + + key { [ 1, degree, onesuperior, onesubscript, ordfeminine, NoSymbol, notsign, NoSymbol ] }; + key { [ 2, section, twosuperior, twosubscript, masculine, NoSymbol, logicalor, NoSymbol ] }; + key { [ 3, U2113, threesuperior, threesubscript, numerosign, NoSymbol, logicaland, NoSymbol ] }; + key { [ 4, guillemotright, U203A, femalesymbol, NoSymbol, NoSymbol, U22A5, NoSymbol ] }; + key { [ 5, guillemotleft, U2039, malesymbol, periodcentered, NoSymbol, U2221, NoSymbol ] }; + key { [ 6, dollar, cent, U26A5, sterling, NoSymbol, U2225, NoSymbol ] }; + + key { [ 7, EuroSign, yen, U03F0, currency, NoSymbol, rightarrow, NoSymbol ] }; + key { [ 8, doublelowquotemark, singlelowquotemark, U27E8, Tab, ISO_Left_Tab, U221E, NoSymbol ] }; + key { [ 9, leftdoublequotemark, leftsinglequotemark, U27E9, KP_Divide, KP_Divide, variation, NoSymbol ] }; + key { [ 0, rightdoublequotemark, rightsinglequotemark, zerosubscript, KP_Multiply, KP_Multiply, emptyset, NoSymbol ] }; + + key { [ minus, emdash, NoSymbol, U2011, KP_Subtract, KP_Subtract, hyphen, NoSymbol ] }; + key { [ dead_grave, dead_cedilla, dead_abovering, dead_dasia, dead_diaeresis, NoSymbol, dead_macron, NoSymbol ] }; + + // Top row + // -------------------------------------------------------------- + key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK"; + key { [ x, X, ellipsis, Greek_xi, Prior, Prior, Greek_XI, NoSymbol ] }; + key { [ v, V, underscore, NoSymbol, BackSpace, BackSpace, radical, NoSymbol ] }; + key { [ l, L, bracketleft, Greek_lambda, Up, Up, Greek_LAMBDA, NoSymbol ] }; + key { [ c, C, bracketright, Greek_chi, Delete, Delete, U2102, NoSymbol ] }; + key { [ w, W, asciicircum, Greek_omega, Next, Next, Greek_OMEGA, NoSymbol ] }; + + key { [ k, K, exclam, Greek_kappa, exclamdown, NoSymbol, multiply, NoSymbol ] }; + key { [ h, H, less, Greek_psi, KP_7, KP_7, Greek_PSI, NoSymbol ] }; + key { [ g, G, greater, Greek_gamma, KP_8, KP_8, Greek_GAMMA, NoSymbol ] }; + key { [ f, F, equal, Greek_phi, KP_9, KP_9, Greek_PHI, NoSymbol ] }; + key { [ q, Q, ampersand, U03D5, KP_Add, KP_Add, U211A, NoSymbol ] }; + + key { [ ssharp, U1E9E, U017F, Greek_finalsmallsigma, U2212, NoSymbol, jot, NoSymbol ] }; + + key.type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK"; + key { [ dead_acute, dead_tilde, dead_stroke, dead_psili, dead_doubleacute, NoSymbol, dead_breve, NoSymbol ] }; + + // Middle row + // -------------------------------------------------------------- + key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK"; + key { [ u, U, backslash, NoSymbol, Home, Home, includedin, NoSymbol ] }; + key { [ i, I, slash, Greek_iota, Left, Left, integral, NoSymbol ] }; + key { [ a, A, braceleft, Greek_alpha, Down, Down, U2200, NoSymbol ] }; + key { [ e, E, braceright, Greek_epsilon, Right, Right, U2203, NoSymbol ] }; + key { [ o, O, asterisk, Greek_omicron, End, End, elementof, NoSymbol ] }; + + key { [ s, S, question, Greek_sigma, questiondown, NoSymbol, Greek_SIGMA, NoSymbol ] }; + key { [ n, N, parenleft, Greek_nu, KP_4, KP_4, U2115, NoSymbol ] }; + key { [ r, R, parenright, Greek_rho, KP_5, KP_5, U211D, NoSymbol ] }; + key { [ t, T, minus, Greek_tau, KP_6, KP_6, partialderivative, NoSymbol ] }; + key { [ d, D, colon, Greek_delta, KP_Separator, comma, Greek_DELTA, NoSymbol ] }; + + key { [ y, Y, at, Greek_upsilon, period, KP_Decimal, nabla, NoSymbol ] }; + + // Bottom row + // -------------------------------------------------------------- + key { [ udiaeresis, Udiaeresis, numbersign, NoSymbol, Escape, Escape, union, NoSymbol ] }; + key { [ odiaeresis, Odiaeresis, dollar, U03F5, Tab, Tab, intersection, NoSymbol ] }; + key { [ adiaeresis, Adiaeresis, bar, Greek_eta, Insert, Insert, U2135, NoSymbol ] }; + key { [ p, P, asciitilde, Greek_pi, Return, Return, Greek_PI, NoSymbol ] }; + key { [ z, Z, grave, Greek_zeta, Undo, Redo, U2124, NoSymbol ] }; + + key { [ b, B, plus, Greek_beta, colon, NoSymbol, U21D0, NoSymbol ] }; + key { [ m, M, percent, Greek_mu, KP_1, KP_1, ifonlyif, NoSymbol ] }; + key.type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK"; + key { [ comma, endash, quotedbl, U03F1, KP_2, KP_2, U21D2, NoSymbol ] }; + key { [ period, enfilledcircbullet, apostrophe, U03D1, KP_3, KP_3, U21A6, NoSymbol ] }; + key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK"; + key { [ j, J, semicolon, Greek_theta, semicolon, NoSymbol, Greek_THETA, NoSymbol ] }; + key.type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK"; + + // Space key + // -------------------------------------------------------------- + key { [ space, space, space, nobreakspace, KP_0, KP_0, U202F, NoSymbol ] }; + + + // Keypad-keys + // =============== + + // The former Numlock key: + key { [ Tab, ISO_Left_Tab, equal, approxeq, notequal, Pointer_EnableKeys, identical, NoSymbol ] }; + + // Topmost row + // -------------------------------------------------------------- + key { [ KP_Divide, KP_Divide, division, U2300, U2044, NoSymbol, U2223, NoSymbol ] }; + key { [ KP_Multiply, KP_Multiply, U22C5, U2299, multiply, NoSymbol, U2297, NoSymbol ] }; + key { [ KP_Subtract, KP_Subtract, U2212, U2296, U2216, NoSymbol, U2238, NoSymbol ] }; + + // Top row + // -------------------------------------------------------------- + key { [ KP_7, U2714, U2195, U226A, KP_Home, KP_Home, upstile, NoSymbol ] }; + key { [ KP_8, U2718, uparrow, intersection, KP_Up, KP_Up, U22C2, NoSymbol ] }; + key { [ KP_9, dagger, U20D7, U226B, KP_Prior, KP_Prior, U2309, NoSymbol ] }; + key { [ KP_Add, KP_Add, plusminus, U2295, U2213, NoSymbol, U2214, NoSymbol ] }; + + // Middle row + // -------------------------------------------------------------- + key { [ KP_4, club, leftarrow, includedin, KP_Left, KP_Left, U2286, NoSymbol ] }; + key { [ KP_5, EuroSign, colon, U22B6, KP_Begin, KP_Begin, U22B7, NoSymbol ] }; + key { [ KP_6, U2023, rightarrow, includes, KP_Right, KP_Right, U2287, NoSymbol ] }; + + // Bottom row + // -------------------------------------------------------------- + key { [ KP_1, diamond, U2194, lessthanequal, KP_End, KP_End, downstile, NoSymbol ] }; + key { [ KP_2, heart, downarrow, union, KP_Down, KP_Down, U22C3, NoSymbol ] }; + key { [ KP_3, U2660, U21CC, greaterthanequal, KP_Next, KP_Next, U230B, NoSymbol ] }; + key { [ KP_Enter, KP_Enter, KP_Enter, KP_Enter, KP_Enter, KP_Enter, KP_Enter, NoSymbol ] }; + key { [ KP_Equal, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol, NoSymbol ] }; + + // Bottommost row + // -------------------------------------------------------------- + key { [ KP_0, U2423, percent, U2030, KP_Insert, KP_Insert, U25A1, NoSymbol ] }; + key { [ KP_Separator, period, comma, minutes, KP_Delete, KP_Delete, seconds, NoSymbol ] }; +}; + +partial alphanumeric_keys modifier_keys keypad_keys +xkb_symbols "neo" { + + include "de(neo_base)" + + name[Group1]= "German (Neo 2)"; + + include "shift(both_capslock)" + include "level3(caps_switch)" + include "level3(bksl_switch)" + include "level5(lsgt_switch_lock)" + include "level5(ralt_switch_lock)" +}; + +// Copied from macintosh_vndr/de +// olh@suse.de very close to MacOS map + +partial alphanumeric_keys +xkb_symbols "mac" { + + include "de" + name[Group1]= "German (Macintosh)"; + + key { [ 1, exclam, exclamdown, at ] }; + key { [ 5, percent, bracketleft ] }; + key { [ 6, ampersand, bracketright ] }; + key { [ 7, slash, bar, backslash ] }; + key { [ 8, parenleft, braceleft, asciitilde ] }; + key { [ 9, parenright, braceright ] }; + key { [ q, Q, guillemotleft, guillemotright ] }; + key { [ r, R, registered ] }; + key { [ u, U, diaeresis, Aacute ] }; + key { [ i, I, slash, Ucircumflex ] }; + key { [ udiaeresis, Udiaeresis, periodcentered, degree ] }; + key { [ plus, asterisk, asciitilde ] }; + key { [ a, A, aring, Aring ] }; + key { [ g, G, copyright ] }; + key { [ h, H, ordfeminine ] }; + key { [ l, L, at ] }; + key { [ odiaeresis, Odiaeresis, dead_acute ] }; + key { [ n, N, asciitilde ] }; +}; + +partial alphanumeric_keys +xkb_symbols "mac_nodeadkeys" { + // modify the standard German mac layout to not have any dead keys + include "de(mac)" + name[Group1]= "German (Macintosh, no dead keys)"; + + key { [ asciicircum, degree, notsign ] }; + key { [ 4, dollar, onequarter, currency ] }; + key { [ acute, grave, cedilla ] }; + key { [ udiaeresis, Udiaeresis, diaeresis ] }; + key { [ plus, asterisk, asciitilde, macron ] }; + key { [ odiaeresis, Odiaeresis, acute ] }; + key { [ adiaeresis, Adiaeresis, asciicircum ] }; + + key { [ numbersign, apostrophe, rightsinglequotemark ] }; +}; + +partial alphanumeric_keys +xkb_symbols "dsb" +{ + include "latin(basic)" + name[Group1] = "Lower Sorbian"; + + key { [ e, E, ecaron, Ecaron ] }; + key { [ r, R, racute, Racute ] }; + key { [ t, T, U20B5, EuroSign ] }; + key { [ o, O, oacute, Oacute ] }; + + key { [ s, S, sacute, Sacute ] }; + key { [ d, D, scaron, Scaron ] }; + + key { [ z, Z, zcaron, Zcaron ] }; + key { [ x, X, zacute, Zacute ] }; + key { [ c, C, cacute, Cacute ] }; + key { [ v, V, ccaron, Ccaron ] }; + key { [ n, N, nacute, Nacute ] }; + + include "kpdl(comma)" + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "dsb_qwertz" +{ + include "de(basic)" + name[Group1] = "Lower Sorbian (QWERTZ)"; + + key { [ e, E, ecaron, Ecaron ] }; + key { [ r, R, racute, Racute ] }; + key { [ t, T, U20B5, EuroSign ] }; + key { [ z, Z, zcaron, Zcaron ] }; + key { [ u, U, zacute, Zacute ] }; + key { [ o, O, oacute, Oacute ] }; + + key { [ s, S, sacute, Sacute ] }; + key { [ d, D, scaron, Scaron ] }; + + key { [ c, C, cacute, Cacute ] }; + key { [ v, V, ccaron, Ccaron ] }; + key { [ n, N, nacute, Nacute ] }; + + include "kpdl(comma)" + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "qwerty" { + + // This layout should work exactly as a de with the exception + // of 'Z' and 'Y' keys, which are in the qwerty style (ie. swapped). + // 2008 by Matej Košík + + include "de(basic)" + + name[Group1] = "German (QWERTY)"; + + key { [ z, Z, leftarrow, yen ] }; + key { [ y, Y, guillemotleft, less ] }; +}; + +// layout for Russian letters on an german keyboard +// based on US-RU layout by Ivan Popov 2005-07-17 +// adopted for german layout by Alexey Fisher 2010-08-19 + +partial alphanumeric_keys +xkb_symbols "ru" { + + include "de(basic)" + + name[Group1]= "Russian (Germany, phonetic)"; + + key { [ Cyrillic_a, Cyrillic_A ] }; + key { [ Cyrillic_be, Cyrillic_BE ] }; + key { [ Cyrillic_ve, Cyrillic_VE ] }; + key { [ Cyrillic_ghe, Cyrillic_GHE ] }; + key { [ Cyrillic_de, Cyrillic_DE ] }; + key { [ Cyrillic_ie, Cyrillic_IE ] }; + key { [ Cyrillic_io, Cyrillic_IO, asciitilde ] }; + key { [ Cyrillic_zhe, Cyrillic_ZHE ] }; + key { [ Cyrillic_ze, Cyrillic_ZE ] }; + key { [ Cyrillic_i, Cyrillic_I ] }; + key { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; + key { [ Cyrillic_ka, Cyrillic_KA ] }; + key { [ Cyrillic_el, Cyrillic_EL ] }; + key { [ Cyrillic_em, Cyrillic_EM ] }; + key { [ Cyrillic_en, Cyrillic_EN ] }; + key { [ Cyrillic_o, Cyrillic_O ] }; + key { [ Cyrillic_pe, Cyrillic_PE ] }; + key { [ Cyrillic_er, Cyrillic_ER ] }; + key { [ Cyrillic_es, Cyrillic_ES ] }; + key { [ Cyrillic_te, Cyrillic_TE ] }; + key { [ Cyrillic_u, Cyrillic_U ] }; + key { [ Cyrillic_ef, Cyrillic_EF ] }; + key { [ Cyrillic_ha, Cyrillic_HA ] }; + key { [ Cyrillic_tse, Cyrillic_TSE ] }; + key { [ Cyrillic_che, Cyrillic_CHE ] }; + key { [ Cyrillic_sha, Cyrillic_SHA ] }; + key { [ Cyrillic_shcha, Cyrillic_SHCHA, plus, asterisk ] }; + key { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; + key { [ Cyrillic_yeru, Cyrillic_YERU ] }; + key { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; + key { [ Cyrillic_e, Cyrillic_E ] }; + key { [ Cyrillic_yu, Cyrillic_YU, numbersign, apostrophe ] }; + key { [ Cyrillic_ya, Cyrillic_YA ] }; + + include "level3(ralt_switch)" +}; + +// layout for Russian (recommended) letters on a german keyboard +// based on "Russisch für Deutsche, empfohlen" by B. Bendixen und H. Rothe http://russisch.urz.uni-leipzig.de/key2000.htm 2016-02-01 +// adapted for Linux by Niko Krause 2016-06-09 + +partial alphanumeric_keys +xkb_symbols "ru-recom" { + + include "de(basic)" + + name[Group1]= "Russian (Germany, recommended)"; + + key { [ Cyrillic_a, Cyrillic_A ] }; + key { [ Cyrillic_be, Cyrillic_BE ] }; + key { [ Cyrillic_ve, Cyrillic_VE ] }; + key { [ Cyrillic_ghe, Cyrillic_GHE, Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] }; + key { [ Cyrillic_de, Cyrillic_DE ] }; + key { [ Cyrillic_ie, Cyrillic_IE ] }; + key { [ Cyrillic_ya, Cyrillic_YA, asciicircum, degree ] }; + key { [ Cyrillic_ha, Cyrillic_HA ] }; + key { [ Cyrillic_tse, Cyrillic_TSE ] }; + key { [ Cyrillic_i, Cyrillic_I, Ukrainian_i, Ukrainian_I ] }; + key { [ Cyrillic_shorti, Cyrillic_SHORTI, Ukrainian_yi, Ukrainian_YI ] }; + key { [ Cyrillic_ka, Cyrillic_KA ] }; + key { [ Cyrillic_el, Cyrillic_EL ] }; + key { [ Cyrillic_em, Cyrillic_EM ] }; + key { [ Cyrillic_en, Cyrillic_EN ] }; + key { [ Cyrillic_o, Cyrillic_O ] }; + key { [ Cyrillic_pe, Cyrillic_PE ] }; + key { [ Cyrillic_er, Cyrillic_ER ] }; + key { [ Cyrillic_es, Cyrillic_ES, Cyrillic_ze, Cyrillic_ZE ] }; + key { [ Cyrillic_te, Cyrillic_TE ] }; + key { [ Cyrillic_u, Cyrillic_U ] }; + key { [ Cyrillic_ef, Cyrillic_EF ] }; + key { [ Cyrillic_zhe, Cyrillic_ZHE ] }; + key { [ Cyrillic_che, Cyrillic_CHE ] }; + key { [ Cyrillic_io, Cyrillic_IO ] }; + key { [ Cyrillic_yu, Cyrillic_YU ] }; + key { [ Cyrillic_sha, Cyrillic_SHA, plus, asterisk ] }; + key { [ Cyrillic_ze, Cyrillic_ZE ] }; + key { [ Cyrillic_yeru, Cyrillic_YERU ] }; + key { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; + key { [ Cyrillic_e, Cyrillic_E, Ukrainian_ie, Ukrainian_IE ] }; + key { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, numbersign, apostrophe ] }; + key { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; + + key { [ asciitilde, question, backslash, questiondown ] }; + key { [ U0301, U0300, U0323, U0307 ] }; + + include "level3(ralt_switch)" +}; + +// layout for Russian (transliteration) letters on a german keyboard +// based on "Russisch für Deutsche, Transliteration" by B. Bendixen und H. Rothe http://russisch.urz.uni-leipzig.de/key2000.htm 2016-02-01 +// adapted for Linux by Niko Krause 2016-06-09 + +partial alphanumeric_keys +xkb_symbols "ru-translit" { + + include "de(basic)" + + name[Group1]= "Russian (Germany, transliteration)"; + + key { [ Cyrillic_a, Cyrillic_A ] }; + key { [ Cyrillic_be, Cyrillic_BE ] }; + key { [ Cyrillic_sha, Cyrillic_SHA ] }; + key { [ Cyrillic_ghe, Cyrillic_GHE, Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] }; + key { [ Cyrillic_de, Cyrillic_DE ] }; + key { [ Cyrillic_ie, Cyrillic_IE ] }; + key { [ Cyrillic_ya, Cyrillic_YA, asciicircum, degree ] }; + key { [ Cyrillic_ha, Cyrillic_HA ] }; + key { [ Cyrillic_ze, Cyrillic_ZE ] }; + key { [ Cyrillic_i, Cyrillic_I, Ukrainian_i, Ukrainian_I ] }; + key { [ Cyrillic_shorti, Cyrillic_SHORTI, Ukrainian_yi, Ukrainian_YI ] }; + key { [ Cyrillic_ka, Cyrillic_KA ] }; + key { [ Cyrillic_el, Cyrillic_EL ] }; + key { [ Cyrillic_em, Cyrillic_EM ] }; + key { [ Cyrillic_en, Cyrillic_EN ] }; + key { [ Cyrillic_o, Cyrillic_O ] }; + key { [ Cyrillic_pe, Cyrillic_PE ] }; + key { [ Cyrillic_er, Cyrillic_ER ] }; + key { [ Cyrillic_es, Cyrillic_ES, Cyrillic_che, Cyrillic_CHE ] }; + key { [ Cyrillic_te, Cyrillic_TE ] }; + key { [ Cyrillic_u, Cyrillic_U ] }; + key { [ Cyrillic_ef, Cyrillic_EF ] }; + key { [ Cyrillic_zhe, Cyrillic_ZHE ] }; + key { [ Cyrillic_tse, Cyrillic_TSE ] }; + key { [ Cyrillic_io, Cyrillic_IO ] }; + key { [ Cyrillic_yu, Cyrillic_YU ] }; + key { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, plus, asterisk ] }; + key { [ Cyrillic_che, Cyrillic_CHE ] }; + key { [ Cyrillic_yeru, Cyrillic_YERU ] }; + key { [ Cyrillic_ve, Cyrillic_VE ] }; + key { [ Cyrillic_e, Cyrillic_E, Ukrainian_ie, Ukrainian_IE ] }; + key { [ Cyrillic_softsign, Cyrillic_SOFTSIGN, numbersign, apostrophe ] }; + key { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; + + key { [ asciitilde, question, backslash, questiondown ] }; + key { [ U0301, U0300, U0323, U0307 ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "pl" { + + // Combined layout for entering both German and Polish symbols on a German physical + // keyboard. Based on German (no dead keys) and Polish (basic). Polish diacritics + // on AltGr+"acelnosxz". EuroSign moved to AE04 (AltGr+dollar key) to avoid conflict + // with Polish eogonek. + // + // https://github.com/kontextify/xkeyboard-config + + include "latin(type4)" + include "de(nodeadkeys)" + + name[Group1]= "Polish (Germany, no dead keys)"; + + key { [ 4, dollar, EuroSign, currency ] }; + + key { [ q, Q ] }; + key { [ w, W ] }; + key { [ e, E, eogonek, Eogonek ] }; + key { [ o, O, oacute, Oacute ] }; + key { [ a, A, aogonek, Aogonek ] }; + key { [ s, S, sacute, Sacute ] }; + key { [ f, F ] }; + key { [ z, Z, zabovedot, Zabovedot ] }; + key { [ x, X, zacute, Zacute ] }; + key { [ c, C, cacute, Cacute ] }; + key { [ n, N, nacute, Nacute ] }; + + include "kpdl(comma)" + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "tr" { + + // add turkish-specific letters to the basic German layout. + // Turkish symbols are accessible with combination of and + // 'i', 's', 'g', 'c'' (+ for capital letters). + + include "de(basic)" + + name[Group1]="Turkish (Germany)"; + + key { [ i, I, U0131, U0130 ] }; + key { [ s, S, U015F, U015E ] }; + key { [ g, G, U011F, U011E ] }; + key { [ c, C, U0E7, U0C7 ] }; +}; + +partial alphanumeric_keys +xkb_symbols "us" { + include "us" + + name[Group1]="German (US)"; + + key { [ 3, numbersign, section, degree ] }; + key { [ minus, underscore, ssharp, U1E9E ] }; + + key { [ e, E, EuroSign, cent ] }; + key { [ u, U, udiaeresis, Udiaeresis ] }; + key { [ o, O, odiaeresis, Odiaeresis ] }; + key { [ bracketleft, braceleft, udiaeresis, Udiaeresis ] }; + + key { [ a, A, adiaeresis, Adiaeresis ] }; + key { [ s, S, ssharp, U1E9E ] }; + key { [ semicolon, colon, odiaeresis, Odiaeresis ] }; + key { [ apostrophe, quotedbl, adiaeresis, Adiaeresis ] }; + + key { [ c, C, Multi_key, Multi_key ] }; + key { [ m, M, dead_greek, Menu ] }; + + include "level3(ralt_switch)" +}; + +// EXTRAS: + +partial alphanumeric_keys +xkb_symbols "hu" { + + // modify the basic German layout to not have any dead keys and add Hungarian letters + + include "de(basic)" + name[Group1]="German (with Hungarian letters, no dead keys)"; + + key { [ y, Y, guillemotleft, less ] }; + key { [odiaeresis, Odiaeresis, eacute, Eacute ] }; + key { [adiaeresis, Adiaeresis, aacute, Aacute] }; + key { [ e, E, EuroSign, EuroSign ] }; + key { [ z, Z, leftarrow, yen ] }; + key { [ u, U, uacute, Uacute ] }; + key { [ i, I, iacute, Iacute ] }; + key { [ o, O, odoubleacute, Odoubleacute ] }; + key { [udiaeresis, Udiaeresis, udoubleacute, Udoubleacute ] }; + key { [ plus, asterisk, asciitilde, macron ] }; + key { [ acute, grave, oacute, Oacute ] }; + key { [numbersign, apostrophe, rightsinglequotemark, grave ] }; + key { [asciicircum, degree, notsign, notsign ] }; +}; + +partial alphanumeric_keys + xkb_symbols "sun_type6" { + include "sun_vndr/de(sun_type6)" +}; + +partial alphanumeric_keys +xkb_symbols "adnw_base" { + include "de(neo_base)" + + key.type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK"; + key { [ period, enfilledcircbullet, NoSymbol, U03D1, NoSymbol, NoSymbol, U21A6, NoSymbol ] }; + key { [ comma, endash, NoSymbol, U03F1, NoSymbol, NoSymbol, U21D2, NoSymbol ] }; + + key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK"; + key { [ k, K, NoSymbol, Greek_kappa, NoSymbol, NoSymbol, multiply, NoSymbol ] }; + key { [ u, U, NoSymbol, NoSymbol, NoSymbol, NoSymbol, includedin, NoSymbol ] }; + key { [ udiaeresis, Udiaeresis, NoSymbol, NoSymbol, NoSymbol, NoSymbol, union, NoSymbol ] }; + key { [ adiaeresis, Adiaeresis, NoSymbol, Greek_eta, NoSymbol, NoSymbol, U2135, NoSymbol ] }; + key { [ v, V, NoSymbol, NoSymbol, NoSymbol, NoSymbol, radical, NoSymbol ] }; + key { [ g, G, NoSymbol, Greek_gamma, NoSymbol, NoSymbol, Greek_GAMMA, NoSymbol ] }; + key { [ c, C, NoSymbol, Greek_chi, NoSymbol, NoSymbol, U2102, NoSymbol ] }; + key { [ l, L, NoSymbol, Greek_lambda, NoSymbol, NoSymbol, Greek_LAMBDA, NoSymbol ] }; + key { [ j, J, NoSymbol, Greek_theta, NoSymbol, NoSymbol, Greek_THETA, NoSymbol ] }; + key { [ f, F, NoSymbol, Greek_phi, NoSymbol, NoSymbol, Greek_PHI, NoSymbol ] }; + key { [ h, H, NoSymbol, Greek_psi, NoSymbol, NoSymbol, Greek_PSI, NoSymbol ] }; + key { [ i, I, NoSymbol, Greek_iota, NoSymbol, NoSymbol, integral, NoSymbol ] }; + key { [ e, E, NoSymbol, Greek_epsilon, NoSymbol, NoSymbol, U2203, NoSymbol ] }; + key { [ a, A, NoSymbol, Greek_alpha, NoSymbol, NoSymbol, U2200, NoSymbol ] }; + key { [ o, O, NoSymbol, Greek_omicron, NoSymbol, NoSymbol, elementof, NoSymbol ] }; + key { [ d, D, NoSymbol, Greek_delta, NoSymbol, NoSymbol, Greek_DELTA, NoSymbol ] }; + key { [ t, T, NoSymbol, Greek_tau, NoSymbol, NoSymbol, partialderivative, NoSymbol ] }; + key { [ r, R, NoSymbol, Greek_rho, NoSymbol, NoSymbol, U211D, NoSymbol ] }; + key { [ n, N, NoSymbol, Greek_nu, NoSymbol, NoSymbol, U2115, NoSymbol ] }; + key { [ s, S, NoSymbol, Greek_sigma, NoSymbol, NoSymbol, Greek_SIGMA, NoSymbol ] }; + key { [ ssharp, U1E9E, NoSymbol, Greek_finalsmallsigma, NoSymbol, NoSymbol, jot, NoSymbol ] }; + key { [ x, X, NoSymbol, Greek_xi, NoSymbol, NoSymbol, Greek_XI, NoSymbol ] }; + key { [ y, Y, NoSymbol, Greek_upsilon, NoSymbol, NoSymbol, nabla, NoSymbol ] }; + key { [ odiaeresis, Odiaeresis, NoSymbol, U03F5, NoSymbol, NoSymbol, intersection, NoSymbol ] }; + key { [ q, Q, NoSymbol, U03D5, NoSymbol, NoSymbol, U211A, NoSymbol ] }; + key { [ b, B, NoSymbol, Greek_beta, NoSymbol, NoSymbol, U21D0, NoSymbol ] }; + key { [ p, P, NoSymbol, Greek_pi, NoSymbol, NoSymbol, Greek_PI, NoSymbol ] }; + key { [ w, W, NoSymbol, Greek_omega, NoSymbol, NoSymbol, Greek_OMEGA, NoSymbol ] }; + key { [ m, M, NoSymbol, Greek_mu, NoSymbol, NoSymbol, ifonlyif, NoSymbol ] }; + key { [ z, Z, NoSymbol, Greek_zeta, NoSymbol, NoSymbol, U2124, NoSymbol ] }; +}; + +partial alphanumeric_keys modifier_keys keypad_keys +xkb_symbols "adnw" { + + include "de(adnw_base)" + + name[Group1]= "German (Aus der Neo-Welt)"; + + include "shift(both_capslock)" + include "level3(caps_switch)" + include "level3(bksl_switch)" + include "level5(lsgt_switch_lock)" + include "level5(ralt_switch_lock)" +}; + +partial alphanumeric_keys +xkb_symbols "koy_base" { + include "de(neo_base)" + + key.type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK"; + key { [ period, enfilledcircbullet, NoSymbol, U03D1, NoSymbol, NoSymbol, U21A6, NoSymbol ] }; + key { [ comma, endash, NoSymbol, U03F1, NoSymbol, NoSymbol, U21D2, NoSymbol ] }; + + key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK"; + key { [ k, K, NoSymbol, Greek_kappa, NoSymbol, NoSymbol, multiply, NoSymbol ] }; + key { [ o, O, NoSymbol, Greek_omicron, NoSymbol, NoSymbol, elementof, NoSymbol ] }; + key { [ y, Y, NoSymbol, Greek_upsilon, NoSymbol, NoSymbol, nabla, NoSymbol ] }; + key { [ v, V, NoSymbol, NoSymbol, NoSymbol, NoSymbol, radical, NoSymbol ] }; + key { [ g, G, NoSymbol, Greek_gamma, NoSymbol, NoSymbol, Greek_GAMMA, NoSymbol ] }; + key { [ c, C, NoSymbol, Greek_chi, NoSymbol, NoSymbol, U2102, NoSymbol ] }; + key { [ l, L, NoSymbol, Greek_lambda, NoSymbol, NoSymbol, Greek_LAMBDA, NoSymbol ] }; + key { [ ssharp, U1E9E, NoSymbol, Greek_finalsmallsigma, NoSymbol, NoSymbol, jot, NoSymbol ] }; + key { [ z, Z, NoSymbol, Greek_zeta, NoSymbol, NoSymbol, U2124, NoSymbol ] }; + key { [ h, H, NoSymbol, Greek_psi, NoSymbol, NoSymbol, Greek_PSI, NoSymbol ] }; + key { [ a, A, NoSymbol, Greek_alpha, NoSymbol, NoSymbol, U2200, NoSymbol ] }; + key { [ e, E, NoSymbol, Greek_epsilon, NoSymbol, NoSymbol, U2203, NoSymbol ] }; + key { [ i, I, NoSymbol, Greek_iota, NoSymbol, NoSymbol, integral, NoSymbol ] }; + key { [ u, U, NoSymbol, NoSymbol, NoSymbol, NoSymbol, includedin, NoSymbol ] }; + key { [ d, D, NoSymbol, Greek_delta, NoSymbol, NoSymbol, Greek_DELTA, NoSymbol ] }; + key { [ t, T, NoSymbol, Greek_tau, NoSymbol, NoSymbol, partialderivative, NoSymbol ] }; + key { [ r, R, NoSymbol, Greek_rho, NoSymbol, NoSymbol, U211D, NoSymbol ] }; + key { [ n, N, NoSymbol, Greek_nu, NoSymbol, NoSymbol, U2115, NoSymbol ] }; + key { [ s, S, NoSymbol, Greek_sigma, NoSymbol, NoSymbol, Greek_SIGMA, NoSymbol ] }; + key { [ f, F, NoSymbol, Greek_phi, NoSymbol, NoSymbol, Greek_PHI, NoSymbol ] }; + key { [ x, X, NoSymbol, Greek_xi, NoSymbol, NoSymbol, Greek_XI, NoSymbol ] }; + key { [ q, Q, NoSymbol, U03D5, NoSymbol, NoSymbol, U211A, NoSymbol ] }; + key { [ adiaeresis, Adiaeresis, NoSymbol, Greek_eta, NoSymbol, NoSymbol, U2135, NoSymbol ] }; + key { [ udiaeresis, Udiaeresis, NoSymbol, NoSymbol, NoSymbol, NoSymbol, union, NoSymbol ] }; + key { [ odiaeresis, Odiaeresis, NoSymbol, U03F5, NoSymbol, NoSymbol, intersection, NoSymbol ] }; + key { [ b, B, NoSymbol, Greek_beta, NoSymbol, NoSymbol, U21D0, NoSymbol ] }; + key { [ p, P, NoSymbol, Greek_pi, NoSymbol, NoSymbol, Greek_PI, NoSymbol ] }; + key { [ w, W, NoSymbol, Greek_omega, NoSymbol, NoSymbol, Greek_OMEGA, NoSymbol ] }; + key { [ m, M, NoSymbol, Greek_mu, NoSymbol, NoSymbol, ifonlyif, NoSymbol ] }; + key { [ j, J, NoSymbol, Greek_theta, NoSymbol, NoSymbol, Greek_THETA, NoSymbol ] }; +}; + +partial alphanumeric_keys modifier_keys keypad_keys +xkb_symbols "koy" { + + include "de(koy_base)" + + name[Group1]= "German (KOY)"; + + include "shift(both_capslock)" + include "level3(caps_switch)" + include "level3(bksl_switch)" + include "level5(lsgt_switch_lock)" + include "level5(ralt_switch_lock)" +}; + +partial alphanumeric_keys +xkb_symbols "bone_base" { + include "de(neo_base)" + + key.type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK"; + key { [ comma, endash, NoSymbol, U03F1, NoSymbol, NoSymbol, U21D2, NoSymbol ] }; + key { [ period, enfilledcircbullet, NoSymbol, U03D1, NoSymbol, NoSymbol, U21A6, NoSymbol ] }; + + key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK"; + key { [ j, J, NoSymbol, Greek_theta, NoSymbol, NoSymbol, Greek_THETA, NoSymbol ] }; + key { [ d, D, NoSymbol, Greek_delta, NoSymbol, NoSymbol, Greek_DELTA, NoSymbol ] }; + key { [ u, U, NoSymbol, NoSymbol, NoSymbol, NoSymbol, includedin, NoSymbol ] }; + key { [ a, A, NoSymbol, Greek_alpha, NoSymbol, NoSymbol, U2200, NoSymbol ] }; + key { [ x, X, NoSymbol, Greek_xi, NoSymbol, NoSymbol, Greek_XI, NoSymbol ] }; + key { [ p, P, NoSymbol, Greek_pi, NoSymbol, NoSymbol, Greek_PI, NoSymbol ] }; + key { [ h, H, NoSymbol, Greek_psi, NoSymbol, NoSymbol, Greek_PSI, NoSymbol ] }; + key { [ l, L, NoSymbol, Greek_lambda, NoSymbol, NoSymbol, Greek_LAMBDA, NoSymbol ] }; + key { [ m, M, NoSymbol, Greek_mu, NoSymbol, NoSymbol, ifonlyif, NoSymbol ] }; + key { [ w, W, NoSymbol, Greek_omega, NoSymbol, NoSymbol, Greek_OMEGA, NoSymbol ] }; + key { [ ssharp, U1E9E, NoSymbol, Greek_finalsmallsigma, NoSymbol, NoSymbol, jot, NoSymbol ] }; + key { [ c, C, NoSymbol, Greek_chi, NoSymbol, NoSymbol, U2102, NoSymbol ] }; + key { [ t, T, NoSymbol, Greek_tau, NoSymbol, NoSymbol, partialderivative, NoSymbol ] }; + key { [ i, I, NoSymbol, Greek_iota, NoSymbol, NoSymbol, integral, NoSymbol ] }; + key { [ e, E, NoSymbol, Greek_epsilon, NoSymbol, NoSymbol, U2203, NoSymbol ] }; + key { [ o, O, NoSymbol, Greek_omicron, NoSymbol, NoSymbol, elementof, NoSymbol ] }; + key { [ b, B, NoSymbol, Greek_beta, NoSymbol, NoSymbol, U21D0, NoSymbol ] }; + key { [ n, N, NoSymbol, Greek_nu, NoSymbol, NoSymbol, U2115, NoSymbol ] }; + key { [ r, R, NoSymbol, Greek_rho, NoSymbol, NoSymbol, U211D, NoSymbol ] }; + key { [ s, S, NoSymbol, Greek_sigma, NoSymbol, NoSymbol, Greek_SIGMA, NoSymbol ] }; + key { [ g, G, NoSymbol, Greek_gamma, NoSymbol, NoSymbol, Greek_GAMMA, NoSymbol ] }; + key { [ q, Q, NoSymbol, U03D5, NoSymbol, NoSymbol, U211A, NoSymbol ] }; + key { [ f, F, NoSymbol, Greek_phi, NoSymbol, NoSymbol, Greek_PHI, NoSymbol ] }; + key { [ v, V, NoSymbol, NoSymbol, NoSymbol, NoSymbol, radical, NoSymbol ] }; + key { [ udiaeresis, Udiaeresis, NoSymbol, NoSymbol, NoSymbol, NoSymbol, union, NoSymbol ] }; + key { [ adiaeresis, Adiaeresis, NoSymbol, Greek_eta, NoSymbol, NoSymbol, U2135, NoSymbol ] }; + key { [ odiaeresis, Odiaeresis, NoSymbol, U03F5, NoSymbol, NoSymbol, intersection, NoSymbol ] }; + key { [ y, Y, NoSymbol, Greek_upsilon, NoSymbol, NoSymbol, nabla, NoSymbol ] }; + key { [ z, Z, NoSymbol, Greek_zeta, NoSymbol, NoSymbol, U2124, NoSymbol ] }; + key { [ k, K, NoSymbol, Greek_kappa, NoSymbol, NoSymbol, multiply, NoSymbol ] }; +}; + +partial alphanumeric_keys modifier_keys keypad_keys +xkb_symbols "bone" { + + include "de(bone_base)" + + name[Group1]= "German (Bone)"; + + include "shift(both_capslock)" + include "level3(caps_switch)" + include "level3(bksl_switch)" + include "level5(lsgt_switch_lock)" + include "level5(ralt_switch_lock)" +}; + +partial alphanumeric_keys +xkb_symbols "bone_eszett_home_base" { + include "de(bone_base)" + + key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK"; + key { [ q, Q, NoSymbol, U03D5, NoSymbol, NoSymbol, U211A, NoSymbol ] }; + key { [ ssharp, U1E9E, NoSymbol, Greek_finalsmallsigma, NoSymbol, NoSymbol, jot, NoSymbol ] }; +}; + +partial alphanumeric_keys modifier_keys keypad_keys +xkb_symbols "bone_eszett_home" { + + include "de(bone_eszett_home_base)" + + name[Group1]= "German (Bone, eszett in the home row)"; + + include "shift(both_capslock)" + include "level3(caps_switch)" + include "level3(bksl_switch)" + include "level5(lsgt_switch_lock)" + include "level5(ralt_switch_lock)" +}; + +partial alphanumeric_keys +xkb_symbols "neo_qwertz_base" { + include "de(neo_base)" + + key.type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK"; + key { [ comma, endash, NoSymbol, U03F1, NoSymbol, NoSymbol, U21D2, NoSymbol ] }; + key { [ period, enfilledcircbullet, NoSymbol, U03D1, NoSymbol, NoSymbol, U21A6, NoSymbol ] }; + key { [ minus, emdash, NoSymbol, U2011, NoSymbol, NoSymbol, hyphen, NoSymbol ] }; + + key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK"; + key { [ ssharp, U1E9E, NoSymbol, Greek_finalsmallsigma, NoSymbol, NoSymbol, jot, NoSymbol ] }; + key { [ q, Q, NoSymbol, U03D5, NoSymbol, NoSymbol, U211A, NoSymbol ] }; + key { [ w, W, NoSymbol, Greek_omega, NoSymbol, NoSymbol, Greek_OMEGA, NoSymbol ] }; + key { [ e, E, NoSymbol, Greek_epsilon, NoSymbol, NoSymbol, U2203, NoSymbol ] }; + key { [ r, R, NoSymbol, Greek_rho, NoSymbol, NoSymbol, U211D, NoSymbol ] }; + key { [ t, T, NoSymbol, Greek_tau, NoSymbol, NoSymbol, partialderivative, NoSymbol ] }; + key { [ z, Z, NoSymbol, Greek_zeta, NoSymbol, NoSymbol, U2124, NoSymbol ] }; + key { [ u, U, NoSymbol, NoSymbol, NoSymbol, NoSymbol, includedin, NoSymbol ] }; + key { [ i, I, NoSymbol, Greek_iota, NoSymbol, NoSymbol, integral, NoSymbol ] }; + key { [ o, O, NoSymbol, Greek_omicron, NoSymbol, NoSymbol, elementof, NoSymbol ] }; + key { [ p, P, NoSymbol, Greek_pi, NoSymbol, NoSymbol, Greek_PI, NoSymbol ] }; + key { [ udiaeresis, Udiaeresis, NoSymbol, NoSymbol, NoSymbol, NoSymbol, union, NoSymbol ] }; + key { [ a, A, NoSymbol, Greek_alpha, NoSymbol, NoSymbol, U2200, NoSymbol ] }; + key { [ s, S, NoSymbol, Greek_sigma, NoSymbol, NoSymbol, Greek_SIGMA, NoSymbol ] }; + key { [ d, D, NoSymbol, Greek_delta, NoSymbol, NoSymbol, Greek_DELTA, NoSymbol ] }; + key { [ f, F, NoSymbol, Greek_phi, NoSymbol, NoSymbol, Greek_PHI, NoSymbol ] }; + key { [ g, G, NoSymbol, Greek_gamma, NoSymbol, NoSymbol, Greek_GAMMA, NoSymbol ] }; + key { [ h, H, NoSymbol, Greek_psi, NoSymbol, NoSymbol, Greek_PSI, NoSymbol ] }; + key { [ j, J, NoSymbol, Greek_theta, NoSymbol, NoSymbol, Greek_THETA, NoSymbol ] }; + key { [ k, K, NoSymbol, Greek_kappa, NoSymbol, NoSymbol, multiply, NoSymbol ] }; + key { [ l, L, NoSymbol, Greek_lambda, NoSymbol, NoSymbol, Greek_LAMBDA, NoSymbol ] }; + key { [ odiaeresis, Odiaeresis, NoSymbol, U03F5, NoSymbol, NoSymbol, intersection, NoSymbol ] }; + key { [ adiaeresis, Adiaeresis, NoSymbol, Greek_eta, NoSymbol, NoSymbol, U2135, NoSymbol ] }; + key { [ y, Y, NoSymbol, Greek_upsilon, NoSymbol, NoSymbol, nabla, NoSymbol ] }; + key { [ x, X, NoSymbol, Greek_xi, NoSymbol, NoSymbol, Greek_XI, NoSymbol ] }; + key { [ c, C, NoSymbol, Greek_chi, NoSymbol, NoSymbol, U2102, NoSymbol ] }; + key { [ v, V, NoSymbol, NoSymbol, NoSymbol, NoSymbol, radical, NoSymbol ] }; + key { [ b, B, NoSymbol, Greek_beta, NoSymbol, NoSymbol, U21D0, NoSymbol ] }; + key { [ n, N, NoSymbol, Greek_nu, NoSymbol, NoSymbol, U2115, NoSymbol ] }; + key { [ m, M, NoSymbol, Greek_mu, NoSymbol, NoSymbol, ifonlyif, NoSymbol ] }; +}; + +partial alphanumeric_keys modifier_keys keypad_keys +xkb_symbols "neo_qwertz" { + + include "de(neo_qwertz_base)" + + name[Group1]= "German (Neo, QWERTZ)"; + + include "shift(both_capslock)" + include "level3(caps_switch)" + include "level3(bksl_switch)" + include "level5(lsgt_switch_lock)" + include "level5(ralt_switch_lock)" +}; + +partial alphanumeric_keys +xkb_symbols "neo_qwerty_base" { + include "de(neo_qwertz_base)" + + key.type[Group1] = "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK"; + key { [ y, Y, NoSymbol, Greek_upsilon, NoSymbol, NoSymbol, nabla, NoSymbol ] }; + key { [ z, Z, NoSymbol, Greek_zeta, NoSymbol, NoSymbol, U2124, NoSymbol ] }; +}; + +partial alphanumeric_keys modifier_keys keypad_keys +xkb_symbols "neo_qwerty" { + + include "de(neo_qwerty_base)" + + name[Group1]= "German (Neo, QWERTY)"; + + include "shift(both_capslock)" + include "level3(caps_switch)" + include "level3(bksl_switch)" + include "level5(lsgt_switch_lock)" + include "level5(ralt_switch_lock)" +}; + +partial alphanumeric_keys +xkb_symbols "lld" { + include "de(basic)" + name[Group1] = "German (Ladin)"; + + key { [ p, P, ediaeresis, Ediaeresis ] }; +}; diff --git a/xkbdata/symbols/digital_vndr/lk b/xkbdata/symbols/digital_vndr/lk new file mode 100644 index 0000000..2430865 --- /dev/null +++ b/xkbdata/symbols/digital_vndr/lk @@ -0,0 +1,130 @@ +// +//Copyright (c) 1996 Digital Equipment Corporation +// +//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 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 DIGITAL EQUIPMENT CORPORATION 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 Digital Equipment +//Corporation shall not be used in advertising or otherwise to promote +//the sale, use or other dealings in this Software without prior written +//authorization from Digital Equipment Corporation. +// +// HISTORY +// Log: lk,v +// Revision 1.2 1996/06/18 09:10:09 erik +// use flags correctly, assorted cleanups and consortium fixes +// +// Revision 1.1.2.2 1995/03/10 17:16:52 William_Walker +// Rename to avoid name conflicts with XKB stuff +// [1995/03/10 17:10:33 William_Walker] +// +// Revision 1.1.2.2 1994/10/31 15:22:00 William_Walker +// New experimental version. +// [1994/10/31 14:48:37 William_Walker] +// +// EndLog +// +// @(#)RCSfile: lk,v Revision: 1.2 (DEC) Date: 1996/01/24 12:14:58 +// +// Symbols common to all the LK-style keyboards. +// +default xkb_symbols "common" { + + // Modifier mappings + modifier_map Shift { Shift_L, Shift_R }; + modifier_map Lock { Caps_Lock }; + modifier_map Control { Control_L, Control_R }; + modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R }; + modifier_map Mod2 { Num_Lock }; + modifier_map Mod3 { Scroll_Lock }; + + // Additional alphanumeric keys + key { [ less, greater ] }; + key { [ Alt_L, Meta_L ] }; + + // "Function" keys + key { [ F1 ] }; + key { [ F2 ] }; + key { [ F3 ] }; + key { [ F4 ] }; + key { [ F5 ] }; + key { [ F6 ] }; + key { [ F7 ] }; + key { [ F8 ] }; + key { [ F9 ] }; + key { [ F10 ] }; + key { [ Escape, F11 ] }; + key { [ F12 ] }; + key { [ F13 ] }; + key { [ F14 ] }; + key { [ F17 ] }; + key { [ F18 ] }; + key { [ F19 ] }; + key { [ F20 ] }; + + // "Editing" keys + key { [ Help ] }; + key { [ Menu ] }; + key { [ Find ] }; + key { [ Insert ] }; + key { [ Delete ] }; + key { [ Select ] }; + key { [ Prior ] }; + key { [ Next ] }; + + key { [ Up ] }; + key { [ Left ] }; + key { [ Down ] }; + key { [ Right ] }; + + // "Keypad" keys + key { + type= "SHIFT+ALT", + symbols[Group1]=[ KP_F1,Pointer_EnableKeys ] + }; + key { [ KP_F2 ] }; + key { [ KP_F3 ] }; + key { [ KP_F4 ] }; + + key { [ KP_Separator ] }; + key { [ KP_Subtract ] }; + + key { [ KP_7 ] }; + key { [ KP_8 ] }; + key { [ KP_9 ] }; + + key { [ KP_4 ] }; + key { [ KP_5 ] }; + key { [ KP_6 ] }; + + key { [ KP_1 ] }; + key { [ KP_2 ] }; + key { [ KP_3 ] }; + key { [ KP_Enter ] }; + + key { [ KP_0 ] }; + key { [ KP_Decimal ] }; +}; + +xkb_symbols "lk401" { + include "symbols/digital_vndr/lk(common)" + key { [ Alt_R, Meta_R ] }; + key { [ Multi_key ] }; + key { [ Multi_key ] }; +}; diff --git a/xkbdata/symbols/digital_vndr/pc b/xkbdata/symbols/digital_vndr/pc new file mode 100644 index 0000000..f50d4cd --- /dev/null +++ b/xkbdata/symbols/digital_vndr/pc @@ -0,0 +1,175 @@ +// +//Copyright (c) 1996 Digital Equipment Corporation +// +//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 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 DIGITAL EQUIPMENT CORPORATION 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 Digital Equipment +//Corporation shall not be used in advertising or otherwise to promote +//the sale, use or other dealings in this Software without prior written +//authorization from Digital Equipment Corporation. +// +// HISTORY +// Log +// Revision 1.2 1996/06/18 09:10:12 erik +// use flags correctly, assorted cleanups and consortium fixes +// +// Revision 1.1.6.4 1995/12/19 19:55:58 William_Walker +// Update to XKB 0.65 +// [1995/12/17 02:37:07 William_Walker] +// +// Revision 1.1.6.3 1995/10/25 21:01:09 William_Walker +// Make sure we use DIN 2137 and VT510 Spec for Group Semantics +// [1995/10/23 15:49:03 William_Walker] +// +// Revision 1.1.6.2 1995/08/07 17:40:40 William_Walker +// Upgrade XKB to protocol 0.62 (dual submit from decx11) +// [1995/08/06 14:06:32 William_Walker] +// +// Revision 1.1.2.7 1995/08/05 15:25:57 William_Walker +// Sync up with Erik's pool. +// [1995/08/03 20:17:15 William_Walker] +// +// Revision 1.1.2.6 1995/06/27 12:18:25 William_Walker +// Add LK201 and LK450 support as well as TW and DP variants. +// [1995/06/26 20:29:52 William_Walker] +// +// Revision 1.1.2.5 1995/06/08 17:10:28 William_Walker +// Make RALT default to Mode_switch +// [1995/06/08 17:08:50 William_Walker] +// +// Revision 1.1.2.4 1995/06/05 19:24:14 William_Walker +// New file. I love keymaps. +// [1995/06/05 18:17:03 William_Walker] +// +// EndLog +// +// @(#)RCSfile: pc Revision: /main/4 (DEC) Date: 1996/01/24 12:15:02 +// + +// ************************************************************** +// * * +// * The symbols common to all Extended PC layouts. * +// * * +// ************************************************************** +xkb_symbols "pc" { + + // Modifier mappings + // + modifier_map Shift { Shift_L, Shift_R }; + modifier_map Lock { Caps_Lock }; + modifier_map Control { Control_L, Control_R }; + modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R }; + modifier_map Mod3 { Mode_switch }; + modifier_map Mod4 { Num_Lock }; + modifier_map Mod5 { Scroll_Lock }; + + // Common keys + // + key { [ BackSpace, Delete ] }; + key { [ Tab, ISO_Left_Tab ] }; + key { [ Caps_Lock ] }; + key { [ Return ] }; + key { [ Shift_L ] }; + key { [ Shift_R ] }; + key { [ Control_L ] }; + key { [ Alt_L, Meta_L ] }; + key { [ space ] }; + key { [ Mode_switch ] }; + key { [ Control_R ] }; + + // "Function" keys + // + key { [ Escape ] }; + key { [ F1 ] }; + key { [ F2 ] }; + key { [ F3 ] }; + key { [ F4 ] }; + key { [ F5 ] }; + key { [ F6 ] }; + key { [ F7 ] }; + key { [ F8 ] }; + key { [ F9 ] }; + key { [ F10 ] }; + key { [ F11 ] }; + key { [ F12 ] }; + key { + type= "PC_ALT_LEVEL2", + symbols[Group1]= [ Print, Sys_Req ] + }; + key { [ Scroll_Lock ] }; + key { + type= "PC_CONTROL_LEVEL2", + symbols[Group1]= [ Pause, Break ] + }; + + // "Editing" keys + // + key { [ Insert ] }; + key { [ Home ] }; + key { [ Prior ] }; + key { [ Delete ] }; + key { [ End ] }; + key { [ Next ] }; + + key { [ Up ] }; + key { [ Left ] }; + key { [ Down ] }; + key { [ Right ] }; + + // "Keypad" keys + // + key { + type= "SHIFT+ALT", + symbols[Group1]= [ Num_Lock,Pointer_EnableKeys] + }; + key { [ KP_Divide ] }; + key { [ KP_Multiply ] }; + key { [ KP_Subtract ] }; + + key { [ KP_Home, KP_7 ] }; + key { [ KP_Up, KP_8 ] }; + key { [ KP_Prior, KP_9 ] }; + key { [ KP_Add ] }; + + key { [ KP_Left, KP_4 ] }; + key { [ KP_5 ] }; + key { [ KP_Right, KP_6 ] }; + + key { [ KP_End, KP_1 ] }; + key { [ KP_Down, KP_2 ] }; + key { [ KP_Next, KP_3 ] }; + key { [ KP_Enter ] }; + + key { [ KP_Insert, KP_0 ] }; + key { [ KP_Delete, KP_Decimal ] }; + + // Key to support Lock-Down Modifier descriptions for R5 + // + key { [ NoSymbol ] }; +}; + +xkb_symbols "pc104" { + include "digital_vndr/pc(pc)" + + replace key { [ Alt_L ] }; + key { [ Meta_L ] }; + key { [ Meta_R ] }; + key { [ Menu ] }; +}; diff --git a/xkbdata/symbols/digital_vndr/us b/xkbdata/symbols/digital_vndr/us new file mode 100644 index 0000000..e737e4e --- /dev/null +++ b/xkbdata/symbols/digital_vndr/us @@ -0,0 +1,211 @@ +// +//Copyright (c) 1996 Digital Equipment Corporation +// +//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 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 DIGITAL EQUIPMENT CORPORATION 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 Digital Equipment +//Corporation shall not be used in advertising or otherwise to promote +//the sale, use or other dealings in this Software without prior written +//authorization from Digital Equipment Corporation. +// +// HISTORY +// Log +// Revision 1.2 1996/06/18 09:10:16 erik +// use flags correctly, assorted cleanups and consortium fixes +// +// Revision 1.1.6.3 1995/12/19 19:56:37 William_Walker +// Update to XKB 0.65 +// [1995/12/17 02:37:44 William_Walker] +// +// Revision 1.1.6.2 1995/10/25 21:01:25 William_Walker +// Add pc104-key support +// [1995/10/23 15:46:27 William_Walker] +// +// Revision 1.1.2.7 1995/06/27 12:18:40 William_Walker +// Add LK201 and LK450 support as well as TW and DP variants. +// [1995/06/26 20:30:33 William_Walker] +// +// Revision 1.1.2.6 1995/06/09 20:55:20 William_Walker +// Add VT105 layout support and ISO group support +// [1995/06/09 20:43:05 William_Walker] +// +// Revision 1.1.2.5 1995/06/08 21:05:49 William_Walker +// Use ISO_Next_Group instead of grouplock +// [1995/06/08 21:03:56 William_Walker] +// +// Revision 1.1.2.4 1995/06/05 19:25:00 William_Walker +// New file. I love keymaps. +// [1995/06/05 18:17:54 William_Walker] +// +// EndLog +// +// @(#)RCSfile: us Revision: /main/4 (DEC) Date: 1996/01/24 12:15:05 +// + +// ************************************************************** +// * * +// * Symbols for en_US.ISO8859-1 - English for U.S. * +// * * +// ************************************************************** + +xkb_symbols "us" { + + key { [ grave, asciitilde ] }; + key { [ 1, exclam ] }; + key { [ 2, at ] }; + key { [ 3, numbersign ] }; + key { [ 4, dollar ] }; + key { [ 5, percent ] }; + key { [ 6, asciicircum ] }; + key { [ 7, ampersand ] }; + key { [ 8, asterisk ] }; + key { [ 9, parenleft ] }; + key { [ 0, parenright ] }; + key { [ minus, underscore ] }; + key { [ equal, plus ] }; + + key { [ q, Q ] }; + key { [ w, W ] }; + key { [ e, E ] }; + key { [ r, R ] }; + key { [ t, T ] }; + key { [ y, Y ] }; + key { [ u, U ] }; + key { [ i, I ] }; + key { [ o, O ] }; + key { [ p, P ] }; + key { [ bracketleft, braceleft ] }; + key { [ bracketright, braceright ] }; + + key { [ a, A ] }; + key { [ s, S ] }; + key { [ d, D ] }; + key { [ f, F ] }; + key { [ g, G ] }; + key { [ h, H ] }; + key { [ j, J ] }; + key { [ k, K ] }; + key { [ l, L ] }; + key { [ semicolon, colon ] }; + key { [ apostrophe, quotedbl ] }; + key { [ backslash, bar ] }; + + key { [ z, Z ] }; + key { [ x, X ] }; + key { [ c, C ] }; + key { [ v, V ] }; + key { [ b, B ] }; + key { [ n, N ] }; + key { [ m, M ] }; + key { [ comma, less ] }; + key { [ period, greater ] }; + key { [ slash, question ] }; +}; + +// ************************************************************** +// * * +// * The VT105 layouts * +// * * +// * NOTES: The typewriter (TW) and dataprocessing (DP) keys * +// * for the VT108 layout are identical for the US. * +// * * +// ************************************************************** +xkb_symbols "vt105-tw" { + include "digital_vndr/us(us)" + include "digital_vndr/vt(vt105)" + override key { + symbols[Group1]= [ 3, numbersign ], + symbols[Group2]= [ sterling ] + }; + key { [ less, greater ] }; +}; + +xkb_symbols "vt105-dp" { include "digital_vndr/us(vt105-tw)" }; +xkb_symbols "vt105" { include "digital_vndr/us(vt105-tw)" }; + +// ************************************************************** +// * * +// * The VT108 layouts - based upon the LK401-AA * +// * * +// * NOTES: The typewriter (TW) and dataprocessing (DP) keys * +// * for the VT108 layout are identical for the US. * +// * * +// ************************************************************** +xkb_symbols "vt108-tw" { + include "digital_vndr/us(us)" + include "digital_vndr/vt(vt108)" + replace key { [ Multi_key ] }; + override key { + symbols[Group1]= [ 3, numbersign ], + symbols[Group2]= [ sterling ] + }; + key { [ less, greater ] }; +}; + +xkb_symbols "vt108-dp" { include "digital_vndr/us(vt108-tw)" }; +xkb_symbols "vt108" { include "digital_vndr/us(vt108-tw)" }; + +// ************************************************************** +// * * +// * The "unix" layouts - based upon the LK421-AA * +// * * +// * NOTES: The "unix" keyboard emits the same keycodes as the * +// * LK401, but is a shorter keyboard that uses an * +// * "extend" key. To make life easier, we map * +// * to Escape so users do not have to press Extend+F11 * +// * to get Escape. * +// * * +// ************************************************************** +xkb_symbols "unix" { + include "digital_vndr/us(vt108)" + override key { [ Escape ] }; + override key { [ grave, asciitilde ] }; +}; + +// ************************************************************** +// * * +// * The "pcxal" layouts * +// * * +// * NOTES: The pcxal layouts are pretty much standardized for * +// * the US and use a 101-key keyboard. * +// * * +// ************************************************************** +xkb_symbols "pcxalga" { + include "digital_vndr/pc(pc)" + include "digital_vndr/us(us)" + replace key { [ Alt_R, Meta_R ] }; +}; + +xkb_symbols "pcxal" { include "digital_vndr/us(pcxalga)" }; +xkb_symbols "pcxalaa" { include "digital_vndr/us(pcxalga)" }; +xkb_symbols "pcxalfa" { include "digital_vndr/us(pcxalga)" }; +xkb_symbols "pcxalka" { include "digital_vndr/us(pcxalga)" }; +xkb_symbols "lk44x" { include "digital_vndr/us(pcxalga)" }; + +// ************************************************************** +// * * +// * The "pc104" layouts. * +// * * +// ************************************************************** +xkb_symbols "pc104" { + include "digital_vndr/pc(pc104)" + include "digital_vndr/us(us)" + replace key { [ Alt_R ] }; +}; diff --git a/xkbdata/symbols/digital_vndr/vt b/xkbdata/symbols/digital_vndr/vt new file mode 100644 index 0000000..13f7941 --- /dev/null +++ b/xkbdata/symbols/digital_vndr/vt @@ -0,0 +1,158 @@ +// +//Copyright (c) 1996 Digital Equipment Corporation +// +//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 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 DIGITAL EQUIPMENT CORPORATION 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 Digital Equipment +//Corporation shall not be used in advertising or otherwise to promote +//the sale, use or other dealings in this Software without prior written +//authorization from Digital Equipment Corporation. +// +// HISTORY +// Log +// Revision 1.2 1996/06/18 09:10:19 erik +// use flags correctly, assorted cleanups and consortium fixes +// +// Revision 1.1.6.2 1995/12/19 19:56:39 William_Walker +// Update to XKB 0.65 +// [1995/12/17 02:37:47 William_Walker] +// +// Revision 1.1.2.5 1995/07/11 21:20:50 William_Walker +// Make RALT act as RALT +// [1995/07/11 21:18:28 William_Walker] +// +// Revision 1.1.2.4 1995/06/27 12:18:41 William_Walker +// Add LK201 and LK450 support as well as TW and DP variants. +// [1995/06/26 20:30:37 William_Walker] +// +// Revision 1.1.2.3 1995/06/09 20:55:21 William_Walker +// Add VT105 layout support and ISO group support +// [1995/06/09 20:43:09 William_Walker] +// +// Revision 1.1.2.2 1995/06/05 19:25:04 William_Walker +// New file. I love keymaps. +// [1995/06/05 18:17:58 William_Walker] +// +// EndLog +// +// @(#)RCSfile: vt Revision: /main/3 (DEC) Date: 1996/01/24 12:15:08 +// +xkb_symbols "vt105" { + + // Modifier mappings + // + modifier_map Shift { Shift_L, Shift_R }; + modifier_map Lock { Caps_Lock }; + modifier_map Control { Control_L, Control_R }; + modifier_map Mod1 { Alt_L, Alt_R, Meta_L, Meta_R }; + modifier_map Mod3 { Mode_switch }; + + // Common keys + // + key { [ Delete ] }; + key { [ Tab ] }; + key { [ Return ] }; + key { [ Control_L ] }; + key { [ Caps_Lock ] }; + key { [ Shift_L ] }; + key { [ Shift_R ] }; + key { [ Alt_L, Meta_L ] }; + key { [ space ] }; + + // "Function" keys + // + key { [ F1 ] }; + key { [ F2 ] }; + key { [ F3 ] }; + key { [ F4 ] }; + key { [ F5 ] }; + key { [ F6 ] }; + key { [ F7 ] }; + key { [ F8 ] }; + key { [ F9 ] }; + key { [ F10 ] }; + key { [ Escape, F11 ] }; + key { [ F12 ] }; + key { [ F13 ] }; + key { [ F14 ] }; + key { [ F17 ] }; + key { [ F18 ] }; + key { [ F19 ] }; + key { [ F20 ] }; + + // "Editing" keys + // + key { [ Help ] }; + key { [ Menu ] }; + key { [ Find ] }; + key { [ Insert ] }; + key { [ apLineDel ] }; + key { [ Select ] }; + key { [ Prior ] }; + key { [ Next ] }; + + key { [ Up ] }; + key { [ Left ] }; + key { [ Down ] }; + key { [ Right ] }; + + // "Keypad" keys + // + key { + type= "SHIFT+ALT", + symbols[Group1]= [ KP_F1,Pointer_EnableKeys ] + }; + key { [ KP_F2 ] }; + key { [ KP_F3 ] }; + key { [ KP_F4 ] }; + + key { [ KP_7 ] }; + key { [ KP_8 ] }; + key { [ KP_9 ] }; + key { [ KP_Subtract ] }; + + key { [ KP_4 ] }; + key { [ KP_5 ] }; + key { [ KP_6 ] }; + key { [ KP_Separator ] }; + + key { [ KP_1 ] }; + key { [ KP_2 ] }; + key { [ KP_3 ] }; + key { [ KP_Enter ] }; + + key { [ KP_0 ] }; + key { [ KP_Decimal ] }; + + // Key to support Lock-Down Modifier descriptions for R5 + // + key { [ NoSymbol ] }; +}; + +xkb_symbols "vt108" { + + include "digital_vndr/vt(vt105)" + + replace key { [ Mode_switch ] }; + + key { [ Alt_L, Meta_L ] }; + key { [ Alt_R, Meta_R ] }; + key { [ Multi_key ] }; +}; diff --git a/xkbdata/symbols/dk b/xkbdata/symbols/dk new file mode 100644 index 0000000..8d231ee --- /dev/null +++ b/xkbdata/symbols/dk @@ -0,0 +1,85 @@ +default partial alphanumeric_keys +xkb_symbols "basic" { + + include "latin(type2)" + + name[Group1]="Danish"; + + key { [ plus, question, plusminus, questiondown ] }; + key { [dead_acute, dead_grave, bar, brokenbar ] }; + + + key { [ ae, AE, dead_acute, dead_doubleacute ] }; + key { [ oslash, Ooblique, dead_circumflex, dead_caron ] }; + key { [ onehalf, section, threequarters, paragraph ] }; + + key { [apostrophe, asterisk, dead_doubleacute, multiply ] }; + + key { [ less, greater, backslash, notsign ] }; + + include "kpdl(comma)" + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "nodeadkeys" { + + include "dk(basic)" + + name[Group1]="Danish (no dead keys)"; + + key { [ acute, grave, bar, ogonek ] }; + key { [ aring, Aring, diaeresis, degree ] }; + key { [ diaeresis, asciicircum, asciitilde, macron ] }; + key { [ ae, AE, acute, doubleacute ] }; + key { [ oslash, Ooblique, asciicircum, caron ] }; + key { [apostrophe, asterisk, doubleacute, multiply ] }; + key { [ comma, semicolon, cedilla, ogonek ] }; + key { [ period, colon, periodcentered, abovedot ] }; +}; + +partial alphanumeric_keys +xkb_symbols "winkeys" { + + include "dk(basic)" + name[Group1] = "Danish (Windows)"; + include "eurosign(5)" +}; + +// Copied from macintosh_vndr/dk +partial alphanumeric_keys +xkb_symbols "mac" { + + include "dk" + name[Group1]= "Danish (Macintosh)"; + + key { [ space, space, nobreakspace, nobreakspace ] }; + key { [ minus, underscore, hyphen, macron ] }; + include "kpdl(dot)" +}; + + +partial alphanumeric_keys +xkb_symbols "mac_nodeadkeys" { + include "dk(mac)" + name[Group1]= "Danish (Macintosh, no dead keys)"; + + key { [ acute, grave, bar, ogonek ] }; + key { [diaeresis, asciicircum, asciitilde, dead_macron ] }; +}; + +partial alphanumeric_keys +xkb_symbols "dvorak" { + include "no(dvorak)" + + name[Group1]= "Danish (Dvorak)"; + key { [ asciitilde, asciicircum, dead_diaeresis, dead_tilde ] }; +}; + +// EXTRAS: + +partial alphanumeric_keys + xkb_symbols "sun_type6" { + include "sun_vndr/dk(sun_type6)" +}; diff --git a/xkbdata/symbols/dz b/xkbdata/symbols/dz new file mode 100644 index 0000000..f4f1efc --- /dev/null +++ b/xkbdata/symbols/dz @@ -0,0 +1,189 @@ +// Tamazight en caractères latin +// Noureddine LOUAHEDJ +// louahedj@noureddine.me + +// +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓ +// │ ³ ¸ │ 1 ̨ │ 2 É │ 3 ˘ │ 4 — │ 5 – │ 6 ‑ │ 7 È │ 8 ™ │ 9 Ç │ 0 À │ ° ≠ │ + ± ┃ ⌫ Retour┃ +// │ ² ¹ │ & ˇ │ é ~ │ " # │ ' { │ ( [ │ - | │ è ` │ _ \ │ ç ^ │ à @ │ ) ] │ = } ┃ arrière┃ +// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫ +// ┃ ┃ A Æ │ Z  │ E ¢ │ R Ṛ │ T Ṭ │ Y Ÿ │ U Û │ I Î │ O Ɛ │ P Ô │ ¨ ˚ │ £ Ø ┃Entrée ┃ +// ┃Tab ↹ ┃ a æ │ z â │ e € │ r ṛ │ t ṭ │ y ÿ │ u û │ i î │ o ɛ │ p ô │ ^ ~ │ $ ø ┃ ⏎ ┃ +// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃ +// ┃ ┃ Q Ä │ S Ṣ │ D Ḍ │ F ‚ │ G Ǧ │ H Ḥ │ J Ü │ K Ï │ L Ŀ │ M Ö │ % Ù │ µ ̄ ┃ ┃ +// ┃Maj ⇬ ┃ q ä │ s ṣ │ d ḍ │ f ‘ │ g ǧ │ h ḥ │ j ü │ k ï │ l ŀ │ m ö │ ù ' │ * ` ┃ ┃ +// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫ +// ┃ ┃ > ≥ │ W “ │ X ” │ C Č │ V Ɣ │ B ↑ │ N → │ ? … │ . . │ / ∕ │ § − ┃ ┃ +// ┃Shift ⇧┃ < ≤ │ w « │ x » │ c č │ v ɣ │ b ↓ │ n ¬ │ , ¿ │ ; × │ : ÷ │ ! ¡ ┃Shift ⇧ ┃ +// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛ +// ┃ ┃ ┃ ┃ ␣ Espace fine insécable ⍽ ┃ ┃ ┃ ┃ +// ┃Ctrl ┃Meta ┃Alt ┃ ␣ Espace Espace insécable ⍽ ┃AltGr ⇮┃Menu ┃Ctrl ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛ + + +default partial alphanumeric_keys +xkb_symbols "la" { + + include "fr(oss)" + + name[Group1]="Berber (Algeria, Latin)"; + + key { [ z, Z, 0x1001E93, 0x1001E92 ] }; // z Z ẓ Ẓ + key { [ r, R, 0x1001E5B, 0x1001E5A ] }; // r R ṛ Ṛ + key { [ t, T, 0x1001E6D, 0x1001E6C ] }; // t T ṭ Ṭ + key { [ o, O, 0x100025B, 0x1000190 ] }; // o O ɛ Ɛ + key { [ s, S, 0x1001E63, 0x1001E62 ] }; // s s ṣ Ṣ + key { [ d, D, 0x1001E0D, 0x1001E0C ] }; // d D ḍ Ḍ + key { [ g, G, 0x10001E7, 0x10001E6 ] }; // g G ǧ Ǧ + key { [ h, H, 0x1001E25, 0x1001E24 ] }; // h H ḥ Ḥ + key { [ c, C, 0x100010D, 0x100010C ] }; // c C č Č + key { [ v, V, 0x1000263, 0x1000194 ] }; // v V ɣ Ɣ + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "azerty-deadkeys" { + // Kabyle keyboard with dead keys + // 2020 by Louis Gostiaux + + include "fr" + + name[Group1]= "Kabyle (AZERTY, with dead keys)"; + + key { [ a, A, U025B, U0190 ]}; // a A ɛ Ɛ + key { [ z, Z, U2D63 ] }; // ⵣ + key { [ q, Q, U0263, U0194 ] }; // q Q ɣ Ɣ + key { [ w, W, U02B7 ] }; // ʷ + key { [ semicolon, period, dead_belowdot, dead_caron] }; + // dead-below dot for ḍ,ṭ,ẓ,ḥ and dead-caron for č and ǧ + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "qwerty-gb-deadkeys" { + // Kabyle keyboard, uk international with dead keys + // 2020 by Louis Gostiaux + + include "gb(intl)" + + name[Group1]= "Kabyle (QWERTY, UK, with dead keys)"; + + key { [ a, A, U025B, U0190 ]}; // a A ɛ Ɛ + key { [ q, Q, U0263, U0194 ] }; // q Q ɣ Ɣ + key { [ z, Z, U2D63 ] }; // ⵣ + key { [ w, W, U02B7 ] }; // ʷ + key { [ period, greater , dead_belowdot, dead_caron] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "qwerty-us-deadkeys" { + // Kabyle keyboard, us international with dead keys + // 2020 by Louis Gostiaux + + include "us(intl)" + + name[Group1]= "Kabyle (QWERTY, US, with dead keys)"; + + key { [ a, A, U025B, U0190 ] }; // a A ɛ Ɛ + key { [ q, Q, U0263, U0194 ] }; // q Q ɣ Ɣ + key { [ z, Z, U2D63 ] }; // ⵣ + key { [ w, W, U02B7 ] }; // ʷ + key { [ period, greater , dead_belowdot, dead_caron] }; + + include "level3(ralt_switch)" +}; + + +// +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓ +// │ │ 1 ̨ │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ° │ + ┃ ⌫ Retour┃ +// │ ² │ & │ ~ │ " # │ ' { │ ( [ │ - | │ │ _ \ │ ^ │ @ │ ) ] │ = } ┃ arrière┃ +// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫ +// ┃ ┃ │ ⵥ │ ⵦ │ ⵕ │ ⵟ │ │ │ │ ⵧ │ │ │ £ Ø ┃Entrée ┃ +// ┃Tab ↹ ┃ ⴰ │ ⵣ ⵤ │ ⴻ │ ⵔ │ ⵜ ⵝ │ ⵢ │ ⵓ │ ⵉ │ ⵄ │ ⵃ │ ⵯ │ $ ø ┃ ⏎ ┃ +// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃ +// ┃ ┃ ⵈ │ ⵚ │ ⴹ ⴺ │ │ ⴵ ⴶ │ ⵁ │ ⵋ │ ⴿ │ │ │ % Ù │ µ ̄¯ ┃ ┃ +// ┃Maj ⇬ ┃ ⵇ │ ⵙ │ ⴷ ⴸ │ ⴼ │ ⴳ ⴴ │ ⵀ ⵂ │ ⵊ ⵌ │ ⴽ ⴾ │ ⵍ │ ⵎ │ ù ´ │ * ` ┃ ┃ +// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫ +// ┃ ┃ > ¦ │ │ ⵆ │ ⵞ │ ⵗ ⵠ │ ⴲ │ ⵐ │ ? … │ . ⋅ │ / ∕ │ § − ┃ ┃ +// ┃Shift ⇧┃ < | │ ⵡ │ ⵅ │ ⵛ │ ⵖ ⵘ │ ⴱ ⵒ │ ⵏ ⵑ │ , ¿ │ ; × │ : ÷ │ ! ¡ ┃Shift ⇧ ┃ +// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛ +// ┃ ┃ ┃ ┃ ␣ ┃ ┃ ┃ ┃ +// ┃Ctrl ┃Meta ┃Alt ┃ ␣ Espace ┃AltGr ⇮┃Menu ┃Ctrl ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛ + +partial alphanumeric_keys +xkb_symbols "ber" { + + name[Group1]="Berber (Algeria, Tifinagh)"; + + // First row + key { [ twosuperior, threesuperior, onesuperior, dead_cedilla ] }; // ² ³ ¹ ¸ + key { [ ampersand, 1, dead_caron, dead_ogonek ] }; // & 1 ˇ ̨ + key { [ eacute, 2, asciitilde, Eacute ] }; // é 2 ~ É + key { [ quotedbl, 3, numbersign, dead_breve ] }; // " 3 # ˘ + key { [ apostrophe, 4, braceleft, 0x1002014 ] }; // ' 4 { — (tiret cadratin) + key { [ parenleft, 5, bracketleft, 0x1002013 ] }; // ( 5 [ – (tiret demi-cadratin) + key { [ minus, 6, bar, 0x1002011 ] }; // - 6 | ‑ (tiret insécable) + key { [ egrave, 7, grave, Egrave ] }; // è 7 ` È + key { [ underscore, 8, backslash, trademark ] }; // _ 8 \ ™ + key { [ ccedilla, 9, asciicircum, Ccedilla ] }; // ç 9 ^ Ç + key { [ agrave, 0, at, Agrave ] }; // à 0 @ À + key { [ parenright, degree, bracketright, notequal ] }; // ) ° ] ≠ + key { [ equal, plus, braceright, plusminus ] }; // = + } ± + + // Second row + key { [ 0x1002D30 ] }; // ⴰ + key { [ 0x1002D63, 0x1002D65, 0x1002D64 ] }; // ⵣ ⵥ ⵤ + key { [ 0x1002D3B, 0x1002D66 ] }; // ⴻ ⵦ + key { [ 0x1002D54, 0x1002D55 ] }; // ⵔ ⵕ + key { [ 0x1002D5C, 0x1002D5F, 0x1002D5D ] }; // ⵜ ⵟ ⵝ + key { [ 0x1002D62 ] }; // ⵢ + key { [ 0x1002D53 ] }; // ⵓ + key { [ 0x1002D49 ] }; // ⵉ + key { [ 0x1002D44, 0x1002D67 ] }; // ⵄ ⵧ + key { [ 0x1002D43 ] }; // ⵃ + key { [ 0x1002D6F ] }; // ⵯ + key { [ dollar, sterling, oslash, Ooblique ] }; // $ £ ø Ø + + // Third row + key { [ 0x1002D47, 0x1002D48 ] }; // ⵇ ⵈ + key { [ 0x1002D59, 0x1002D5A ] }; // ⵙ ⵚ + key { [ 0x1002D37, 0x1002D39, 0x1002D38, 0x1002D3A ] }; // ⴷ ⴹ ⴸ ⴺ + key { [ 0x1002D3C ] }; // ⴼ + key { [ 0x1002D33, 0x1002D35, 0x1002D34, 0x1002D36 ] }; // ⴳ ⴵ ⴴ ⴶ + key { [ 0x1002D40, 0x1002D41, 0x1002D42 ] }; // ⵀ ⵁ ⵂ + key { [ 0x1002D4A, 0x1002D4B, 0x1002D4C ] }; // ⵊ ⵋ ⵌ Ü + key { [ 0x1002D3D, 0x1002D3F, 0x1002D3E ] }; // ⴽ ⴿ ⴾ + key { [ 0x1002D4D ] }; // ⵍ + key { [ 0x1002D4E ] }; // ⵎ + key { [ ugrave, percent, dead_acute, Ugrave ] }; // ù % ' Ù + key { [ asterisk, mu, dead_grave, dead_macron ] }; // * µ ` ̄ + + // Fourth row + key { [ less, greater, lessthanequal, greaterthanequal ] }; // < > ≤ ≥ + key { [ 0x1002D61 ] }; // ⵡ + key { [ 0x1002D45, 0x1002D46 ] }; // ⵅ ⵆ + key { [ 0x1002D5B, 0x1002D5E ] }; // ⵛ ⵞ + key { [ 0x1002D56, 0x1002D57, 0x1002D58, 0x1002D60 ] }; // ⵖ ⵗ ⵘ ⵠ + key { [ 0x1002D31, 0x1002D32, 0x1002D52 ] }; // ⴱ ⴲ ⵒ + key { [ 0x1002D4F, 0x1002D50, 0x1002D51 ] }; // ⵏ ⵐ ⵑ + key { [ comma, question, questiondown, 0x1002026 ] }; // , ? ¿ … + key { [ semicolon, period, multiply, 0x10022C5 ] }; // ; . × ⋅ + key { [ colon, slash, division, 0x1002215 ] }; // : / ÷ ∕ + key { [ exclam, section, exclamdown, 0x1002212 ] }; // ! § ¡ − + + include "level3(ralt_switch)" +}; + +// Arabic AZERTY with modern Latin digits +partial alphanumeric_keys +xkb_symbols "ar" { + include "ara(azerty)" + + name[Group1]="Arabic (Algeria)"; +}; diff --git a/xkbdata/symbols/ee b/xkbdata/symbols/ee new file mode 100644 index 0000000..b42774d --- /dev/null +++ b/xkbdata/symbols/ee @@ -0,0 +1,106 @@ +// Estonian keyboard layout, by Ville Hallik . +default partial alphanumeric_keys +xkb_symbols "basic" { + + // Describes the differences between a very simple en_US + // keyboard and a very simple Estonian keyboard + // This layout conforms to both EVS8:1993 and EVS8:2000 standards + + include "latin(type4)" + + name[Group1]="Estonian"; + + key { [ 3, numbersign, sterling, sterling ] }; + key { [ 4, currency, dollar, dollar ] }; + key { [ plus, question, backslash, questiondown ] }; + key { [dead_acute, dead_grave, grave, apostrophe ] }; + + key { [udiaeresis, Udiaeresis, dead_diaeresis, dead_abovering ] }; + key { [ otilde, Otilde, section, dead_macron ] }; + + key { [ s, S, scaron, Scaron ] }; + key { [odiaeresis, Odiaeresis, dead_acute, dead_doubleacute ] }; + key { [adiaeresis, Adiaeresis, asciicircum, dead_caron ] }; + key { [dead_caron, dead_tilde, notsign, notsign ] }; + + key { [apostrophe, asterisk, onehalf, dead_breve ] }; + key { [ z, Z, zcaron, Zcaron ] }; + key { [ comma, semicolon, less, multiply ] }; + key { [ period, colon, greater, division ] }; + key { [ minus, underscore, bar, abovedot ] }; + + include "level3(ralt_switch)" + include "eurosign(e)" +}; + +partial alphanumeric_keys +xkb_symbols "nodeadkeys" { + + // Modifies the basic Estonian layout to eliminate all dead keys + + include "ee(basic)" + name[Group1]="Estonian (no dead keys)"; + + key { [asciicircum,asciitilde ] }; + key { [apostrophe, grave ] }; + key { [udiaeresis, Udiaeresis, diaeresis, degree ] }; + key { [ otilde, Otilde, section, macron ] }; + key { [odiaeresis, Odiaeresis, acute, doubleacute ] }; + key { [adiaeresis, Adiaeresis, asciicircum, caron ] }; + key { [apostrophe, asterisk, onehalf, breve ] }; + key { [ minus, underscore, dead_belowdot, abovedot ] }; +}; + +// Dvorak with Estonian characters +partial alphanumeric_keys +xkb_symbols "dvorak" { + include "us(dvorak)" + name[Group1]= "Estonian (Dvorak)"; + + key { [ 3, numbersign, sterling ] }; + key { [ 4, dollar, section, currency ] }; + key { [ 8, asterisk, onehalf ] }; + + key { [ a, A, adiaeresis, Adiaeresis ] }; + key { [ o, O, otilde, Otilde ] }; + key { [ e, E, odiaeresis, Odiaeresis ] }; + key { [ u, U, udiaeresis, Udiaeresis ] }; + key { [ s, S, scaron, Scaron ] }; + key { [ z, Z, zcaron, Zcaron ] }; + + include "level3(ralt_switch)" + include "kpdl(comma)" + include "eurosign(5)" +}; + +// Estonian few characters on basic US keymap. +// by Elan Ruusamäe +partial alphanumeric_keys +xkb_symbols "us" { + include "us(basic)" + name[Group1] = "Estonian (US)"; + + // ž, Ž + key { [ z, Z, zcaron, Zcaron ] }; + // ¢ + key { [ c, C, cent, cent ] }; + // š, Š + key { [ s, S, scaron, Scaron ] }; + key { [ semicolon, colon, odiaeresis, Odiaeresis ] }; + key { [ apostrophe, quotedbl, adiaeresis, Adiaeresis ] }; + key { [ bracketleft, braceleft, udiaeresis, Udiaeresis ] }; + key { [ bracketright, braceright, otilde, Otilde ] }; + // £ + key { [ 3, numbersign, sterling, sterling ] }; + + include "level3(ralt_switch)" + include "eurosign(5)" + include "eurosign(e)" +}; + +// EXTRAS: + +partial alphanumeric_keys + xkb_symbols "sun_type6" { + include "sun_vndr/ee(sun_type6)" +}; diff --git a/xkbdata/symbols/empty b/xkbdata/symbols/empty new file mode 100644 index 0000000..d182581 --- /dev/null +++ b/xkbdata/symbols/empty @@ -0,0 +1,5 @@ +default partial alphanumeric_keys modifier_keys +xkb_symbols "basic" { + // #UNREGISTERED + name[Group1]= "Empty"; +}; diff --git a/xkbdata/symbols/epo b/xkbdata/symbols/epo new file mode 100644 index 0000000..4b720e9 --- /dev/null +++ b/xkbdata/symbols/epo @@ -0,0 +1,150 @@ +// Esperanto keyboard maps -- "Ekverto" +// +// Ekverto A ("legacy") (2004-01-10) +// Chusslove Illich (Ĉaslavo Iliĉo) +// +// Ekverto B ("basic") (2006-12-02) +// Benno Schulenberg (Beno Sĥilenberĥ) +// Chusslove Illich (Ĉaslavo Iliĉo) + +default partial alphanumeric_keys +xkb_symbols "basic" { + + include "us(basic)" + name[Group1]= "Esperanto"; + + key.type[Group1] = "FOUR_LEVEL_ALPHABETIC"; + + key { [ scircumflex, Scircumflex, q, Q ] }; + key { [ gcircumflex, Gcircumflex, w, W ] }; + key { [ ccircumflex, Ccircumflex, x, X ] }; + key { [ ubreve, Ubreve, y, Y ] }; + + key.type[Group1] = "FOUR_LEVEL_SEMIALPHABETIC"; + + key { [ jcircumflex, Jcircumflex, bracketleft, braceleft ] }; + key { [ hcircumflex, Hcircumflex, bracketright, braceright ] }; + + key { [ o, O, braceleft, braceleft ] }; + key { [ p, P, braceright, braceright ] }; + + key { [ a, A, leftsinglequotemark, NoSymbol ] }; + key { [ s, S, rightsinglequotemark, NoSymbol ] }; + key { [ d, D, leftdoublequotemark, NoSymbol ] }; + key { [ f, F, rightdoublequotemark, NoSymbol ] }; + + key { [ n, N, endash, endash ] }; + key { [ m, M, emdash, emdash ] }; + + key.type[Group1] = "FOUR_LEVEL"; + + key { [ 5, percent, EuroSign, EuroSign ] }; + + include "level3(ralt_switch)" +}; + + +partial alphanumeric_keys +xkb_symbols "legacy" { + + name[Group1]= "Esperanto (legacy)"; + + key.type[Group1] = "FOUR_LEVEL"; + + key { [ grave, asciitilde, NoSymbol, NoSymbol ] }; + key { [ 1, exclam, NoSymbol, NoSymbol ] }; + key { [ 2, quotedbl, NoSymbol, NoSymbol ] }; + key { [ 3, numbersign, NoSymbol, NoSymbol ] }; + key { [ 4, dollar, NoSymbol, NoSymbol ] }; + key { [ 5, percent, NoSymbol, NoSymbol ] }; + key { [ 6, apostrophe, NoSymbol, NoSymbol ] }; + key { [ 7, ampersand, NoSymbol, NoSymbol ] }; + key { [ 8, asterisk, NoSymbol, NoSymbol ] }; + key { [ 9, parenleft, NoSymbol, NoSymbol ] }; + key { [ 0, parenright, NoSymbol, NoSymbol ] }; + key { [ minus, underscore, NoSymbol, NoSymbol ] }; + key { [ equal, plus, NoSymbol, NoSymbol ] }; + + key { [ comma, semicolon, NoSymbol, NoSymbol ] }; + key { [ period, colon, NoSymbol, NoSymbol ] }; + key { [ slash, question, NoSymbol, NoSymbol ] }; + + key { [ bracketleft, braceleft, NoSymbol, NoSymbol ] }; + key { [ bracketright, braceright, NoSymbol, NoSymbol ] }; + + key { [ backslash, bar, NoSymbol, NoSymbol ] }; + key { [ NoSymbol, NoSymbol, NoSymbol, NoSymbol ] }; + + key.type[Group1] = "FOUR_LEVEL_SEMIALPHABETIC"; + + key { [ scircumflex, Scircumflex, at, NoSymbol ] }; + key { [ jcircumflex, Jcircumflex, asciicircum, NoSymbol ] }; + key { [ e, E, EuroSign, NoSymbol ] }; + key { [ r, R, emdash, NoSymbol ] }; + key { [ t, T, endash, NoSymbol ] }; + key { [ gcircumflex, Gcircumflex, NoSymbol, NoSymbol ] }; + key { [ u, U, NoSymbol, NoSymbol ] }; + key { [ i, I, NoSymbol, NoSymbol ] }; + key { [ o, O, NoSymbol, NoSymbol ] }; + key { [ p, P, NoSymbol, NoSymbol ] }; + + key { [ a, A, less, NoSymbol ] }; + key { [ s, S, greater, NoSymbol ] }; + key { [ d, D, leftdoublequotemark, NoSymbol ] }; + key { [ f, F, rightdoublequotemark, NoSymbol ] }; + key { [ g, G, NoSymbol, NoSymbol ] }; + key { [ h, H, NoSymbol, NoSymbol ] }; + key { [ j, J, NoSymbol, NoSymbol ] }; + key { [ k, K, NoSymbol, NoSymbol ] }; + key { [ l, L, NoSymbol, NoSymbol ] }; + key { [ ubreve, Ubreve, NoSymbol, NoSymbol ] }; + key { [ hcircumflex, Hcircumflex, NoSymbol, NoSymbol ] }; + + key { [ z, Z, leftsinglequotemark, NoSymbol ] }; + key { [ ccircumflex, Ccircumflex, rightsinglequotemark, NoSymbol ] }; + key { [ c, C, NoSymbol, NoSymbol ] }; + key { [ v, V, NoSymbol, NoSymbol ] }; + key { [ b, B, NoSymbol, NoSymbol ] }; + key { [ n, N, NoSymbol, NoSymbol ] }; + key { [ m, M, NoSymbol, NoSymbol ] }; + + include "level3(ralt_switch)" +}; + +// Add the Esperanto supersigned letters to their related keys on a Qwerty keyboard. +// This is a generic "component" that is not used by the other layouts in this file, +// but is meant to be applied to any Qwerty layout. If you have any questions, ask +// J. Pablo Fernández . +partial +xkb_symbols "qwerty" { + key { [ NoSymbol, NoSymbol, ccircumflex, Ccircumflex ] }; + key { [ NoSymbol, NoSymbol, gcircumflex, Gcircumflex ] }; + key { [ NoSymbol, NoSymbol, hcircumflex, Hcircumflex ] }; + key { [ NoSymbol, NoSymbol, jcircumflex, Jcircumflex ] }; + key { [ NoSymbol, NoSymbol, scircumflex, Scircumflex ] }; + key { [ NoSymbol, NoSymbol, ubreve, Ubreve ] }; +}; + +// Add the Esperanto supersigned letters to their related keys in a +// Dvorak layout. Similar comment as above applies. +partial +xkb_symbols "dvorak" { + key { [ NoSymbol, NoSymbol, ccircumflex, Ccircumflex ] }; + key { [ NoSymbol, NoSymbol, gcircumflex, Gcircumflex ] }; + key { [ NoSymbol, NoSymbol, hcircumflex, Hcircumflex ] }; + key { [ NoSymbol, NoSymbol, jcircumflex, Jcircumflex ] }; + key { [ NoSymbol, NoSymbol, scircumflex, Scircumflex ] }; + key { [ NoSymbol, NoSymbol, ubreve, Ubreve ] }; +}; + +// Add the Esperanto supersigned letters to their related keys in a +// Colemak layout. Similar comment as above applies. +partial +xkb_symbols "colemak" { + key { [ NoSymbol, NoSymbol, ccircumflex, Ccircumflex ] }; + key { [ NoSymbol, NoSymbol, gcircumflex, Gcircumflex ] }; + key { [ NoSymbol, NoSymbol, hcircumflex, Hcircumflex ] }; + key { [ NoSymbol, NoSymbol, jcircumflex, Jcircumflex ] }; + key { [ NoSymbol, NoSymbol, scircumflex, Scircumflex ] }; + key { [ NoSymbol, NoSymbol, ubreve, Ubreve ] }; +}; diff --git a/xkbdata/symbols/es b/xkbdata/symbols/es new file mode 100644 index 0000000..948e30d --- /dev/null +++ b/xkbdata/symbols/es @@ -0,0 +1,255 @@ +// Modified for a real Spanish keyboard by Jon Tombs. + +default partial alphanumeric_keys +xkb_symbols "basic" { + + include "latin(type4)" + + name[Group1]="Spanish"; + + key { [ 1, exclam, bar, exclamdown ] }; + key { [ 3, periodcentered, numbersign, sterling ] }; + key { [ 4, dollar, asciitilde, dollar ] }; + key { [apostrophe, question, backslash, questiondown ] }; + key { [exclamdown, questiondown, dead_cedilla, dead_ogonek ] }; + + key { [dead_grave, dead_circumflex, bracketleft, dead_abovering ] }; + key { [ plus, asterisk, bracketright, dead_macron ] }; + + key { [ ntilde, Ntilde, dead_tilde, dead_doubleacute ] }; + key { [dead_acute, dead_diaeresis, braceleft, dead_caron ] }; + key { [ masculine, ordfeminine, backslash, backslash ] }; + + key { [ ccedilla, Ccedilla, braceright, dead_breve ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "winkeys" { + + include "es(basic)" + name[Group1]="Spanish (Windows)"; + include "eurosign(5)" +}; + +partial alphanumeric_keys +xkb_symbols "nodeadkeys" { + + include "es(basic)" + + name[Group1]="Spanish (no dead keys)"; + + key { [exclamdown, questiondown, cedilla, ogonek ] }; + key { [ grave, asciicircum, bracketleft, degree ] }; + key { [ plus, asterisk, bracketright, macron ] }; + key { [ ntilde, Ntilde, asciitilde, doubleacute ] }; + key { [ acute, diaeresis, braceleft, caron ] }; + key { [ ccedilla, Ccedilla, braceright, breve ] }; + key { [ minus, underscore, dead_belowdot, abovedot ] }; +}; + +// Spanish mapping (note R-H exchange) +partial alphanumeric_keys +xkb_symbols "dvorak" { + + name[Group1]="Spanish (Dvorak)"; + + key {[ masculine, ordfeminine, backslash, degree ]}; + key {[ 1, exclam, bar, onesuperior ]}; + key {[ 2, quotedbl, at, twosuperior ]}; + key {[ 3, periodcentered, numbersign, threesuperior ]}; + key {[ 4, dollar, asciitilde, onequarter ]}; + key {[ 5, percent, brokenbar, fiveeighths ]}; + key {[ 6, ampersand, notsign, threequarters ]}; + key {[ 7, slash, onehalf, seveneighths ]}; + key {[ 8, parenleft, oneeighth, threeeighths ]}; + key {[ 9, parenright, asciicircum ]}; + key {[ 0, equal, grave, dead_doubleacute ]}; + key {[ apostrophe, question, dead_macron, dead_ogonek ]}; + key {[ exclamdown, questiondown, dead_breve, dead_abovedot ]}; + + key {[ period, colon, less, guillemotleft ]}; + key {[ comma, semicolon, greater, guillemotright ]}; + key {[ ntilde, Ntilde, lstroke, Lstroke ]}; + key {[ p, P, paragraph ]}; + key {[ y, Y, yen ]}; + key {[ f, F, tslash, Tslash ]}; + key {[ g, G, dstroke, Dstroke ]}; + key {[ c, C, cent, copyright ]}; + key {[ h, H, hstroke, Hstroke ]}; + key {[ l, L, sterling ]}; + key {[ dead_grave, dead_circumflex, bracketleft, dead_caron ]}; + key {[ plus, asterisk, bracketright, plusminus ]}; + + key {[ a, A, ae, AE ]}; + key {[ o, O, oslash, Oslash ]}; + key {[ e, E, EuroSign ]}; + key {[ u, U, aring, Aring ]}; + key {[ i, I, oe, OE ]}; + key {[ d, D, eth, ETH ]}; + key {[ r, R, registered, trademark ]}; + key {[ t, T, thorn, THORN ]}; + key {[ n, N, eng, ENG ]}; + key {[ s, S, ssharp, section ]}; + key {[ dead_acute, dead_diaeresis, braceleft, dead_tilde ]}; + key {[ ccedilla, Ccedilla, braceright, dead_cedilla ]}; + + key {[ less, greater, guillemotleft, guillemotright ]}; + key {[ minus, underscore, hyphen, macron ]}; + key {[ q, Q, currency ]}; + key {[ j, J ]}; + key {[ k, K, kra ]}; + key {[ x, X, multiply, division ]}; + key {[ b, B ]}; + key {[ m, M, mu ]}; + key {[ w, W ]}; + key {[ v, V ]}; + key {[ z, Z ]}; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "cat" { + + include "es(basic)" + + name[Group1]="Catalan (Spain, with middle-dot L)"; + + key { [ l, L, 0x1000140, 0x100013F ] }; +}; + +partial alphanumeric_keys +xkb_symbols "ast" { + + include "es(basic)" + + name[Group1]="Asturian (Spain, with bottom-dot H and L)"; + + key { [ h, H, 0x1001E25, 0x1001E24 ] }; + key { [ l, L, 0x1001E37, 0x1001E36 ] }; +}; + +// Copied from macintosh_vndr/es +partial alphanumeric_keys +xkb_symbols "mac" { + include "es" + name[Group1]= "Spanish (Macintosh)"; +}; + +partial alphanumeric_keys +xkb_symbols "olpc" { + + // #HW-SPECIFIC + + // http://wiki.laptop.org/go/OLPC_Spanish_Keyboard + + include "us(basic)" + name[Group1]="Spanish"; + + key { [ masculine, ordfeminine ] }; + key { [ 1, exclam, bar ] }; + key { [ 2, quotedbl, at ] }; + key { [ 3, dead_grave, numbersign, grave ] }; + key { [ 5, percent, asciicircum, dead_circumflex ] }; + key { [ 6, ampersand, notsign ] }; + key { [ 7, slash, backslash ] }; + key { [ 8, parenleft ] }; + key { [ 9, parenright ] }; + key { [ 0, equal ] }; + key { [ apostrophe, question ] }; + key { [ exclamdown, questiondown ] }; + + key { [ e, E, EuroSign ] }; + key { [ dead_acute, dead_diaeresis, acute, dead_abovering ] }; + key { [ bracketleft, braceleft ] }; + + key { [ ntilde, Ntilde ] }; + key { [ plus, asterisk, dead_tilde ] }; + key { [ bracketright, braceright, section ] }; + + key { [ comma, semicolon ] }; + key { [ period, colon ] }; + key { [ minus, underscore ] }; + + key { [ less, greater, ISO_Next_Group ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "olpcm" { + + // #HW-SPECIFIC + + // Mechanical (non-membrane) OLPC Spanish keyboard layout. + // See: http://wiki.laptop.org/go/OLPC_Spanish_Non-membrane_Keyboard + + include "us(basic)" + name[Group1]="Spanish"; + + key { [ questiondown, exclamdown, backslash ] }; + key { [ 1, exclam, bar ] }; + key { [ 2, quotedbl, at ] }; + key { [ 3, dead_grave, numbersign, grave ] }; + key { [ 4, dollar, asciitilde, dead_tilde ] }; + key { [ 5, percent, asciicircum, dead_circumflex ] }; + key { [ 6, ampersand, notsign ] }; + key { [ 7, slash, backslash ] }; // no '\' label on olpcm, leave for compatibility + key { [ 8, parenleft, masculine ] }; + key { [ 9, parenright, ordfeminine ] }; + key { [ 0, equal ] }; + key { [ apostrophe, question ] }; + + key { [ e, E, EuroSign ] }; + key { [ dead_acute, dead_diaeresis, dead_abovering, acute ] }; + key { [ plus, asterisk ] }; + + key { [ ntilde, Ntilde ] }; + // no AC11 or AC12 on olpcm + + key { [ comma, semicolon ] }; + key { [ period, colon ] }; + key { [ minus, underscore ] }; + + key { [ less, greater ] }; + key { [ bracketleft, braceleft, ccedilla, Ccedilla ] }; + key { [ bracketright, braceright ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "deadtilde" { + + include "es(basic)" + + name[Group1]="Spanish (dead tilde)"; + + key { [ 4, dollar, dead_tilde, dollar ] }; + key { [ ntilde, Ntilde, asciitilde, dead_doubleacute ] }; +}; + +partial alphanumeric_keys +xkb_symbols "olpc2" { + // #HW-SPECIFIC + + // Modified variant of US International layout, specifically for Peru + // Contact: Sayamindu Dasgupta + + include "us(olpc)" + name[Group1]="Spanish"; + + key { [ 3, numbersign, dead_grave, dead_grave] }; // combining grave + key { [ XF86Start ] }; + + include "level3(ralt_switch)" +}; + +// EXTRAS: + +partial alphanumeric_keys + xkb_symbols "sun_type6" { + include "sun_vndr/es(sun_type6)" +}; diff --git a/xkbdata/symbols/et b/xkbdata/symbols/et new file mode 100644 index 0000000..7ebe545 --- /dev/null +++ b/xkbdata/symbols/et @@ -0,0 +1,75 @@ +// +// Ethiopia +// Designed as a part of OLPC project +// +// 2007 Sergey Udaltsov +// + +default partial alphanumeric_keys +xkb_symbols "basic" { + include "et(olpc)" + name[Group1]="Amharic"; +}; + +partial alphanumeric_keys +xkb_symbols "olpc" { + + // #HW-SPECIFIC + + name[Group1]="Amharic"; + + key { [ 0x01001369, 0x01001372 ] }; // 1 + key { [ 0x0100136a, 0x01001373 ] }; // 2 + key { [ 0x0100136b, 0x01001374 ] }; // 3 + key { [ 0x0100136c, 0x01001375 ] }; // 4 + key { [ 0x0100136d, 0x01001376 ] }; // 5 + key { [ 0x0100136e, 0x01001377 ] }; // 6 + key { [ 0x0100136f, 0x01001378 ] }; // 7 + key { [ 0x01001370, 0x01001379 ] }; // 8 + key { [ 0x01001371, 0x0100137a ] }; // 9 + key { [ 0x0100137b, 0x0100137c ] }; // 0 + key { [ minus, underscore ] }; // -_ + key { [ equal, plus ] }; // =+ + + key { [ 0x01001240, 0x01001250 ] }; // q + key { [ 0x010012C8, VoidSymbol ] }; // w + key { [ 0x0100FE69, 0x0100FE70 ] }; // dead e + key { [ 0x01001228, VoidSymbol ] }; // r + key { [ 0x01001270, 0x01001320 ] }; // t + key { [ 0x010012E8, VoidSymbol ] }; // y + key { [ 0x0100FE75, 0x0100FE76 ] }; // dead u + key { [ 0x0100FE71, 0x0100FE72 ] }; // dead i + key { [ 0x0100FE73, 0x0100FE74 ] }; // dead o + key { [ 0x01001350, 0x01001330 ] }; // p + key { [ 0x01001340, 0x01001338 ] }; // [ + key { [ 0x01001328, 0x01001280 ] }; // ] + + key { [ 0x0100FE67, 0x0100FE68 ] }; // dead a + key { [ 0x01001230, 0x01001220 ] }; // s + key { [ 0x010012F0, 0x010012F8 ] }; // d + key { [ 0x01001348, VoidSymbol ] }; // f + key { [ 0x01001308, 0x01001318 ] }; // g + key { [ 0x01001200, 0x01001210 ] }; // h + key { [ 0x01001300, VoidSymbol ] }; // j + key { [ 0x010012A8, 0x010012B8 ] }; // k + key { [ 0x01001208, VoidSymbol ] }; // l + + key { [ 0x01001362, 0x01001361 ] }; // :; + key { [ 0x01001366, 0x01001365 ] }; // '" + + key { [ 0x010012D8, 0x010012E0 ] }; // z + key { [ 0x010012A0, 0x010012D0 ] }; // x + key { [ 0x01001278, 0x0100FE78 ] }; // c + key { [ 0x01001238, 0x01001268 ] }; // v + key { [ 0x01001260, VoidSymbol ] }; // b + key { [ 0x01001290, 0x01001298 ] }; // n + key { [ 0x01001218, VoidSymbol ] }; // m + + key { [ 0x01001363, VoidSymbol ] }; // < + key { [ 0x01001364, VoidSymbol ] }; // > + key { [ 0x01001367, question ] }; // ? + + key { [ VoidSymbol, 0x01002010 ] }; // bksl + + include "group(olpc)" +}; diff --git a/xkbdata/symbols/eu b/xkbdata/symbols/eu new file mode 100644 index 0000000..c041dc9 --- /dev/null +++ b/xkbdata/symbols/eu @@ -0,0 +1,61 @@ +// Based on +// Copyright 2012 Steffen Bruentjen (eurkey (at) steffen dot bruentjen dot de) + +default partial alphanumeric_keys modifier_keys +xkb_symbols "basic" { + + name[Group1] = "EurKEY (US)"; + + key { [ grave, asciitilde, dead_grave, dead_tilde ] }; + key { [ 1, exclam, exclamdown, onesuperior ] }; + key { [ 2, at, ordfeminine, twosuperior ] }; + key { [ 3, numbersign, masculine, threesuperior ] }; + key { [ 4, dollar, sterling, yen ] }; + key { [ 5, percent, EuroSign, cent ] }; + key { [ 6, asciicircum, dead_circumflex, dead_caron ] }; + key { [ 7, ampersand, dead_abovering, dead_macron ] }; + key { [ 8, asterisk, doublelowquotemark, singlelowquotemark ] }; + key { [ 9, parenleft, leftdoublequotemark, leftsinglequotemark ] }; + key { [ 0, parenright, rightdoublequotemark, rightsinglequotemark ] }; + key { [ minus, underscore, endash, emdash ] }; + key { [ equal, plus, multiply, division ] }; + + key { [ q, Q, ae, AE ] }; + key { [ w, W, aring, Aring ] }; + key { [ e, E, ediaeresis, Ediaeresis ] }; + key { [ r, R, yacute, Yacute ] }; + key { [ t, T, thorn, Thorn ] }; + key { [ y, Y, ydiaeresis, Ydiaeresis ] }; + key { [ u, U, udiaeresis, Udiaeresis ] }; + key { [ i, I, idiaeresis, Idiaeresis ] }; + key { [ o, O, odiaeresis, Odiaeresis ] }; + key { [ p, P, oe, OE ] }; + key { [ bracketleft, braceleft, guillemotleft, U2039 ] }; + key { [ bracketright, braceright, guillemotright, U203A ] }; + key { [ backslash, bar, notsign, brokenbar ] }; + + key { [ a, A, adiaeresis, Adiaeresis ] }; + key { [ s, S, ssharp, U1E9E ] }; + key { [ d, D, eth, Eth ] }; + key { [ f, F, egrave, Egrave ] }; + key { [ g, G, eacute, Eacute ] }; + key { [ h, H, ugrave, Ugrave ] }; + key { [ j, J, uacute, Uacute ] }; + key { [ k, K, U0133, U0132 ] }; + key { [ l, L, oslash, Oslash ] }; + key { [ semicolon, colon, degree, periodcentered ] }; + key { [ apostrophe, quotedbl, dead_acute, dead_diaeresis ] }; + + key { [ z, Z, agrave, Agrave ] }; + key { [ x, X, aacute, Aacute ] }; + key { [ c, C, ccedilla, Ccedilla ] }; + key { [ v, V, igrave, Igrave ] }; + key { [ b, B, iacute, Iacute ] }; + key { [ n, N, ntilde, Ntilde ] }; + key { [ m, M, dead_greek, Multi_key ] }; + key { [ comma, less, ograve, Ograve ] }; + key { [ period, greater, oacute, Oacute ] }; + key { [ slash, question, questiondown, 0x1002026 ] }; + + include "level3(ralt_switch)" +}; diff --git a/xkbdata/symbols/eurosign b/xkbdata/symbols/eurosign new file mode 100644 index 0000000..0d95a90 --- /dev/null +++ b/xkbdata/symbols/eurosign @@ -0,0 +1,23 @@ +// Most keyboards have the EuroSign engraved on the E key +partial +xkb_symbols "e" { + key { [ NoSymbol, NoSymbol, EuroSign, NoSymbol ] }; +}; + +// Many Apple keyboards have the EuroSign engraved on the 2 key +partial +xkb_symbols "2" { + key { [ NoSymbol, NoSymbol, EuroSign, NoSymbol ] }; +}; + +// Some keyboards have the EuroSign engraved on the 4 key +partial +xkb_symbols "4" { + key { [ NoSymbol, NoSymbol, EuroSign, NoSymbol ] }; +}; + +// Many keyboards have the EuroSign engraved on the 5 key +partial +xkb_symbols "5" { + key { [ NoSymbol, NoSymbol, EuroSign, NoSymbol ] }; +}; diff --git a/xkbdata/symbols/fi b/xkbdata/symbols/fi new file mode 100644 index 0000000..4d2f47a --- /dev/null +++ b/xkbdata/symbols/fi @@ -0,0 +1,360 @@ +// +// X keyboard maps for Finland +// +// SFS 5966 / Kotoistus keymap created by Troy Korjuslommi +// Classic keymap based on traditional by Marko Myllynen +// Eliminate deadkeys alternative sent by Linus Torvalds +// + +default partial alphanumeric_keys +xkb_symbols "kotoistus" { + + // Official keymap for Finland based on SFS 5966:2019 standard + // + // This keymap implements all the functionality of Annex 1 + // of the standard and additionally defines the following to + // allow entering these characters with keyboards without LSGT. + // + // AE08+4 : U+003C LESS-THAN SIGN (less) + // AE09+4 : U+003E GREATER-THAN SIGN (greater) + // AD08+4 : U+007C VERTICAL LINE (bar) + // + // Annex 3 of the standard is implemented in fi_FI.UTF-8/Compose. + // + // This keymap implements regular space in position "A-3" of the + // standard and implements NARROW NO-BREAK SPACE (U+202F) in A-4. + // + // The following definitions are also included to allow entering + // Greek letters and currency symbols with the libX11 sequences. + // + // AC08+4 : dead_greek + // AC09+4 : dead_currency + + name[Group1]="Finnish"; + + key { [ section, onehalf, dead_stroke, NoSymbol ] }; + key { [ 1, exclam, NoSymbol, exclamdown ] }; + key { [ 2, quotedbl, at, rightdoublequotemark ] }; + key { [ 3, numbersign, sterling, guillemotright ] }; + key { [ 4, currency, dollar, guillemotleft ] }; + key { [ 5, percent, permille, leftdoublequotemark ] }; + key { [ 6, ampersand, singlelowquotemark, doublelowquotemark ] }; + key { [ 7, slash, braceleft, NoSymbol ] }; + key { [ 8, parenleft, bracketleft, less ] }; + key { [ 9, parenright, bracketright, greater ] }; + key { [ 0, equal, braceright, degree ] }; + key { [ plus, question, backslash, questiondown ] }; + key { [ dead_acute, dead_grave, dead_cedilla, dead_ogonek ] }; + + key { [ q, Q, q, Q ] }; + key { [ w, W, w, W ] }; + key { [ e, E, EuroSign, NoSymbol ] }; + key { [ r, R, r, R ] }; + key { [ t, T, thorn, THORN ] }; + key { [ y, Y, y, Y ] }; + key { [ u, U, u, U ] }; + key { [ i, I, idotless, bar ] }; + key { [ o, O, oe, OE ] }; + key { [ p, P, dead_horn, dead_hook ] }; + key { [ aring, Aring, dead_doubleacute, dead_abovering ] }; + key { [ dead_diaeresis, dead_circumflex, dead_tilde, dead_macron ] }; + + key { [ a, A, schwa, SCHWA ] }; + key { [ s, S, ssharp, U1E9E ] }; + key { [ d, D, eth, ETH ] }; + key { [ f, F, f, F ] }; + key { [ g, G, g, G ] }; + key { [ h, H, h, H ] }; + key { [ j, J, j, J ] }; + key { [ k, K, kra, dead_greek ] }; + key { [ l, L, dead_stroke, dead_currency ] }; + key { [ odiaeresis, Odiaeresis, oslash, Oslash ] }; + key { [ adiaeresis, Adiaeresis, ae, AE ] }; + key { [ apostrophe, asterisk, dead_caron, dead_breve ] }; + + key { [ less, greater, bar, NoSymbol ] }; + key { [ z, Z, ezh, EZH ] }; + key { [ x, X, multiply, periodcentered ] }; + key { [ c, C, c, C ] }; + key { [ v, V, v, V ] }; + key { [ b, B, b, B ] }; + key { [ n, N, eng, ENG ] }; + key { [ m, M, mu, emdash ] }; + key { [ comma, semicolon, rightsinglequotemark, leftsinglequotemark ] }; + key { [ period, colon, dead_belowdot, dead_abovedot ] }; + key { [ minus, underscore, endash, dead_belowcomma ] }; + + key { [ space, space, space, U202F ] }; + + include "kpdl(comma)" + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "winkeys" { + + include "fi(kotoistus)" + + name[Group1]="Finnish (Windows)"; + + include "eurosign(5)" +}; + +hidden partial alphanumeric_keys +xkb_symbols "fi" { + + // Classic Finnish keyboard layout with dead keys + + key { [ section, onehalf, onequarter, threequarters ] }; + key { [ 1, exclam, exclamdown, onesuperior ] }; + key { [ 2, quotedbl, at, twosuperior ] }; + key { [ 3, numbersign, sterling, threesuperior ] }; + key { [ 4, currency, dollar, cent ] }; + key { [ 5, percent, EuroSign, masculine ] }; + key { [ 6, ampersand, yen, ordfeminine ] }; + key { [ 7, slash, braceleft, plusminus ] }; + key { [ 8, parenleft, bracketleft, less ] }; + key { [ 9, parenright, bracketright, greater ] }; + key { [ 0, equal, braceright, degree ] }; + key { [ plus, question, backslash, questiondown ] }; + key { [ dead_acute, dead_grave, dead_cedilla, dead_ogonek ] }; + + key { [ q, Q, q, Q ] }; + key { [ w, W, w, W ] }; + key { [ e, E, EuroSign, cent ] }; + key { [ r, R, registered, NoSymbol ] }; + key { [ t, T, thorn, THORN ] }; + key { [ y, Y, y, Y ] }; + key { [ u, U, u, U ] }; + key { [ i, I, idotless, bar ] }; + key { [ o, O, o, O ] }; + key { [ p, P, paragraph, NoSymbol ] }; + key { [ aring, Aring, oe, OE ] }; + key { [ dead_diaeresis, dead_circumflex, dead_tilde, dead_caron ] }; + + key { [ a, A, schwa, SCHWA ] }; + key { [ s, S, scaron, Scaron ] }; + key { [ d, D, eth, ETH ] }; + key { [ f, F, f, F ] }; + key { [ g, G, eng, ENG ] }; + key { [ h, H, h, H ] }; + key { [ j, J, j, J ] }; + key { [ k, K, kra, dead_greek ] }; + key { [ l, L, dead_stroke, dead_currency ] }; + key { [ odiaeresis, Odiaeresis, oslash, Oslash ] }; + key { [ adiaeresis, Adiaeresis, ae, AE ] }; + key { [ apostrophe, asterisk, dead_caron, dead_breve ] }; + + key { [ less, greater, bar, brokenbar ] }; + key { [ z, Z, zcaron, Zcaron ] }; + key { [ x, X, multiply, division ] }; + key { [ c, C, copyright, cent ] }; + key { [ v, V, v, V ] }; + key { [ b, B, ssharp, U1E9E ] }; + key { [ n, N, ntilde, Ntilde ] }; + key { [ m, M, mu, NoSymbol ] }; + key { [ comma, semicolon, dead_cedilla, dead_ogonek ] }; + key { [ period, colon, periodcentered, notsign ] }; + key { [ minus, underscore, hyphen, dead_macron ] }; + + key { [ space, space, space, U202F ] }; + + include "kpdl(comma)" + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "classic" { + + include "fi(fi)" + + name[Group1]="Finnish (classic)"; +}; + +partial alphanumeric_keys +xkb_symbols "nodeadkeys" { + + // Classic Finnish keyboard layout without dead keys + + include "fi(fi)" + + name[Group1]="Finnish (classic, no dead keys)"; + + key { [ acute, grave, cedilla, ogonek ] }; + key { [ diaeresis, asciicircum, asciitilde, caron ] }; + key { [ l, L, l, L ] }; + key { [ apostrophe, asterisk, caron, breve ] }; + key { [ comma, semicolon, cedilla, ogonek ] }; + key { [ minus, underscore, hyphen, macron ] }; +}; + +partial alphanumeric_keys +xkb_symbols "smi" { + + // Describes the differences between a Norwegian Northern Sami + // (keyboard with dead key support) and a Swedish/Finnish Sami + // keyboard according to the specs at: + // http://www.hum.uit.no/a/trond/se-lat9-sefi-keys.html + + include "no(smi)" + + name[Group1]="Northern Saami (Finland)"; + + key { [ odiaeresis, Odiaeresis, oslash, Oslash ] }; + key { [ adiaeresis, Adiaeresis, ae, AE ] }; +}; + +partial alphanumeric_keys +xkb_symbols "mac" { + + // Macintosh keyboard for Finland based on Swedish(Macintosh) keyboard + + include "se(mac)" + + name[Group1]="Finnish (Macintosh)"; +}; + +partial alphanumeric_keys +xkb_symbols "sun_type6" { + // #HW-SPECIFIC + + // Sun Type 6/7 keyboard for Finland + + include "sun_vndr/fi(sun_type6)" + + name[Group1]="Finnish"; +}; + +partial +xkb_symbols "das" { + + // DAS layout for typing Finnish designed by Cristian Seres (cseres at iki.fi). + // More information about DAS is available at http://c.seres.fi/DAS_en.html. + // This xkeyboard layout was created by Joel Lehtonen (joel.lehtonen at iki.fi), + // and he released it to public domain. + + name[Group1]="Finnish (DAS)"; + + key { [ 1, exclam, section ] }; + key { [ 2, quotedbl, twosuperior ] }; + key { [ 3, at, sterling ] }; + key { [ 4, EuroSign, dollar ] }; + key { [ 5, percent, onehalf ] }; + key { [ 6, ampersand ] }; + key { [ 7, braceleft ] }; + key { [ 8, parenleft, bracketleft ] }; + key { [ 9, parenright, bracketright ] }; + key { [ 0, braceright, degree ] }; + key { [ plus, question, currency ] }; + key { [ equal, numbersign ] }; + + key { [ p, P, Greek_pi ] }; + key { [ h, H ] }; + key { [ r, R, dead_circumflex ] }; + key { [ k, K, dead_caron ] }; + key { [ less, greater ] }; + key { [ apostrophe, bar ] }; + key { [ w, W ] }; + key { [ u, U ] }; + key { [ y, Y ] }; + key { [ b, B ] }; + key { [ q, Q ] }; + key { [ z, Z, zcaron, Zcaron ] }; + + key { [ s, S, scaron, Scaron ] }; + key { [ l, L, dead_acute ] }; + key { [ n, N, dead_grave ] }; + key { [ t, T, dead_diaeresis ] }; + key { [ v, V ] }; + key { [ g, G ] }; + key { [ a, A ] }; + key { [ i, I ] }; + key { [ o, O ] }; + key { [ e, E ] }; + key { [ c, C ] }; + key { [ backslash, dead_tilde ] }; + + key { [ asterisk, slash ] }; + key { [ f, F ] }; + key { [ x, X ] }; + key { [ d, D ] }; + key { [ m, M, mu ] }; + key { [ j, J ] }; + key { [ aring, Aring ] }; + key { [ odiaeresis, Odiaeresis, oe, OE ] }; + key { [ adiaeresis, Adiaeresis, ae, AE ] }; + key { [ comma, semicolon ] }; + key { [ period, colon ] }; + key { [ minus, underscore, U2013, dead_macron ] }; + key { [ space, space, space, nobreakspace ] }; + + include "kpdl(comma)" + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "fidvorak" { + + // Dvorak keyboard layout for use with Finnish by Pekka Oinas. + // + // Dedicated keys for Ä and Ö by utilizing the extra LSGT key found on Finnish keyboards + // and by moving colon and semicolon behind shift-modifiers on comma and period. + // Less and greater than symbols moved behind 3rd level modifiers on comma and period. + // Includes an assortment of dead keys but was not created with them in mind. + + name[Group1]="Finnish (Dvorak)"; + + key { [ grave, asciitilde, dead_grave, dead_tilde ] }; + key { [ 1, exclam, NoSymbol, exclamdown ] }; + key { [ 2, at, cent, rightdoublequotemark ] }; + key { [ 3, numbersign, sterling ] }; + key { [ 4, dollar, currency ] }; + key { [ 5, percent, permille, leftdoublequotemark ] }; + key { [ 6, asciicircum, dead_circumflex, doublelowquotemark ] }; + key { [ 7, ampersand, section, singlelowquotemark ] }; + key { [ 8, asterisk ] }; + key { [ 9, parenleft ] }; + key { [ 0, parenright, degree, dead_abovering ] }; + key { [ bracketleft, braceleft ] }; + key { [ bracketright, braceright ] }; + + key { [ apostrophe, quotedbl, dead_acute, dead_doubleacute ] }; + key { [ comma, semicolon, less, leftsinglequotemark ] }; + key { [ period, colon, greater ] }; + key { [ p, P ] }; + key { [ y, Y, yen ] }; + key { [ f, F ] }; + key { [ g, G ] }; + key { [ c, C ] }; + key { [ r, R ] }; + key { [ l, L, notsign ] }; + key { [ slash, question, NoSymbol, questiondown ] }; + key { [ equal, plus ] }; + + key { [ a, A, schwa, SCHWA ] }; + key { [ o, O, aring, Aring ] }; + key { [ e, E, EuroSign ] }; + key { [ u, U, udiaeresis, Udiaeresis ] }; + key { [ i, I, idotless, Iabovedot ] }; + key { [ d, D, eth, ETH ] }; + key { [ h, H ] }; + key { [ t, T, thorn, THORN ] }; + key { [ n, N, eng, ENG ] }; + key { [ s, S, ssharp, U1E9E ] }; + key { [ minus, underscore, endash, emdash ] }; + key { [ backslash, bar, dead_caron, dead_breve ] }; + + key { [ adiaeresis, Adiaeresis, ae, AE ] }; + key { [ odiaeresis, Odiaeresis, dead_diaeresis, dead_macron ] }; + key { [ q, Q, ooblique, Ooblique ] }; + key { [ j, J ] }; + key { [ k, K, kra ] }; + key { [ x, X, multiply, periodcentered ] }; + key { [ b, B, hyphen ] }; + key { [ m, M, mu, emdash ] }; + key { [ w, W ] }; + key { [ v, V ] }; + key { [ z, Z, ezh, EZH ] }; + + include "level3(ralt_switch)" +}; diff --git a/xkbdata/symbols/fo b/xkbdata/symbols/fo new file mode 100644 index 0000000..8640cc9 --- /dev/null +++ b/xkbdata/symbols/fo @@ -0,0 +1,48 @@ +default partial alphanumeric_keys +xkb_symbols "basic" { + + include "latin(type2)" + + name[Group1]= "Faroese"; + + key { [ onehalf, section, threequarters, paragraph ] }; + key { [ less, greater, backslash, notsign ] }; + key { [ space, space, nobreakspace, nobreakspace ] }; + + key { [ 5, percent, NoSymbol, cent ] }; + key { [ 6, ampersand, yen, NoSymbol ] }; + key { [ plus, question, plusminus, questiondown ] }; + key { [dead_acute, dead_grave, bar, brokenbar ] }; + + key { [ c, C, copyright, NoSymbol ] }; + key { [ minus, underscore, hyphen, macron ] }; + + key { [ d, D, eth, ETH ] }; + key { [ ae, AE ] }; + key { [ oslash, Ooblique ] }; + + key { [ i, I ] }; + key { [ aring, Aring, dead_diaeresis, dead_circumflex ] }; + key { [ eth, ETH, dead_tilde, dead_caron ] }; + + key { [apostrophe, asterisk, dead_doubleacute, multiply ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "nodeadkeys" { + + include "fo(basic)" + + name[Group1]= "Faroese (no dead keys)"; + + key { [ acute, grave, bar, ogonek ] }; + key { [ aring, Aring, diaeresis, degree ] }; + key { [ diaeresis, asciicircum, asciitilde, macron ] }; + key { [ ae, AE, acute, doubleacute ] }; + key { [ oslash, Ooblique, asciicircum, caron ] }; + key { [apostrophe, asterisk, doubleacute, multiply ] }; + key { [ comma, semicolon, cedilla, ogonek ] }; + key { [ period, colon, periodcentered, abovedot ] }; +}; diff --git a/xkbdata/symbols/fr b/xkbdata/symbols/fr new file mode 100644 index 0000000..ae5747a --- /dev/null +++ b/xkbdata/symbols/fr @@ -0,0 +1,1293 @@ +default partial alphanumeric_keys +xkb_symbols "basic" { + + include "latin" + + name[Group1]="French"; + + key { [ ampersand, 1, onesuperior, exclamdown ] }; + key { [ eacute, 2, asciitilde, oneeighth ] }; + key { [ quotedbl, 3, numbersign, sterling ] }; + key { [apostrophe, 4, braceleft, dollar ] }; + key { [ parenleft, 5, bracketleft, threeeighths ] }; + key { [ minus, 6, bar, fiveeighths ] }; + key { [ egrave, 7, grave, seveneighths ] }; + key { [underscore, 8, backslash, trademark ] }; + key { [ ccedilla, 9, asciicircum, plusminus ] }; + key { [ agrave, 0, at, degree ] }; + key { [parenright, degree, bracketright, questiondown ] }; + key { [ equal, plus, braceright, dead_ogonek ] }; + + key { [ a, A, ae, AE ] }; + key { [ z, Z, guillemotleft, less ] }; + key { [ e, E, EuroSign, cent ] }; + key { [dead_circumflex, dead_diaeresis, dead_diaeresis, dead_abovering ] }; + key { [ dollar, sterling, currency, dead_macron ] }; + + key { [ q, Q, at, Greek_OMEGA ] }; + key { [ m, M, mu, masculine ] }; + key { [ ugrave, percent, dead_circumflex, dead_caron] }; + key { [twosuperior, asciitilde, notsign, notsign ] }; + + key { [ asterisk, mu, dead_grave, dead_breve ] }; + key { [ w, W, lstroke, Lstroke ] }; + key { [ comma, question, dead_acute, dead_doubleacute ] }; + key { [ semicolon, period, U2022, multiply ] }; // bullet + key { [ colon, slash, periodcentered, division ] }; + key { [ exclam, section, dead_belowdot, dead_abovedot ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "olpc" { + + // #HW-SPECIFIC + + // Contact: Sayamindu Dasgupta + include "fr(basic)" + + name[Group1]="French"; + + key { [ less, greater ] }; + key { [ dead_circumflex, dead_diaeresis, notsign, dead_abovering ] }; + key { [ semicolon, period, underscore, multiply ] }; + key { [ twosuperior, asciitilde, VoidSymbol, VoidSymbol ] }; + + // Some keys only have the Shift+AltGr character printed on them (alongside + // the unmodified one). Make such keys shift-invariant so that the printed + // value is achieved by pressing AltGr or Shift+AltGr. + key { [ x, X, guillemotright, guillemotright ] }; + key { [ s, S, ssharp, U1E9E ] }; + key { [ z, Z, guillemotleft, guillemotleft ] }; +}; + +partial alphanumeric_keys +xkb_symbols "nodeadkeys" { + + // Modifies the basic French layout to eliminate all dead keys + + include "fr(basic)" + + name[Group1]="French (no dead keys)"; + + key { [ equal, plus, braceright, ogonek ] }; + key { [asciicircum, diaeresis ] }; + key { [ dollar, sterling, currency, macron ] }; + key { [ ugrave, percent, asciicircum, caron ] }; + key { [ asterisk, mu, grave, breve ] }; + key { [ comma, question, acute, doubleacute ] }; + key { [ exclam, section, dead_belowdot, abovedot ] }; +}; + + +// Unicode French derivative +// Loose refactoring of the historic Linux French keyboard layout +// +// Copyright © 2006-2008 Nicolas Mailhot +// +// Credits (fr-latin1, fr-latin0, fr-latin9) +// © 199x-1996 René Cougnenc ✝ +// © 1997-2002 Guylhem Aznar +// © 2003-2006 Nicolas Mailhot +// +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓ +// │ ³ ¸ │ 1 ̨ │ 2 É │ 3 ˘ │ 4 — │ 5 – │ 6 ‑ │ 7 È │ 8 ™ │ 9 Ç │ 0 À │ ° ≠ │ + ± ┃ ⌫ Retour┃ +// │ ² ¹ │ & ˇ │ é ~ │ " # │ ' { │ ( [ │ - | │ è ` │ _ \ │ ç ^ │ à @ │ ) ] │ = } ┃ arrière┃ +// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫ +// ┃ ┃ A Æ │ Z  │ E ¢ │ R Ê │ T Þ │ Y Ÿ │ U Û │ I Î │ O Œ │ P Ô │ ¨ ˚ │ £ Ø ┃Entrée ┃ +// ┃Tab ↹ ┃ a æ │ z â │ e € │ r ê │ t þ │ y ÿ │ u û │ i î │ o œ │ p ô │ ^ ~ │ $ ø ┃ ⏎ ┃ +// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃ +// ┃ ┃ Q Ä │ S „ │ D Ë │ F ‚ │ G ¥ │ H Ð │ J Ü │ K Ï │ L Ŀ │ M Ö │ % Ù │ µ ̄ ┃ ┃ +// ┃Maj ⇬ ┃ q ä │ s ß │ d ë │ f ‘ │ g ’ │ h ð │ j ü │ k ï │ l ŀ │ m ö │ ù ' │ * ` ┃ ┃ +// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫ +// ┃ ┃ > ≥ │ W “ │ X ” │ C ® │ V ← │ B ↑ │ N → │ ? … │ . . │ / ∕ │ § − ┃ ┃ +// ┃Shift ⇧┃ < ≤ │ w « │ x » │ c © │ v ⍽ │ b ↓ │ n ¬ │ , ¿ │ ; × │ : ÷ │ ! ¡ ┃Shift ⇧ ┃ +// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛ +// ┃ ┃ ┃ ┃ ␣ Espace fine insécable ⍽ ┃ ┃ ┃ ┃ +// ┃Ctrl ┃Meta ┃Alt ┃ ␣ Espace Espace insécable ⍽ ┃AltGr ⇮┃Menu ┃Ctrl ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛ +partial alphanumeric_keys +xkb_symbols "oss" { + + include "latin" + include "level3(ralt_switch)" + include "nbsp(level4n)" + include "keypad(oss)" + + name[Group1]="French (alt.)"; + + // First row + key { [ twosuperior, threesuperior, onesuperior, dead_cedilla ] }; // ² ³ ¹ ¸ + key { [ ampersand, 1, dead_caron, dead_ogonek ] }; // & 1 ˇ ̨ + key { [ eacute, 2, asciitilde, Eacute ] }; // é 2 ~ É + key { [ quotedbl, 3, numbersign, dead_breve ] }; // " 3 # ˘ + key { [ apostrophe, 4, braceleft, 0x1002014 ] }; // ' 4 { — (tiret cadratin) + key { [ parenleft, 5, bracketleft, 0x1002013 ] }; // ( 5 [ – (tiret demi-cadratin) + key { [ minus, 6, bar, 0x1002011 ] }; // - 6 | ‑ (tiret insécable) + key { [ egrave, 7, grave, Egrave ] }; // è 7 ` È + key { [ underscore, 8, backslash, trademark ] }; // _ 8 \ ™ + key { [ ccedilla, 9, asciicircum, Ccedilla ] }; // ç 9 ^ Ç + key { [ agrave, 0, at, Agrave ] }; // à 0 @ À + key { [ parenright, degree, bracketright, notequal ] }; // ) ° ] ≠ + key { [ equal, plus, braceright, plusminus ] }; // = + } ± + + // Second row + key { [ a, A, ae, AE ] }; // a A æ Æ + key { [ z, Z, acircumflex, Acircumflex ] }; // z Z â  + key { [ e, E, EuroSign, cent ] }; // e E € ¢ + key { [ r, R, ecircumflex, Ecircumflex ] }; // r R ê Ê + key { [ t, T, thorn, THORN ] }; // t T þ Þ + key { [ y, Y, ydiaeresis, Ydiaeresis ] }; // y Y ÿ Ÿ + key { [ u, U, ucircumflex, Ucircumflex ] }; // u U û Û + key { [ i, I, icircumflex, Icircumflex ] }; // i I î Î + key { [ o, O, oe, OE ] }; // o O œ Œ + key { [ p, P, ocircumflex, Ocircumflex ] }; // p P ô Ô + key { [ dead_circumflex, dead_diaeresis, dead_tilde, dead_abovering ] }; // ^ ̈ ̃ ˚ + key { [ dollar, sterling, oslash, Ooblique ] }; // $ £ ø Ø + + // Third row + key { [ q, Q, adiaeresis, Adiaeresis ] }; // q Q ä Ä + key { [ s, S, ssharp, doublelowquotemark ] }; // s S ß „ + key { [ d, D, ediaeresis, Ediaeresis ] }; // d D ë Ë + key { [ f, F, leftsinglequotemark, singlelowquotemark ] }; // f F ‘ ‚ + key { [ g, G, rightsinglequotemark, yen ] }; // g G ’ ¥ + key { [ h, H, eth, ETH ] }; // h H ð Ð + key { [ j, J, udiaeresis, Udiaeresis ] }; // j J ü Ü + key { [ k, K, idiaeresis, Idiaeresis ] }; // k K ï Ï + key { [ l, L, 0x1000140, 0x100013F ] }; // l L ŀ Ŀ + key { [ m, M, odiaeresis, Odiaeresis ] }; // m M ö Ö + key { [ ugrave, percent, dead_acute, Ugrave ] }; // ù % ' Ù + key { [ asterisk, mu, dead_grave, dead_macron ] }; // * µ ` ̄ + + // Fourth row + key { [ less, greater, lessthanequal, greaterthanequal ] }; // < > ≤ ≥ + key { [ w, W, guillemotleft, leftdoublequotemark ] }; // w W « “ + key { [ x, X, guillemotright, rightdoublequotemark ] }; // x X » ” + key { [ c, C, copyright, registered ] }; // c C © ® + key { [ v, V, 0x100202F, leftarrow ] }; // v V ⍽ ← (espace fine insécable) + key { [ b, B, downarrow, uparrow ] }; // b B ↓ ↑ + key { [ n, N, notsign, rightarrow ] }; // n N ¬ → + key { [ comma, question, questiondown, 0x1002026 ] }; // , ? ¿ … + key { [ semicolon, period, multiply, 0x10022C5 ] }; // ; . × ⋅ + key { [ colon, slash, division, 0x1002215 ] }; // : / ÷ ∕ + key { [ exclam, section, exclamdown, 0x1002212 ] }; // ! § ¡ − +}; + +partial alphanumeric_keys +xkb_symbols "oss_latin9" { + + // Restricts the fr(oss) layout to latin9 symbols + + include "fr(oss)" + include "keypad(oss_latin9)" + + name[Group1]="French (alt., Latin-9 only)"; + + // First row + key { [ ampersand, 1, dead_caron, dead_cedilla ] }; // & 1 ˇ ¸ + key { [ quotedbl, 3, numbersign, dead_tilde ] }; // " 3 # ~ + key { [ apostrophe, 4, braceleft, underscore ] }; // ' 4 { _ + key { [ parenleft, 5, bracketleft, minus ] }; // ( 5 [ - + key { [ minus, 6, bar, minus ] }; // - 6 | - + key { [ underscore, 8, backslash, backslash ] }; // _ 8 \ \ + key { [ parenright, degree, bracketright, equal ] }; // ) ° ] = + + // Third row + key { [ s, S, ssharp, guillemotleft ] }; // s S ß « + key { [ f, F, apostrophe, apostrophe ] }; // f F ' ' + key { [ g, G, apostrophe, yen ] }; // g G ' ¥ + key { [ l, L, periodcentered, periodcentered ] }; // l L · · + key { [ asterisk, mu, dead_grave, dead_circumflex ] }; // * µ ` ^ + + // Fourth row + key { [ less, greater, less, greater ] }; // < > < > + key { [ w, W, guillemotleft, guillemotleft ] }; // w W « « + key { [ x, X, guillemotright, guillemotright ] }; // x X » » + key { [ v, V, nobreakspace, less ] }; // v V ⍽ < (espace insécable) + key { [ b, B, minus, asciicircum ] }; // b B - ^ + key { [ n, N, notsign, greater ] }; // n N ¬ > + key { [ comma, question, questiondown, period ] }; // , ? ¿ . + key { [ semicolon, period, multiply, periodcentered ] }; // ; . × · + key { [ colon, slash, division, slash ] }; // : / ÷ / + key { [ exclam, section, exclamdown, minus ] }; // ! § ¡ - +}; + +partial alphanumeric_keys +xkb_symbols "oss_nodeadkeys" { + + // Modifies the basic fr(oss) layout to eliminate all dead keys + + include "fr(oss)" + + name[Group1]="French (alt., no dead keys)"; + + key { [ twosuperior, threesuperior, onesuperior, cedilla ] }; // ² ³ ¹ ¸ + key { [ ampersand, 1, caron, ogonek ] }; // & 1 ˇ ̨ + key { [ quotedbl, 3, numbersign, breve ] }; // " 3 # ˘ + + key { [ asciicircum, diaeresis, asciitilde, Aring ] }; // ^ ̈ ̃ Å + key { [ ugrave, percent, acute, Ugrave ] }; // ù % ' Ù + key { [ asterisk, mu, grave, macron ] }; // * µ ` ̄ +}; + + +// Historic Linux French keyboard layout (fr-latin9) +// Copyright (c) 199x, 2002 Rene Cougnenc (original work) +// Guylhem Aznar (maintainer) +// Nicolas Mailhot +// (XFree86 submission) +// +// This layout has long been distributed and refined outside official channels. +// To this day it remains more feature-rich and popular than the 'fr' layout. +// +// This layout is derived from an original version by Guylhem Aznar. +// The original version is always available from: +// http://en.tldp.org/HOWTO/Francophones-HOWTO.html +// and is distributed under a GPL license. +// +// The author has given permission for this derived version to be distributed +// under the standard XFree86 license. He would like all changes to this +// version to be sent to him at , so he can sync +// the identically named linux console map (kbd, linux-console) and his +// out-of-tree GPL version. +// +// Now follows the keyboard design description in French. +// (If you can't read it you probably have no business changing this file anyway:) +// +// Les accents circonflexes des principales voyelles sont obtenus avec +// la touche Alt_Gr, les trémas sont obtenus par Alt_Gr + Shift. +// +// ____ _________ _____________ _______ +// | S A| S = Shift, A = AltGr + Shift | Imprime | Arrêt défil | Pause | +// | s a| s = normal, a = AltGr | Exec | | Halte | +// ¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ +// ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ _______ +// | œ "| 1 ·| 2 É| 3 ,| 4 '| 5 "| 6 || 7 È| 8 ¯| 9 Ç| 0 À| ° ÿ| + °| <-- | +// | Œ "| & '| é ~| " #| ' {| ( [| - || è `| _ \| ç ^| à @| ) ]| = }| | +// ======================================================================== +// | |<- | A ä| Z Å| E ¢| R Ç| T Þ| Y Ý| U ü| I ï| O ö| P '| " `| $ ë| , | +// | ->| | a â| z å| e €| r ç| t þ| y ý| u û| i î| o ô| p ¶| ^ ~| £ ê| <-' | +// ===================================================================¬ | +// | | Q Ä| S Ø| D Ë| F ª| G Æ| H Ð| J Ü| K Ï| L Ö| M º| % Ù| µ ¥| | +// | MAJ | q Â| s ø| d Ê| f ±| g æ| h ð| j Û| k Î| l Ô| m ¹| ù ²| * ³| | +// ======================================================================== +// | ^ | > | W | X | C | V | B | N | ? | . | / | § | ^ | +// | | | < || w «| x »| c ©| v ®| b ß| n ¬| , ¿| ; ×| : ÷| ! ¡| | | +// ======================================================================== +// | | | | | | | | | +// | Ctrl | Super| Alt | Space Nobreakspace | AltGr | Super|Menu | Ctrl | +// ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯ ¯¯¯¯¯¯ +// +// +// Si les touches mortes fonctionnent, utiliser les accents dits +// « morts », i.e. fonctionnant comme l'accent circonflexe & le +// tréma des machines à écrire ; sont disponibles : +// +// (^) : accent circonflexe, +// Shift+(^) : tréma, +// Shift+AltGr+(^) : tilde, +// AltGr+(1) : accent aigu, +// AltGr+(7) : accent grave +// +// Pour s'en servir, procéder comme avec l'accent circonflexe & le tréma +// sur les vielles machines à écrire : +// +// AltGr+(1) puis e : é +// AltGr+(1) puis E : É +// +partial alphanumeric_keys + +xkb_symbols "latin9" { + + include "latin" + include "nbsp(level3)" + + name[Group1]="French (legacy, alt.)"; + + key { [ oe, OE, leftdoublequotemark, rightdoublequotemark ] }; + key { [ ampersand, 1, dead_acute, periodcentered ] }; + key { [ eacute, 2, asciitilde, Eacute ] }; + key { [ quotedbl, 3, numbersign, cedilla ] }; + key { [ apostrophe, 4, braceleft, acute ] }; + key { [ parenleft, 5, bracketleft, diaeresis ] }; + key { [ minus, 6, bar, brokenbar ] }; + key { [ egrave, 7, dead_grave, Egrave ] }; + key { [ underscore, 8, backslash, macron ] }; + key { [ ccedilla, 9, asciicircum, Ccedilla ] }; + key { [ agrave, 0, at, Agrave ] }; + key { [ parenright, degree, bracketright, ydiaeresis ] }; + key { [ equal, plus, braceright, dead_abovering ] }; + + key { [ a, A, acircumflex, adiaeresis ] }; + key { [ z, Z, aring, Aring ] }; + key { [ e, E, EuroSign, cent ] }; + key { [ r, R, ccedilla, Ccedilla ] }; + key { [ t, T, thorn, THORN ] }; + key { [ y, Y, yacute, Yacute ] }; + key { [ u, U, ucircumflex, udiaeresis ] }; + key { [ i, I, icircumflex, idiaeresis ] }; + key { [ o, O, ocircumflex, odiaeresis ] }; + key { [ p, P, paragraph, grave ] }; + key { [ dead_circumflex, dead_diaeresis, dead_tilde, apostrophe ] }; + key { [ dollar, sterling, ecircumflex, ediaeresis ] }; + + key { [ q, Q, Acircumflex, Adiaeresis ] }; + key { [ s, S, oslash, Ooblique ] }; + key { [ d, D, Ecircumflex, Ediaeresis ] }; + key { [ f, F, plusminus, ordfeminine ] }; + key { [ g, G, ae, AE ] }; + key { [ h, H, eth, ETH ] }; + key { [ j, J, Ucircumflex, Udiaeresis ] }; + key { [ k, K, Icircumflex, Idiaeresis ] }; + key { [ l, L, Ocircumflex, Odiaeresis ] }; + key { [ m, M, onesuperior, masculine ] }; + key { [ ugrave, percent, twosuperior, Ugrave ] }; + key { [ asterisk, mu, threesuperior, yen ] }; + + key { [ less, greater, bar ] }; + key { [ w, W, guillemotleft ] }; + key { [ x, X, guillemotright ] }; + key { [ c, C, copyright ] }; + key { [ v, V, registered ] }; + key { [ b, B, ssharp, U1E9E ] }; + key { [ n, N, notsign ] }; + key { [ comma, question, questiondown ] }; + key { [ semicolon, period, multiply ] }; + key { [ colon, slash, division ] }; + key { [ exclam, section, exclamdown ] }; + + // French uses a comma as decimal separator, but keyboards are labeled with a period + // Will take effect when KP_Decimal is mapped to the locale decimal separator + key { [ KP_Delete, KP_Decimal, KP_Delete, KP_Decimal ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "latin9_nodeadkeys" { + + // Modifies the basic fr-latin9 layout to eliminate all dead keys + + include "fr(latin9)" + + name[Group1]="French (legacy, alt., no dead keys)"; + + key { [ ampersand, 1, apostrophe, periodcentered ] }; + key { [ egrave, 7, grave, Egrave ] }; + key { [ equal, plus, braceright ] }; + key { [ asciicircum, diaeresis, asciitilde, apostrophe ] }; +}; + +// Bépo : Improved ergonomic french keymap using Dvorak method. +// Built by community on 'Dvorak Fr / Bépo' : +// see http://www.clavier-dvorak.org/wiki/ to join and help. +// XOrg integration (1.0rc2 version) in 2008 +// by Frédéric Boiteux +// +// Bépo layout (1.0rc2 version) for a pc105 keyboard (french) : +// ┌─────┐ +// │ S A │ S = Shift, A = AltGr + Shift +// │ s a │ s = normal, a = AltGr +// └─────┘ +// +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓ +// │ # ¶ │ 1 „ │ 2 “ │ 3 ” │ 4 ≤ │ 5 ≥ │ 6 │ 7 ¬ │ 8 ¼ │ 9 ½ │ 0 ¾ │ ° ′ │ ` ″ ┃ ⌫ Retour┃ +// │ $ – │ " — │ « < │ » > │ ( [ │ ) ] │ @ ^ │ + ± │ - − │ / ÷ │ * × │ = ≠ │ % ‰ ┃ arrière┃ +// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫ +// ┃ ┃ B ¦ │ É ˝ │ P § │ O Œ │ È ` │ ! │ V │ D Ð │ L │ J IJ │ Z Ə │ W ┃Entrée ┃ +// ┃Tab ↹ ┃ b | │ é ˊ │ p & │ o œ │ è ` │ ˆ ¡ │ v ˇ │ d ð │ l / │ j ij │ z ə │ w ̆ ┃ ⏎ ┃ +// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃ +// ┃ ┃ A Æ │ U Ù │ I ˙ │ E ¤ │ ; ̛ │ C ſ │ T Þ │ S ẞ │ R ™ │ N │ M º │ Ç , ┃ ┃ +// ┃Maj ⇬ ┃ a æ │ u ù │ i ̈ │ e € │ , ’ │ c © │ t þ │ s ß │ r ® │ n ˜ │ m ¯ │ ç ¸ ┃ ┃ +// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫ +// ┃ ┃ Ê │ À │ Y ‘ │ X ’ │ : · │ K │ ? ̉ │ Q ̣ │ G │ H ‡ │ F ª ┃ ┃ +// ┃Shift ⇧┃ ê / │ à \ │ y { │ x } │ . … │ k ~ │ ' ¿ │ q ˚ │ g µ │ h † │ f ˛ ┃Shift ⇧ ┃ +// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛ +// ┃ ┃ ┃ ┃ Espace inséc. Espace inséc. fin ┃ ┃ ┃ ┃ +// ┃Ctrl ┃Meta ┃Alt ┃ ␣ (Espace) _ ␣ ┃AltGr ⇮┃Menu ┃Ctrl ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛ +partial alphanumeric_keys +xkb_symbols "bepo" { + + include "level3(ralt_switch)" + include "keypad(oss)" + + name[Group1]= "French (BEPO)"; + + // First row + key { [ dollar, numbersign, endash, paragraph ] }; // $ # – ¶ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ quotedbl, 1, emdash, doublelowquotemark ] }; // " 1 — „ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotleft, 2, less, leftdoublequotemark ] }; // « 2 < “ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotright, 3, greater, rightdoublequotemark ] }; // » 3 > ” + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenleft, 4, bracketleft, lessthanequal ] }; // ( 4 [ ≤ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenright, 5, bracketright, greaterthanequal ] }; // ) 5 ] ≥ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ at, 6, asciicircum ] }; // @ 6 ^ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ plus, 7, plusminus, notsign ] }; // + 7 ± ¬ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ minus, 8, U2212, onequarter ] }; // - 8 − ¼ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ slash, 9, division, onehalf ] }; // / 9 ÷ ½ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ asterisk, 0, multiply, threequarters ] }; // * 0 × ¾ + key { [ equal, degree, notequal, minutes ] }; // = ° ≠ ′ + key { [ percent, grave, permille, seconds ] }; // % ` ‰ ″ + + // Second row + key { [ b, B, bar, brokenbar ] }; // b B | ¦ + key { [ eacute, Eacute, dead_acute, dead_doubleacute ] }; // é É ˊ ˝ + key { [ p, P, ampersand, section ] }; // p P & § + key { [ o, O, oe, OE ] }; // o O œ Œ + key { [ egrave, Egrave, dead_grave, grave ] }; // è È ` ` + key { [ dead_circumflex, exclam, exclamdown ] }; // ^ ! ¡ + key { [ v, V, dead_caron ] }; // v V ˇ + key { [ d, D, eth, ETH ] }; // d D ð Ð + key { [ l, L, dead_stroke ] }; // l L / + key { [ j, J, U0133, U0132 ] }; // j J ij IJ + key { [ z, Z, schwa, SCHWA ] }; // z Z ə Ə + key { [ w, W, dead_breve ] }; // w W ̆ + + // Third row + key { [ a, A, ae, AE ] }; // a A æ Æ + key { [ u, U, ugrave, Ugrave ] }; // u U ù Ù + key { [ i, I, dead_diaeresis, dead_abovedot ] }; // i I ̈ ˙ + key { [ e, E, EuroSign, dead_currency ] }; // e E € ¤ + key { [ comma, semicolon, rightsinglequotemark, dead_horn ] }; // , ; ’ ̛ + key { [ c, C, copyright, U017F ] }; // c C © ſ + key { [ t, T, thorn, THORN ] }; // t T þ Þ + key { [ s, S, ssharp, U1E9E ] }; // s S ß ẞ + key { [ r, R, registered, trademark ] }; // r R ® ™ + key { [ n, N, dead_tilde ] }; // n N ~ + key { [ m, M, dead_macron, masculine ] }; // m M ̄ º + key { [ ccedilla, Ccedilla, dead_cedilla, dead_belowcomma ] }; // ç Ç ¸ , + + // Fourth row + key { [ ecircumflex, Ecircumflex, slash ] }; // ê Ê / + key { [ agrave, Agrave, backslash ] }; // à À \ + key { [ y, Y, braceleft, leftsinglequotemark ] }; // y Y { ‘ + key { [ x, X, braceright, rightsinglequotemark ] }; // x X } ’ + key { [ period, colon, ellipsis, periodcentered ] }; // . : … · + key { [ k, K, asciitilde ] }; // k K ~ + key { [ apostrophe, question, questiondown, dead_hook ] }; // ' ? ¿ ̉ + key { [ q, Q, dead_abovering, dead_belowdot ] }; // q Q ˚ ̣ + key { [ g, G, dead_greek ] }; // g G µ + key { [ h, H, dagger, doubledagger ] }; // h H † ‡ + key { [ f, F, dead_ogonek, ordfeminine ] }; // f F ̨ ª + + key { [ space, nobreakspace, underscore, U202F ] }; // ␣ (espace insécable) _ (espace insécable fin) +}; + +partial alphanumeric_keys +xkb_symbols "bepo_latin9" { + + // Restricts the fr(bepo) layout to latin9 symbols + + include "fr(bepo)" + include "keypad(oss_latin9)" + + name[Group1]="French (BEPO, Latin-9 only)"; + + key { [ dollar, numbersign, dollar, paragraph ] }; // $ # $ ¶ + + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ quotedbl, 1 ] }; // " 1 + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotleft, 2, less ] }; // « 2 < + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotright, 3, greater ] }; // » 3 > + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenleft, 4, bracketleft ] }; // ( 4 [ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenright, 5, bracketright ] }; // ) 5 ] + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ minus, 8, minus, onequarter ] }; // - 8 - ¼ + key { [ equal, degree ] }; // = ° + key { [ percent, grave ] }; // % ` + + key { [ b, B, bar ] }; // b B | + key { [ eacute, Eacute, dead_acute ] }; // é É ˊ + key { [ j, J ] }; // j J + key { [ z, Z ] }; // z Z + key { [ w, W ] }; // w W + + key { [ i, I, dead_diaeresis ] }; // i I ̈ + key { [ comma, semicolon, comma, dead_horn ] }; // , ; , ̛ + key { [ c, C, copyright ] }; // c C © + key { [ s, S, ssharp, U1E9E ] }; // s S ß ẞ + key { [ r, R, registered ] }; // r R ® + key { [ m, M, macron, masculine ] }; // m M ̄ º + + key { [ y, Y, braceleft ] }; // y Y { + key { [ x, X, braceright ] }; // x X } + key { [ period, colon ] }; // . : + key { [ h, H ] }; // h H + key { [ f, F, f, ordfeminine ] }; // f F ª + + // Note : on a besoin de redéfinir les niveaux 3 et 4, + // donc nbsp(level2) ne suffit pas ! + key { [ space, nobreakspace, underscore, nobreakspace ] }; // ␣ (espace insécable) _ (espace insécable) +}; + +// Version 1.1rc2 of the Bépo keyboard layout, +// normalized by the AFNOR NF Z71‐300 norm. +// +// Layout: https://bepo.fr/wiki/Version_1.1rc2 +// Normalization: https://normalisation.afnor.org/actualites/faq-clavier-francais/ +// +// ┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────┬────╔═════════╗ +// │ # ¶│ 1 „│ 2 “│ 3 ”│ 4 ⩽│ 5 ⩾║ 6 │ 7 ¬│ 8 ¼│ 9 ½│ 0 ¾│ ° ′│ ` ″║ ║ +// │ $ –│ " —│ « <│ » >│ ( [│ ) ]║ @ ^│ + ±│ - −│ / ÷│ * ×│ = ≠│ % ‰║ <-- ║ +// ╔════╧══╗─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─┴──┬─╚══╦══════╣ +// ║ |<- ║ B _│ É │ P §│ O Œ│ È `║ ! │ V │ D │ L £│ J │ Z │ W ║ | ║ +// ║ ->| ║ b |│ é ´│ p &│ o œ│ è `║ ˆ ¡│ v ˇ│ d ∞│ l /│ j │ z ―│ w ║ <-' ║ +// ╠═══════╩╗───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───┴┬───╚╗ ║ +// ║ ║ A Æ│ U Ù│ I ˙│ E ¤│ ; ,║ C ©│ T ™│ S ſ│ R ®│ N │ M │ Ç ©║ ║ +// ║ CAPS ║ a æ│ u ù│ i ¨│ e €│ , '║ c ¸│ t ᵉ│ s ß│ r ˘│ n ~│ m ¯│ ç ║ ║ +// ╠══════╦═╝──┬─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴─══─┴──┬─┴──┬─┴──┬─┴──╔═╧════╩═════╣ +// ║ ^ ║ Ê ^│ À ‚│ Y ‘│ X ’│ : ·│ K ‑║ ? ̉ │ Q ̛│ G †│ H ‡│ F ║ ^ ║ +// ║ | ║ ê /│ à \│ y {│ x }│ . …│ k ~║ ’ ¿│ q °│ g µ│ h ̣ │ f ˛║ | ║ +// ╠══════╩╦═══╧══╦═╧═══╦╧════╧════╧════╧════╧════╧═╦══╧══╦═╧════╬═════╦══════╣ +// ║ ║ ║ ║ Fine insécable Insécable ║ ║ ║ ║ ║ +// ║ Ctrl ║ WinG ║ Alt ║ Espace _ ║AltGr║ WinD ║WinM ║ Ctrl ║ +// ╚═══════╩══════╩═════╩═══════════════════════════╩═════╩══════╩═════╩══════╝ +partial alphanumeric_keys +xkb_symbols "bepo_afnor" { + + name[Group1]= "French (BEPO, AFNOR)"; + + include "pc(pc105)" + + key { type[group1] = "FOUR_LEVEL", [ dollar, numbersign, endash, paragraph ] }; // $ # – ¶ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ quotedbl, 1, emdash, doublelowquotemark ] }; // " 1 — „ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotleft, 2, less, leftdoublequotemark ] }; // « 2 < “ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ guillemotright, 3, greater, rightdoublequotemark ] }; // » 3 > ” + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenleft, 4, bracketleft, U2A7D ] }; // ( 4 [ ⩽ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenright, 5, bracketright, U2A7E ] }; // ) 5 ] ⩾ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ at, 6, asciicircum, U262D ] }; // @ 6 ^ ☭ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ plus, 7, plusminus, notsign ] }; // + 7 ± ¬ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ minus, 8, U2212, onequarter ] }; // - 8 − ¼ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ slash, 9, division, onehalf ] }; // / 9 ÷ ½ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ asterisk, 0, multiply, threequarters ] }; // * 0 × ¾ + key { type[group1] = "FOUR_LEVEL", [ equal, degree, notequal, minutes ] }; // = ° ≠ ′ + key { type[group1] = "FOUR_LEVEL", [ percent, grave, U2030, seconds ] }; // % ` ‰ ″ + + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ b, B, bar, underscore ] }; // b B | _ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ eacute, Eacute, dead_acute, heart ] }; // é É ´ ♥ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ p, P, ampersand, section ] }; // p P & § + key { type[group1] = "FOUR_LEVEL_ALPHABETIC", [ o, O, oe, OE ] }; // o O œ Œ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ egrave, Egrave, dead_grave, grave ] }; // è È ` ` + key { type[group1] = "FOUR_LEVEL", [ dead_circumflex, exclam, exclamdown, U2620 ] }; // ^ ! ¡ ☠ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ v, V, dead_caron, U2622 ] }; // v V ˇ ☢ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ d, D, UFDD7, U2623 ] }; // d D ∞ ☣ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ l, L, dead_stroke, sterling ] }; // l L / £ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ j, J, U262E, U262F ] }; // j J ☮ ☯ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ z, Z, UFDD8, U2619 ] }; // z Z ― ☙ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ w, W, U269C, U267F ] }; // w W ⚜ ♿ + + key { type[group1] = "FOUR_LEVEL_ALPHABETIC", [ a, A, ae, AE ] }; // a A æ Æ + key { type[group1] = "FOUR_LEVEL_ALPHABETIC", [ u, U, ugrave, Ugrave ] }; // u U ù Ù + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ i, I, dead_diaeresis, dead_abovedot ] }; // i I ¨ ˙ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ e, E, EuroSign, dead_currency ] }; // e E € ¤ + key { type[group1] = "FOUR_LEVEL", [ comma, semicolon, apostrophe, dead_belowcomma ] }; // , ; ' , + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ c, C, dead_cedilla, copyright ] }; // c C ¸ © + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ t, T, UFDD5, trademark ] }; // t T ᵉ ™ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ s, S, UFDD4, U017F ] }; // s S ß ſ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ r, R, dead_breve, registered ] }; // r R ˘ ® + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ n, N, dead_tilde, U2693 ] }; // n N ~ ⚓ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ m, M, dead_macron, U26FD ] }; // m M ¯ ⛽ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ ccedilla, Ccedilla, U2708, U1F12F ] }; // ç Ç ✈ 🄯 + + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ ecircumflex, Ecircumflex, slash, asciicircum ] }; // ê Ê / ^ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ agrave, Agrave, backslash, singlelowquotemark ] }; // à À \ ‚ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ y, Y, braceleft, leftsinglequotemark ] }; // y Y { ‘ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ x, X, braceright, rightsinglequotemark ] }; // x X } ’ + key { type[group1] = "FOUR_LEVEL", [ period, colon, ellipsis, periodcentered ] }; // . : … · + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ k, K, asciitilde, U2011 ] }; // k K ~ ‑ + key { type[group1] = "FOUR_LEVEL", [ rightsinglequotemark, question, questiondown, dead_hook ] }; // ’ ? ¿ ̉ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ q, Q, dead_abovering, dead_horn ] }; // q Q ˚ ̛ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ g, G, dead_greek, dagger ] }; // g G µ † + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ h, H, dead_belowdot, doubledagger ] }; // h H ̣ ‡ + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ f, F, dead_ogonek, U26C4 ] }; // f F ˛ ⛄ + key { type[group1] = "FOUR_LEVEL", [ space, U202F, underscore, nobreakspace ] }; //   _ + + + include "level3(ralt_switch)" +}; + +// Author : Francis Leboutte, http://www.algo.be/ergo/dvorak-fr.html +// thanks to Fabien Cazenave for his help +// Licence : X11 +// Version : 0.3 + +// Base layer + dead AltGr key (`): +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━━┓ +// │ * │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ % ┃ ┃ +// │ _ │ = │ / ± │ - ¼ │ è ½ │ \ ¾ │ ^ │ ( │ ` ` │ ) │ " │ [ │ ] ┃ ⌫ ┃ +// ┢━━━━━┷━━┱──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┺━━┳━━━━━━━┫ +// ┃ ┃ ? Æ │ < │ > │ G │ ! │ H │ V │ C Ç │ M │ K │ Z │ & ┃ ┃ +// ┃ ↹ ┃ : æ │ ' $ │ é É │ g € │ . ° │ h │ v │ c ç │ m µ │ k │ z │ ¨ ┃ ┃ +// ┣━━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ⏎ ┃ +// ┃ ┃ O Ò │ A À │ U Ù │ E È │ B │ F │ S │ T │ N │ D │ W │ # ┃ ┃ +// ┃ ⇬ ┃ o ò │ a à │ u ù │ e è │ b │ f │ s « │ t │ n » │ d │ w │ ~ ┃ ┃ +// ┣━━━━━━┳━━┹──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┲━━┷━━━━━┻━━━━━━┫ +// ┃ ┃ ç Ç │ | Œ │ Q │ @ │ I Ì │ Y │ X │ R │ L │ P │ J ┃ ┃ +// ┃ ⇧ ┃ à À │ ; œ │ q { │ , } │ i ì │ y £ │ x │ r º │ l │ p § │ j ┃ ⇧ ┃ +// ┣━━━━━━┻┳━━━━┷━━┳━━┷━━━━┱┴─────┴─────┴─────┴─────┴─────┴─┲━━━┷━━━┳━┷━━━━━╋━━━━━━━┳━━━━━━━┫ +// ┃ ┃ ┃ ┃ ␣ ⍽ ┃ ┃ ┃ ┃ ┃ +// ┃ ctrl ┃ super ┃ alt ┃ ␣ Espace Espace insécable ⍽ ┃ alt ┃ super ┃ menu ┃ ctrl ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┻━━━━━━━┛ + +// Notice the specific Caps_Lock layer: +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━━┓ +// │ * │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ + │ % ┃ ┃ +// │ │ │ │ │ │ │ │ │ │ │ │ │ ┃ ⌫ ┃ +// ┢━━━━━┷━━┱──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┺━━┳━━━━━━━┫ +// ┃ ┃ │ < │ > │ │ │ │ │ │ │ │ │ ┃ ┃ +// ┃ ↹ ┃ │ │ │ │ │ │ │ │ │ │ │ ┃ ┃ +// ┣━━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ⏎ ┃ +// ┃ ┃ │ │ │ │ │ │ │ │ │ │ │ ┃ ┃ +// ┃ ⇬ ┃ │ │ │ │ │ │ │ │ │ │ │ ┃ ┃ +// ┣━━━━━━┳━━┹──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┲━━┷━━━━━┻━━━━━━┫ +// ┃ ┃ / │ - │ │ │ │ │ │ │ │ │ ┃ ┃ +// ┃ ⇧ ┃ │ │ │ │ │ │ │ │ │ │ ┃ ⇧ ┃ +// ┣━━━━━━┻┳━━━━┷━━┳━━┷━━━━┱┴─────┴─────┴─────┴─────┴─────┴─┲━━━┷━━━┳━┷━━━━━╋━━━━━━━┳━━━━━━━┫ +// ┃ ┃ ┃ ┃ ␣ ⍽ ┃ ┃ ┃ ┃ ┃ +// ┃ ctrl ┃ super ┃ alt ┃ ␣ Espace Espace insécable ⍽ ┃ alt ┃ super ┃ menu ┃ ctrl ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┻━━━━━━━┛ + +partial alphanumeric_keys modifier_keys +xkb_symbols "dvorak" { + name[Group1]="French (Dvorak)"; + + // First row + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ underscore, asterisk ] }; + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ equal, 1 ] }; + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ slash, 2, plusminus ] }; + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ minus, 3, onequarter ] }; + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ egrave, 4, onehalf ] }; + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ backslash, 5, threequarters ] }; + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ dead_circumflex, 6 ] }; + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenleft, 7 ] }; + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ ISO_Level3_Latch, 8, grave ] }; + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ parenright, 9 ] }; + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ quotedbl, 0 ] }; + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ bracketleft, plus ] }; + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ bracketright, percent ] }; + + // Second row + key { [ colon, question, ae, AE ] }; + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ apostrophe, less, dollar ] }; + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", [ eacute, greater, Eacute ] }; + key { [ g, G, EuroSign ] }; + key { [ period, exclam, degree ] }; + key { [ h, H ] }; + key { [ v, V ] }; + key { [ c, C, ccedilla, Ccedilla ] }; + key { [ m, M, mu ] }; + key { [ k, K ] }; + key { [ z, Z ] }; + key { [ dead_diaeresis, ampersand ] }; + + // Third row + key { [ o, O, ograve, Ograve ] }; + key { [ a, A, agrave, Agrave ] }; + key { [ u, U, ugrave, Ugrave ] }; + key { [ e, E, egrave, Egrave ] }; + key { [ b, B ] }; + key { [ f, F ] }; + key { [ s, S, guillemotleft ] }; + key { [ t, T ] }; + key { [ n, N, guillemotright ] }; + key { [ d, D ] }; + key { [ w, W ] }; + key { [ asciitilde, numbersign ] }; + + // Fourth row + key { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ agrave, ccedilla, Agrave, Ccedilla, slash ] }; + key { type[group1] = "FOUR_LEVEL_PLUS_LOCK", [ semicolon, bar, oe, OE, minus ] }; + key { [ q, Q, braceleft ] }; + key { [ comma, at, braceright ] }; + key { [ i, I, igrave, Igrave ] }; + key { [ y, Y, sterling ] }; + key { [ x, X ] }; + key { [ r, R, masculine ] }; + key { [ l, L ] }; + key { [ p, P, section ] }; + key { [ j, J ] }; + + key { [ space, space, nobreakspace, nobreakspace ] }; +}; + +// C'WHERTY: Breton keyboard. Ar c'hlavier brezhoneg. +// Copyright © 2009 Dominique Pellé +// Version: 0.1 +// +// ┌─────┐ +// │ S A │ S = Reol = Shift, A = ArErl + Pennlizherenn = AltGr + Shift +// │ s a │ s = normal, a = ArErl = AltGr +// └─────┘ +// +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓ +// │ $ Γ │ 1 Δ │ 2 Θ │ 3 Λ │ 4 Ξ │ 5 Π │ 6 Σ │ 7 Φ │ 8 Ψ │ 9 Ç │ 0 Ω │ ° ß │ + ¬ ┃ ⌫ Souzañ┃ +// │ ² ˙ │ & ¯ │ é ´ │ " # │ ' { │ ( [ │ - | │ è ` │ - \ │ ç ± │ à @ │ ) ] │ = } ┃ ┃ +// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫ +// ┃Toalenn┃ C'h │ W ω │ E ε │ R ρ │ T τ │ Y ψ │ U υ │ I ι │ O OE│ P π │ ¨ ¥ │ * £ ┃Enankañ┃ +// ┃ ↹ ┃ c'h │ w │ e € │ r │ t │ y │ u │ i ı │ o oe│ p │ ^ « │ / » ┃ ⏎ ┃ +// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃ +// ┃Prenn ┃ A Æ │ S σ │ D δ │ F φ │ G γ │ H η │ J ς │ K κ │ L λ │ M μ │ Ù ® │ ! ¡ ┃ ┃ +// ┃Pennli ⇬┃ a æ │ s │ d $ │ f │ g │ h │ j │ k │ l │ m │ ù ŭ │ ? ¿ ┃ ┃ +// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫ +// ┃ ┃ Q θ │ Z ζ │ X ξ │ C χ │ V │ B β │ N ν │ CH │ Ñ │ : © │ ; ┃ ┃ +// ┃Shift ⇧┃ q < │ z > │ x │ c ¢ │ v │ b │ n │ ch │ ñ │ . │ , ┃Shift ⇧ ┃ +// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛ +// ┃ ┃ ┃ ┃ ⍽ Espace insécable ␣ ┃ ┃ ┃ ┃ +// ┃Reol ┃Meta ┃Erl ┃ ␣ Espace ␣ ┃ArErl ⇮┃Menu ┃Reol ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛ +partial alphanumeric_keys +xkb_symbols "bre" { + + include "keypad(oss)" + + name[Group1]= "French (Breton)"; + + // First row + key { [ twosuperior, dead_tilde, dead_abovedot, Greek_GAMMA ] }; + key { [ ampersand, 1, dead_macron, Greek_DELTA ] }; + key { [ eacute, 2, dead_acute, Greek_THETA ] }; + key { [ quotedbl, 3, numbersign, Greek_LAMDA ] }; + key { [ apostrophe, 4, braceleft, Greek_XI ] }; + key { [ parenleft, 5, bracketleft, Greek_PI ] }; + key { [ minus, 6, bar, Greek_SIGMA ] }; + key { [ egrave, 7, dead_grave, Greek_PHI ] }; + key { [ underscore, 8, backslash, Greek_PSI ] }; + key { [ ccedilla, 9, plusminus, Ccedilla ] }; + key { [ agrave, 0, at, Greek_OMEGA ] }; + key { [ parenright, dead_abovering, bracketright, ssharp ] }; + key { [ equal, plus, braceright, notsign ] }; + + // Second row + // Handling the C'H key correctly requires an inputmethod (XIM) + // See https://bugs.freedesktop.org/show_bug.cgi?id=19506 + // key { [ trigraph_c_h, trigraph_C_h, trigraph_C_H, Greek_alpha ] }; + key { [ UF8FD, UF8FE, UF8FF, Greek_alpha ] }; + key { [ w, W, Greek_omega, Greek_omega ] }; + key { [ e, E, EuroSign, Greek_epsilon ] }; + key { [ r, R, Greek_rho, Greek_rho ] }; + key { [ t, T, Greek_tau, Greek_tau ] }; + key { [ y, Y, Greek_psi, Greek_psi ] }; + key { [ u, U, Greek_upsilon, Greek_upsilon ] }; + key { [ i, I, idotless, Greek_iota ] }; + key { [ o, O, oe, OE ] }; + key { [ p, P, Greek_pi, Greek_pi ] }; + key { [ dead_circumflex, dead_diaeresis, guillemotleft, yen ] }; + key { [ slash, asterisk, guillemotright, sterling ] }; + + // Third row + key { [ a, A, ae, AE ] }; + key { [ s, S, Greek_sigma, Greek_sigma ] }; + key { [ d, D, dollar, Greek_delta ] }; + key { [ f, F, Greek_phi, Greek_phi ] }; + key { [ g, G, Greek_gamma, Greek_gamma ] }; + key { [ h, H, Greek_eta, Greek_eta ] }; + key { [ j, J, Greek_finalsmallsigma, Greek_finalsmallsigma ] }; + key { [ k, K, Greek_kappa, Greek_kappa ] }; + key { [ l, L, Greek_lamda, Greek_lambda ] }; + key { [ m, M, Greek_mu, Greek_mu ] }; + key { [ ugrave, Ugrave, ubreve, registered ] }; + key { [ question, exclam, questiondown, exclamdown ] }; + + // Fourth row + key { [ q, Q, less, Greek_theta ] }; + key { [ z, Z, greater, Greek_zeta ] }; + key { [ x, X, Greek_xi, Greek_xi ] }; + key { [ c, C, cent, Greek_chi ] }; + key { [ v, V ] }; + key { [ b, B, Greek_beta, Greek_beta ] }; + key { [ n, N, Greek_nu, Greek_nu ] }; + // Handling the CH key correctly requires an inputmethod (XIM) + // See https://bugs.freedesktop.org/show_bug.cgi?id=19506 + // key { [ digraph_ch, digraph_Ch, digraph_CH, Greek_omicron ] }; + key { [ UF8FA, UF8FB, UF8FC, Greek_omicron ] }; + key { [ ntilde, Ntilde ] }; + key { [ period, colon, section, copyright ] }; + key { [ comma, semicolon, percent ] }; + + key { [ space, nobreakspace, space, nobreakspace ] }; + + include "level3(ralt_switch)" +}; + +// Occitan layout +// Author : 2009 Thomas Metz +// Derived from the layout defined at http://www.panoccitan.org +// Version: 0.1 +// Differences from OSS French keyboard : +// - add á, í, ò, ó et ú, Á, Í, Ò, Ó, Ú, ñ, Ñ +// - change position of æ, ü, î, û, œ, ô, ö, ï, â, ë +// +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓ +// │ ³ ¸ │ 1 ̨ │ 2 É │ 3 ˘ │ 4 — │ 5 – │ 6 ‑ │ 7 È │ 8 ™ │ 9 Ç │ 0 À │ ° ≠ │ + ± ┃ ⌫ Retour┃ +// │ ² ¹ │ & ˇ │ é ~ │ " # │ ' { │ ( [ │ - | │ è ` │ _ \ │ ç ^ │ à @ │ ) ] │ = } ┃ arrière┃ +// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫ +// ┃ ┃ A Á │ Z Æ │ E ¢ │ R Ê │ T Ë │ Y Û │ U Ú │ I Í │ O Ó │ P Ò │ ¨ Œ │ £ Ø ┃Entrée ┃ +// ┃Tab ↹ ┃ a á │ z æ │ e € │ r ê │ t ë │ y û │ u ú │ i í │ o ó │ p ò │ ^ œ │ $ ø ┃ ⏎ ┃ +// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃ +// ┃ ┃ Q Ä │ S „ │ D  │ F ‚ │ G ¥ │ H Ü │ J Î │ K Ï │ L Ô │ M Ö │ % Ù │ µ ̄ ┃ ┃ +// ┃Maj ⇬ ┃ q ä │ s ß │ d â │ f ‘ │ g ’ │ h ü │ j î │ k ï │ l ô │ m ö │ ù ' │ * ` ┃ ┃ +// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫ +// ┃ ┃ > ≥ │ W “ │ X ” │ C ® │ V ← │ B ↑ │ N Ñ │ ? … │ . . │ / ∕ │ § − ┃ ┃ +// ┃Shift ⇧┃ < ≤ │ w « │ x » │ c © │ v → │ b ↓ │ n ñ │ , ¿ │ ; × │ : ÷ │ ! ¡ ┃Shift ⇧ ┃ +// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛ +// ┃ ┃ ┃ ┃ ␣ Espace fine insécable ⍽ ┃ ┃ ┃ ┃ +// ┃Ctrl ┃Meta ┃Alt ┃ ␣ Espace Espace insécable ⍽ ┃AltGr ⇮┃Menu ┃Ctrl ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛ +partial alphanumeric_keys +xkb_symbols "oci" { + + include "fr(oss)" + + name[Group1]= "Occitan"; + + key { [ a, A, aacute, Aacute ] }; // a A á Á + key { [ z, Z, ae, AE ] }; // z Z æ Æ + key { [ t, T, ediaeresis, Ediaeresis ] }; // t T ë Ë + key { [ y, Y, ucircumflex, Ucircumflex ] }; // y Y û Û + key { [ u, U, uacute, Uacute ] }; // u U ú Ú + key { [ i, I, iacute, Iacute ] }; // i I í Í + key { [ o, O, oacute, Oacute ] }; // o O ó Ó + key { [ p, P, ograve, Ograve ] }; // p P ò Ò + key { [ dead_circumflex, dead_diaeresis, oe, OE ] }; // ^ ̈ ̃ œ Œ + + key { [ d, D, acircumflex, Acircumflex ] }; // d D â  + key { [ h, H, udiaeresis, Udiaeresis ] }; // h H ü Ü + key { [ j, J, icircumflex, Icircumflex ] }; // j J î Î + key { [ k, K, idiaeresis, Idiaeresis ] }; // k K ï Ï + key { [ l, L, ocircumflex, Ocircumflex ] }; // l L ô Ô + + key { [ v, V, rightarrow, leftarrow ] }; // v V → ← + key { [ n, N, ntilde, Ntilde ] }; // n N ñ Ñ +}; + +// Marc.Shapiro@inria.fr 19-sep-1998 +// modifications : Etienne Herlent june 2000 +// adapted to the new input layer : +// Martin Costabel 3-jan-2001 +// adapted for Latin9 alphabet (ISO-8859-15): +// Etienne Herlent march 2005 + +// This map is an almost-complete mapping of the standard French +// MacIntosh keyboard under Xwindows. I tried to remain as faithful +// as possible to the Mac meaning of each key. I did this entirely by +// hand and by intuition, relying on the Clavier (Keyboard?) Desktop +// Accessory for the Mac meaning of keys, and on reading keysymdef.h +// to intuit the corresponding X names. Lacking proper documentation, +// I may have made some mistakes. + +// Entries marked CHECK are particularly uncertain + +// Entries marked MISSING mark Mac characters for which I was unable +// to find a corresponding keysym. (Some for sure don't: e.g. the +// Apple mark and the oe/OE character; others I may have simply not +// found.) + +// Copied from macintosh_vndr/fr +partial alphanumeric_keys +xkb_symbols "mac" { + + name[Group1]= "French (Macintosh)"; + + key { [ at, numbersign, periodcentered, Ydiaeresis ] }; // MISSING: Ydiaeresis; eherlent : ok in Latin9 + key { [ ampersand, 1, VoidSymbol, dead_acute ] }; // MISSING: Apple + key { [ eacute, 2, ediaeresis, Eacute ] }; + key { [ quotedbl, 3, VoidSymbol, VoidSymbol ] }; // CHECK all quotemarks + key { [ apostrophe, 4, VoidSymbol, VoidSymbol ] }; + key { [ parenleft, 5, braceleft, bracketleft ] }; + // CHECK section + key { [ section, 6, paragraph, aring ] }; + key { [ egrave, 7, guillemotleft, guillemotright ] }; + key { [ exclam, 8, exclamdown, Ucircumflex ] }; + key { [ ccedilla, 9, Ccedilla, Aacute ] }; + key { [ agrave, 0, oslash, VoidSymbol ] }; // MISSING: Oslash + key { [ parenright, degree, braceright, bracketright ] }; + key { [ minus, underscore, emdash, endash ] }; // CHECK dashes + + key { [ a, A, ae, AE ] }; + key { [ z, Z, Acircumflex, Aring ] }; + key { [ e, E, ecircumflex, Ecircumflex ] }; + key { [ r, R, registered, currency ] }; + key { [ t, T, VoidSymbol, VoidSymbol ] }; + key { [ y, Y, Uacute, Ydiaeresis ] }; // MISSING: Ydiaeresis; eherlent : ok in Latin9 + key { [ u, U, VoidSymbol, ordfeminine ] }; // MISSING: ordmasculine? + key { [ i, I, icircumflex, idiaeresis ] }; + key { [ o, O, oe, OE ] }; // MISSING: oe, OE lacking in Latin1; eherlent ok in Latin9 + key { [ p, P, VoidSymbol, VoidSymbol ] }; + key { [dead_circumflex,dead_diaeresis, ocircumflex, Ocircumflex ] }; + key { [ dollar, asterisk, EuroSign, yen ] }; // eherlent : EuroSign in Latin9 + + key { [ q, Q, acircumflex, Agrave ] }; + key { [ s, S, Ograve, VoidSymbol ] }; + key { [ d, D, VoidSymbol, VoidSymbol ] }; + key { [ f, F, VoidSymbol, periodcentered ] }; // MISSING: oblong script f?? + key { [ g, G, VoidSymbol, VoidSymbol ] }; // MISSING: kerned fi, fl + key { [ h, H, Igrave, Icircumflex ] }; + key { [ j, J, Idiaeresis, Iacute ] }; + key { [ k, K, Egrave, Ediaeresis ] }; + key { [ l, L, notsign, bar ] }; + key { [ m, M, mu, Oacute ] }; + key { [ ugrave,percent, Ugrave, ucircumflex ] }; // MISSING: per-mille + key { [ dead_grave, sterling, at, numbersign ] }; + + key { [ less, greater, VoidSymbol, VoidSymbol ] }; + key { [ w, W, VoidSymbol, VoidSymbol ] }; // MISSING: half-guillemot (single angle bracket) + key { [ x, X, VoidSymbol, VoidSymbol ] }; // CHECK similarequal; MISSING: extra-slanted slash + key { [ c, C, copyright, cent ] }; + key { [ v, V, diamond, leftradical ] }; // CHECK diamond, leftradical + key { [ b, B, ssharp, U1E9E ] }; // CHECK: Greek_beta or ssharp?; MISSING: oblong script s + key { [ n, N, dead_tilde, asciitilde ] }; + key { [ comma, question, VoidSymbol, questiondown ] }; + key { [ semicolon, period, VoidSymbol, periodcentered ] }; + key { [ colon, slash, division, backslash ] }; + key { [ equal, plus, VoidSymbol, plusminus ] }; + + key { [ space, space, nobreakspace, nobreakspace ] }; + + key { [ comma,KP_Decimal ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "geo" { + include "ge(basic)" + + name[Group1]= "Georgian (France, AZERTY Tskapo)"; + + key { [ exclam, noSymbol ] }; + key { [ 0x0100201e, 1 ] }; + key { [ 0x01002116, 2 ] }; + key { [ percent, 3 ] }; + key { [ parenleft, 4 ] }; + key { [ colon, 5 ] }; + key { [ semicolon, 6 ] }; + key { [ question, 7 ] }; + key { [ 0x01002116, 8 ] }; + key { [ degree, 9 ] }; + key { [ parenright, 0 ] }; + key { [ minus, underscore, 0x01002014 ] }; + key { [ less, greater ] }; + + key { [ Georgian_an, 0x010010fa ] }; + key { [ Georgian_zen, Z ] }; + key { [ Georgian_en, E, Georgian_he ] }; + key { [ Georgian_rae, 0x010000ae ] }; + key { [ Georgian_tar, T ] }; + key { [ Georgian_qar, 0x010010f8 ] }; + key { [ Georgian_un, U ] }; + key { [ Georgian_in, Georgian_hie ] }; + key { [ Georgian_on, O ] }; + key { [ Georgian_par, P ] }; + key { [ Georgian_tan, T ] }; + key { [ Georgian_jil, Z ] }; + + key { [ Georgian_khar, Q ] }; + key { [ Georgian_san, S ] }; + key { [ Georgian_don, D ] }; + key { [ Georgian_phar, Georgian_fi ] }; + key { [ Georgian_gan, 0x010010f9 ] }; + key { [ Georgian_hae, Georgian_hoe ] }; + key { [ Georgian_jhan, 0x010010f7 ] }; + key { [ Georgian_kan, K ] }; + key { [ Georgian_las, L ] }; + key { [ Georgian_man, M ] }; + key { [ Georgian_zhar, J ] }; + key { [ Georgian_chin, 0x010000a9 ] }; + + key { [ guillemotleft, guillemotright ] }; + key { [ Georgian_cil, W ] }; + key { [ Georgian_xan, Georgian_har ] }; + key { [ Georgian_can, 0x010000a9 ] }; + key { [ Georgian_vin, Georgian_we ] }; + key { [ Georgian_ban, B ] }; + key { [ Georgian_nar, 0x010010fc ] }; + key { [ comma, 0x01002014 ] }; + key { [ Georgian_shin, S ] }; + key { [ Georgian_ghan, noSymbol ] }; + key { [ Georgian_char, noSymbol ] }; +}; + +// US keyboard made French +// +// Copyright (C) 2018, Florent Gallaire +partial alphanumeric_keys +xkb_symbols "us" { + + include "us(basic)" + name[Group1]= "French (US)"; + + + key { [ grave, asciitilde, dead_grave ] }; + key { [ 6,asciicircum,dead_circumflex ] }; + + key { [ z, Z, acircumflex, Acircumflex ] }; // â  + key { [ c, C, ccedilla, Ccedilla ] }; // ç Ç + + key { [ a, A, agrave, Agrave ] }; // à À + key { [ s, S, ae, AE ] }; // æ Æ + key { [ d, D, ecircumflex, Ecircumflex ] }; // ê Ê + key { [ f, F, ediaeresis, Ediaeresis ] }; // ë Ë + key { [ h, H, udiaeresis, Udiaeresis ] }; // ü Ü + key { [ j, J, ucircumflex, Ucircumflex ] }; // û Û + key { [ k, K, icircumflex, Icircumflex ] }; // î Î + key { [apostrophe, quotedbl,dead_diaeresis, degree ] }; + + key { [ e, E, eacute, Eacute ] }; // é É + key { [ r, R, egrave, Egrave ] }; // è È + key { [ y, Y, ydiaeresis, Ydiaeresis ] }; // ÿ Ÿ + key { [ u, U, ugrave, Ugrave ] }; // ù Ù + key { [ i, I, idiaeresis, Idiaeresis ] }; // ï Ï + key { [ o, O, ocircumflex, Ocircumflex ] }; // ô Ô + key { [ p, P, oe, OE ] }; // œ Œ + key { [ bracketleft, braceleft, guillemotleft, leftdoublequotemark ] }; // « “ + key { [bracketright, braceright, guillemotright, rightdoublequotemark ] }; // » ” + + key { [ 4, dollar, EuroSign, currency ] }; // € ¤ + + include "level3(ralt_switch)" + include "eurosign(5)" +}; + +// EXTRAS: + +partial alphanumeric_keys + xkb_symbols "sun_type6" { + include "sun_vndr/fr(sun_type6)" +}; + + +partial alphanumeric_keys +xkb_symbols "azerty" { + name[Group1]="French (AZERTY)"; + + include "level3(ralt_switch)" + +// French AZERTY-Keyboard layout +// Author : 2015, Mats Blakstad +// Based on the layout at https://en.wikipedia.org/wiki/File:KB_France.svg + +// LAYOUT OVERVIEW +// ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ _______ +// | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | ° | + | <-- | +// | ² | & | é ~| " #| ' {| ( [| - || è `| _ \| ç ^| à @| ) ]| = }| | +// ======================================================================== +// | |<- | A | Z | E | R | T | Y | U | I | O | P | ¨ | $ | , | +// | ->| | a | z | e €| r | t | y | u | i | o | p | ^ | £ ¤| <-' | +// ===================================================================¬ | +// | | Q | S | D | F | G | H | J | K | L | M | % | µ | | +// | MAJ | q | s | d | f | g | h | j | k | l | m | ù | * | | +// ======================================================================== +// | ^ | > | W | X | C | V | B | N | ? | . | / | § | ^ | +// | | | < | w | x | c | v | b | n | , | ; | : | ! | | | +// ======================================================================== +// | | | | | | | | | +// | Ctrl | Super| Alt | Space Nobreakspace | AltGr | Super|Menu | Ctrl | +// ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯ ¯¯¯¯¯¯ + + // First row + key { [ twosuperior ] }; + key { [ ampersand, 1 ] }; + key { [ eacute, 2, asciitilde ] }; + key { [ quotedbl, 3, numbersign ] }; + key { [ apostrophe, 4, braceleft ] }; + key { [ parenleft, 5, bracketleft ] }; + key { [ minus, 6, bar ] }; + key { [ egrave, 7, grave ] }; + key { [ underscore, 8, backslash ] }; + key { [ ccedilla, 9, asciicircum ] }; + key { [ agrave, 0, at ] }; + key { [ parenright, degree, bracketright ] }; + key { [ equal, plus, braceright ] }; + + // Second row + key { [ a, A ] }; + key { [ z, Z ] }; + key { [ e, E, EuroSign ] }; + key { [ r, R ] }; + key { [ t, T ] }; + key { [ y, Y ] }; + key { [ u, U ] }; + key { [ i, I ] }; + key { [ o, O ] }; + key { [ p, P ] }; + key { [ dead_circumflex,dead_diaeresis ] }; + key { [ dollar, sterling, currency ] }; + + // Third row + key { [ q, Q ] }; + key { [ s, S ] }; + key { [ d, D ] }; + key { [ f, F ] }; + key { [ g, G ] }; + key { [ h, H ] }; + key { [ j, J ] }; + key { [ k, K ] }; + key { [ l, L ] }; + key { [ m, M ] }; + key { [ ugrave, percent ] }; + key { [ asterisk, mu ] }; + + // Fourth row + key { [ less, greater ] }; + key { [ w, W ] }; + key { [ x, X ] }; + key { [ c, C ] }; + key { [ v, V ] }; + key { [ b, B ] }; + key { [ n, N ] }; + key { [ comma, question ] }; + key { [ semicolon, period ] }; + key { [ colon, slash ] }; + key { [ exclam, section ] }; +}; + +// US keyboard made French (with dead keys, alternative) +// +// Copyright (C) 2018, Florent Gallaire + +partial alphanumeric_keys +xkb_symbols "us-alt" { + + include "us(basic)" + name[Group1]= "French (US with dead keys, alt.)"; + + key { [ c, C, ccedilla, Ccedilla ] }; // ç Ç + + key { [ a, A, ae, AE ] }; // æ Æ + key { [dead_diaeresis, quotedbl, apostrophe ] }; + + key { [ e, E, eacute, Eacute ] }; // é É + key { [ o, O, oe, OE ] }; // œ Œ + key { [ bracketleft, braceleft, guillemotleft, leftdoublequotemark ] }; // « “ + key { [bracketright, braceright, guillemotright, rightdoublequotemark ] }; // » ” + + key { [dead_grave, asciitilde, grave ] }; + key { [dead_circumflex, asciicircum, 6 ] }; + key { [ 4, dollar, EuroSign, currency ] }; // € ¤ + + include "level3(ralt_switch)" + include "eurosign(5)" +}; + +// For physically modified US keyboard (Q <-> A, W <-> Z and ; <-> M) +// +// Copyright (C) 2018, Florent Gallaire + +partial alphanumeric_keys +xkb_symbols "us-azerty" { + + include "us" + name[Group1]= "French (US, AZERTY)"; + + key { [ w, W, guillemotleft, leftdoublequotemark ] }; // « “ + key { [ x, X,guillemotright,rightdoublequotemark ] }; // » ” + key { [ semicolon, colon ] }; + + key { [ q, Q ] }; + key { [ m, M ] }; + key { [apostrophe, quotedbl, ugrave, Ugrave ] }; // ù Ù + + key { [ a, A, ae, AE ] }; // æ Æ + key { [ z, Z ] }; + key { [ o, O, oe, OE ] }; // œ Œ + key { [bracketleft, braceleft,dead_circumflex, dead_diaeresis ] }; + + key { [ grave, asciitilde, dead_grave ] }; + key { [ 2, at, eacute, Eacute ] }; // é É + key { [ 4, dollar, currency ] }; // ¤ + key { [ 6,asciicircum,dead_circumflex ] }; + key { [ 7, ampersand, egrave, Egrave ] }; // è È + key { [ 9, parenleft, ccedilla, Ccedilla ] }; // ç Ç + key { [ 0, parenright, agrave, Agrave ] }; // à À + + include "eurosign(e)" + include "level3(ralt_switch)" +}; + +// Unicode French standardized new azerty +// Defined by the French national organization for standardization (AFNOR) in norm NF Z71-300 (http://norme-azerty.fr/) +// +// Credits +// © 2019 Cimbali +// +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓ +// │ # ̑ │ 1 À │ 2 É │ 3 È │ 4 Ê │ 5 ̋ │ 6 ̏ │ 7 │ 8 — │ 9 ‹ │ 0 › │ " ˚ │ ¨ ┃ ⌫ Retour┃ +// │ @ ̆̆̆ ̆│ à § │ é ́ │ è ̀ │ ê & │ ( [ │ ) ] │ ‘ ̄̄ │ ’ _ │ « “ │ » ” │ ' ° │ ̂ ̌̌̌ ┃ arrière┃ +// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫ +// ┃ ┃ A Æ │ Z │ E │ R │ T ™ │ Y │ U Ù │ I ̣ │ O Œ │ P ‰ │ – ‑ │ ± ‡ ┃Entrée ┃ +// ┃Tab ↹ ┃ a æ │ z £ │ e € │ r ® │ t { │ y } │ u ù │ i ̇ │ o œ │ p % │ - − │ + † ┃ ⏎ ┃ +// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃ +// ┃ ┃ Q │ S ẞ │ D │ F │ G │ H ̱ │ J │ K │ L │ M │ \ √ │ ½ ¼ ┃ ┃ +// ┃Maj ⇬ ┃ q θ │ s ß │ d $ │ f ¤ │ g µ │ h │ j │ k ̷ │ l | │ m ∞ │ / ÷ │ * × ┃ ┃ +// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫ +// ┃ ┃ > ≥ │ W Ʒ │ X │ C Ç │ V ˛ │ B │ N │ ? │ ! ̦ │ … │ = ≠ ┃ ┃ +// ┃Shift ⇧┃ < ≤ │ w ʒ │ x © │ c ç │ v ¸ │ b ̵ │ n ~ │ . ¿ │ , ¡ │ : · │ ; ≃ ┃Shift ⇧ ┃ +// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛ +// ┃ ┃ ┃ ┃ ␣ Espace fine insécable ⍽ ┃ ┃ ┃ ┃ +// ┃Ctrl ┃Meta ┃Alt ┃ ␣ Espace Espace insécable ⍽ ┃AltGr ⇮┃Menu ┃Ctrl ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛ +partial alphanumeric_keys +xkb_symbols "afnor" { + + include "latin" + include "level3(ralt_switch)" + include "nbsp(level3n)" + include "keypad(oss)" + + name[Group1]="French (AZERTY, AFNOR)"; + + // First row + key { [ at, numbersign, dead_breve, dead_invertedbreve ] }; // @ # ̑ ̆̆̆ // + key { [ agrave, 1, section, Agrave ] }; // à 1 § À + key { [ eacute, 2, dead_acute, Eacute ] }; // é 2 ́ É + key { [ egrave, 3, dead_grave, Egrave ] }; // è 3 ̀ È + key { [ ecircumflex, 4, ampersand, Ecircumflex ] }; // ê 4 & Ê + key { [ parenleft, 5, bracketleft, dead_doubleacute ] }; // ( 5 [ + key { [ parenright, 6, bracketright, dead_doublegrave ] }; // ) 6 ] + key { [ leftsinglequotemark, 7, dead_macron, VoidSymbol ] }; // ‘ 7 + key { [rightsinglequotemark, 8, underscore, emdash ] }; // ’ 8 _ — + key { [ guillemotleft, 9, leftdoublequotemark, VoidSymbol ] }; // « 9 “ ‹ + key { [ guillemotright, 0, rightdoublequotemark, VoidSymbol ] }; // » 0 ” › + key { [ apostrophe, quotedbl, degree, dead_abovering ] }; // ' " ° + key { [ dead_circumflex, dead_diaeresis, dead_caron, VoidSymbol ] }; // ̂ ¨ ̌̌̌ // + + // Second row + key { [ a, A, ae, AE ] }; // a A æ Æ + key { [ z, Z, sterling, VoidSymbol ] }; // z Z £ + key { [ e, E, EuroSign, VoidSymbol ] }; // e E € + key { [ r, R, registered, VoidSymbol ] }; // r R ® + key { [ t, T, braceleft, trademark ] }; // t T { ™ + key { [ y, Y, braceright, VoidSymbol ] }; // y Y } + key { [ u, U, ugrave, Ugrave ] }; // u U ù Ù + key { [ i, I, dead_abovedot, dead_belowdot ] }; // i I ̇ ̣ // + key { [ o, O, oe, OE ] }; // o O œ Œ + key { [ p, P, percent, permille ] }; // p P % ‰ + key { [ minus, endash, 0x1002212, 0x1002011 ] }; // - – − ‑ // signe moins (minus sign), trait d'union insécable (non-breaking hyphen) + key { [ plus, plusminus, dagger, doubledagger ] }; // + ± † ‡ + + // Third row + key { [ q, Q, Greek_theta, VoidSymbol ] }; // q Q θ + key { [ s, S, ssharp, 0x1001E9E ] }; // s S ß ẞ // lettre majuscule latine S dur (latin capital letter sharp s) + key { [ d, D, dollar, VoidSymbol ] }; // d D $ + key { [ f, F, dead_currency, VoidSymbol ] }; // f F ¤ + key { [ g, G, dead_greek, VoidSymbol ] }; // g G µ + key { [ h, H, VoidSymbol, dead_belowmacron ] }; // h H ̱ // Missing dead key for other european keys (ªəƏþÞıݺſðÐƞȠijIJ) + key { [ j, J, VoidSymbol, VoidSymbol ] }; // j J + key { [ k, K, dead_longsolidusoverlay, VoidSymbol ] }; // k K ̷ // + key { [ l, L, bar, VoidSymbol ] }; // l L | + key { [ m, M, infinity, VoidSymbol ] }; // m M ∞ + key { [ slash, backslash, division, radical ] }; // / \ ÷ √ + key { [ asterisk, onehalf, multiply, onequarter ] }; // * ½ × ¼ + + // Fourth row + key { [ less, greater, lessthanequal, greaterthanequal ] }; // < > ≤ ≥ + key { [ w, W, ezh, EZH ] }; // w W ʒ Ʒ + key { [ x, X, copyright, VoidSymbol ] }; // x X © + key { [ c, C, ccedilla, Ccedilla ] }; // c C ç Ç + key { [ v, V, dead_cedilla, dead_ogonek ] }; // v V ̧ ̨ // + key { [ b, B, dead_stroke, VoidSymbol ] }; // b B ̵ // + key { [ n, N, dead_tilde, VoidSymbol ] }; // n N ~ + key { [ period, question, questiondown, VoidSymbol ] }; // . ? ¿ + key { [ comma, exclam, exclamdown, dead_belowcomma ] }; // , ! ¡ ̦ // + key { [ colon, ellipsis, periodcentered, VoidSymbol ] }; // : … · + key { [ semicolon, equal, similarequal, notequal ] }; // ; = ≃ ≠ +}; diff --git a/xkbdata/symbols/fujitsu_vndr/jp b/xkbdata/symbols/fujitsu_vndr/jp new file mode 100644 index 0000000..bcccd53 --- /dev/null +++ b/xkbdata/symbols/fujitsu_vndr/jp @@ -0,0 +1,87 @@ +// +//Copyright 1996, 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. +// +// Japanese for a Fujitsu 140 key keyboard + +xkb_symbols "basic" { + override "fujitsu_vndr/us" + augment key { [], [ kana_NU ] }; + key { [ 2, quotedbl ], [ kana_FU ] }; + key { [ 3, numbersign ], [ kana_A, kana_a ] }; + key { [ 4, dollar ], [ kana_U, kana_u ] }; + augment key { [], [ kana_E, kana_e ] }; + key { [ 6, ampersand ], [ kana_O, kana_o ] }; + key { [ 7, apostrophe ], [ kana_YA, kana_ya ] }; + key { [ 8, parenleft ], [ kana_YU, kana_yu ] }; + key { [ 9, parenright ], [ kana_YO, kana_yo ] }; + replace key { [ 0 ], [ kana_WA, kana_WO ] }; + key { [ minus, equal ], [ kana_HO ] }; + key { [ asciicircum, asciitilde ], [ kana_HE ] }; + key { [ backslash, bar ], [ prolongedsound] }; + augment key { [], [ kana_TA ] }; + augment key { [], [ kana_TE ] }; + augment key { [], [ kana_I, kana_i ] }; + augment key { [], [ kana_SU ] }; + augment key { [], [ kana_KA ] }; + augment key { [], [ kana_N ] }; + augment key { [], [ kana_NA ] }; + augment key { [], [ kana_NI ] }; + augment key { [], [ kana_RA ] }; + augment key { [], [ kana_SE ] }; + key { [ at, grave ], [ voicedsound ] }; + key { [ bracketleft, braceleft ], [ semivoicedsound, kana_openingbracket ] }; + augment key { [], [ kana_CHI ] }; + augment key { [], [ kana_TO ] }; + augment key { [], [ kana_SHI ] }; + augment key { [], [ kana_HA ] }; + augment key { [], [ kana_KI ] }; + augment key { [], [ kana_KU ] }; + augment key { [], [ kana_MA ] }; + augment key { [], [ kana_NO ] }; + augment key { [], [ kana_RI ] }; + key { [ semicolon, plus ], [ kana_RE ] }; + key { [ colon, asterisk ], [ kana_KE ] }; + key { [ bracketright, braceright ], [ kana_MU, kana_closingbracket ] }; + augment key { [], [ kana_TSU, kana_tsu ] }; + augment key { [], [ kana_SA ] }; + augment key { [], [ kana_SO ] }; + augment key { [], [ kana_HI ] }; + augment key { [], [ kana_KO ] }; + augment key { [], [ kana_MI ] }; + augment key { [], [ kana_MO ] }; + augment key { [], [ kana_NE, kana_comma ] }; + augment key { [], [ kana_RU, kana_fullstop ] }; + augment key { [], [ kana_ME, kana_conjunctive ] }; + key { [ underscore ], [ kana_RO ] }; + key { [ Select ] }; + key { [ Massyo ] }; + key { [ Touroku ] }; + key { [ Zenkaku_Hankaku ] }; + key { [ Eisu_Shift ] }; + key { [ Mode_switch ] }; + key { [ Cancel ] }; + key { [ Muhenkan ] }; + key { [ Henkan ] }; +}; diff --git a/xkbdata/symbols/fujitsu_vndr/us b/xkbdata/symbols/fujitsu_vndr/us new file mode 100644 index 0000000..f62b5c8 --- /dev/null +++ b/xkbdata/symbols/fujitsu_vndr/us @@ -0,0 +1,142 @@ +// +//Copyright 1996, 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. +// +// US/ASCII layout for a Fujitsu 138 key keyboard +xkb_symbols "basic" { + include "us(basic)" + + // A few alphanumeric keys are different + key { [ grave, asciitilde ] }; + key { [ BackSpace ] }; + key { [ backslash, bar ] }; + key { [ ] }; + + key { [ Shift_R ] }; + + key { [ Alt_L ] }; + key { [ Alt_R ] }; + key { [ Meta_L ] }; + key { [ Meta_R ] }; + key { [ Linefeed ] }; + key { [ Multi_key ] }; + // End alphanumeric section + + // Begin "Function" section + key { [ Break ] }; + key { [ Print ] }; + key { [ Kanji ] }; + key { [ Pause ] }; + + key { [ F1 ] }; + key { [ F2 ] }; + key { [ F3 ] }; + key { [ F4 ] }; + key { [ F5 ] }; + key { [ F6 ] }; + key { [ F7 ] }; + key { [ F8 ] }; + key { [ F9 ] }; + key { [ F10 ] }; + key { [ F11 ] }; + key { [ F12 ] }; + key { [ F13 ] }; + key { [ F14 ] }; + key { [ F15 ] }; + key { [ F16 ] }; + key { [ F17 ] }; + key { [ F18 ] }; + key { [ F19 ] }; + key { [ F20 ] }; + key { [ F21 ] }; + key { [ F22 ] }; + key { [ F23 ] }; + key { [ F24 ] }; + key { [ F25 ] }; + key { [ F26 ] }; + key { [ F27 ] }; + key { [ F28 ] }; + key { [ F29 ] }; + key { [ F30 ] }; + key { [ F31 ] }; + key { [ F32 ] }; + // End "Function" section + + // Begin "Editing" section + key { [ Undo ] }; + key { [ F33 ] }; + key { [ F34 ] }; + key { [ F35 ] }; + key { [ Help ] }; + // End "Editing" section + + // Begin "Cursor" section + key { [ ] }; + key { [ ] }; + key { [ ] }; + key { [ Prior ] }; + key { [ Home ] }; + key { [ Next ] }; + key { [ ] }; + key { [ Delete ] }; + key { [ Insert ] }; + key { [ Left ] }; + key { [ Right ] }; + key { [ Up ] }; + key { [ Down ] }; + key { [ Execute ] }; + // End "Cursor" section + + // Begin "Keypad" section + key { [ KP_Multiply ] }; + key { [ KP_Divide ] }; + key { [ KP_Add ] }; + key { [ KP_Subtract ] }; + + key { [ KP_7 ] }; + key { [ KP_8 ] }; + key { [ KP_9 ] }; + key { [ KP_Equal ] }; + + key { [ KP_4 ] }; + key { [ KP_5 ] }; + key { [ KP_6 ] }; + key { [ KP_Decimal ] }; + + key { [ KP_1 ] }; + key { [ KP_2 ] }; + key { [ KP_3 ] }; + key { [ KP_Enter ] }; + + key { [ KP_0 ] }; + key { [ KP_0 ] }; + // End "Keypad" section + + modifier_map Shift { Shift_R }; + modifier_map Mod1 { Meta_L, Meta_R }; + modifier_map Mod2 { Mode_switch }; + modifier_map Mod3 { Alt_L }; + modifier_map Mod4 { Num_Lock }; + modifier_map Mod5 { F13, F18, F20 }; +}; diff --git a/xkbdata/symbols/gb b/xkbdata/symbols/gb new file mode 100644 index 0000000..5d05baa --- /dev/null +++ b/xkbdata/symbols/gb @@ -0,0 +1,296 @@ +default partial alphanumeric_keys +xkb_symbols "basic" { + + // Describes the differences between a very simple en_US + // keyboard and a very simple U.K. keyboard layout defined by + // the SVR4 European Language Supplement and sometimes also + // known as the IBM 166 layout. + + include "latin" + + name[Group1]="English (UK)"; + + key { [ 2, quotedbl, twosuperior, oneeighth ] }; + key { [ 3, sterling, threesuperior, sterling ] }; + key { [ 4, dollar, EuroSign, onequarter ] }; + + key { [apostrophe, at, dead_circumflex, dead_caron] }; + key { [ grave, notsign, bar, bar ] }; + + key { [numbersign, asciitilde, dead_grave, dead_breve ] }; + key { [ backslash, bar, bar, brokenbar ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "intl" { + + // Describes the differences between a very simple en_US + // keyboard and a very simple U.K. keyboard layout with + // dead keys. By Phil Jones (philjones1@blueyonder.co.uk) + + // Includes the following keys: + // dead_grave + // dead_acute + // dead_circumflex + // dead_tilde + // dead_diaeresis + + include "latin" + + name[Group1]="English (UK, intl., with dead keys)"; + + key { [ 2, dead_diaeresis, twosuperior, onehalf ] }; + key { [ 3, sterling, threesuperior, onethird ] }; + key { [ 4, dollar, EuroSign, onequarter ] }; + key { [ 6, dead_circumflex, NoSymbol, onesixth ] }; + + key { [ dead_acute, at, apostrophe, bar ] }; + key { [ dead_grave, notsign, bar, bar ] }; + + key { [ numbersign, dead_tilde, bar, bar ] }; + key { [ backslash, bar, bar, bar ] }; + + key { [ comma, less, ccedilla, Ccedilla ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "extd" { + // Clone of the Microsoft "United Kingdom Extended" layout, which + // includes dead keys for: grave; diaeresis; circumflex; tilde; and + // accute. It also enables direct access to accute characters using + // the Multi_key (Alt Gr). + // + // Taken from... + // "Windows Keyboard Layouts" + // https://docs.microsoft.com/en-gb/globalization/windows-keyboard-layouts#U + // + // -- Jonathan Miles + + include "latin" + + name[Group1]="English (UK, extended, Windows)"; + + key { [ dead_grave, notsign, brokenbar, NoSymbol ] }; + + key { [ 2, quotedbl, dead_diaeresis, onehalf ] }; + key { [ 3, sterling, threesuperior, onethird ] }; + key { [ 4, dollar, EuroSign, onequarter ] }; + key { [ 6, asciicircum, dead_circumflex, NoSymbol ] }; + + key { [ w, W, wacute, Wacute ] }; + key { [ e, E, eacute, Eacute ] }; + key { [ y, Y, yacute, Yacute ] }; + key { [ u, U, uacute, Uacute ] }; + key { [ i, I, iacute, Iacute ] }; + key { [ o, O, oacute, Oacute ] }; + key { [ bracketright, braceright, NoSymbol, bar ] }; + + key { [ a, A, aacute, Aacute ] }; + key { [ apostrophe, at, dead_acute, grave ] }; + + key { [ c, C, ccedilla, Ccedilla ] }; + + key { [ numbersign, asciitilde, dead_tilde, backslash ] }; + key { [ backslash, bar, NoSymbol, NoSymbol ] }; + + include "level3(ralt_switch)" +}; + +// Describe the differences between the US Colemak layout +// and a UK variant. By Andy Buckley (andy@insectnation.org) + +partial alphanumeric_keys +xkb_symbols "colemak" { + include "us(colemak)" + + name[Group1]="English (UK, Colemak)"; + + key { [ 2, quotedbl, twosuperior, oneeighth ] }; + key { [ 3, sterling, threesuperior, sterling ] }; + key { [ 4, dollar, EuroSign, onequarter ] }; + + key { [apostrophe, at, dead_circumflex, dead_caron] }; + key { [ grave, notsign, bar, bar ] }; + + key { [numbersign, asciitilde, dead_grave, dead_breve ] }; + key { [ backslash, bar, bar, brokenbar ] }; + + include "level3(ralt_switch)" +}; + +// Colemak-DH (ISO) layout, UK Variant, https://colemakmods.github.io/mod-dh/ + +partial alphanumeric_keys +xkb_symbols "colemak_dh" { + include "us(colemak_dh)" + + name[Group1]="English (UK, Colemak-DH)"; + + key { [ 2, quotedbl, twosuperior, oneeighth ] }; + key { [ 3, sterling, threesuperior, sterling ] }; + key { [ 4, dollar, EuroSign, onequarter ] }; + + key { [apostrophe, at, dead_circumflex, dead_caron] }; + key { [ grave, notsign, bar, bar ] }; + + key { [numbersign, asciitilde, dead_grave, dead_breve ] }; + key { [ backslash, bar, bar, brokenbar ] }; + + include "level3(ralt_switch)" +}; + + +// Dvorak (UK) keymap (by odaen) allowing the usage of +// the £ and ? key and swapping the @ and " keys. + +partial alphanumeric_keys +xkb_symbols "dvorak" { + include "us(dvorak-alt-intl)" + + name[Group1]="English (UK, Dvorak)"; + + key { [ apostrophe, at ] }; + key { [ 2, quotedbl, twosuperior, NoSymbol ] }; + key { [ 3, sterling, threesuperior, NoSymbol ] }; + key { [ numbersign, asciitilde ] }; + key { [ backslash, bar ] }; + key { [ grave, notsign, bar, bar ] }; +}; + +// Dvorak letter positions, but punctuation all in the normal UK positions. +partial alphanumeric_keys +xkb_symbols "dvorakukp" { + include "gb(dvorak)" + + name[Group1]="English (UK, Dvorak, with UK punctuation)"; + + key { [ minus, underscore ] }; + key { [ equal, plus ] }; + key { [ bracketleft, braceleft ] }; + key { [ bracketright, braceright ] }; + key { [ slash, question ] }; + key { [apostrophe, at, dead_circumflex, dead_caron] }; +}; + +// Copied from macintosh_vndr/gb +partial alphanumeric_keys +xkb_symbols "mac" { + + // Describes the differences between a very simple en_US + // keyboard and a very simple U.K. keyboard layout + + include "latin" + + name[Group1]= "English (UK, Macintosh)"; + + key { [ 2, at, EuroSign ] }; + key { [ 3, sterling, numbersign ] }; + key { [ section, plusminus ] }; + key { [ grave, asciitilde ] }; + + include "level3(ralt_switch)" + include "level3(enter_switch)" +}; + + +partial alphanumeric_keys +xkb_symbols "mac_intl" { + + include "latin" + + name[Group1]="English (UK, Macintosh, intl.)"; + + key { [ 2, at, EuroSign, onehalf ] }; + key { [ 3, sterling, twosuperior, onethird ] }; + key { [ 4, dollar, threesuperior, onequarter ] }; + key { [ 6, dead_circumflex, NoSymbol, onesixth ] }; + key { [ o, O, oe, OE ] }; + + key { [ dead_acute, dead_diaeresis, dead_diaeresis, bar ] }; //dead_doubleacute + key { [ section, plusminus, notsign, notsign ] }; //dead_grave + + key { [ backslash, bar, numbersign, bar ] }; + key { [ dead_grave, dead_tilde, brokenbar, bar ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "pl" { + + // Polish layout based on British keyboard + // Adopted 2016 by Aleksander Kowalski + + include "latin" + + name[Group1]="Polish (British keyboard)"; + + key { [ 2, quotedbl, twosuperior, oneeighth ]}; + key { [ 3, sterling, threesuperior, sterling ]}; + key { [ 4, dollar, EuroSign, onequarter ]}; + + key { [apostrophe, at, dead_circumflex, dead_caron]}; + key { [ grave, notsign, bar, bar ]}; + + key { [numbersign, asciitilde, dead_grave, dead_breve ]}; + key { [ backslash, bar, bar, brokenbar ]}; + + key { [ q, Q ] }; + key { [ w, W ] }; + key { [ e, E, eogonek, Eogonek ] }; + key { [ o, O, oacute, Oacute ] }; + + key { [ a, A, aogonek, Aogonek ] }; + key { [ s, S, sacute, Sacute ] }; + key { [ f, F ] }; + + key { [ z, Z, zabovedot, Zabovedot ] }; + key { [ x, X, zacute, Zacute ] }; + key { [ c, C, cacute, Cacute ] }; + key { [ n, N, nacute, Nacute ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "gla" { + + // Describes the differences between a very simple en_US + // keyboard and a Scots Gaelic keyboard based on the Irish + // Gaelic layout. This is essentially a UK English layout + // but with grave accented characters available on + // AltGr+accent keys. + + include "latin" + + name[Group1]="Scottish Gaelic"; + + key { [ 2, quotedbl, twosuperior, oneeighth ] }; + key { [ 3, sterling, threesuperior, sterling ] }; + key { [ 4, dollar, EuroSign, onequarter ] }; + + key { [apostrophe, at, dead_circumflex, dead_caron] }; + key { [ grave, notsign, bar, bar ] }; + + key { [numbersign, asciitilde, dead_grave, dead_breve ] }; + key { [ backslash, bar, bar, brokenbar ] }; + + key { [ a, A, agrave, Agrave ] }; + key { [ e, E, egrave, Egrave ] }; + key { [ i, I, igrave, Igrave ] }; + key { [ u, U, ugrave, Ugrave ] }; + key { [ o, O, ograve, Ograve ] }; + + include "level3(ralt_switch)" +}; + +// EXTRAS: + +partial alphanumeric_keys + xkb_symbols "sun_type6" { + include "sun_vndr/gb(sun_type6)" +}; diff --git a/xkbdata/symbols/ge b/xkbdata/symbols/ge new file mode 100644 index 0000000..209c72a --- /dev/null +++ b/xkbdata/symbols/ge @@ -0,0 +1,267 @@ +// Georgian Keyboard Layouts by Aiet Kolkhi +// Full layout descriptions available at http://www.gakartuleba.org/layouts/ +// +// This includes the following keyboard layouts: Georgian QWERTY; Georgian Ergonomic; +// Georgian MESS; Georgian AZERTY Tskapo; Georgian Russian. +// +// Layouts include Georgian Mkhedruli alphabeth; most layouts also include some special +// and ancient characters (like Fi, Yn, Elifi, Turned Gan and Ain). Layouts do not +// include Georgian Asomtavruli or Georgian Khutsuri alphabeths which are also present +// in Unicode. +// +// Georgian Typewriter no longer supported, as it is no longer used in Georgia. +// +// some layouts based on Georgian keyboard map, in the so called "latin" layout. +// 1999, Pablo Saratxaga +// + +default partial alphanumeric_keys +xkb_symbols "basic" { + + name[Group1]= "Georgian"; + + key { [ 0x0100201e, 0x0100201c, 0x0100201e, asciitilde ] }; + key { [ 1, exclam, apostrophe ] }; + key { [ 2, at, 0x0100201e ] }; + key { [ 3, numbersign, 0x0100201c ] }; + key { [ 4, dollar, 0x01002116 ] }; + key { [ 5, percent, EuroSign ] }; + key { [ 6, asciicircum ] }; + key { [ 7, ampersand, section ] }; + key { [ 8, asterisk, degree ] }; + key { [ 9, parenleft ] }; + key { [ 0, parenright ] }; + key { [ minus, underscore, 0x01002014 ] }; + key { [ equal, plus, 0x01002013 ] }; + + key { [ Georgian_khar, Q ] }; + key { [ Georgian_cil, Georgian_char ] }; + key { [ Georgian_en, E, Georgian_he ] }; + key { [ Georgian_rae, Georgian_ghan, 0x010000ae ] }; + key { [ Georgian_tar, Georgian_tan ] }; + key { [ Georgian_qar, Y, 0x010010f8 ] }; + key { [ Georgian_un, U ] }; + key { [ Georgian_in, I, Georgian_hie ] }; + key { [ Georgian_on, O ] }; + key { [ Georgian_par, P ] }; + key { [ bracketleft, braceleft ] }; + key { [ bracketright, braceright ] }; + + key { [ Georgian_an, A, 0x010010fa ] }; + key { [ Georgian_san, Georgian_shin ] }; + key { [ Georgian_don, D ] }; + key { [ Georgian_phar, F, Georgian_fi ] }; + key { [ Georgian_gan, G, 0x010010f9 ] }; + key { [ Georgian_hae, H, Georgian_hoe ] }; + key { [ Georgian_jhan, Georgian_zhar, 0x010010f7 ] }; + key { [ Georgian_kan, K ] }; + key { [ Georgian_las, L ] }; + key { [ semicolon, colon ] }; + key { [ apostrophe, quotedbl ] }; + key { [ backslash, bar, asciitilde, asciitilde ] }; + + key { [ guillemotleft, guillemotright ] }; + key { [ Georgian_zen, Georgian_jil ] }; + key { [ Georgian_xan, X, Georgian_har ] }; + key { [ Georgian_can, Georgian_chin, 0x010000a9 ] }; + key { [ Georgian_vin, V, Georgian_we ] }; + key { [ Georgian_ban, B ] }; + key { [ Georgian_nar, N, 0x010010fc ] }; + key { [ Georgian_man, M ] }; + key { [ comma, less, guillemotleft ] }; + key { [ period, greater, guillemotright ] }; + key { [ slash, question, 0x010010fb ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "qwerty" { + include "ge(basic)" +}; + +partial alphanumeric_keys +xkb_symbols "ergonomic" { + include "ge(basic)" + + name[Group1]= "Georgian (ergonomic)"; + + key { [ 0x0100201e, apostrophe, 0x0100201e, asciitilde ] }; + key { [ exclam, 1, exclam ] }; + key { [ 0x01002116, 2, at ] }; + key { [ comma, 3, numbersign, section ] }; + key { [ semicolon, 4, dollar ] }; + key { [ percent, 5, EuroSign ] }; + key { [ colon, 6, asciicircum ] }; + key { [ question, 7, ampersand ] }; + key { [ period, 8, asterisk, degree ] }; + key { [ parenleft, 9, parenleft, guillemotleft ] }; + key { [ parenright, 0, parenright, guillemotright ] }; + key { [ minus, plus, 0x01002014, underscore ] }; + key { [ 0x0100201c, equal, equal ] }; + + key { [ Georgian_chin, noSymbol ] }; + key { [ Georgian_par, noSymbol ] }; + key { [ Georgian_un, noSymbol ] }; + key { [ Georgian_jil, noSymbol, noSymbol, 0x010000ae ] }; + key { [ Georgian_char, noSymbol, noSymbol, Georgian_tan ] }; + key { [ Georgian_tar, noSymbol, noSymbol, 0x010010f8 ] }; + key { [ Georgian_tan, noSymbol ] }; + key { [ Georgian_nar, noSymbol, 0x010010fc, I ] }; + key { [ Georgian_vin, noSymbol, Georgian_we ] }; + key { [ Georgian_shin, noSymbol ] }; + key { [ Georgian_kan, noSymbol, bracketleft, braceleft ] }; + key { [ Georgian_khar, noSymbol, bracketright,braceright ] }; + + key { [ Georgian_xan, noSymbol, Georgian_har ] }; + key { [ Georgian_in, noSymbol, Georgian_hie ] }; + key { [ Georgian_an, noSymbol, 0x010010fa, D ] }; + key { [ Georgian_en, noSymbol, Georgian_he ] }; + key { [ Georgian_on, noSymbol ] }; + key { [ Georgian_don, noSymbol ] }; + key { [ Georgian_man, noSymbol ] }; + key { [ Georgian_san, noSymbol ] }; + key { [ Georgian_rae, noSymbol, L ] }; + key { [ Georgian_ban, noSymbol, colon ] }; + key { [ Georgian_gan, noSymbol, 0x010010f9, quotedbl ] }; + key { [ slash, section, backslash, bar ] }; + + key { [ guillemotleft,guillemotright ] }; + key { [ Georgian_jhan, noSymbol ] }; + key { [ Georgian_hae, noSymbol, Georgian_hoe, X ] }; + key { [ Georgian_qar, noSymbol, 0x010010f8, C ] }; + key { [ Georgian_ghan, noSymbol, 0x010010f7, V ] }; + key { [ Georgian_zhar, noSymbol ] }; + key { [ Georgian_zen, noSymbol ] }; + key { [ Georgian_can, noSymbol, noSymbol, M ] }; + key { [ Georgian_las, noSymbol, guillemotleft, less ] }; + key { [ Georgian_phar, noSymbol, Georgian_fi, guillemotright ] }; + key { [ Georgian_cil, noSymbol, 0x010010fb ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "mess" { + include "ge(basic)" + + name[Group1]= "Georgian (MESS)"; + + key { [ Georgian_char, backslash, grave ] }; + key { [ 1, exclam, apostrophe ] }; + key { [ 2, at, asciitilde ] }; + key { [ 3, 0x01002116, numbersign ] }; + key { [ 4, dollar, EuroSign ] }; + key { [ 5, percent ] }; + key { [ 6, asciicircum ] }; + key { [ 7, ampersand, section ] }; + key { [ 8, asterisk, degree ] }; + key { [ 9, parenleft ] }; + key { [ 0, parenright, 0x01002014 ] }; + key { [ minus, underscore, 0x01002013 ] }; + key { [ Georgian_zhar, plus, bar ] }; + key { [ Georgian_khar, Q ] }; + key { [ Georgian_cil, W ] }; + key { [ Georgian_en, E ] }; + key { [ Georgian_rae, R ] }; + key { [ Georgian_tar, T ] }; + key { [ Georgian_qar, Y ] }; + key { [ Georgian_un, U ] }; + key { [ Georgian_in, I, Georgian_hie ] }; + key { [ Georgian_on, O ] }; + key { [ Georgian_par, P ] }; + key { [ Georgian_shin, bracketleft, guillemotleft ] }; + key { [ Georgian_ghan, bracketright, guillemotright ] }; + key { [ Georgian_an, A, 0x010010fa ] }; + key { [ Georgian_san, S ] }; + key { [ Georgian_don, D ] }; + key { [ Georgian_phar, F, Georgian_fi ] }; + key { [ Georgian_gan, G, 0x010010f9 ] }; + key { [ Georgian_hae, H, Georgian_he ] }; + key { [ Georgian_jhan, J, 0x010010f7 ] }; + key { [ Georgian_kan, K ] }; + key { [ Georgian_las, L ] }; + key { [ Georgian_tan, 0x0100201e ] }; + key { [ Georgian_chin,0x0100201c ] }; + key { [ equal, slash, bar ] }; + + key { [ guillemotleft, guillemotright ] }; + key { [ Georgian_zen, Z, Georgian_hoe ] }; + key { [ Georgian_xan, X, Georgian_har ] }; + key { [ Georgian_can, C ] }; + key { [ Georgian_vin, V, Georgian_we ] }; + key { [ Georgian_ban, B ] }; + key { [ Georgian_nar, N, 0x010010fc ] }; + key { [ Georgian_man, M ] }; + key { [ comma, semicolon, less ] }; + key { [ period, colon, greater ] }; + key { [ Georgian_jil, question, 0x010010fb ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "ru" { + + name[Group1]= "Russian (Georgia)"; + + key { [ asciicircum, asciitilde ] }; + key { [ 1, exclam ] }; + key { [ 2, at ] }; + key { [ 3, numbersign ] }; + key { [ 4, semicolon ] }; + key { [ 5, colon ] }; + key { [ 6, comma ] }; + key { [ 7, period ] }; + key { [ 8, asterisk ] }; + key { [ 9, parenleft ] }; + key { [ 0, parenright ] }; + key { [ minus, underscore ] }; + key { [ numbersign, bar ] }; + + key { [ Georgian_ghan, q ] }; + key { [ Georgian_can, w ] }; + key { [ Georgian_un, e ] }; + key { [ Georgian_kan, r ] }; + key { [ Georgian_en, t ] }; + key { [ Georgian_nar, y ] }; + key { [ Georgian_gan, u ] }; + key { [ Georgian_shin, i ] }; + key { [ Georgian_cil, o ] }; + key { [ Georgian_zen, p ] }; + key { [ Georgian_xan, bracketleft ] }; + key { [ Georgian_jhan, bracketright ] }; + + key { [ Georgian_phar, a ] }; + key { [ Georgian_tan, s ] }; + key { [ Georgian_vin, d ] }; + key { [ Georgian_an, f ] }; + key { [ Georgian_par, g ] }; + key { [ Georgian_rae, h ] }; + key { [ Georgian_on, j ] }; + key { [ Georgian_las, k ] }; + key { [ Georgian_don, l ] }; + key { [ Georgian_zhar, semicolon ] }; + key { [ Georgian_jil, percent ] }; + key { [ backslash, bar ] }; + + key { [ guillemotleft, guillemotright ] }; + key { [ Georgian_char, z ] }; + key { [ Georgian_chin, x ] }; + key { [ Georgian_san, c ] }; + key { [ Georgian_man, v ] }; + key { [ Georgian_in, b ] }; + key { [ Georgian_tar, n ] }; + key { [ Georgian_khar, m ] }; + key { [ Georgian_ban, less ] }; + key { [ Georgian_qar, greater ] }; + key { [ Georgian_hae, question ] }; +}; + +partial alphanumeric_keys +xkb_symbols "os" { + + include "ru(os_legacy)" + + name[Group1]= "Ossetian (Georgia)"; +}; diff --git a/xkbdata/symbols/gh b/xkbdata/symbols/gh new file mode 100644 index 0000000..b5a3508 --- /dev/null +++ b/xkbdata/symbols/gh @@ -0,0 +1,147 @@ +default partial alphanumeric_keys +xkb_symbols "basic" { + + include "us" + + name[Group1]= "English (Ghana)"; + + key { [ 4, 0x010020B5, dollar, cent ] }; + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "akan" { + include "gh(basic)" + + name[Group1]= "Akan"; + + key { [ 0x0100025B, 0x01000190, q, Q ] }; + key { [ 0x01000254, 0x01000186, x, X ] }; +}; + +partial alphanumeric_keys +xkb_symbols "ga" { + include "gh(basic)" + + name[Group1]= "Ga"; + + key { [ 0x0100025B, 0x01000190, q, Q ] }; + key { [ 0x01000254, 0x01000186, x, X ] }; + key { [ 0x0100014B, 0x0100014A, c, C ] }; +}; + +partial alphanumeric_keys +xkb_symbols "ewe" { + include "gh(basic)" + + name[Group1]= "Ewe"; + + key { [ 0x0100025B, 0x01000190, q, Q ] }; + key { [ 0x0100014B, 0x0100014A, c, C ] }; + key { [ 0x01000254, 0x01000186, braceleft, braceleft ] }; + key { [ 0x0100028B, 0x010001B2, braceright, braceright ] }; + key { [ 0x01000256, 0x01000189, backslash, backslash ] }; + key { [ 0x01000192, 0x01000191, j, J ] }; + key { [ g, G, 0x01000263, 0x01000194 ] }; +}; + +partial alphanumeric_keys +xkb_symbols "fula" { + include "gh(basic)" + + name[Group1]= "Fula"; + + key { [ 0x01000071, 0x01000051, q, Q ] }; + key { [ udiaeresis, Udiaeresis, w, W ] }; + key { [ e, E, EuroSign, cent ] }; + key { [ 0x010001B4, 0x010001B3,bracketleft, braceleft ] }; + key { [ gcaron, Gcaron,bracketright, braceright] }; + key { [ 0x01000257, 0x0100018A, d, D ] }; + key { [ 0x01000131, 0x01000130, semicolon, colon ] }; + key { [ 0x010001DD, 0x0100018E,apostrophe, quotedbl ] }; + key { [ 0x01000272, 0x0100019D, z, Z ] }; + key { [ ntilde, Ntilde, m, M ] }; + key { [ ccedilla, Ccedilla, period, greater ] }; + key { [ scedilla, Scedilla, slash, question ] }; +}; + +partial alphanumeric_keys +xkb_symbols "hausa" { + include "gh(fula)" + + name[Group1]= "Hausa (Ghana)"; +}; + +partial alphanumeric_keys +xkb_symbols "generic" { + include "gh(basic)" + + name[Group1]= "English (Ghana, multilingual)"; + + key { [ e, E, 0x0100025b, 0x01000190 ] }; + key { [ c, C, 0x01000254, 0x01000186 ] }; + key { [ d, D, 0x01000256, 0x01000189 ] }; + key { [ f, F, 0x01000192, 0x01000191 ] }; + key { [ g, G, 0x01000263, 0x01000194 ] }; + key { [ n, N, 0x0100014b, 0x0100014a ] }; + key { [ z, Z, 0x010001B6, 0x010001B5 ] }; + key { [ v, V, 0x0100028B, 0x010001B2 ] }; + key { [ 4, dollar, 0x010020B5, cent ] }; + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "avn" { + include "gh(basic)" + + name[Group1]= "Avatime"; + + key { [ grave, asciitilde, 0x01000300, 0x01000303 ] }; // combining grave; combining tilde + key { [ 4, dollar, cent, 0x010020B5 ] }; // ¢, ₵ + key { [ minus, underscore, 0x01000304, 0x01000304 ] }; // combining macron + key { [ 0x0100028B, 0x010001B2 ] }; // ʋ, Ʋ + key { [ u, U, 0x0100028A, 0x010001B1 ] }; // ʊ, Ʊ + key { [ i, I, 0x01000269, 0x01000196 ] }; // ɩ, Ɩ + key { [ 0x0100025B, 0x01000190, bracketleft, braceleft ] }; // ɛ, Ɛ + key { [ d, D, 0x01000256, 0x01000189 ] }; // ɖ, Ɖ + key { [ f, F, 0x01000192, 0x01000191 ] }; // ƒ, Ƒ + key { [ 0x0100014B, 0x0100014A ] }; // ŋ, Ŋ + key { [ apostrophe, quotedbl, 0x01000301, 0x01000301 ] }; // combining acute + key { [ 0x01000254, 0x01000186 ] }; // ɔ, Ɔ + + include "level3(ralt_switch)" +}; + +// This keyboard layout fully imitates the 'Ghana Unicode' layout which is used in GILLBT on Windows with Keyman. +// However, in this layout a 3rd level key (R ALT) is used rather than dead keys. +// Also it has three additional features: +// 1) combining macron above: + + <-> +// 2) cent: + <4> or + + <4> +// 3) ʊ/Ʊ: + / + +partial alphanumeric_keys +xkb_symbols "gillbt" { + include "gh(basic)" + + name[Group1]= "English (Ghana, GILLBT)"; + + key { [ grave, asciitilde, 0x01000300, 0x01000303 ] }; // combining grave; combining tilde + key { [ 4, dollar, cent, 0x010020B5 ] }; // ¢, ₵ + key { [ 6, asciicircum, 0x01000302, 0x01000302 ] }; // combining circumflex accent + key { [ minus, underscore, 0x01000331, 0x01000304 ] }; // combining macron below; combining macron above + key { [ 0x0100014B, 0x0100014A, equal, plus ] }; // ŋ, Ŋ + key { [ 0x0100028B, 0x010001B2, q, Q ] }; // ʋ, Ʋ + key { [ e, E, 0x010001DD, 0x0100018E ] }; // ǝ, Ǝ + key { [ u, U, 0x0100028A, 0x010001B1 ] }; // ʊ, Ʊ + key { [ 0x0100025B, 0x01000190, bracketleft, braceleft ] }; // ɛ, Ɛ + key { [ 0x01000254, 0x01000186, bracketright, braceright ] }; // ɔ, Ɔ + key { [ d, D, 0x01000256, 0x01000189 ] }; // ɖ, Ɖ + key { [ f, F, 0x01000192, 0x01000191 ] }; // ƒ, Ƒ + key { [ g, G, 0x01000263, 0x01000194 ] }; // ɣ, Ɣ + key { [ apostrophe, quotedbl, 0x01000301, 0x01000301 ] }; // combining acute + key { [ z, Z, 0x01000292, 0x010001B7 ] }; // ʒ, Ʒ + key { [ 0x01000269, 0x01000196, x, X ] }; // ɩ, Ɩ + key { [ c, C, 0x010000E7, 0x010000C7 ] }; // ç, Ç + + include "level3(ralt_switch)" +}; diff --git a/xkbdata/symbols/gn b/xkbdata/symbols/gn new file mode 100644 index 0000000..d56976d --- /dev/null +++ b/xkbdata/symbols/gn @@ -0,0 +1,60 @@ +// Keyboard layout for N'Ko, by Denis Jacquerye. +// See https://bugs.freedesktop.org/11702. +default partial alphanumeric_keys +xkb_symbols "basic" { + + name[Group1]="N'Ko (AZERTY)"; + + key {[ U07F1, U07C1 ]}; + key {[ U07EB, U07C2 ]}; + key {[ U07F5, U07C3, numbersign, sterling ]}; + key {[ U07F4, U07C4, U2E1C, dollar ]}; + key {[ parenleft, U07C5, U2E1D ]}; + key {[ minus, U07C6, bar ]}; + key {[ U07EC, U07C7, grave ]}; + key {[ U07FA, U07C8, backslash ]}; + key {[ U07ED, U07C9, asciicircum, plusminus ]}; + key {[ U07EE, U07C0, at, degree ]}; + key {[ parenright ]}; + key {[ equal, plus, braceright ]}; + + key {[ U07CA ]}; + key {[ U07E0, less ]}; + key {[ U07CD, U07CB ]}; + key {[ U07D9, U07DA ]}; + key {[ U07D5 ]}; + key {[ U07E6, U07E7 ]}; + key {[ U07CE, U07F6 ]}; + key {[ U07CC ]}; + key {[ U07D0, U07CF ]}; + key {[ U07D4 ]}; + key {[ U07F3 ]}; + key {[dollar, sterling, currency ]}; + + key {[ U07EB ]}; + key {[ U07DB ]}; + key {[ U07D8 ]}; + key {[ U07DD ]}; + key {[ U07DC, U07F7 ]}; + key {[ U07E4 ]}; + key {[ U07D6, U07E8 ]}; + key {[ U07DE ]}; + key {[ U07DF, U07EA ]}; + key {[ U07E1 ]}; + key {[ U07EF, U07F8, percent ]}; + key {[ U07EC, asciitilde, notsign ]}; + + key {[ U07D1, asterisk ]}; + key {[ U07E5 ]}; + key {[ U060C ]}; + key {[ U07D7, U07E9 ]}; + key {[ U07E2 ]}; + key {[ U07D3 ]}; + key {[ U07E3, U07D2 ]}; + key {[ U07F8, U061F ]}; + key {[ U061B ]}; + key {[ U060C, slash ]}; + key {[ U07F9 ]}; + + include "level3(ralt_switch)" +}; diff --git a/xkbdata/symbols/gr b/xkbdata/symbols/gr new file mode 100644 index 0000000..b584030 --- /dev/null +++ b/xkbdata/symbols/gr @@ -0,0 +1,276 @@ +// Hellenic keyboard map for X.org +// +// Original version: +// Kostas Gewrgiou +// Heavily modified and maintained by: +// Vasilis Vasaitis +// Originally converted to single group form by: +// Ivan Pascal +// Final modifications for proper support of +// the Hellenic language by: +// Web Dolphins® + + +default partial alphanumeric_keys alternate_group +xkb_symbols "basic" { + include "gr(simple)" + + name[Group1] = "Greek"; + + include "eurosign(e)" + include "eurosign(5)" + include "kpdl(comma)" + include "level3(ralt_switch)" + + key { [ NoSymbol, NoSymbol, U037D, U03FF ] }; + key { [ NoSymbol, NoSymbol, rightarrow, leftarrow ] }; + key { [ NoSymbol, NoSymbol, copyright ] }; + key { [ NoSymbol, NoSymbol, U03D6 ] }; + key { [ NoSymbol, NoSymbol, U03D0 ] }; + key { [ NoSymbol, NoSymbol, U0374, U0375 ] }; + key { [ NoSymbol, NoSymbol, U03FB, U03FA ] }; + key { [ NoSymbol, NoSymbol, guillemotleft ] }; + key { [ NoSymbol, NoSymbol, guillemotright, periodcentered ] }; + key { [ NoSymbol, NoSymbol, downarrow, uparrow ] }; + key { [ NoSymbol, NoSymbol, U03D5 ] }; + key { [ NoSymbol, NoSymbol, U03DD, U03DC ] }; + key { [ NoSymbol, NoSymbol, U037C, U03FE ] }; + key { [ NoSymbol, NoSymbol, U03DF, U03DE ] }; + key { [ NoSymbol, NoSymbol, U03F2, U03F9 ] }; + key { [ NoSymbol, NoSymbol, dead_acute, dead_psili ] }; + key { [ NoSymbol, NoSymbol, dead_grave, dead_dasia ] }; + key { [ NoSymbol, NoSymbol, periodcentered ] }; + key { [ NoSymbol, NoSymbol, U03DB, U03DA ] }; + key { [ NoSymbol, NoSymbol, registered, U03F1 ] }; + key { [ NoSymbol, NoSymbol, U03D2, U03D2 ] }; + key { [ NoSymbol, NoSymbol, U03D1, U03F4 ] }; + key { [ NoSymbol, NoSymbol, U037B, U03FD ] }; + key { [ NoSymbol, NoSymbol, U03E1, U03E0 ] }; + key { [ NoSymbol, NoSymbol, dead_tilde, dead_macron ] }; + key { [ NoSymbol, NoSymbol, dead_iota, dead_breve ] }; + key { [ NoSymbol, NoSymbol, NoSymbol, onesuperior ] }; + key { [ NoSymbol, NoSymbol, onehalf, twosuperior ] }; + key { [ NoSymbol, NoSymbol, sterling, threesuperior ] }; + key { [ NoSymbol, NoSymbol, onequarter, threequarters ] }; + key { [ NoSymbol, NoSymbol, U03F0 ] }; + key { [ NoSymbol, NoSymbol, U03D7, U03CF ] }; + key { [ NoSymbol, NoSymbol, U20AF ] }; + key { [ NoSymbol, NoSymbol, degree ] }; + key { [ NoSymbol, NoSymbol, plusminus ] }; +}; + +partial alphanumeric_keys alternate_group +xkb_symbols "simple" { + + include "gr(bare)" + + name[Group1] = "Greek (simple)"; + + key { [ grave, asciitilde ] }; // ` ~ + key { [ 1, exclam ] }; // 1 ! + key { [ 2, at ] }; // 2 @ + key { [ 3, numbersign ] }; // 3 # + key { [ 4, dollar ] }; // 4 $ + key { [ 5, percent ] }; // 5 % + key { [ 6, asciicircum ] }; // 6 ^ + key { [ 7, ampersand ] }; // 7 & + key { [ 8, asterisk ] }; // 8 * + key { [ 9, parenleft ] }; // 9 ( + key { [ 0, parenright ] }; // 0 ) + key { [ minus, underscore ] }; // - _ + key { [ equal, plus ] }; // = + + + key { [ bracketleft, braceleft ] }; // [ { + key { [ bracketright, braceright ] }; // ] } + + key { [ apostrophe, quotedbl ] }; // ' " + + key { [ comma, less ] }; // , < + key { [ period, greater ] }; // . > + key { [ slash, question ] }; // / ? + key { [ backslash, bar ] }; // \ | + + include "kpdl(comma)" +}; + +hidden partial alphanumeric_keys alternate_group +xkb_symbols "bare" { + + key { [ semicolon, colon ] }; // ; : + key { [ Greek_finalsmallsigma, Greek_SIGMA ] }; // ς Σ + key { [ Greek_epsilon, Greek_EPSILON ] }; // ε Ε + key { [ Greek_rho, Greek_RHO ] }; // ρ Ρ + key { [ Greek_tau, Greek_TAU ] }; // τ Τ + key { [ Greek_upsilon, Greek_UPSILON ] }; // υ Υ + key { [ Greek_theta, Greek_THETA ] }; // θ Θ + key { [ Greek_iota, Greek_IOTA ] }; // ι Ι + key { [ Greek_omicron, Greek_OMICRON ] }; // ο Ο + key { [ Greek_pi, Greek_PI ] }; // π Π + + key { [ Greek_alpha, Greek_ALPHA ] }; // α Α + key { [ Greek_sigma, Greek_SIGMA ] }; // σ Σ + key { [ Greek_delta, Greek_DELTA ] }; // δ Δ + key { [ Greek_phi, Greek_PHI ] }; // φ Φ + key { [ Greek_gamma, Greek_GAMMA ] }; // γ Γ + key { [ Greek_eta, Greek_ETA ] }; // η Η + key { [ Greek_xi, Greek_XI ] }; // ξ Ξ + key { [ Greek_kappa, Greek_KAPPA ] }; // κ Κ + key { [ Greek_lamda, Greek_LAMDA ] }; // λ Λ + key { [ dead_acute, dead_diaeresis ] }; // ´ ¨ + + key { [ Greek_zeta, Greek_ZETA ] }; // ζ Ζ + key { [ Greek_chi, Greek_CHI ] }; // χ Χ + key { [ Greek_psi, Greek_PSI ] }; // ψ Ψ + key { [ Greek_omega, Greek_OMEGA ] }; // ω Ω + key { [ Greek_beta, Greek_BETA ] }; // β Β + key { [ Greek_nu, Greek_NU ] }; // ν Ν + key { [ Greek_mu, Greek_MU ] }; // μ Μ + + key { [ guillemotleft, guillemotright ] }; // « » +}; + +// =========================================================================================== +// Greek - Extended | +// =========================================================================================== +// +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━━━┓ +// │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + ┃Backspace ┃ +// │ ` │ 1 │ 2 │ 3 £ │ 4 │ 5 € │ 6 │ 7 │ 8 │ 9 │ 0 ° │ - ± │ = ┃ ┃ +// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━━━┫ +// ┃ ┃ : │ Σ │ Ε │ Ρ │ Τ │ Υ │ Θ │ Ι │ Ο │ Π │ { │ } ┃Enter ┃ +// ┃Tab ┃ ; · │ ς │ ε € │ ρ ® │ τ │ υ │ θ │ ι │ ο │ π │ [ │ ] ┃ ┃ +// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃ +// ┃Caps ┃ Α │ Σ │ Δ │ Φ │ Γ │ Η │ Ξ │ Κ │ Λ │ ¨ │ " │ | ┃ ┃ +// ┃Lock ┃ α │ σ │ δ │ φ │ γ │ η │ ξ │ κ │ λ │ ´ │ ' │ \ ┃ ┃ +// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━━━┫ +// ┃ ┃ » │ Ζ │ Χ │ Ψ │ Ω │ Β │ Ν │ Μ │ < │ > │ ? ┃ ┃ +// ┃Shift ┃ « │ ζ │ χ │ ψ © │ ω │ β │ ν │ μ │ , « │ . » │ / ┃Shift ┃ +// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴──┲━━┷━━━━┳┷━━━━━┻┳━━━━━━━┳━━━━━━┫ +// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ +// ┃Ctrl ┃Meta ┃Alt ┃ Space ┃AltGr ┃Meta ┃Menu ┃Ctrl ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹──────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┻━━━━━━┛ + +partial alphanumeric_keys alternate_group +xkb_symbols "extended" { + + include "gr(simple)" + + name[Group1] = "Greek (extended)"; + + key.type[Group1] = "THREE_LEVEL"; + + key { [ NoSymbol, NoSymbol, U2015 ] }; // ― + key { [ NoSymbol, NoSymbol, U00A7 ] }; // § + key { [ NoSymbol, NoSymbol, U00B2 ] }; // ² + key { [ NoSymbol, NoSymbol, U00B3 ] }; // ³ + // for adding cubic sign £ symbol must move (like e.g. AE04 ) + key { [ NoSymbol, NoSymbol, sterling ] }; // £ + key { [ NoSymbol, NoSymbol, U00A5 ] }; // ¥ + key { [ NoSymbol, NoSymbol, degree ] }; // ° + key { [ NoSymbol, NoSymbol, plusminus ] }; // ± + + key { [ NoSymbol, NoSymbol, periodcentered ] }; // · + key { [ NoSymbol, NoSymbol, registered ] }; // ® + + key { [ NoSymbol, NoSymbol, copyright ] }; // © + key { [ NoSymbol, NoSymbol, guillemotleft ] }; // « + key { [ NoSymbol, NoSymbol, guillemotright ] }; // » + + include "level3(ralt_switch)" + include "eurosign(5)" + include "eurosign(e)" +}; + +partial alphanumeric_keys alternate_group +xkb_symbols "polytonic" { + + include "gr(extended)" + + name[Group1] = "Greek (polytonic)"; + + key.type[Group1] = "THREE_LEVEL"; + + key { [ dead_tilde, dead_diaeresis, dead_macron ] }; // ~ ¨ ¯ + key { [ dead_iota, VoidSymbol, dead_breve ] }; // ͺ ˘ + key { type[Group1]="FOUR_LEVEL", + [ 5, percent, U2030, U2031 ] }; // ‰ ‱ + key { type[Group1]="FOUR_LEVEL", + [ Greek_sigma, Greek_SIGMA, U03DB, U03DA ] }; // Ϛ ϛ STIGMATA + key { type[Group1]="FOUR_LEVEL", + [ Greek_phi, Greek_PHI, U03DD, U03DC ] }; // ϝ Ϝ + key { type[Group1]="FOUR_LEVEL", + [ Greek_finalsmallsigma, Greek_SIGMA, U03D9, U03D8 ] }; // ϙ Ϙ + key { type[Group1]="FOUR_LEVEL", + [ Greek_xi, Greek_XI, U03F3, U037F ] }; // ϳ Ϳ + key { type[Group1]="FOUR_LEVEL", + [ Greek_pi, Greek_PI, U03D6, U03D5 ] }; // ϖ ϕ + key { type[Group1]="FOUR_LEVEL", + [ Greek_beta, Greek_BETA, U03E1, U03E0 ] }; // ϡ Ϡ + + key { [ dead_acute, dead_psili ] }; // ´ ̓ + key { type[Group1]="FOUR_LEVEL", + [ dead_grave, dead_dasia, apostrophe, quotedbl ] }; + + key { type[Group1]="FOUR_LEVEL", + [ Greek_kappa, Greek_KAPPA, U03D7, U03CF ] }; + // κ Κ GREEK KAI SYMBOL +}; + +partial alphanumeric_keys alternate_group +xkb_symbols "nodeadkeys" { + + include "gr(simple)" + + name[Group1] = "Greek (no dead keys)"; + + key { [ semicolon, colon ] }; // ; : +}; + +// Greek layout rearranged as Colemak + +partial alphanumeric_keys alternate_group +xkb_symbols "colemak" { + + include "gr(basic)" + + name[Group1] = "Greek (Colemak)"; + + key { [ semicolon, colon, periodcentered ] }; + key { [ Greek_finalsmallsigma, Greek_SIGMA, U03DB, U03DA ] }; + key { [ Greek_phi, Greek_PHI, U03D5 ] }; + key { [ Greek_pi, Greek_PI, U03E1, U03E0 ] }; + key { [ Greek_gamma, Greek_GAMMA, U03DD, U03DC ] }; + key { [ Greek_xi, Greek_XI, U037C, U03FE ] }; + key { [ Greek_lamda, Greek_LAMDA, U03F2, U03F9 ] }; + key { [ Greek_theta, Greek_THETA, U03D1, U03F4 ] }; + key { [ Greek_upsilon, Greek_UPSILON, U03D2, U03D2 ] }; + key { [ dead_acute, dead_diaeresis, dead_acute, dead_psili ] }; + + key { [ Greek_alpha, Greek_ALPHA ] }; + key { [ Greek_rho, Greek_RHO, registered, U03F1 ] }; + key { [ Greek_sigma, Greek_SIGMA ] }; + key { [ Greek_tau, Greek_TAU ] }; + key { [ Greek_delta, Greek_DELTA, downarrow, uparrow ] }; + key { [ Greek_eta, Greek_ETA ] }; + key { [ Greek_nu, Greek_NU, U0374, U0375 ] }; + key { [ Greek_epsilon, Greek_EPSILON, EuroSign ] }; + key { [ Greek_iota, Greek_IOTA, U037B, U03FD ] }; + key { [ Greek_omicron, Greek_OMICRON ] }; + + key { [ Greek_zeta, Greek_ZETA, U037D, U03FF ] }; + key { [ Greek_chi, Greek_CHI, rightarrow, leftarrow ] }; + key { [ Greek_psi, Greek_PSI, copyright ] }; + key { [ Greek_omega, Greek_OMEGA, U03D6 ] }; + key { [ Greek_beta, Greek_BETA, U03D0 ] }; + key { [ Greek_kappa, Greek_KAPPA, U03DF, U03DE ] }; + key { [ Greek_mu, Greek_MU, U03FB, U03FA ] }; + + key { [ BackSpace, BackSpace, BackSpace, BackSpace ] }; +}; + +// EXTRAS: + +partial alphanumeric_keys + xkb_symbols "sun_type6" { + include "sun_vndr/gr(sun_type6)" +}; diff --git a/xkbdata/symbols/group b/xkbdata/symbols/group new file mode 100644 index 0000000..12f35a4 --- /dev/null +++ b/xkbdata/symbols/group @@ -0,0 +1,469 @@ +// The right Alt key (while pressed) chooses the second keyboard group. +partial modifier_keys +xkb_symbols "switch" { + key { + symbols[Group1] = [ Mode_switch, Multi_key ], + virtualMods= AltGr + }; +}; + +// The left Alt key (while pressed) chooses the second keyboard group. +partial modifier_keys +xkb_symbols "lswitch" { + key { + symbols[Group1] = [ Mode_switch, Multi_key ], + virtualMods= AltGr + }; +}; + +// Either Win key (while pressed) chooses the second keyboard group. +partial modifier_keys +xkb_symbols "win_switch" { + include "group(lwin_switch)" + include "group(rwin_switch)" +}; + +// The left Win key (while pressed) chooses the second keyboard group. +// (Using this map, you should declare your keyboard as pc101 or pc102 +// instead of pc104 or pc105.) +partial modifier_keys +xkb_symbols "lwin_switch" { + key { + symbols[Group1] = [ Mode_switch, Multi_key ], + virtualMods= AltGr + }; +}; + +// The right Win key (while pressed) chooses the second keyboard group. +// (Using this map, you should declare your keyboard as pc101 or pc102 +// instead of pc104 or pc105.) +partial modifier_keys +xkb_symbols "rwin_switch" { + key { + symbols[Group1] = [ Mode_switch, Multi_key ], + virtualMods= AltGr + }; +}; + +// The right Menu key (while pressed) chooses the second keyboard group. +// while Shift+Menu acts as Menu. +partial modifier_keys +xkb_symbols "menu_switch" { + key { + symbols[Group1] = [ Mode_switch, Menu ], + virtualMods= AltGr + }; +}; + +// The right Ctrl key (while pressed) chooses the second keyboard group. +// (Needed mainly for the Canadian keyboard.) +partial modifier_keys +xkb_symbols "rctrl_switch" { + key { + symbols[Group1] = [ Mode_switch ] + }; +}; + +// Pressing the right Alt key switches to the next group. +partial modifier_keys +xkb_symbols "toggle" { + virtual_modifiers AltGr; + key { + symbols[Group1] = [ ISO_Next_Group ], + virtualMods= AltGr + }; +}; + +// Pressing both Shift keys switches to the next or previous group +// (depending on which Shift is pressed first). +partial modifier_keys +xkb_symbols "shifts_toggle" { + key { [ Shift_L, ISO_Prev_Group ] }; + key { [ Shift_R, ISO_Next_Group ] }; +}; + +// Pressing Shift+Caps_Lock switches to the next group. +partial modifier_keys +xkb_symbols "shift_caps_toggle" { + key { [ Caps_Lock, ISO_Next_Group ] }; +}; + +// Pressing Caps_Lock selects the first group, +// pressing Shift+Caps_Lock selects the last group. +partial modifier_keys +xkb_symbols "shift_caps_switch" { + key { [ ISO_First_Group, ISO_Last_Group ] }; +}; + +// toggle using win + space as combo +partial modifier_keys +xkb_symbols "win_space_toggle" { + key { + type="PC_SUPER_LEVEL2", + symbols[Group1]= [ space, ISO_Next_Group ], + symbols[Group2]= [ space, ISO_Next_Group ] + }; +}; + +// Pressing the left Win key selects the first group, +// pressing the right Win or the Menu key selects the last group. +partial modifier_keys +xkb_symbols "win_menu_switch" { + virtual_modifiers AltGr; + key { + virtualMods= AltGr, + symbols[Group1] = [ ISO_First_Group ] + }; + key { + virtualMods= AltGr, + symbols[Group1] = [ ISO_Last_Group ] + }; + key { + virtualMods= AltGr, + symbols[Group1] = [ ISO_Last_Group ] + }; +}; + +// Pressing the left Ctrl key selects the first group, +// pressing the right Ctrl key selects the last group. +partial modifier_keys +xkb_symbols "lctrl_rctrl_switch" { + virtual_modifiers AltGr; + key { + virtualMods= AltGr, + symbols[Group1] = [ ISO_First_Group ] + }; + key { + virtualMods= AltGr, + symbols[Group1] = [ ISO_Last_Group ] + }; +}; + + +// +// CTRL-SHIFT toggle section +// +partial modifier_keys +xkb_symbols "lctrl_lshift_toggle" { + key { + type[Group1]="PC_CONTROL_LEVEL2", + symbols[Group1] = [ Shift_L, ISO_Next_Group ] + }; + key { [ Control_L, ISO_Next_Group ] }; +}; + +partial modifier_keys +xkb_symbols "lctrl_lshift_toggle_rev" { + key { + type[Group1]="PC_CONTROL_LEVEL2", + symbols[Group1] = [ Shift_L, ISO_Prev_Group ] + }; + key { [ Control_L, ISO_Prev_Group ] }; +}; + +partial modifier_keys +xkb_symbols "rctrl_rshift_toggle" { + key { + type[Group1]="PC_CONTROL_LEVEL2", + symbols[Group1] = [ Shift_R, ISO_Next_Group ] + }; + key { [ Control_R, ISO_Next_Group ] }; +}; + +partial modifier_keys +xkb_symbols "ctrl_shift_toggle" { + include "group(lctrl_lshift_toggle)" + include "group(rctrl_rshift_toggle)" +}; + +partial modifier_keys +xkb_symbols "ctrl_shift_toggle_bidir" { + include "group(lctrl_lshift_toggle_rev)" + include "group(rctrl_rshift_toggle)" +}; + + +// +// CTRL-ALT toggle section +// +partial modifier_keys +xkb_symbols "lctrl_lalt_toggle" { + virtual_modifiers Alt; + key { + type[Group1]="PC_CONTROL_LEVEL2", + symbols[Group1] = [ NoSymbol, ISO_Next_Group ], + virtualMods= Alt + }; + key { + type[Group1]="PC_ALT_LEVEL2", + symbols[Group1] = [ Control_L, ISO_Next_Group ] + }; +}; + +partial modifier_keys +xkb_symbols "lctrl_lalt_toggle_rev" { + virtual_modifiers Alt; + key { + type[Group1]="PC_CONTROL_LEVEL2", + symbols[Group1] = [ NoSymbol, ISO_Prev_Group ], + virtualMods= Alt + }; + key { + type[Group1]="PC_ALT_LEVEL2", + symbols[Group1] = [ Control_L, ISO_Prev_Group ] + }; +}; + +partial modifier_keys +xkb_symbols "rctrl_ralt_toggle" { + virtual_modifiers Alt; + key { + type[Group1]="PC_CONTROL_LEVEL2", + symbols[Group1] = [ NoSymbol, ISO_Next_Group ], + virtualMods= Alt + }; + key { + type[Group1]="PC_ALT_LEVEL2", + symbols[Group1] = [ Control_R, ISO_Next_Group ] + }; +}; + +partial modifier_keys +xkb_symbols "ctrl_alt_toggle" { + include "group(lctrl_lalt_toggle)" + include "group(rctrl_ralt_toggle)" +}; + +partial modifier_keys +xkb_symbols "ctrl_alt_toggle_bidir" { + include "group(lctrl_lalt_toggle_rev)" + include "group(rctrl_ralt_toggle)" +}; + + +// +// ALT-SHIFT toggle section +// +partial modifier_keys +xkb_symbols "lalt_lshift_toggle" { + virtual_modifiers Alt; + key { + symbols[Group1] = [ NoSymbol, ISO_Next_Group ], + virtualMods= Alt + }; + key { + type[Group1]="PC_ALT_LEVEL2", + symbols[Group1] = [ Shift_L, ISO_Next_Group ] + }; +}; + +partial modifier_keys +xkb_symbols "lalt_lshift_toggle_rev" { + virtual_modifiers Alt; + key { + symbols[Group1] = [ NoSymbol, ISO_Prev_Group ], + virtualMods= Alt + }; + key { + type[Group1]="PC_ALT_LEVEL2", + symbols[Group1] = [ Shift_L, ISO_Prev_Group ] + }; +}; + +partial modifier_keys +xkb_symbols "ralt_rshift_toggle" { + virtual_modifiers Alt; + key { + symbols[Group1] = [ NoSymbol, ISO_Next_Group ], + virtualMods= Alt + }; + key { + type[Group1]="PC_ALT_LEVEL2", + symbols[Group1] = [ Shift_R, ISO_Next_Group ] + }; +}; + +partial modifier_keys +xkb_symbols "alt_shift_toggle" { + include "group(lalt_lshift_toggle)" + include "group(ralt_rshift_toggle)" +}; + +partial modifier_keys +xkb_symbols "alt_shift_toggle_bidir" { + include "group(lalt_lshift_toggle_rev)" + include "group(ralt_rshift_toggle)" +}; + + +// Pressing the Menu key switches to the next group, +// while Shift+Menu acts as Menu. +partial modifier_keys +xkb_symbols "menu_toggle" { + key { [ ISO_Next_Group, Menu ] }; +}; + +// Pressing the left Win key switches to the next group. +// (Using this map, you should declare your keyboard as +// pc101 or pc102 instead of pc104 or pc105.) +partial modifier_keys +xkb_symbols "lwin_toggle" { + virtual_modifiers AltGr; + key { + virtualMods= AltGr, + symbols[Group1] = [ ISO_Next_Group ] + }; +}; + +// Pressing the right Win key switches to the next group. +// (Using this map, you should declare your keyboard as +// pc101 or pc102 instead of pc104 or pc105.) +partial modifier_keys +xkb_symbols "rwin_toggle" { + virtual_modifiers AltGr; + key { + virtualMods= AltGr, + symbols[Group1] = [ ISO_Next_Group ] + }; +}; + +// Pressing both Ctrl keys switches to the next or previous group +// (depending on which Ctrl is pressed first). +partial modifier_keys +xkb_symbols "ctrls_toggle" { + virtual_modifiers LControl, RControl; + key { + type[Group1]="PC_CONTROL_LEVEL2", + symbols[Group1] = [ NoSymbol, ISO_Prev_Group ], + virtualMods= LControl + }; + key { + type[Group1]="PC_CONTROL_LEVEL2", + symbols[Group1] = [ NoSymbol, ISO_Next_Group ], + virtualMods= RControl + }; +}; + +// Pressing both Alt switches to the next or previous group +// (depending on which Alt is pressed first). +partial modifier_keys +xkb_symbols "alts_toggle" { + virtual_modifiers LAlt, RAlt; + key { + type[Group1]="PC_RALT_LEVEL2", + symbols[Group1] = [ NoSymbol, ISO_Prev_Group ], + virtualMods= LAlt + }; + key { + type[Group1]="PC_LALT_LEVEL2", + symbols[Group1] = [ NoSymbol, ISO_Next_Group ], + virtualMods= RAlt + }; +}; + +// Pressing the left Shift key switches to the next group. +partial modifier_keys +xkb_symbols "lshift_toggle" { + virtual_modifiers AltGr; + key { + symbols[Group1] = [ ISO_Next_Group ], + virtualMods= AltGr + }; +}; + +// Pressing the right Shift key switches to the next group. +partial modifier_keys +xkb_symbols "rshift_toggle" { + virtual_modifiers AltGr; + key { + symbols[Group1] = [ ISO_Next_Group ], + virtualMods= AltGr + }; +}; + +// Pressing the left Alt key switches to the next group. +partial modifier_keys +xkb_symbols "lalt_toggle" { + virtual_modifiers AltGr; + key { + symbols[Group1] = [ ISO_Next_Group ], + virtualMods= AltGr + }; +}; + +// Pressing the left Ctrl key switches to the next group. +partial modifier_keys +xkb_symbols "lctrl_toggle" { + virtual_modifiers AltGr; + key { + symbols[Group1] = [ ISO_Next_Group ], + virtualMods= AltGr + }; +}; + +// Pressing the right Ctrl key switches to the next group. +partial modifier_keys +xkb_symbols "rctrl_toggle" { + virtual_modifiers AltGr; + key { + symbols[Group1] = [ ISO_Next_Group ], + virtualMods= AltGr + }; +}; + +// Pressing Alt+Caps_Lock switches to the next group, +// pressing Caps_Lock toggles CapsLock. +partial modifier_keys +xkb_symbols "alt_caps_toggle" { + key { + type="PC_ALT_LEVEL2", + symbols[Group1] = [ Caps_Lock, ISO_Next_Group ] + }; +}; + +hidden partial modifier_keys +xkb_symbols "olpc" { + key { [ ISO_Next_Group, ISO_Prev_Group ] }; +}; + +partial modifier_keys +xkb_symbols "alt_space_toggle" { + key { + type[Group1]="PC_ALT_LEVEL2", + symbols[Group1] = [ space, ISO_Next_Group ] + }; +}; + +// Pressing the Scroll Lock key switches to the next group, +partial modifier_keys +xkb_symbols "sclk_toggle" { + virtual_modifiers AltGr; + key { + virtualMods= AltGr, + symbols[Group1] = [ ISO_Next_Group ] + }; +}; + +// Control_L+Win_L selects the first group (presumably Lat), +// Control_R+Menu selects the second group (presumably Rus). +partial modifier_keys +xkb_symbols "lctrl_lwin_rctrl_menu" { + key { + type[Group1] = "PC_CONTROL_LEVEL2", + symbols[Group1] = [ Super_L, ISO_First_Group ] + }; + key { + type[Group1] = "PC_CONTROL_LEVEL2", + symbols[Group1] = [ Menu, ISO_Last_Group ] + }; +}; + +// Control_L+Win_L toggles groups. +partial modifier_keys +xkb_symbols "lctrl_lwin_toggle" { + key { + type[ Group1 ] = "PC_CONTROL_LEVEL2", + symbols[ Group1 ] = [ Super_L, ISO_Next_Group ] + }; +}; + diff --git a/xkbdata/symbols/hp_vndr/us b/xkbdata/symbols/hp_vndr/us new file mode 100644 index 0000000..8bbe2e6 --- /dev/null +++ b/xkbdata/symbols/hp_vndr/us @@ -0,0 +1,103 @@ +// +//Copyright 1996, 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. +// +// US/ASCII layout for a HP non-PC keyboard +xkb_symbols "hil" { + include "us(basic)" + + // A few alphanumeric keys are different + key { [ grave, asciitilde ]}; + key { [ Shift_R ]}; + key { [ Meta_L ]}; + key { [ Meta_R ]}; + // End alphanumeric section + + // Begin "Function" section + key { [ Break ]}; + key { [ Cancel ]}; + key { [ F1 ] }; + key { [ F2 ] }; + key { [ F3 ] }; + key { [ F4 ] }; + key { [ Menu ] }; + key { [ hpSystem ]}; + key { [ F5 ] }; + key { [ F6 ] }; + key { [ F7 ] }; + key { [ F8 ] }; + key { [ hpClearLine ]}; + key { [ Clear ]}; + key { [ F9 ] }; + key { [ F10 ] }; + key { [ F11 ] }; + key { [ F12 ] }; + // End "Function" section + + // Begin "Editing" section + key { [ Execute, Print ]}; + key { [ hpInsertLine ]}; + key { [ hpDeleteLine ]}; + key { [ hpInsertChar ]}; + key { [ hpDeleteChar ]}; + key { [ Home ] }; + key { [ Prior ] }; + key { [ Next ] }; + key { [ Select ] }; + key { [ Left ] }; + key { [ Down ] }; + key { [ Up ] }; + key { [ Right ]}; + // End "Editing" section + + // Begin "Keypad" section + key { [ KP_Multiply ]}; + key { [ KP_Divide ]}; + key { [ KP_Add ]}; + key { [ KP_Subtract ]}; + + key { [ KP_7 ] }; + key { [ KP_8 ] }; + key { [ KP_9 ] }; + key { [ KP_Enter ]}; + + key { [ KP_4 ] }; + key { [ KP_5 ] }; + key { [ KP_6 ] }; + key { [ KP_Separator ]}; + + key { [ KP_1 ] }; + key { [ KP_2 ] }; + key { [ KP_3 ] }; + key { [ KP_Tab ]}; + + key { [ KP_0 ] }; + key { [ KP_Decimal ] }; + // End "Keypad" section + + modifier_map Shift { Shift_R }; + modifier_map Mod1 { Meta_L, Meta_R }; + modifier_map Mod2 { Alt_L }; + modifier_map Mod3 { Mode_switch }; +}; diff --git a/xkbdata/symbols/hr b/xkbdata/symbols/hr new file mode 100644 index 0000000..5deaae4 --- /dev/null +++ b/xkbdata/symbols/hr @@ -0,0 +1,67 @@ +default partial alphanumeric_keys +xkb_symbols "basic" { + + include "rs(latin)" + name[Group1]="Croatian"; + + // Redefine these keys to match the XFree86 Croatian layout. + key { [ 1, exclam, asciitilde, dead_tilde ] }; + key { [ 3, numbersign, asciicircum, dead_circumflex ] }; + key { [ 5, percent, degree, dead_abovering ] }; + key { [ 7, slash, grave, dead_grave ] }; + key { [ any, any, rightdoublequotemark, guillemotleft ] }; + key { [ minus, underscore, dead_belowdot, dead_abovedot ] }; +}; + +partial alphanumeric_keys +xkb_symbols "us" { + + include "us" + name[Group1]= "Croatian (US)"; + + key { [ any, any, backslash ] }; + key { [ any, any, bar ] }; + key { [ any, any, EuroSign ] }; + key { [ any, any, z, Z ] }; + key { [ any, any, scaron, Scaron ] }; + key { [ any, any, dstroke, Dstroke ] }; + key { [ any, any, bracketleft ] }; + key { [ any, any, bracketright ] }; + key { [ any, any, lstroke ] }; + key { [ any, any, Lstroke ] }; + key { [ any, any, ccaron, Ccaron ] }; + key { [ any, any, cacute, Cacute ] }; + key { [ any, any, bar ] }; + key { [ any, any, y, Y ] }; + key { [ any, any, at ] }; + key { [ any, any, braceleft ] }; + key { [ any, any, braceright ] }; + key { [ any, any, section ] }; + key { [ any, any, semicolon ] }; + key { [ any, any, colon ] }; + key { [ any, any, minus, underscore ] }; + key { [ any, any, zcaron, Zcaron ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "alternatequotes" { + + include "rs(latinalternatequotes)" + name[Group1]= "Croatian (with guillemets)"; +}; + +partial alphanumeric_keys +xkb_symbols "unicode" { + + include "rs(latinunicode)" + name[Group1]= "Croatian (with Croatian digraphs)"; +}; + +partial alphanumeric_keys +xkb_symbols "unicodeus" { + + include "rs(latinunicodeyz)" + name[Group1]= "Croatian (US, with Croatian digraphs)"; +}; diff --git a/xkbdata/symbols/hu b/xkbdata/symbols/hu new file mode 100644 index 0000000..3801962 --- /dev/null +++ b/xkbdata/symbols/hu @@ -0,0 +1,654 @@ +// New style XKB layout for some widely used Hungarian keyboard layouts +// +// Based on old style 'xkb/symbols/hu" +// +// (C) 2002-2004 Soós Péter +// (C) 2010 Andras Timar +// +// Permission is granted to anyone to use, distribute and modify +// this file in any way, provided that the above copyright notice +// is left intact and the author of the modification summarizes +// the changes in this header. +// +// This file is distributed without any expressed or implied warranty. +// +// Changes: +// 2004-04-17 - Moved to new style (only Unicode based layouts) +// - Added consistent dead key support +// - Fixed abovedot +// - Added adiaeresis +// - Added EuroSign and cent symbol +// 2010-04-23 - Added doublelowquotemark +// - Added rightdoublequotemark +// - Added endash +// 2010-05-13 - Added ellipsis + + +// Default layout +default partial +xkb_symbols "basic" { + include "hu(102_qwertz_comma_dead)" + name[Group1] = "Hungarian"; +}; + +// Standard layout +partial +xkb_symbols "standard" { + include "hu(102_qwertz_comma_dead)" + name[Group1] = "Hungarian (standard)"; +}; + +// Standard layout without dead key support +partial +xkb_symbols "nodeadkeys" { + include "hu(102_qwertz_comma_nodead)" + name[Group1] = "Hungarian (no dead keys)"; +}; + +// Qwerty layout +partial +xkb_symbols "qwerty" { + include "hu(101_qwerty_comma_dead)" + name[Group1] = "Hungarian (QWERTY)"; +}; + +// Main layouts + +// 101_qwertz_comma_dead +// 101 key qwertz layout +// with decimal comma on keypad +// and with dead key support +partial +xkb_symbols "101_qwertz_comma_dead" { + name[Group1] = "Hungarian (QWERTZ, 101-key, comma, dead keys)"; + include "latin" + include "hu(def_101)" + include "hu(def_qwertz)" + include "kpdl(comma)" + include "hu(def_dead)" + include "hu(def_common)" + include "level3(ralt_switch)" +}; + +// 101_qwertz_comma_nodead +// 101 key qwertz layout +// with decimal comma on keypad +// and without dead key support +partial +xkb_symbols "101_qwertz_comma_nodead" { + name[Group1] = "Hungarian (QWERTZ, 101-key, comma, no dead keys)"; + include "latin" + include "hu(def_101)" + include "hu(def_qwertz)" + include "kpdl(comma)" + include "hu(def_nodead)" + include "hu(def_common)" + include "level3(ralt_switch)" +}; + +// 101_qwertz_dot_dead +// 101 key qwertz layout +// with decimal dot on keypad +// and with dead key support +partial +xkb_symbols "101_qwertz_dot_dead" { + name[Group1] = "Hungarian (QWERTZ, 101-key, dot, dead keys)"; + include "latin" + include "hu(def_101)" + include "hu(def_qwertz)" + include "hu(def_dot)" + include "hu(def_dead)" + include "hu(def_common)" + include "level3(ralt_switch)" +}; + +// 101_qwertz_dot_nodead +// 101 key qwertz layout +// with decimal dot on keypad +// and without dead key support +partial +xkb_symbols "101_qwertz_dot_nodead" { + name[Group1] = "Hungarian (QWERTZ, 101-key, dot, no dead keys)"; + include "latin" + include "hu(def_101)" + include "hu(def_qwertz)" + include "hu(def_dot)" + include "hu(def_nodead)" + include "hu(def_common)" + include "level3(ralt_switch)" +}; + +// 101_qwerty_comma_dead +// 101 key qwerty layout +// with decimal comma on keypad +// and with dead key support +partial +xkb_symbols "101_qwerty_comma_dead" { + name[Group1] = "Hungarian (QWERTY, 101-key, comma, dead keys)"; + include "latin" + include "hu(def_101)" + include "hu(def_qwerty)" + include "kpdl(comma)" + include "hu(def_dead)" + include "hu(def_common)" + include "level3(ralt_switch)" +}; + +// 101_qwerty_comma_nodead +// 101 key qwerty layout +// with decimal comma on keypad +// and without dead key support +partial +xkb_symbols "101_qwerty_comma_nodead" { + name[Group1] = "Hungarian (QWERTY, 101-key, comma, no dead keys)"; + include "latin" + include "hu(def_101)" + include "hu(def_qwerty)" + include "kpdl(comma)" + include "hu(def_nodead)" + include "hu(def_common)" + include "level3(ralt_switch)" +}; + +// 101_qwerty_dot_dead +// 101 key qwerty layout +// with decimal dot on keypad +// and with dead key support +partial +xkb_symbols "101_qwerty_dot_dead" { + name[Group1] = "Hungarian (QWERTY, 101-key, dot, dead keys)"; + include "latin" + include "hu(def_101)" + include "hu(def_qwerty)" + include "hu(def_dot)" + include "hu(def_dead)" + include "hu(def_common)" + include "level3(ralt_switch)" +}; + +// 101_qwerty_dot_nodead +// 101 key qwerty layout +// with decimal dot on keypad +// and without dead key support +partial +xkb_symbols "101_qwerty_dot_nodead" { + name[Group1] = "Hungarian (QWERTY, 101-key, dot, no dead keys)"; + include "latin" + include "hu(def_101)" + include "hu(def_qwerty)" + include "hu(def_dot)" + include "hu(def_nodead)" + include "hu(def_common)" + include "level3(ralt_switch)" +}; + +// 102_qwertz_comma_dead +// 102 key qwertz layout +// with decimal comma on keypad +// and with dead key support +partial +xkb_symbols "102_qwertz_comma_dead" { + name[Group1] = "Hungarian (QWERTZ, 102-key, comma, dead keys)"; + include "latin" + include "hu(def_102)" + include "hu(def_qwertz)" + include "kpdl(comma)" + include "hu(def_dead)" + include "hu(def_common)" + include "level3(ralt_switch)" +}; + +// 102_qwertz_comma_nodead +// 102 key qwertz layout +// with decimal comma on keypad +// and without dead key support +partial +xkb_symbols "102_qwertz_comma_nodead" { + name[Group1] = "Hungarian (QWERTZ, 102-key, comma, no dead keys)"; + include "latin" + include "hu(def_102)" + include "hu(def_qwertz)" + include "kpdl(comma)" + include "hu(def_nodead)" + include "hu(def_common)" + include "level3(ralt_switch)" +}; + +// 102_qwertz_dot_dead +// 102 key qwertz layout +// with decimal dot on keypad +// and with dead key support +partial +xkb_symbols "102_qwertz_dot_dead" { + name[Group1] = "Hungarian (QWERTZ, 102-key, dot, dead keys)"; + include "latin" + include "hu(def_102)" + include "hu(def_qwertz)" + include "hu(def_dot)" + include "hu(def_dead)" + include "hu(def_common)" + include "level3(ralt_switch)" +}; + +// 102_qwertz_dot_nodead +// 102 key qwertz layout +// with decimal dot on keypad +// and without dead key support +partial +xkb_symbols "102_qwertz_dot_nodead" { + name[Group1] = "Hungarian (QWERTZ, 102-key, dot, no dead keys)"; + include "latin" + include "hu(def_102)" + include "hu(def_qwertz)" + include "hu(def_dot)" + include "hu(def_nodead)" + include "hu(def_common)" + include "level3(ralt_switch)" +}; + +// 102_qwerty_comma_dead +// 102 key qwerty layout +// with decimal comma on keypad +// and with dead key support +partial +xkb_symbols "102_qwerty_comma_dead" { + name[Group1] = "Hungarian (QWERTY, 102-key, comma, dead keys)"; + include "latin" + include "hu(def_102)" + include "hu(def_qwerty)" + include "kpdl(comma)" + include "hu(def_dead)" + include "hu(def_common)" + include "level3(ralt_switch)" +}; + +// 102_qwerty_comma_nodead +// 102 key qwerty layout +// with decimal comma on keypad +// and without dead key support +partial +xkb_symbols "102_qwerty_comma_nodead" { + name[Group1] = "Hungarian (QWERTY, 102-key, comma, no dead keys)"; + include "latin" + include "hu(def_102)" + include "hu(def_qwerty)" + include "kpdl(comma)" + include "hu(def_nodead)" + include "hu(def_common)" + include "level3(ralt_switch)" +}; + +// 102_qwerty_dot_dead +// 102 key qwerty layout +// with decimal dot on keypad +// and with dead key support +partial +xkb_symbols "102_qwerty_dot_dead" { + name[Group1] = "Hungarian (QWERTY, 102-key, dot, dead keys)"; + include "latin" + include "hu(def_102)" + include "hu(def_qwerty)" + include "hu(def_dot)" + include "hu(def_dead)" + include "hu(def_common)" + include "level3(ralt_switch)" +}; + +// 102_qwerty_dot_nodead +// 102 key qwerty layout +// with decimal dot on keypad +// and without dead key support +partial +xkb_symbols "102_qwerty_dot_nodead" { + name[Group1] = "Hungarian (QWERTY, 102-key, dot, no dead keys)"; + include "latin" + include "hu(def_102)" + include "hu(def_qwerty)" + include "hu(def_dot)" + include "hu(def_nodead)" + include "hu(def_common)" + include "level3(ralt_switch)" +}; + +// Partial layouts + +// def_102: +// The standard Hungarian 102 key layout +hidden partial alphanumeric_keys +xkb_symbols "def_102" { + key { [ 0, section, notsign ] }; + key { [ iacute, Iacute, less, greater ] }; + +}; + +// def_101: +// An alternative layout for 101 key keyboards +hidden partial alphanumeric_keys +xkb_symbols "def_101" { + key { [ iacute, Iacute, 0, section ] }; + key { [ less, greater ] }; +}; + +// def_qwertz: +// The standard Hungaryan qwertz layout +hidden partial alphanumeric_keys +xkb_symbols "def_qwertz" { + key { [ z, Z, endash ] }; + key { [ y, Y, greater ] }; +}; + + +// def_qwerty: +// The qwerty layout for people who familiar with the standard US layout +hidden partial alphanumeric_keys +xkb_symbols "def_qwerty" { + key { [ y, Y, endash ] }; + key { [ z, Z, greater ] }; +}; + +// def_dot: +// The Hungarian standard is the comma on the keypad not decimal dot, +// but programmers hate it +hidden partial keypad_keys +xkb_symbols "def_dot" { + key { [ KP_Delete, KP_Decimal ] }; +}; + + +// def_dead: +// Dead keys support part +hidden partial alphanumeric_keys +xkb_symbols "def_dead" { + key { [ 1, apostrophe, asciitilde, dead_tilde ] }; + key { [ 2, quotedbl, dead_caron, caron ] }; + key { [ 3, plus, asciicircum, dead_circumflex ] }; + key { [ 4, exclam, dead_breve, breve ] }; + key { [ 5, percent, dead_abovering, degree ] }; + key { [ 6, slash, dead_ogonek, ogonek ] }; + key { [ 7, equal, grave, dead_grave ] }; + key { [ 8, parenleft, dead_abovedot, abovedot ] }; + key { [ 9, parenright, dead_acute, acute ] }; + key { [ odiaeresis, Odiaeresis, dead_doubleacute, doubleacute ] }; + key { [ udiaeresis, Udiaeresis, dead_diaeresis, diaeresis ] }; + key { [ oacute, Oacute, dead_cedilla, cedilla ] }; +}; + +// def_nodead: +// Without dead keys support +hidden partial alphanumeric_keys +xkb_symbols "def_nodead" { + key { [ 1, apostrophe, asciitilde ] }; + key { [ 2, quotedbl, caron ] }; + key { [ 3, plus, asciicircum ] }; + key { [ 4, exclam, breve ] }; + key { [ 5, percent, degree ] }; + key { [ 6, slash, ogonek ] }; + key { [ 7, equal, grave ] }; + key { [ 8, parenleft, abovedot ] }; + key { [ 9, parenright, acute ] }; + key { [ odiaeresis, Odiaeresis, doubleacute ] }; + key { [ udiaeresis, Udiaeresis, diaeresis ] }; + key { [ oacute, Oacute, cedilla ] }; +}; + + +// def_common: +// The common part of all Hungarian layout above +hidden partial alphanumeric_keys +xkb_symbols "def_common" { + key { [ q, Q, backslash ] }; + key { [ w, W, bar ] }; + key { [ e, E, Adiaeresis ] }; + key { [ u, U, EuroSign ] }; + key { [ i, I, Iacute, iacute ] }; + key { [ o, O, doublelowquotemark ] }; + key { [ p, P, rightdoublequotemark ] }; + key { [ odoubleacute, Odoubleacute, division ] }; + key { [ uacute, Uacute, multiply ] }; + + key { [ a, A, adiaeresis, Adiaeresis ] }; + key { [ s, S, dstroke ] }; + key { [ d, D, Dstroke ] }; + key { [ f, F, bracketleft ] }; + key { [ g, G, bracketright ] }; + key { [ j, J, iacute, Iacute ] }; + key { [ k, K, lstroke ] }; + key { [ l, L, Lstroke ] }; + key { [ eacute, Eacute, dollar, cent ] }; + key { [ aacute, Aacute, ssharp, U1E9E ] }; + + key { [ udoubleacute, Udoubleacute, currency ] }; + + key { [ x, X, numbersign ] }; + key { [ c, C, ampersand ] }; + key { [ v, V, at ] }; + key { [ b, B, braceleft ] }; + key { [ n, N, braceright ] }; + key { [ m, M, less ] }; + key { [ comma, question, semicolon ] }; + key { [ period, colon, greater ] }; + key { [ minus, underscore, asterisk ] }; + +}; + +// EXTRAS: + +// New style XKB layout used Old Hungarian keyboard layouts +// +// +// +// (C) 2013 Andras Tisza +// (C) 2017,2018,2020 Viktor Kovacs +// +// Permission is granted to anyone to use, distribute and modify +// this file in any way, provided that the above copyright notice +// is left intact and the author of the modification summarizes +// the changes in this header. +// +// This file is distributed without any expressed or implied warranty. +// +// Changes: +// 2013 - Planned Old Hungarian layout +// 2017 - Added Old Hungarian layout +// 2018 - Resolved several easy-to-use issue, added extra punctuation and quotation marks +// 2020 - Added ligature capable layout ( with Zero-widt-joiner), added copyright, copyleft symbols +// 2020 - Added ZWNJ key to "Old Hungarian (for ligatures)", replaced its ohu_lig id to oldhunlig, replaced its ohu_lig short description to oldhun(lig). +// Added "oldhun_magic_numpad" for both "Old Hungarian" layouts, as a specialised numpad. + +// Old Hungartian layout +partial alphanumeric_keys +xkb_symbols "oldhun" { +name[Group1]="Old Hungarian"; +include "hu(oldhun_base)" +include "hu(oldhun_origin)" +include "hu(oldhun_magic_numpad)" +include "level3(ralt_switch)" +}; + +// Old Hungarian layout for ligatures +partial alphanumeric_keys +xkb_symbols "oldhunlig" { +name[Group1]="Old Hungarian (for ligatures)"; +include "hu(oldhun_base)" +include "hu(oldhun_lig)" +include "hu(oldhun_magic_numpad)" +include "level3(ralt_switch)" +}; + +// The base Old Hungarian keys +// In the remarks you can read characters displayed only Unicode point +hidden partial alphanumeric_keys +xkb_symbols "oldhun_base" { +key.type[Group1]="FOUR_LEVEL_ALPHABETIC"; + key {[ U10CCE, U10C8E, backslash ]}; +//Old-Hungarian gy, Gy + key {[ U10CF0, U10CB0 ]}; +//Old Hungarian zs, Zs + key {[ U10CC9, U10C89, U10CCA, U10C8A ]}; + //Old Hungarian e, E, close e, close E + key {[ U10CE2, U10CA2, U10CE3, U10CA3 ]}; +//Old Hungarian r, R, short r, short R + key {[ U10CE6, U10CA6, U10CF1, U10CB1 ]}; +//Old Hungarian t, T, ent-sharped sign,Ent-sharped sign + key {[ U10CEF, U10CAF ]}; +//Old Hungarian z, Z + key {[ U10CEA, U10CAA, U10CF2, U10CB2 ]}; +//Old Hungarian u, U, Old Hungarian us, Us + key {[ U10CD0, U10C90, U10CD1, U10C91 ]}; +//Old Hungarian i, I, ii, II + key {[ U10CDB, U10C9B ]}; +//Old Hungarian o, O + key {[ U10CE0, U10CA0 ]}; +//Old Hungarian p, P + key {[ U10CDF, U10C9F ]}; +//Old Hungarian oee, Oee + key {[ U10CEB, U10CAB, U10CD5, U10C95 ]}; +//Old Hungarian uu,Uu,unk,Unk + key {[ U10CC0, U10C80, U10CC3, U10C83 ]}; +//Old Hungarian a,A,amb,Amb + key {[ U10CE4, U10CA4, U10CE1, U10CA1 ]}; +//Old Hungarian s,S,emp,Emp + key {[ U10CC7, U10C87, U10CE7, U10CA7 ]}; +//Old Hungarian d,D, ent/ant/int, Ent/Ant/Int + key {[ U10CCC, U10C8C, bracketleft ]}; +//Old Hungarian f,F + key {[ U10CCD, U10C8D, bracketright ]}; +//Old Hungarian g, G + key {[ U10CCF, U10C8F, U10CE9, U10CA9 ]}; +//Old Hungarian h, H,ech, Ech + key {[ U10CD2, U10C92, backslash ]}; +//Old Hungarian j, J + key {[ U10CD3, U10C93, U10CD4, U10C94 ]}; +//Old Hungarian open k, open K, close k, close K + key {[ U10CD6, U10C96 ]}; +//Old Hungarian l, L + key {[ U10CCB, U10C8B ]}; +//Old Hungarian ee, EE + key {[ U10CC1, U10C81, U10CC8, U10C88 ]}; +//Old Hungarian aa, AA, and And + key {[ U10CEC, U10CAC ]}; +//Old Hungarian ue, Ue + key {[ U10CD7, U10C97, greater ]}; +//Old Hungarian ly, Ly + key {[ U10CE5, U10CA5, numbersign ]}; +//Old Hungarian sz, Sz + key {[ U10CC4, U10C84, U10CC5, U10C85 ]}; +//Old Hungarian c,C, enc, Enc + key {[ U10CEE, U10CAE, at ]}; +//Old Hungarian v,V + key {[ U10CC2, U10C82, braceleft ]}; +//Old Hungarian b, B + key {[ U10CD9, U10C99, braceright ]}; +//Old Hungarian n, N + key {[ U10CD8, U10C98, less ]}; +//Old Hungarian m, M + key {[ U2E41, U2E2E, U204F ]}; +//reversed question mark,reversed semicolon, reversed comma + key {[ period, colon, greater ]}; + key {[ minus, underscore, asterisk ]}; + key {[ U10CD1, U10C91, less ]}; +//Old Hungarian ii,II +}; + +//Old Hungarian layout specialised keys +// In the remarks you can read characters displayed only Unicode point +hidden partial alphanumeric_keys +xkb_symbols "oldhun_origin" { +key.type[Group1]="FOUR_LEVEL_ALPHABETIC"; + key {[ section, U200F, U200E, 0 ]}; +//Right to left mark, left to right mark + key {[ U10CFA, apostrophe, U2E42, 1 ]}; +//Old Hungarian one, reversed 9 double low quotemark + key {[ U10CFB, quotedbl, U201F, 2 ]}; +//Old Hungarian five, reversed 9 double upper quotemark + key {[ U10CFC, plus, minus, 3 ]}; +//Old Hungarian ten + key {[ U10CFD, exclam, U203C, 4 ]}; +//Old Hungarian fifty,double exclam + key {[ U10CFE, percent, U2026, 5 ]}; +//Old Hungarian hundred, triple dot + key {[ U10CFF, slash, backslash, 6 ]}; +//Old Hungarian thousand + key {[ U10CC6, U10C86, equal, 7 ]}; +//Old Hungarian cs, Cs + key {[ U10CDA, U10C9A, parenleft, 8 ]}; +//Old Hungarian ny, Ny + key {[ U10CE8, U10CA8, parenright, 9 ]}; +//Old Hungarian ty, Ty + key {[ U10CDE, U10C9E, U10CDD, U10C9D ]}; +//Old Hungarian Rudimenta oe, Oe, Nikolsburg oe, Oe + key {[ U10CED, U10CAD, section ]}; +//Old Hungarian ue , Ue + key {[ U10CDC, U10C9C, copyright, U1F12F ]}; +//Old Hungarian oo, OO, copyleft +}; + +//Special section for "Old Hungarian (for ligatures)" layout +// In the remarks you can read characters displayed only Unicode point +hidden partial alphanumeric_keys +xkb_symbols "oldhun_lig" { +key.type[Group1]="FOUR_LEVEL_ALPHABETIC"; + key {[ U200D, U200F, U200C, 0 ]}; +//Zero-width-joiner,Right to left mark, Zero-width-non-joiner +//Zero-width-joiner and Zero-width-non-joiner are reqired for ligatures + key {[ U10CFA, apostrophe, U2E42, 1 ]}; +//Old Hungarian one, reversed 9 double low quotemark + key {[ U10CFB, quotedbl, U201F, 2 ]}; +//Old Hungarian five, reversed 9 double upper quotemark + key {[ U10CFC, plus, minus, 3 ]}; +//Old Hungarian ten + key {[ U10CFD, exclam, U203C, 4 ]}; +//Old Hungarian fifty,double exclam + key {[ U10CFE, percent, U2026, 5 ]}; +//Old Hungarian hundred, triple dot + key {[ U10CFF, slash, backslash, 6 ]}; +//Old Hungarian thousand + key {[ U10CC6, U10C86, equal, 7 ]}; +//Old Hungarian cs, Cs + key {[ U10CDA, U10C9A, parenleft, 8 ]}; +//Old Hungarian ny, Ny + key {[ U10CE8, U10CA8, parenright, 9 ]}; +//Old Hungarian ty, Ty + key {[ U10CDE, U10C9E, U10CDD, U10C9D ]}; +//Old Hungarian Rudimenta oe, Oe, Nikolsburg oe, Oe + key {[ U10CED, U10CAD, section ]}; +//Old Hungarian ue , Ue + key {[ U10CDC, U10C9C, copyright, U1F12F ]}; +//Old Hungarian oo, OO, copyleft +}; + +//Numpad for Old Hungarian layouts +// In the remarks you can read characters displayed only Unicode point +hidden partial keypad_keys +xkb_symbols "oldhun_magic_numpad" { + key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD"; + key {[ Num_Lock, Num_Lock, Num_Lock, Num_Lock ]}; + key {[ KP_Insert, KP_0, U200C, U200C ]}; +//Zero-width-non-joiner + key {[ KP_Home, KP_7, U10CFA, U10CFA ]}; +//Old Hungarian number one + key {[ KP_Up, KP_8, U10CFB, U10CFB ]}; +//Old Hungarian number five + key {[ KP_Prior, KP_9, U10CFC, U10CFC ]}; +//Old Hungarian number ten + key {[ KP_Left, KP_4, U10CFD, U10CFD ]}; +//Old Hungarian number fifty + key {[ KP_Begin, KP_5, U10CFE, U10CFE ]}; +//Old Hungarian number hundred + key {[ KP_Right, KP_6, U10CFF, U10CFF ]}; +//Old Hungarian number thousand + key {[ KP_End, KP_1, U200F, U200F ]}; +//Right-to-left mark + key {[ KP_Down, KP_2, U200D, U200D ]}; +//Zero-width-joiner + key {[ KP_Next, KP_3, U200E, U200E ]}; +//Left-to-right mark + key {[ KP_Enter, KP_Enter, KP_Enter, KP_Enter ]}; + key {[ KP_Equal, KP_Equal, KP_Equal, KP_Equal ]}; + key {[ KP_Delete, KP_Separator, KP_Delete, KP_Separator ]}; + key {[ KP_Separator, KP_Separator, KP_Separator, KP_Separator ]}; + key {[ KP_Divide, KP_Divide, KP_Divide, KP_Divide ]}; + key {[ KP_Multiply, KP_Multiply, KP_Multiply, KP_Multiply ]}; + key {[ KP_Subtract, KP_Subtract, KP_Subtract, KP_Subtract ]}; + key {[ KP_Add, KP_Add, KP_Add, KP_Add ]}; +}; diff --git a/xkbdata/symbols/id b/xkbdata/symbols/id new file mode 100644 index 0000000..2c7506e --- /dev/null +++ b/xkbdata/symbols/id @@ -0,0 +1,161 @@ +default partial alphanumeric_keys modifier_keys +xkb_symbols "basic" { + + name[Group1]= "Indonesian (Latin)"; + + key { [ grave, asciitilde ] }; + key { [ 1, exclam ] }; + key { [ 2, at ] }; + key { [ 3, numbersign ] }; + key { [ 4, dollar ] }; + key { [ 5, percent ] }; + key { [ 6, asciicircum ] }; + key { [ 7, ampersand ] }; + key { [ 8, asterisk ] }; + key { [ 9, parenleft ] }; + key { [ 0, parenright ] }; + key { [ minus, underscore ] }; + key { [ equal, plus ] }; + + key { [ q, Q ] }; + key { [ w, W ] }; + key { [ e, E ] }; + key { [ r, R ] }; + key { [ t, T ] }; + key { [ y, Y ] }; + key { [ u, U ] }; + key { [ i, I ] }; + key { [ o, O ] }; + key { [ p, P ] }; + key { [ bracketleft, braceleft ] }; + key { [ bracketright, braceright ] }; + + key { [ a, A ] }; + key { [ s, S ] }; + key { [ d, D ] }; + key { [ f, F ] }; + key { [ g, G ] }; + key { [ h, H ] }; + key { [ j, J ] }; + key { [ k, K ] }; + key { [ l, L ] }; + key { [ semicolon, colon ] }; + key { [ apostrophe, quotedbl ] }; + + key { [ z, Z ] }; + key { [ x, X ] }; + key { [ c, C ] }; + key { [ v, V ] }; + key { [ b, B ] }; + key { [ n, N ] }; + key { [ m, M ] }; + key { [ comma, less ] }; + key { [ period, greater ] }; + key { [ slash, question ] }; + + key { [ backslash, bar ] }; +}; + +// +// Default layout, additional characters must be in "phoneticx" (with "x") or other extended layout variants below +// +partial alphanumeric_keys +xkb_symbols "phonetic" { + + name[Group1]= "Indonesian (Arab Pegon, phonetic)"; + + // ` + key { [ grave, asciitilde, VoidSymbol, VoidSymbol ] }; + + // 1..= + key { [ Arabic_1, exclam, 1, VoidSymbol ] }; + key { [ Arabic_2, at, 2, VoidSymbol ] }; + key { [ Arabic_3, numbersign, 3, VoidSymbol ] }; + key { [ Arabic_4, VoidSymbol, 4, dollar ] }; + key { [ Arabic_5, Arabic_percent, 5, percent ] }; + key { [ Arabic_6, asciicircum, 6, VoidSymbol ] }; + key { [ Arabic_7, ampersand, 7, VoidSymbol ] }; + key { [ Arabic_8, asterisk, 8, VoidSymbol ] }; + key { [ Arabic_9, parenright, 9, VoidSymbol ] }; + key { [ Arabic_0, parenleft, 0, VoidSymbol ] }; + key { [ minus, Arabic_tatweel, VoidSymbol, underscore ] }; + key { [ equal, plus, VoidSymbol, VoidSymbol ] }; + + // Q..] + key { [ Arabic_qaf, Arabic_maddaonalef, VoidSymbol, VoidSymbol ] }; + key { [ Arabic_waw, VoidSymbol, VoidSymbol, VoidSymbol ] }; + key { [ Arabic_alefmaksura, Arabic_ain, VoidSymbol, VoidSymbol ] }; + key { [ Arabic_ra, VoidSymbol, VoidSymbol, VoidSymbol ] }; + key { [ Arabic_teh, Arabic_tehmarbuta, Arabic_tah, VoidSymbol ] }; + key { [ Arabic_yeh, VoidSymbol, VoidSymbol, VoidSymbol ] }; + key { [ Arabic_hamzaonwaw, VoidSymbol, VoidSymbol, VoidSymbol ] }; + key { [ Arabic_hamzaonyeh, Arabic_hamzaunderalef, VoidSymbol, VoidSymbol ] }; + key { [ Arabic_hamza, U0674, VoidSymbol, VoidSymbol ] }; // high_hamza + key { [ Arabic_veh, VoidSymbol, VoidSymbol, VoidSymbol ] }; // p + key { [ bracketright, braceright, VoidSymbol, VoidSymbol ] }; + key { [ bracketleft, braceleft, VoidSymbol, VoidSymbol ] }; + + // \ + key { [ backslash, bar, VoidSymbol, VoidSymbol ] }; + + // A..' + key { [ Arabic_alef, Arabic_hamzaonalef, VoidSymbol, VoidSymbol ] }; + key { [ Arabic_seen, Arabic_sheen, Arabic_sad, VoidSymbol ] }; + key { [ Arabic_dal, VoidSymbol, Arabic_dad, VoidSymbol ] }; + key { [ Arabic_feh, VoidSymbol, VoidSymbol, VoidSymbol ] }; + key { [ U0762, U06a0, Arabic_ghain, U06af ] }; // g, ng, gaf (tausug) + key { [ Arabic_ha, Arabic_hah, VoidSymbol, VoidSymbol ] }; + key { [ Arabic_jeem, VoidSymbol, VoidSymbol, VoidSymbol ] }; + key { [ Arabic_keheh, Arabic_kaf, VoidSymbol, VoidSymbol ] }; // k + key { [ Arabic_lam, VoidSymbol, VoidSymbol, VoidSymbol ] }; + key { [ Arabic_semicolon, colon, semicolon, VoidSymbol ] }; + key { [ 0x10000ab, 0x10000bb, apostrophe, quotedbl ] }; // «, » + + // not exist in US keyboard + key { [ bar, brokenbar, VoidSymbol, VoidSymbol ] }; + + // Z../ + key { [ Arabic_zain, Arabic_thal, Arabic_zah, VoidSymbol ] }; + key { [ Arabic_khah, VoidSymbol, VoidSymbol, VoidSymbol ] }; + key { [ Arabic_tcheh, VoidSymbol, VoidSymbol, VoidSymbol ] }; // c + key { [ Arabic_theh, VoidSymbol, VoidSymbol, U06cf ] }; // waw_with_dot_above (malay) + key { [ Arabic_beh, VoidSymbol, VoidSymbol, VoidSymbol ] }; + key { [ Arabic_noon, U06bd, VoidSymbol, VoidSymbol ] }; // ny + key { [ Arabic_meem, VoidSymbol, VoidSymbol, VoidSymbol ] }; + key { [ Arabic_comma, greater, comma, 0x100066b ] }; // decimal_separator + key { [ period, less, Arabic_fullstop, 0x100066c ] }; // thousands_separator + key { [ slash, Arabic_question_mark, 0x100060d, question ] }; // date_separator + + include "level3(ralt_switch)" +}; + + +// +// Extended layout, non-standard characters +// +partial alphanumeric_keys +xkb_symbols "phoneticx" { + + include "id(phonetic)" + name[Group1]= "Indonesian (Arab Pegon, extended phonetic)"; + + // 1..= + key { [ NoSymbol, NoSymbol, NoSymbol, Arabic_superscript_alef ] }; + key { [ NoSymbol, NoSymbol, NoSymbol, 0x100fd3e ] }; // ornate_left + key { [ NoSymbol, NoSymbol, NoSymbol, 0x100fd3f ] }; // ornate_right + + // Q..] + key { [ NoSymbol, NoSymbol, Arabic_shadda, NoSymbol ] }; + key { [ NoSymbol, NoSymbol, 0x10008e6, 0x10008e4 ] }; // curly_kasra, curly_fatha + key { [ NoSymbol, NoSymbol, Arabic_damma, Arabic_dammatan ] }; + key { [ NoSymbol, NoSymbol, Arabic_kasra, Arabic_kasratan ] }; + key { [ NoSymbol, NoSymbol, 0x100065d, NoSymbol ] }; // reversed_damma + + // A..' + key { [ NoSymbol, NoSymbol, Arabic_fatha, Arabic_fathatan ] }; + key { [ NoSymbol, NoSymbol, 0x10008f8, NoSymbol ] }; // right_arrowhead_above + + // Z../ + key { [ NoSymbol, NoSymbol, 0x100065b, 0x100065C ] }; // inverted_small_v_above, dot_below + key { [ NoSymbol, NoSymbol, Arabic_sukun, 0x10006E1 ] }; // small_high_dotless_head_of_khah +}; diff --git a/xkbdata/symbols/ie b/xkbdata/symbols/ie new file mode 100644 index 0000000..5f22d36 --- /dev/null +++ b/xkbdata/symbols/ie @@ -0,0 +1,407 @@ +// Irish keyboard map + +// Support for Irish (old and new orthography) and English +// Seamus O Ciardhuain (19 December 2002) + +// The general idea is to provide the characters in ISO 8859-1, +// ISO 8859-15, ISO 8859-14, CP1252 and "Extended Latin-8". +// However, not all are accessible directly because there aren't +// enough keys; some need deadkeys to access them, others the +// "Multi_key" compose sequences. + +// Designed to be similar to the layouts used on Windows +// and the Macintosh. + +// Everything is in Group 1 to be compatible with the +// multi-layout keyboard support in XFree86 4.3. + +// The basic layout is a modern keyboard, but dotted consonants are +// accessible using a deadkey (AltGr+H or AltGr+W). +// If a proper Clo Gaelach keyboard is needed, then use the layout +// defined below as ie(CloGaelach), which gives dotted consonants +// without use of a deadkey. + + +default partial alphanumeric_keys +xkb_symbols "basic" { + + // Modern keyboard for Irish and English + // - acute-accented vowels as AltGr+vowel and AltGr+Shift+vowel + // - euro currency sign as AltGr+4 + // - Comhartha Agus (Tironian Sign Et) as AltGr+Shift+7 + // - non-breaking space as AltGr+Space and AltGr+Shift+Space + // - matches hardware (keys and engraved symbols) for Irish keyboards + + name[Group1] = "Irish"; + + // + // Numeric row `1234567890-= + // + key { [ grave, notsign, brokenbar, NoSymbol ] }; + key { [ 1, exclam, exclamdown, onesuperior ] }; + key { [ 2, quotedbl, trademark, twosuperior ] }; + key { [ 3, sterling, copyright, threesuperior ] }; + key { [ 4, dollar, EuroSign, cent ] }; + key { [ 5, percent, section, dagger ] }; + key { [ 6, asciicircum, dead_circumflex, 0x1002030 ] }; + // per thousand + key { [ 7, ampersand, paragraph, 0x100204A ] }; + // Tironian Et + key { [ 8, asterisk, dead_diaeresis, enfilledcircbullet ] }; + key { [ 9, parenleft, ordfeminine, periodcentered ] }; + key { [ 0, parenright, masculine, degree ] }; + key { [ minus, underscore, endash, emdash ] }; + key { [ equal, plus, notequal, plusminus ] }; + + // + // QWERTYUIOP[] + // + key { [ q, Q, oe, OE ] }; + key { [ w, W, dead_abovedot, dead_abovedot ] }; + key { [ e, E, eacute, Eacute ] }; + key { [ r, R, registered, 0x1002030 ] }; + // per thousand + key { [ t, T, thorn, THORN ] }; + key { [ y, Y, yen, mu ] }; + key { [ u, U, uacute, Uacute ] }; + key { [ i, I, iacute, Iacute ] }; + key { [ o, O, oacute, Oacute ] }; + key { [ p, P, singlelowquotemark, NoSymbol ] }; + key { [ bracketleft, braceleft, leftdoublequotemark, rightdoublequotemark ] }; + key { [ bracketright, braceright, leftsinglequotemark, rightsinglequotemark ] }; + + // + // ASDFGHJKL;'# + // + key { [ a, A, aacute, Aacute ] }; + key { [ s, S, ssharp, 0x1001E9E ] }; + key { [ d, D, eth, ETH ] }; + key { [ f, F, 0x1000192, NoSymbol ] }; + // f with hook + key { [ g, G, copyright, NoSymbol ] }; + key { [ h, H, dead_abovedot, dead_abovedot ] }; + key { [ j, J, idotless, onequarter ] }; + key { [ k, K, dead_abovering, onehalf ] }; + key { [ l, L, acute, threequarters ] }; + key { [ semicolon, colon, ellipsis, doubledagger ] }; + key { [ apostrophe, at, ae, AE ] }; + key { [ numbersign, asciitilde, guillemotleft, guillemotright ] }; + + + // + // \ZXCVBNM,./ + // + key { [ backslash, bar, dead_grave, dead_acute ] }; + key { [ z, Z, leftanglebracket, rightanglebracket ] }; + key { [ x, X, multiply, approximate ] }; + key { [ c, C, dead_cedilla, cedilla ] }; + key { [ v, V, dead_caron, NoSymbol ] }; + key { [ b, B, diaeresis, NoSymbol ] }; + key { [ n, N, dead_tilde, NoSymbol ] }; + key { [ m, M, macron, NoSymbol ] }; + key { [ comma, less, lessthanequal, doublelowquotemark ] }; + key { [ period, greater, greaterthanequal, singlelowquotemark ] }; + key { [ slash, question, division, questiondown ] }; + + + key { [ space, space, nobreakspace, nobreakspace ] }; + + include "level3(ralt_switch)" + + // NB: putting Shift+ as Multi_key gives odd behaviour since the + // order of pressing keys affects the result. + + include "compose(rwin)" +}; + +partial alphanumeric_keys +xkb_symbols "CloGaelach" { + + // Adds support for Clo Gaelach (old orthography for Irish). + // Changes from "basic": + // - dotted consonants as AltGr+consonant or AltGr+Shift+consonant (TPSDFGCBM) + // - long lowercase r as AltGr+R + // - long lowercase s as AltGr+Z + // - long lowercase s dotted as AltGr+Shift+Z + // - some symbols moved around to retain them + // - several characters unlikely to be used are lost + // The long letters are needed only where the font provides + // both the long and short forms as different glyphs. + + include "ie(basic)" + + name[Group1] = "CloGaelach"; + + key { [ grave, notsign, brokenbar, ssharp ] }; + key { [ r, R, 0x100027C, registered ] }; + // long r + key { [ t, T, tabovedot, Tabovedot ] }; + key { [ p, P, pabovedot, Pabovedot ] }; + + key { [ s, S, sabovedot, Sabovedot ] }; + key { [ d, D, dabovedot, Dabovedot ] }; + key { [ f, F, fabovedot, Fabovedot ] }; + key { [ g, G, gabovedot, Gabovedot ] }; + + key { [ z, Z, 0x100017F, 0x1001E9B ] }; + // long s, long s dot + key { [ c, C, cabovedot, Cabovedot ] }; + key { [ b, B, babovedot, Babovedot ] }; + key { [ m, M, mabovedot, Mabovedot ] }; + + key { [ backslash, bar, dead_grave, dead_cedilla ] }; +}; + +partial alphanumeric_keys +xkb_symbols "UnicodeExpert" { + +// This should eventually be a "Unicode Expert" layout like the Mac one. + + name[Group1] = "Irish (UnicodeExpert)"; + + // + // Numeric row `1234567890-= + // + key { [ grave, notsign, 0x10000A6, 0x10000A6 ] }; + // broken bar + key { [ 1, exclam, NoSymbol, NoSymbol ] }; + key { [ 2, quotedbl, dead_doubleacute, dead_doubleacute ] }; + key { [ 3, sterling, NoSymbol, NoSymbol ] }; + key { [ 4, dollar, EuroSign, EuroSign ] }; + key { [ 5, percent, NoSymbol, NoSymbol ] }; + key { [ 6, asciicircum, dead_circumflex, dead_circumflex ] }; + key { [ 7, ampersand, 0x100204A, 0x100204A ] }; + // Tironian Et + key { [ 8, asterisk, dead_abovering, dead_abovering ] }; + key { [ 9, parenleft, dead_breve, dead_breve ] }; + key { [ 0, parenright, dead_ogonek, dead_ogonek ] }; + key { [ minus, underscore, dead_macron, dead_macron ] }; + key { [ equal, plus, NoSymbol, NoSymbol ] }; + + // + // QWERTYUIOP[] + // + key { [ q, Q, NoSymbol, NoSymbol ] }; + key { [ w, W, NoSymbol, NoSymbol ] }; + key { [ e, E, eacute, Eacute ] }; + key { [ r, R, 0x100027C, 0x100027C ] }; + // long r + key { [ t, T, NoSymbol, NoSymbol ] }; + key { [ y, Y, NoSymbol, NoSymbol ] }; + key { [ u, U, uacute, Uacute ] }; + key { [ i, I, iacute, Iacute ] }; + key { [ o, O, oacute, Oacute ] }; + key { [ p, P, NoSymbol, NoSymbol ] }; + key { [ bracketleft, braceleft, dead_hook, dead_hook ] }; + key { [ bracketright, braceright, dead_horn, dead_horn ] }; + + // + // ASDFGHJKL;'# + // + key { [ a, A, aacute, Aacute ] }; + key { [ s, S, NoSymbol, NoSymbol ] }; + key { [ d, D, NoSymbol, NoSymbol ] }; + key { [ f, F, NoSymbol, NoSymbol ] }; + key { [ g, G, NoSymbol, NoSymbol ] }; + key { [ h, H, dead_abovedot, dead_abovedot ] }; + key { [ j, J, NoSymbol, NoSymbol ] }; + key { [ k, K, NoSymbol, NoSymbol ] }; + key { [ l, L, NoSymbol, NoSymbol ] }; + key { [ semicolon, colon, dead_diaeresis, dead_diaeresis ] }; + key { [ apostrophe, at, dead_acute, dead_acute ] }; + key { [ numbersign, asciitilde, dead_tilde, dead_tilde ] }; + + // + // \ZXCVBNM,./ + // + key { [ backslash, bar, dead_grave, dead_grave ] }; + key { [ z, Z, 0x100017F, 0x1001E9B ] }; + // long s, long s dot + key { [ x, X, NoSymbol, NoSymbol ] }; + key { [ c, C, NoSymbol, NoSymbol ] }; + key { [ v, V, dead_caron, dead_caron ] }; + key { [ b, B, NoSymbol, NoSymbol ] }; + key { [ n, N, NoSymbol, NoSymbol ] }; + key { [ m, M, NoSymbol, NoSymbol ] }; + key { [ comma, less, dead_cedilla, dead_cedilla ] }; + key { [ period, greater, dead_abovedot, dead_abovedot ] }; + key { [ slash, question, dead_belowdot, dead_belowdot ] }; + + key { [ space, space, space, nobreakspace ] }; + + include "level3(ralt_switch)" + + include "compose(rwin)" +}; + +// +// Ogham keyboard map for XFree86 +// +// Seamus O Ciardhuain (17 December 2002) +// +// Ogham keyboard layout as recommended in I.S. 434:1999. +// Suitable for multi-layout xkbcomp. +// Character names are given as in the Unicode standard, +// range U+1680 to U+169F. + +partial alphanumeric_keys +xkb_symbols "ogam" { + + name[Group1] = "Ogham"; + + key.type[Group1] = "ONE_LEVEL"; + + key { type[Group1]="TWO_LEVEL", + [ 0x100169B, 0x100169C ] }; + // OGHAM FEATHER MARK, OGHAM REVERSED FEATHER MARK + + key { [ 0x1001680 ] }; // OGHAM SPACE MARK + + key { [ 0x100169C ] }; // OGHAM REVERSED FEATHER MARK + + key { [ space ] }; + + // + // Top Row QWERTYUIOP + // + key { [ 0x100168A ] }; // OGHAM LETTER CEIRT + key { [ 0x1001695 ] }; // OGHAM LETTER EABHADH + key { [ 0x1001693 ] }; // OGHAM LETTER EADHADH + key { [ 0x100168F ] }; // OGHAM LETTER RUIS + key { [ 0x1001688 ] }; // OGHAM LETTER TINNE + key { [ 0x1001698 ] }; // OGHAM LETTER IFIN + key { [ 0x1001692 ] }; // OGHAM LETTER UR + key { [ 0x1001694 ] }; // OGHAM LETTER IODHADH + key { [ 0x1001691 ] }; // OGHAM LETTER ONN + key { [ 0x100169A ] }; // OGHAM LETTER PEITH + + // + // Middle Row ASDFGHJKL + // + key { [ 0x1001690 ] }; // OGHAM LETTER AILM + key { [ 0x1001684 ] }; // OGHAM LETTER SAIL + key { [ 0x1001687 ] }; // OGHAM LETTER DAIR + key { [ 0x1001683 ] }; // OGHAM LETTER FEARN + key { [ 0x100168C ] }; // OGHAM LETTER GORT + key { [ 0x1001686 ] }; // OGHAM LETTER UATH + key { [ 0x1001697 ] }; // OGHAM LETTER UILLEANN + key { [ 0x1001696 ] }; // OGHAM LETTER OR + key { [ 0x1001682 ] }; // OGHAM LETTER LUIS + + // + // Bottom Row ZXCVBNM + // + key { [ 0x100168E ] }; // OGHAM LETTER STRAIF + key { [ 0x1001699 ] }; // OGHAM LETTER EAMHANCHOLL + key { [ 0x1001689 ] }; // OGHAM LETTER COLL + key { [ 0x100168D ] }; // OGHAM LETTER NGEADAL + key { [ 0x1001681 ] }; // OGHAM LETTER BEITH + key { [ 0x1001685 ] }; // OGHAM LETTER NION + key { [ 0x100168B ] }; // OGHAM LETTER MUIN + + // As an extension because and may not be + // available or sensible. These are also a bit more + // intuitive on a standard Irish keyboard. + key { [ 0x100169C ] }; // OGHAM REVERSED FEATHER MARK + key { [ 0x100169B ] }; // OGHAM FEATHER MARK + key { [ 0x1001680 ] }; // OGHAM SPACE MARK + + include "compose(rwin)" +}; + +partial alphanumeric_keys +xkb_symbols "ogam_is434" { + + // This has the full layout of IS434 with an Irish QWERTY keyboard, + // and the Ogham characters accessed when CAPS LOCK is on. + + name[Group1] = "Ogham (IS434)"; + + key.type[Group1] = "THREE_LEVEL"; + + key { type[Group1] = "FOUR_LEVEL_ALPHABETIC", + [ backslash, bar, 0x100169B, 0x100169C ] }; + // OGHAM FEATHER MARK, OGHAM REVERSED FEATHER MARK + + key { [ numbersign, asciitilde, 0x1001680 ] }; // OGHAM SPACE MARK + key { [ grave, notsign, 0x100169C ] }; // OGHAM REVERSED FEATHER MARK + key { [ space, space, space ] }; + + // + // Numeric row + // + key { type[Group1]="TWO_LEVEL", [ 1, exclam ] }; + key { type[Group1]="TWO_LEVEL", [ 2, quotedbl ] }; + key { type[Group1]="TWO_LEVEL", [ 3, sterling ] }; + key { [ 4, dollar, EuroSign ] }; + key { type[Group1]="TWO_LEVEL", [ 5, percent ] }; + key { type[Group1]="TWO_LEVEL", [ 6, asciicircum ] }; + key { [ 7, ampersand, 0x100204A ] }; // Tironian Et + key { type[Group1]="TWO_LEVEL", [ 8, asterisk ] }; + key { type[Group1]="TWO_LEVEL", [ 9, parenleft ] }; + key { type[Group1]="TWO_LEVEL", [ 0, parenright ] }; + key { type[Group1]="TWO_LEVEL", [ minus, underscore ] }; + key { type[Group1]="TWO_LEVEL", [ equal, plus ] }; + + // + // Top Row QWERTYUIOP + // + key { [ q, Q, 0x100168A ] }; // OGHAM LETTER CEIRT + key { [ w, W, 0x1001695 ] }; // OGHAM LETTER EABHADH + key { [ e, E, 0x1001693 ] }; // OGHAM LETTER EADHADH + key { [ r, R, 0x100168F ] }; // OGHAM LETTER RUIS + key { [ t, T, 0x1001688 ] }; // OGHAM LETTER TINNE + key { [ y, Y, 0x1001698 ] }; // OGHAM LETTER IFIN + key { [ u, U, 0x1001692 ] }; // OGHAM LETTER UR + key { [ i, I, 0x1001694 ] }; // OGHAM LETTER IODHADH + key { [ o, O, 0x1001691 ] }; // OGHAM LETTER ONN + key { [ p, P, 0x100169A ] }; // OGHAM LETTER PEITH + + // + // Middle Row ASDFGHJKL + // + key { [ a, A, 0x1001690 ] }; // OGHAM LETTER AILM + key { [ s, S, 0x1001684 ] }; // OGHAM LETTER SAIL + key { [ d, D, 0x1001687 ] }; // OGHAM LETTER DAIR + key { [ f, F, 0x1001683 ] }; // OGHAM LETTER FEARN + key { [ g, G, 0x100168C ] }; // OGHAM LETTER GORT + key { [ h, H, 0x1001686 ] }; // OGHAM LETTER UATH + key { [ j, J, 0x1001697 ] }; // OGHAM LETTER UILLEANN + key { [ k, K, 0x1001696 ] }; // OGHAM LETTER OR + key { [ l, L, 0x1001682 ] }; // OGHAM LETTER LUIS + + // + // Bottom Row ZXCVBNM + // + key { [ z, Z, 0x100168E ] }; // OGHAM LETTER STRAIF + key { [ x, X, 0x1001699 ] }; // OGHAM LETTER EAMHANCHOLL + key { [ c, C, 0x1001689 ] }; // OGHAM LETTER COLL + key { [ v, V, 0x100168D ] }; // OGHAM LETTER NGEADAL + key { [ b, B, 0x1001681 ] }; // OGHAM LETTER BEITH + key { [ n, N, 0x1001685 ] }; // OGHAM LETTER NION + key { [ m, M, 0x100168B ] }; // OGHAM LETTER MUIN + + // As an extension because and may not be + // available or sensible. These are also a bit more + // intuitive on a standard Irish keyboard. + key { [ comma, less, 0x100169C ] }; // OGHAM REVERSED FEATHER MARK + key { [ period, greater, 0x100169B ] }; // OGHAM FEATHER MARK + key { [ slash, question, 0x1001680 ] }; // OGHAM SPACE MARK + + // The standard says the Ogham characters should be accessed when + // Caps Lock is down; not clear if this means it should lock but + // seems logical. + + key { type[Group1] = "ONE_LEVEL", [ ISO_Level3_Lock ] }; + + // Also allow access to Ogham characters using RALT for convenience + include "level3(ralt_switch)" + + // Redefine Scroll Lock as locking shift in case that's needed. + // Also overcomes annoying use of Scroll Lock LED inherited from + // US symbols but not relevant here since we're not changing group. + key {type[Group1] = "ONE_LEVEL", [ Shift_Lock ] }; + modifier_map Shift { Shift_Lock }; + + include "compose(rwin)" +}; diff --git a/xkbdata/symbols/il b/xkbdata/symbols/il new file mode 100644 index 0000000..873bd9d --- /dev/null +++ b/xkbdata/symbols/il @@ -0,0 +1,336 @@ +// This is an implemetation of the Israeli standard SI-1452 (2013) +// It does not implement changes to the English layout, as that part +// of the standard is not normative nor really useful in the context +// of xkb. +// This implementation extends the standard with Yiddish digraphs +// (a common extension) and Nun Hafukha (a fun character). + +default partial alphanumeric_keys +xkb_symbols "basic" { + // uses the kbd layout in use in Israel. + + name[Group1]= "Hebrew"; + key.type[Group1] = "FOUR_LEVEL_SEMIALPHABETIC"; + + key { [ hebrew_zain, Z ] }; + key { [ hebrew_samech, X, U05B6 ] }; // Segol + key { [ hebrew_bet, C, U05B1 ] }; // Hataf Segol + key { [ hebrew_he, V ] }; + key { [ hebrew_nun, B, NoSymbol, U05C6 ]}; // Nun Hafukha + key { [ hebrew_mem, N ] }; + key { [ hebrew_zade, M, U05B5 ] }; // Tsere + key { [ hebrew_taw, greater, rightsinglequotemark ]}; // greater Mirrored + key { [ hebrew_finalzade, less, singlelowquotemark ]}; // less Mirrored + + key { [ hebrew_shin, A, U05B0 ] }; // Shva + key { [ hebrew_dalet,S, U05BC ] }; // Dagesh + key { [ hebrew_gimel,D ] }; + key { [ hebrew_kaph, F ] }; + key { [ hebrew_ayin, G, U05F1 ] }; // Yiddish Vav Yod + key { [ hebrew_yod, H, U05F2 ] }; // Yiddish Double Yod + key { [ hebrew_chet, J, U05B4 ] }; // Hiriq + key { [ hebrew_lamed, K ] }; + key { [ hebrew_finalkaph, L, rightdoublequotemark ]}; + key { [ hebrew_finalpe, colon, doublelowquotemark ]}; + + key { [ slash, Q, U05C2 ] }; // Sin Dot + key { [ apostrophe, W, U05C1 ] }; // Shin Dot + key { [ hebrew_qoph, E, U05B8 ] }; // Qamats + key { [ hebrew_resh, R, U05B3 ] }; // Hataf Qamats + key { [ hebrew_aleph,T ] }; + key { [ hebrew_tet, Y, U05F0 ] }; // Yiddish Double Vav + key { [ hebrew_waw, U, U05B9 ] }; // Holam + key { [ hebrew_finalnun, I ] }; + key { [ hebrew_finalmem, O ] }; + key { [ hebrew_pe, P, U05B7 ] }; // Patah + + key.type[Group1] = "FOUR_LEVEL"; + + // Non-alphanumeric keys + key { [ period, question, division ]}; + key { [ comma, quotedbl, U05F4] }; // Gershayim + key { [ bracketright, braceright, U05B2 ]}; // Mirrored; Hataf Patah + key { [ bracketleft, braceleft, U05BF ]}; // Mirrored; Rafe + key { [ backslash, bar, U05BB ] }; // Qubuts + + // Top (digits) row + key { [ semicolon, asciitilde, U05F3 ]}; // Geresh + key { [ 1, exclam ] }; + key { [ 2, at ] }; + key { [ 3, numbersign, EuroSign ]}; + key { [ 4, dollar, NewSheqelSign ]}; + key { [ 5, percent, degree ]}; + key { [ 6, asciicircum, U05AB ]}; // Hebrew Accent Ole + key { [ 7, ampersand, U05BD ]}; // Meteg + key { [ 8, asterisk, multiply]}; + key { [ 9, parenright, U200E ]}; // LRM; Paren Mirrored + key { [ 0, parenleft, U200F ]}; // RLM; Paren Mirrored + key { [ minus, underscore, U05BE ]}; // Maqaf + key { [ equal, plus, endash ]}; + + include "level3(ralt_switch)" +}; + + +// nikud patter based on Dekel Tsur's Hebrew mapping for LyX +partial alphanumeric_keys +xkb_symbols "lyx" { + name[Group1]= "Hebrew (lyx)"; + + key { [ semicolon, asciitilde ] }; + // On some key (e.g. AD01, right below) there is not yet mapping for the + // second shift level. Since I could not figure a simple way to map this + // to "emit nothing", it is currently mapped to the same letter of the + // first shift level (avoiding mapping may risk it be used by a character + // from a different group). + key { [ slash, slash ] }; + key { [ apostrophe, apostrophe ] }; + key { [ hebrew_qoph, 0x10005b8 ] }; // Qamats + key { [ hebrew_resh, 0x10005bc ] }; // Dagesh/Shuruq + key { [ hebrew_aleph, 0x100200e ] }; // LRM + key { [ hebrew_tet, 0x100200f ] }; // RLM + key { [ hebrew_waw, 0x10005b9 ] }; // Holam + key { [ hebrew_finalnun,hebrew_finalnun] }; + key { [ hebrew_finalmem,hebrew_finalmem] }; + key { [ hebrew_pe, 0x10005b7 ] }; // Patah + + key { [ hebrew_shin, 0x10005b0 ] }; // Sheva + key { [ hebrew_dalet, 0x10005bc ] }; // Dagesh/Shuruq + key { [ hebrew_gimel, hebrew_gimel ] }; + key { [ hebrew_kaph, hebrew_kaph ] }; + key { [ hebrew_ayin, 0x10005c2 ] }; // Sin dot + key { [ hebrew_yod, 0x10005c1 ] }; // Shin dot + key { [ hebrew_chet, 0x10005b4 ] }; // Hiriq + key { [ hebrew_lamed, 0x10020aa ] }; // NIS + key { [ hebrew_finalkaph,hebrew_finalkaph] }; + key { [ hebrew_finalpe, colon ] }; + key { [ comma, quotedbl ] }; + + key { [ hebrew_zain, hebrew_zain ] }; + key { [ hebrew_samech,0x10005b6 ] }; // Segol + key { [ hebrew_bet, 0x10005bb ] }; // Qubuts + key { [ hebrew_he, 0x10005b1 ] }; // H. Segol + key { [ hebrew_nun, 0x10005b2 ] }; // H. Patah + key { [ hebrew_mem, 0x10005b3 ] }; // H. Qamats + key { [ hebrew_zade, 0x10005b5 ] }; // Tsere + key { [ hebrew_taw, greater ] }; + key { [ hebrew_finalzade, less ] }; + key { [ period, question ] }; + + // Note the parens mirroring below: + key { [ bracketright, braceright ] }; + key { [ bracketleft, braceleft ] }; + key { [ 1, exclam ]}; + key { [ 2, at ]}; + key { [ 3, numbersign ]}; + key { [ 4, dollar ]}; + key { [ 5, percent ]}; + key { [ 6, asciicircum ]}; + key { [ 7, ampersand ]}; + key { [ 8, asterisk ]}; + key { [ 9, parenright ]}; + key { [ 0, parenleft ]}; + + key { [ minus , 0x10005be ] }; // H. Hiphen + key { [ equal , plus ] }; +}; + + +partial alphanumeric_keys +xkb_symbols "phonetic" { + + include "il(basic)" + + name[Group1]= "Hebrew (phonetic)"; + + // Implements the phonetic layout from the old Slackware 'il.map' file. + + key { [ 9, parenleft ] }; + key { [ 0, parenright ] }; + key { [ grave, asciitilde ] }; + + key { [ bracketleft, braceleft ] }; + key { [ bracketright, braceright ] }; + key { [ semicolon, colon ] }; + key { [ apostrophe, quotedbl ] }; + key { [ comma, less ] }; + key { [ period, greater ] }; + key { [ slash, question ] }; + key { [ backslash, bar ] }; + + key { [ hebrew_qoph, hebrew_qoph ] }; + key { [ hebrew_waw, hebrew_waw ] }; + key { [ hebrew_aleph, hebrew_aleph ] }; + key { [ hebrew_resh, hebrew_resh ] }; + key { [ hebrew_taw, hebrew_tet ] }; + key { [ hebrew_ayin, hebrew_ayin ] }; + key { [ hebrew_waw, hebrew_waw ] }; + key { [ hebrew_yod, hebrew_yod ] }; + key { [ hebrew_samech, hebrew_samech ] }; + key { [ hebrew_pe, hebrew_finalpe ] }; + + key { [ hebrew_aleph, hebrew_aleph ] }; + key { [ hebrew_shin, hebrew_shin ] }; + key { [ hebrew_dalet, hebrew_dalet ] }; + key { [ hebrew_pe, hebrew_finalpe ] }; + key { [ hebrew_gimel, hebrew_gimel ] }; + key { [ hebrew_he, hebrew_he ] }; + key { [ hebrew_yod, hebrew_yod ] }; + key { [ hebrew_kaph, hebrew_finalkaph ] }; + key { [ hebrew_lamed, hebrew_lamed ] }; + + key { [ hebrew_zain, hebrew_zain ] }; + key { [ hebrew_chet, hebrew_chet ] }; + key { [ hebrew_zade, hebrew_finalzade ] }; + key { [ hebrew_waw, hebrew_waw ] }; + key { [ hebrew_bet, hebrew_bet ] }; + key { [ hebrew_nun, hebrew_finalnun ] }; + key { [ hebrew_mem, hebrew_finalmem ] }; +}; + +// The 'Biblical Hebrew' keyboard layout as defined by Tiro for use with the +// 'SBL Hebrew' font was added 2006.11.13 by Sebastian J. Bronner +// . Its primary features (as compared to the lyx layout) +// are that the consonants are in the Israeli standard positions, that a great +// multitude of glyphs can be input directly from the keyboard, and that it is +// the closest thing to a standard layout a theologian can hope for. +// Documentation (including printable keyboard tables), SBL Hebrew font, and +// keyboard layout for Windows are available at +// http://www.sbl-site.org/Resources/Resources_BiblicalFonts.aspx. +// +// It is of interest that the 'basic' layout defined first in this file (as +// ships with x.org disagrees in the non-consonant characters that the Tiro- +// layout claims to be the Israeli standard. Tiros apparent diligence in the +// PDF-documentation accompanying the keyboard-layout-files lead me to put +// greater stock in their claim than in this file. Therefore, the 'biblical' +// layout below does not include 'il(basic)' but redoes the _whole_ thing from +// scratch. + +partial alphanumeric_keys +xkb_symbols "biblical" { + name[Group1]= "Hebrew (Biblical, Tiro)"; + key.type = "FOUR_LEVEL_SEMIALPHABETIC"; + + key { [ U05C3, U05AE, semicolon, asciitilde ] }; + key { [ 1, U05A9, VoidSymbol, exclam ] }; + key { [ 2, U0599, VoidSymbol, at ] }; + key { [ 3, U0592, VoidSymbol, numbersign ] }; + key { [ 4, U05AF, NewSheqelSign, dollar ] }; + key { [ 5, U05BA, U200D, percent ] }; + key { [ 6, U05B9, U200C, asciicircum ] }; + key { [ 7, U05BF, U034F, ampersand ] }; + key { [ 8, U05C2, U200E, asterisk ] }; + key { [ 9, U05C1, U200F, parenright ] }; + key { [ 0, U059D, U25CC, parenleft ] }; + key { [ U05BE, U05A0, minus, underscore ] }; + key { [ equal, U05BC, VoidSymbol, plus ] }; + + key { [ U0307, U05C4, U0308, slash ] }; + key { [ U05F3, U05AC, U05F4, apostrophe ] }; + key { [ hebrew_qoph, U05AB, U20AC ] }; + key { [ hebrew_resh, U059F ] }; + key { [ hebrew_aleph, U0593 ] }; + key { [ hebrew_tet, U059E ] }; + key { [ hebrew_waw, U059C, U05F0 ] }; + key { [ hebrew_finalnun, U05A1 ] }; + key { [ hebrew_finalmem, U0595 ] }; + key { [ hebrew_pe, U0594 ] }; + key { [ bracketright, U0597, VoidSymbol, braceright ] }; + key { [ bracketleft, U0598, VoidSymbol, braceleft ] }; + key { [ U05C0, U05A8, backslash, bar ] }; + + key { [ hebrew_shin, U05BD ] }; + key { [ hebrew_dalet, U05B0 ] }; + key { [ hebrew_gimel, U05BB ] }; + key { [ hebrew_kaph, U05B4 ] }; + key { [ hebrew_ayin, U05B1 ] }; + key { [ hebrew_yod, U05B6, U05F2 ] }; + key { [ hebrew_chet, U05B5, U05F1 ] }; + key { [ hebrew_lamed, U05B3 ] }; + key { [ hebrew_finalkaph, U05B8, U05C7 ] }; + key { [ hebrew_finalpe, U05B2, VoidSymbol, colon ] }; + key { [ U059a, U05B7, comma, quotedbl ] }; + + key { [ hebrew_zain, U05C5 ] }; + key { [ hebrew_samech, U05A4 ] }; + key { [ hebrew_bet, U05AA, U05A2 ] }; + key { [ hebrew_he, U05A6 ] }; + key { [ hebrew_nun, U05A5, U05C6 ] }; + key { [ hebrew_mem, U05A7 ] }; + key { [ hebrew_zade, U059B ] }; + key { [ hebrew_taw, U0591, VoidSymbol, greater ] }; + key { [ hebrew_finalzade, U0596, VoidSymbol, less ] }; + key { [ U05AD, U05A3, period, question ] }; + + key { [ space, space, thinspace, nobreakspace ] }; +}; + +// EXTRAS + +// Biblical hebrew (SIL) US Standard layout version 1.5 +// This map is based closely on v 1.5 of the standard. The only deviation being the replacement of the composite characters sin and shin +// by their more recent Unicodev6 counterparts +// this map contains all the characters found in Biblical annotation, masoretic and Dead Sea Scroll related work. +// The layout corresponds phonetically to a US standard layout or similar (Qwerty). +// If you are using an actual Hebrew keyboard, you are probably better off using a Tiro compliant scholarly layout +// This linux port created and maintained by Dennis Meulensteen, dennis@meulensteen.nl +partial alphanumeric_keys +xkb_symbols "biblicalSIL" { + name[Group1]= "Hebrew (Biblical, SIL phonetic)"; + key.type = "FOUR_LEVEL_SEMIALPHABETIC"; + + key { [ U20AC, U20AA, U0024 ] }; //Euro, Shekel, Dollar - + key { [ 1, U0021, U05BD, U0597 ] }; //1, exclamation meteg revia + key { [ 2, U0598, U05A2, U05AE ] }; //2, zarqa atn. hafukh zinor + key { [ 3, U05A8, U0596, U0599 ] }; //3, qadma tipeha pashta + key { [ 4, U059C, U05A5, U05A0 ] }; //4, geresh merkha tel. gedola + key { [ 5, U059E, U05A6, U05A9 ] }; //5, gershayim mer. kefula tel qetana + key { [ 6, VoidSymbol, U05AD, U059F ] }; //6, - dehi qar. para + key { [ 7, U05AC, U05A3, U05A1 ] }; //7, iluy munah pazer + key { [ 8, U059D, U059B, U0595 ] }; //8, g. muqdam tevir zaq. gadol + key { [ 9, U0029, U05A7, U0593 ] }; //9, parenth.R darqa shalshelet + key { [ 0, U0028, U05AA, U05AF ] }; //0, paren.L yer. ben yomo masora c. + key { [ U05BE, U2013, U2014, U05BF ] }; //Maqaf, en dash em dash rafe + key { [ U05BC, VoidSymbol, U0591, U25CC ] }; //Dagesh - etnahta mark base + + key { [ hebrew_qoph, U0597 ] }; //Qof revia - - + key { [ hebrew_waw] }; //waw - - - + key { [ U05B6, U05B5, VoidSymbol, U05B1 ] }; //segol tsere - hat. segol + key { [ hebrew_resh ] }; //resh - - - + key { [ hebrew_taw ] }; //taw - - - + key { [ hebrew_yod, U059F ] }; //jod qar. para - - + key { [ U05BB] }; //quibuts - - - + key { [ U05B4 ] }; //hiriq, - - - + key { [ U05B9, U05BA, U05C7, U05B3 ] }; //holam, holam(wav) qam. qatan hat. Qamats + key { [ hebrew_pe, hebrew_finalpe, VoidSymbol, U034F ] }; //pe final pe - c. grapheme joiner + key { [ bracketright, braceright, VoidSymbol, U0594 ] }; //Bracket R brace R - zaq. qatan + key { [ bracketleft, braceleft, U059A, U0592 ] }; //Brachket L brace L yetiv segolta + key { [ U05C0, U05C0, U05A4, U05AB ] };//Paseq Paseq mahapakh ole + + key { [ U05B7, U05B8, U05C7, U05B2 ] }; //patah Qamats Qam. Qatan hat. patah + key { [ hebrew_samech, U05E9 ] }; //Samech, shin no dot - - + key { [ hebrew_dalet ] }; //dalet - - - + key { [ UFB2B, hebrew_shin, U05C2 ] }; //UCSv6 Sin shin (nodot) sindot - + key { [ hebrew_gimel, VoidSymbol, U25E6, U2022 ] }; //gimel - bullet(DSS) bulletfill (DSS) + key { [ hebrew_he, VoidSymbol, U0336, U030A ] };//he - strikeout(DSS) Ring Above(DSS) + key { [ UFB2A, hebrew_shin, U05C1] }; //UCSv6 Shin shin (nodot) shindot - + key { [ hebrew_kaph, hebrew_finalkaph ] }; //kaph Final kaph - + key { [ hebrew_lamed, VoidSymbol ] }; //lamed - - + key { [ U05B0, U05F4, semicolon, U05C3 ] }; //sva gers. p semicolon sof pasuq + key { [ U2019, U201D, U0323, U05C4 ] };//QuoteRight double R Quote punctum punctum Above + + key { [ hebrew_zain ] }; //Zayin - - + key { [ hebrew_chet ] }; //chet - - + key { [ hebrew_zade, U05E5 ] }; // tzade, final tzade - + key { [ hebrew_tet ] }; //tet - - + key { [ hebrew_bet ] }; //bet - - + key { [ hebrew_nun, hebrew_finalnun ] }; //nun, final nun + key { [ hebrew_mem, hebrew_finalmem, U200C, U200D ] }; //mem, final mem 0.wid.non.join. 0.wid.joiner + key { [ U002C, U05E2, U00AB, U0307 ] }; //comma, ayin guillemetsR masora dot + key { [ U0002E, U05D0, U00BB, U0308 ] }; //period, alef guillemetsL thousands + key { [ slash, question, U05F3 ] }; //slash question geresh P + + key { [ space, space, thinspace, nobreakspace ] };//space space thin space, nbsp + + include "level3(ralt_switch)" +}; diff --git a/xkbdata/symbols/in b/xkbdata/symbols/in new file mode 100644 index 0000000..32f0916 --- /dev/null +++ b/xkbdata/symbols/in @@ -0,0 +1,2587 @@ +// This layout includes all Indian layouts, including: +// - Hindi +// - Marathi +// - Sanskrit +// - Bangla +// - Gujarati +// - Kannada +// - Malayalam +// - Ol Chiki +// - Oriya +// - Tamil +// - Telugu +// - Urdu + +// Links: +// - Indic INSCRIPT keyboard layout diagrams: +// http://java.sun.com/products/jfc/tsc/articles/InputMethod/indiclayout.html +// - Bangla Baishakhi (Bangla layouts): +// - Bangla Baishakhi InScript (Bangla layouts): +// - Bangla Bornona (Bangla layouts): +// - Uni Gitanjali (Bangla layouts): +// http://nltr.org +// - Ekusheyr Shadhinota (Bangla layouts): +// http://ekushey.org/projects/shadhinota/index.html +// - Microsoft Windows XP SP2: Indic Language Standards - an Introduction: +// http://www.bhashaindia.com/MSProducts/XpSp2/Articles/IndicLanguageStandards.aspx +// - Ol Chiki: +// http://www.unicode.org/L2/L2005/05243r-n2984-ol-chiki.pdf (fig. 9) + +// Devangari is the default. Kill me if I am wrong:) +default partial alphanumeric_keys +xkb_symbols "deva" { + // March 2004 -- David Holl + name[Group1]="Indian"; + + key.type[group1]="FOUR_LEVEL"; + + key { [ U094a, U0912, grave, asciitilde ] }; + key { [ U0967, U090d, 1, exclam ] }; + key { [ U0968, U0945, 2, at ] }; + // Shift+AE0[3-8] really need to return a macro of keys defined by + // INSCRIPT in place of the symbols that are here for now. But this + // requires XKB to map 1 key into two to three other key presses. + key { [ U0969, numbersign, 3, numbersign ] }; + key { [ U096a, dollar, 4, U20b9 ] }; // Rupee + key { [ U096b, percent, 5, percent ] }; + key { [ U096c, asciicircum, 6, asciicircum ] }; + key { [ U096d, ampersand, 7, ampersand ] }; + key { [ U096e, asterisk, 8, asterisk ] }; + key { [ U096f, parenleft, 9, parenleft ] }; + key { [ U0966, parenright, 0, parenright ] }; + key { [ minus, U0903, minus, underscore ] }; + key { [ U0943, U090b, U0944, U0960 ] }; + + key { [ U094c, U0914 ] }; + key { [ U0948, U0910 ] }; + key { [ U093e, U0906 ] }; + key { [ U0940, U0908, U0963, U0961 ] }; + key { [ U0942, U090a ] }; + key { [ U092c, U092d ] }; + key { [ U0939, U0919 ] }; + key { [ U0917, U0918, U095a ] }; + key { [ U0926, U0927 ] }; + key { [ U091c, U091d, U095b ] }; + key { [ U0921, U0922, U095c, U095d ] }; + key { [ U093c, U091e ] }; + // I added \ / ? | for shell-convenience (file names and piping) + key { [ U0949, U0911, U005C, U007C ] }; + + key { [ U094b, U0913 ] }; + key { [ U0947, U090f ] }; + key { [ U094d, U0905 ] }; + key { [ U093f, U0907, U0962, U090c ] }; + key { [ U0941, U0909 ] }; + key { [ U092a, U092b, NoSymbol, U095e ] }; + key { [ U0930, U0931 ] }; + key { [ U0915, U0916, U0958, U0959 ] }; + key { [ U0924, U0925 ] }; + key { [ U091a, U091b, U0952 ] }; + key { [ U091f, U0920, NoSymbol, U0951 ] }; + + key { [ U0946, U090e, U0953 ] }; + key { [ U0902, U0901, NoSymbol, U0950 ] }; + key { [ U092e, U0923, U0954 ] }; + key { [ U0928, U0929 ] }; + key { [ U0935, U0934 ] }; + key { [ U0932, U0933 ] }; + key { [ U0938, U0936 ] }; + key { [ comma, U0937, U0970 ] }; + key { [ period, U0964, U0965, U093d ] }; + // I added \ / ? | for shell-convenience (file names and piping) + key { [ U092f, U095f, slash, question ] }; + + // space, space, Zero-Width-Non-Joiner (ZWNJ), Zero-Width-Joiner (ZWJ): + include "nbsp(zwnj3zwj4)" + include "level3(ralt_switch)" +}; + +//Name : Bolnagri (Combined) +//Description : A phonetic keyboard layout for Devnagari(Hindi) +// http://www.indlinux.org/wiki/index.php/BolNagri +//NOTE : This is a combined map of bolnagri_matras and bolnagri_vowels. +//Inspired by "devrom" keymap by Steve Smith for the windows tool "keyman" +//Original Author : Noah Levitt +//Past Authors : Pramod.R and Ravikant +//Current Main. : G Karunakar + +partial alphanumeric_keys +xkb_symbols "bolnagri" { + name[Group1] = "Hindi (Bolnagri)"; + key.type[group1]="FOUR_LEVEL"; + + // Roman digits + key { [ U0902, U0901, grave, asciitilde ] }; // grave: anusvara, candrabindu + key { [ 1, exclam, U0967, exclam ] }; + key { [ 2, at, U0968, at ] }; + key { [ 3, numbersign, U0969, numbersign ] }; + key { [ 4, dollar, U096A, U20B9 ] }; // Rupee + key { [ 5, percent, U096B, percent ] }; + key { [ 6, asciicircum, U096C, asciicircum ] }; + key { [ 7, ampersand, U096D, ampersand ] }; + key { [ 8, asterisk, U096E, asterisk ] }; + key { [ 9, parenleft, U096F, parenleft ] }; + key { [ 0, parenright, U0966, parenright ] }; + key { [ minus, underscore ] }; + key { [ equal, plus ] }; + key { [ U0964, U0965, U007C, U005C ] }; //pipe : danda, double danda + + //Q Row + key { [ U200C, U200D ] }; // Q: ZWNJ, ZWJ + key { [ U0935, U950 ] }; // W: wa, OM + key { [ U0947, U0948, U090F, U0910 ] }; // E: e, ai matras + key { [ U0930, U0943, U0931, U090B ] }; // R: ra, vocalic Ri + key { [ U0924, U0925 ] }; // T: ta, tha + key { [ U092f, U091E ] }; // Y: ya, nya + key { [ U0941, U0942, U0909, U090A ] }; // U: u, uu matras + key { [ U093F, U0940, U0907, U0908 ] }; // I: i, ii matras + key { [ U094B, U094C, U0913, U0914 ] }; // O: o, au matras + key { [ U092A, U092B ] }; // P: pa, pha + key { [ bracketleft, braceleft ] }; + key { [ bracketright, braceright ] }; + + //A Row + key { [ U093E, U0906, U0905, U0906 ] }; // A: aa, full A, AA + key { [ U0938, U0937 ] }; // S: sa, ssa + key { [ U0926, U0927 ] }; // D: da, dha + key { [ U091F, U0920 ] }; // F: TA, THA + key { [ U0917, U0918 ] }; // G: ga, gha + key { [ U0939, U0903 ] }; // H: ha, visarg + key { [ U091C, U091D ] }; // J: ja, jha + key { [ U0915, U0916 ] }; // K: ka, kha + key { [ U0932, U0933, U0962, U090C ] }; // L: la, vocalic L or lru matra + key { [ semicolon, colon ] }; + key { [apostrophe, quotedbl ] }; + + //Z Row + key { [ U0936, U0945, U0936, U090D ] }; // Z: sha, akaar candra + key { [ U094D, U0949, U094D, U0911 ] }; // X: halant, aakaar candra, chandra A + key { [ U091A, U091B ] }; // C: ca, cha + key { [ U0921, U0922 ] }; // V: da, dha + key { [ U092C, U092D ] }; // B: ba, bha + key { [ U0928, U0923 ] }; // N: na, nna + key { [ U092E, U0919, U092E, U093D ] }; // M: ma, nga, avagraha + key { [ comma, U0970 ] };// comma: comma, dev abbreviation sign + key { [ period, U093C ] }; // period: period, nukta + key { [ slash, question ] }; + +// modifier_map Shift { Shift_L }; +// modifier_map Lock { Caps_Lock }; +// modifier_map Control{ Control_L }; +// modifier_map Mod3 { Mode_switch }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "ben" { + name[Group1]= "Bangla (India)"; + + // Mainly numbers. + key { [ U09E7 ] }; + key { [ U09E8 ] }; + key { [ U09E9 ] }; + key { [ U09EA ] }; + key { [ U09EB ] }; + key { [ U09EC ] }; + key { [ U09ED ] }; + key { [ U09EE ] }; + key { [ U09EF, parenleft ] }; + key { [ U09E6, parenright ] }; + key { [ minus, U0983 ] }; + key { [ U098B, U09C3 ] }; + +// Mainly long vowels + + key { [ U09CC, U0994 ] }; + key { [ U09C8, U0990 ] }; + key { [ U09BE, U0986 ] }; + key { [ U09C0, U0988 ] }; + key { [ U09C2, U098A ] }; + +// Mainly voiced consonants + + key { [ U09AC, U09AD ] }; + key { [ U09B9, U0999 ] }; + key { [ U0997, U0998 ] }; + key { [ U09A6, U09A7 ] }; + key { [ U099C, U099D ] }; + key { [ U09A1, U09A2 ] }; + key { [ U09BC, U099E ] }; + +// Mainly short vowels + key { [ U09CB, U0993 ] }; + key { [ U09C7, U098F ] }; + key { [ U09CD, U0985 ] }; + key { [ U09BF, U0987 ] }; + key { [ U09C1, U0989 ] }; + + +// Mainly unvoiced consonants + + key { [ U09AA, U09AB ] }; + key { [ U09B0, U09DD ] }; + key { [ U0995, U0996 ] }; + key { [ U09A4, U09A5 ] }; + key { [ U099A, U099B ] }; + key { [ U099F, U09A0 ] }; + key { [ U005C, U007C ] }; + + key { [ z, Z ] }; + key { [ U0982, U0981 ] }; + key { [ U09AE, U09A3 ] }; + key { [ U09A8, U09A8 ] }; + key { [ U09AC, U09AC ] }; + key { [ U09B2, U09B2 ] }; + key { [ U09B8, U09B6 ] }; + key { [ comma, U09B7 ] }; + key { [ period, U0964 ] }; + key { [ U09DF, U09AF ] }; + + include "level3(ralt_switch)" + include "rupeesign(4)" +}; + +xkb_symbols "ben_probhat" { + name[Group1]= "Bangla (India, Probhat)"; + key.type[group1]="FOUR_LEVEL"; + + key { [ Escape ] }; + +// numbers + key { [ U200D, asciitilde ] }; + key { [ U09E7, exclam, U09F4 ] }; + key { [ U09E8, at, U09F5 ] }; + key { [ U09E9, numbersign, U09F6 ] }; + key { [ U09EA, U09F3, U09F7, U09F2 ] }; + key { [ U09EB, percent ] }; + key { [ U09EC, asciicircum ] }; + key { [ U09ED, U099E, U09FA ] }; + key { [ U09EE, U09CE ] }; + key { [ U09EF, parenleft ] }; + key { [ U09E6, parenright, U09F8, U09F9 ] }; + key { [ minus, underscore ] }; + key { [ equal, plus ] }; + key { [ BackSpace ] }; + +// tab, q to ] + key { [ Tab, ISO_Left_Tab ] }; + key { [ U09A6, U09A7 ] }; + key { [ U09C2, U098A ] }; + key { [ U09C0, U0988 ] }; + key { [ U09B0, U09DC ] }; + key { [ U099F, U09A0 ] }; + key { [ U098F, U0990 ] }; + key { [ U09C1, U0989 ] }; + key { [ U09BF, U0987 ] }; + key { [ U0993, U0994 ] }; + key { [ U09AA, U09AB ] }; + key { [ U09C7, U09C8 ] }; + key { [ U09CB, U09CC, U09D7 ] }; + key { [ Return ] }; + +// caps, a to ' +// key { [ Caps_Lock ] }; + key { [ U09BE, U0985, U098C, U09E0 ] }; + key { [ U09B8, U09B7, U09E1, U09E3 ] }; + key { [ U09A1, U09A2, U09C4, U09E2 ] }; + key { [ U09A4, U09A5 ] }; + key { [ U0997, U0998 ] }; + key { [ U09B9, U0983, U09BD ] }; + key { [ U099C, U099D ] }; + key { [ U0995, U0996 ] }; + key { [ U09B2, U0982 ] }; + key { [ semicolon, colon ] }; + key { [ apostrophe, quotedbl ] }; + +// shift, z to / +// key { [ Shift_L ] }; + key { [ U09DF, U09AF ] }; + key { [ U09B6, U09DD ] }; + key { [ U099A, U099B ] }; + key { [ U0986, U098B ] }; + key { [ U09AC, U09AD ] }; + key { [ U09A8, U09A3 ] }; + key { [ U09AE, U0999 ] }; + key { [ comma, U09C3 ] }; + key { [ U0964, U0981, U09BC ] }; + key { [ U09CD, question ] }; + key { [ U200C, U0965 ] }; + +// key { [ Control_L ] }; +// key { [ space ] }; + +// modifier_map Shift { Shift_L }; +// modifier_map Lock { Caps_Lock }; +// modifier_map Control{ Control_L }; + + include "level3(ralt_switch)" + include "rupeesign(4)" +}; + +// Bangla Baishakhi, Bangla Baishakhi InScript, Bangla Bornona, Uni Gitanjali Layouts are added by Promathesh Mandal + +xkb_symbols "ben_baishakhi" { + name[Group1]= "Bangla (India, Baishakhi)"; + key { [ Escape ] }; + +// numbers + key { [ 0x100200D, 0x100200C ] }; + key { [ 0x10009E7, exclam ] }; + key { [ 0x10009E8, at ] }; + key { [ 0x10009E9, numbersign ] }; + key { [ 0x10009EA, dollar, 0x10009F2 ] }; + key { [ 0x10009EB, percent ] }; + key { [ 0x10009EC, asciicircum, 0x10009D7 ] }; + key { [ 0x10009ED, ampersand ] }; + key { [ 0x10009EE, asterisk,0x10009FA ] }; + key { [ 0x10009EF, parenleft ] }; + key { [ 0x10009E6, parenright ] }; + key { [ minus, underscore ] }; + key { [ equal, plus ] }; + key { [ BackSpace ] }; + +// tab, q to ] + key { [ Tab, ISO_Left_Tab ] }; + key { [ 0x10009A1, 0x10009A2 ] }; + key { [ 0x10009C0 , 0x10009C2 ] }; + key { [ 0x10009C7, 0x100098F, 0x1000990 ] }; + key { [ 0x10009B0 , 0x10009C3, 0x100098B ] }; + key { [ 0x100099F, 0x10009A0 ] }; + key { [ 0x10009AF, 0x10009DF ] }; + key { [ 0x10009C1, 0x1000989, 0x100098A ] }; + key { [ 0x10009BF, 0x1000987, 0x1000988 ] }; + key { [ 0x10009CB, 0x1000993, 0x1000994 ] }; + key { [ 0x10009AA, 0x10009AB ] }; + key { [ bracketleft, braceleft] }; + key { [ bracketright, braceright ] }; + key { [ Return ] }; + +// caps, a to ' +// key { [ Caps_Lock ] }; + key { [ 0x10009BE, 0x1000985, 0x1000986 ] }; + key { [ 0x10009B8, 0x10009B6, 0x10009B7 ] }; + key { [ 0x10009A6, 0x10009A7 ] }; + key { [ 0x10009A4, 0x10009A5, 0x10009CE ] }; + key { [ 0x1000997, 0x1000998 ] }; + key { [ 0x10009CD, 0x10009B9, 0x1000983 ] }; + key { [ 0x100099C, 0x100099D ] }; + key { [ 0x1000995, 0x1000996 ] }; + key { [ 0x10009B2, 0x1000964, 0x100098C ] }; + key { [ semicolon, colon ] }; + key { [ apostrophe, quotedbl ] }; + +// shift, z to / +// key { [ Shift_L ] }; + key { [ 0x10009C8, 0x10009CC ] }; + key { [ 0x10009DC, 0x10009DD ] }; + key { [ 0x100099A, 0x100099B ] }; + key { [ 0x10009F1, 0x10009F0 ] }; + key { [ 0x10009AC, 0x10009AD ] }; + key { [ 0x10009A8, 0x10009A3, 0x100099E ] }; + key { [ 0x10009AE, 0x1000999, 0x1000981 ] }; + key { [ comma, less ] }; + key { [ period, greater,0x10009BC ] }; + key { [ slash, question, 0x1000982 ] }; + key { [ backslash, bar ] }; + +// third level with right-alt + include "level3(ralt_switch)" + +// key { [ Control_L ] }; +// key { [ space ] }; + +// modifier_map Shift { Shift_L }; +// modifier_map Lock { Caps_Lock }; +// modifier_map Control{ Control_L }; +}; + +xkb_symbols "ben_inscript" { + name[Group1]= "Bangla (India, Baishakhi InScript)"; + + // Mainly numbers. + key { [ 0x100200D, 0x100200C ] }; + key { [ 0x10009E7 ] }; + key { [ 0x10009E8 ] }; + key { [ 0x10009E9 ] }; + key { [ 0x10009EA ] }; + key { [ 0x10009EB ] }; + key { [ 0x10009EC ] }; + key { [ 0x10009ED ] }; + key { [ 0x10009EE ] }; + key { [ 0x10009EF, parenleft ] }; + key { [ 0x10009E6, parenright ] }; + key { [ minus, 0x1000983 ] }; + key { [ 0x10009C3, 0x100098B ] }; + +// Mainly long vowels + + key { [ 0x10009CC, 0x1000994 ] }; + key { [ 0x10009C8, 0x1000990 ] }; + key { [ 0x10009BE, 0x1000986 ] }; + key { [ 0x10009C0, 0x1000988 ] }; + key { [ 0x10009C2, 0x100098A ] }; + +// Mainly voiced consonants + + key { [ 0x10009AC, 0x10009AD ] }; + key { [ 0x10009B9, 0x1000999 ] }; + key { [ 0x1000997, 0x1000998 ] }; + key { [ 0x10009A6, 0x10009A7 ] }; + key { [ 0x100099C, 0x100099D ] }; + key { [ 0x10009A1, 0x10009A2 ] }; + key { [ 0x10009BC, 0x100099E ] }; + +// Mainly short vowels + key { [ 0x10009CB, 0x1000993 ] }; + key { [ 0x10009C7, 0x100098F ] }; + key { [ 0x10009CD, 0x1000985 ] }; + key { [ 0x10009BF, 0x1000987 ] }; + key { [ 0x10009C1, 0x1000989 ] }; + + +// Mainly unvoiced consonants + + key { [ 0x10009AA, 0x10009AB ] }; + key { [ 0x10009B0, 0x10009DD ] }; + key { [ 0x1000995, 0x1000996 ] }; + key { [ 0x10009A4, 0x10009A5 ] }; + key { [ 0x100099A, 0x100099B ] }; + key { [ 0x100099F, 0x10009A0 ] }; + key { [ backslash, bar ] }; + + key { [ 0x10009CE ] }; + key { [ 0x1000982, 0x1000981 ] }; + key { [ 0x10009AE, 0x10009A3 ] }; + key { [ 0x10009A8, 0x10009A8 ] }; + key { [ 0x10009AC, 0x10009AC ] }; + key { [ 0x10009B2, 0x10009B2 ] }; + key { [ 0x10009B8, 0x10009B6 ] }; + key { [ comma, 0x10009B7 ] }; + key { [ period, 0x1000964 ] }; + key { [ 0x10009DF, 0x10009AF ] }; +}; + +xkb_symbols "ben_gitanjali" { + name[Group1]= "Bangla (India, Gitanjali)"; + key { [ Escape ] }; + +// numbers + key { [ colon, question ] }; + key { [ 0x10009E7, 0x10009CE ] }; + key { [ 0x10009E8, apostrophe ] }; + key { [ 0x10009E9, numbersign ] }; + key { [ 0x10009EA, 0x10009F3 ] }; + key { [ 0x10009EB, slash ] }; + key { [ 0x10009EC, period ] }; + key { [ 0x10009ED, ampersand ] }; + key { [ 0x10009EE, asterisk ] }; + key { [ 0x10009EF, parenleft ] }; + key { [ 0x10009E6, parenright ] }; + key { [ minus, 0x1000983 ] }; + key { [ 0x10009C3, 0x100098B ] }; + key { [ BackSpace ] }; + +// tab, q to ] + key { [ Tab, ISO_Left_Tab ] }; + key { [ 0x10009D7, 0x1000994 ] }; + key { [ 0x10009C8, 0x1000990 ] }; + key { [ 0x10009BE, 0x1000985 ] }; + key { [ 0x10009C0, 0x1000988 ] }; + key { [ 0x10009C2, 0x100098A ] }; + key { [ 0x10009AC, 0x10009AD ] }; + key { [ 0x10009B9, 0x1000999 ] }; + key { [ 0x1000997, 0x1000998 ] }; + key { [ 0x10009A6, 0x10009A7 ] }; + key { [ 0x100099C, 0x100099D ] }; + key { [ 0x10009A1, 0x10009A2 ] }; + key { [ 0x100200C, 0x100099E ] }; + key { [ Return ] }; + +// caps, a to ' +// key { [ Caps_Lock ] }; + key { [ 0x100200D, 0x1000993 ] }; + key { [ 0x10009C7, 0x100098F ] }; + key { [ 0x10009CD ] }; + key { [ 0x10009BF, 0x1000987 ] }; + key { [ 0x10009C1, 0x1000989 ] }; + key { [ 0x10009AA, 0x10009AB ] }; + key { [ 0x10009B0, 0x10009F0 ] }; + key { [ 0x1000995, 0x1000996 ] }; + key { [ 0x10009A4, 0x10009A5 ] }; + key { [ 0x100099A, 0x100099B ] }; + key { [ 0x100099F, 0x10009A0 ] }; + +// shift, z to / +// key { [ Shift_L ] }; + key { [ 0x10009C7, 0x100098F ] }; + key { [ 0x1000982, 0x1000981 ] }; + key { [ 0x10009AE, 0x10009A3 ] }; + key { [ 0x10009A8, 0x10009DC ] }; + key { [ 0x10009F1, 0x10009DD ] }; + key { [ 0x10009B2 ] }; + key { [ 0x10009B8, 0x10009B6 ] }; + key { [ comma, 0x10009B7 ] }; + key { [ 0x1000964, 0x10009FA ] }; + key { [ 0x10009AF, 0x10009DF ] }; + key { [ backslash, bar ] }; + +// third level with right-win +// include "level3(lwin_switch)" + +// key { [ Control_L ] }; +// key { [ space ] }; + +// modifier_map Shift { Shift_L }; +// modifier_map Lock { Caps_Lock }; +// modifier_map Control{ Control_L }; +}; + + +xkb_symbols "ben_bornona" { + name[Group1]= "Bangla (India, Bornona)"; + key { [ Escape ] }; + +// numbers + key { [ 0x100200D, 0x100200C ] }; + key { [ 0x10009E7, exclam ] }; + key { [ 0x10009E8, 0x1000981 ] }; + key { [ 0x10009E9, numbersign ] }; + key { [ 0x10009EA, 0x10009F3 ] }; + key { [ 0x10009EB, percent ] }; + key { [ 0x10009EC, 0x1000983 ] }; + key { [ 0x10009ED, 0x10009CE ] }; + key { [ 0x10009EE, asterisk ] }; + key { [ 0x10009EF, parenleft ] }; + key { [ 0x10009E6, parenright ] }; + key { [ minus, underscore ] }; + key { [ equal, plus ] }; + key { [ BackSpace ] }; + +// tab, q to ] + key { [ Tab, ISO_Left_Tab ] }; + key { [ 0x1000982, 0x1000999, 0x10009D7 ] }; + key { [ 0x10009A2, 0x10009A0, 0x100098A ] }; + key { [ 0x10009C7, 0x10009C8, 0x1000988 ] }; + key { [ 0x10009B0, 0x10009C3, 0x100098B ] }; + key { [ 0x10009A4, 0x100099F ] }; + key { [ 0x10009A7, 0x10009A5, 0x100098F ] }; + key { [ 0x10009C1, 0x10009C2, 0x1000989 ] }; + key { [ 0x10009BF, 0x10009C0, 0x1000987 ] }; + key { [ 0x10009CB, 0x10009CC, 0x1000993 ] }; + key { [ 0x10009AA, 0x1000990, 0x1000994 ] }; + key { [ 0x100005B, 0x100007B, 0x10009DC ] }; + key { [ 0x100005D, 0x100007D ] }; + key { [ Return ] }; + +// caps, a to ' +// key { [ Caps_Lock ] }; + key { [ 0x10009BE, 0x1000985, 0x10009F4 ] }; + key { [ 0x10009B8, 0x10009B6, 0x10009F5 ] }; + key { [ 0x10009A6, 0x10009A1, 0x10009F8 ] }; + key { [ 0x10009AB ] }; + key { [ 0x1000997, 0x1000998 ] }; + key { [ 0x10009CD, 0x10009B9 ] }; + key { [ 0x100099C, 0x100099D ] }; + key { [ 0x1000995, 0x1000996 ] }; + key { [ 0x10009B2, 0x1000964 ] }; + key { [ semicolon, 0x100003A ] }; + key { [ apostrophe, quotedbl ] }; + +// shift, z to / +// key { [ Shift_L ] }; + key { [ 0x10009AF, 0x10009DC ] }; + key { [ 0x10009B7, 0x10009DD, 0x10009FA ] }; + key { [ 0x100099A, 0x100099B ] }; + key { [ 0x10009AD ] }; + key { [ 0x10009AC, 0x10009DF ] }; + key { [ 0x10009A8, 0x10009A3 ] }; + key { [ 0x10009AE, 0x100099E ] }; + key { [ comma, 0x100003C ] }; + key { [ 0x100002E, 0x100003E ] }; + key { [ 0x100002F, question ] }; + key { [ 0x10009F1, 0x10009F0 ] }; + +// key { [ Control_L ] }; +// key { [ space ] }; + +// modifier_map Shift { Shift_L }; +// modifier_map Lock { Caps_Lock }; +// modifier_map Control{ Control_L }; +// third level with right-alt + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "guj" { + name[Group1]= "Gujarati"; + + // Mainly numbers. + key { [ U0AE7, U0A8D ] }; + key { [ U0AE8, U0AC5 ] }; + key { [ U0AE9 ] }; + key { [ U0AEA ] }; + key { [ U0AEB ] }; + key { [ U0AEC ] }; + key { [ U0AED ] }; + key { [ U0AEE ] }; + key { [ U0AEF, parenleft ] }; + key { [ U0AE6, parenright ] }; + key { [ minus, U0A83 ] }; + key { [ U0A8B, U0AC3 ] }; + +// Mainly long vowels + + key { [ U0ACC, U0A94 ] }; + key { [ U0AC8, U0A90 ] }; + key { [ U0ABE, U0A86 ] }; + key { [ U0AC0, U0A88 ] }; + key { [ U0AC2, U0A8A ] }; + +// Mainly voiced consonants + + key { [ U0AAC, U0AAD ] }; + key { [ U0AB9, U0A99 ] }; + key { [ U0A97, U0A98 ] }; + key { [ U0AA6, U0AA7 ] }; + key { [ U0A9C, U0A9D ] }; + key { [ U0AA1, U0AA2 ] }; + key { [ U0ABC, U0A9E ] }; + +// Mainly short vowels + key { [ U0ACB, U0A93 ] }; + key { [ U0AC7, U0A8F ] }; + key { [ U0ACD, U0A85 ] }; + key { [ U0ABF, U0A87 ] }; + key { [ U0AC1, U0A89 ] }; + +// Mainly unvoiced consonants + + key { [ U0AAA, U0AAB ] }; + key { [ U0AB0, U0AB0 ] }; + key { [ U0A95, U0A96 ] }; + key { [ U0AA4, U0AA5 ] }; + key { [ U0A9A, U0A9B ] }; + key { [ U0A9F, U0AA0 ] }; + key { [ U0AC9, U0A91 ] }; + + key { [ z , Z ] }; + key { [ U0A82, U0A81 ] }; + key { [ U0AAE, U0AA3 ] }; + key { [ U0AA8, U0AA8 ] }; + key { [ U0AB5, U0AB5 ] }; + key { [ U0AB2, U0AB3 ] }; + key { [ U0AB8, U0AB6 ] }; + key { [ comma, U0AB7 ] }; + key { [ period, U0964 ] }; + key { [ U0AAF, question ] }; + include "rupeesign(4)" + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "kan" { + + // InScript layout for Kannada + // Author : G Karunakar + // Date : Wed Nov 13 17:22:58 IST 2002 + // Kannada digits mapped in basic only + + name[Group1]= "Kannada"; + + key { [ U0cca, U0c92 ] }; + key { [ U0ce7 ] }; + key { [ U0ce8 ] }; + key { [ U0ce9 ] }; + key { [ U0cea ] }; + key { [ U0ceb ] }; + key { [ U0cec ] }; + key { [ U0ced ] }; + key { [ U0cee ] }; + key { [ U0cef ] }; + key { [ U0ce6 ] }; + key { [ U0c83 ] }; + key { [ U0cc3, U0c8b ] }; + + key { [ U0ccc, U0c94 ] }; + key { [ U0cc8, U0c90 ] }; + key { [ U0cbe, U0c86 ] }; + key { [ U0cc0, U0c88 ] }; + key { [ U0cc2, U0c8a ] }; + key { [ U0cac, U0cad ] }; + key { [ U0cb9, U0c99 ] }; + key { [ U0c97, U0c98 ] }; + key { [ U0ca6, U0ca7 ] }; + key { [ U0c9c, U0c9d ] }; + key { [ U0ca1, U0ca2 ] }; + key { [ U0cbc, U0c9e ] }; + + key { [ U0ccb, U0c93 ] }; + key { [ U0cc7, U0c8f ] }; + key { [ U0ccd, U0c85 ] }; + key { [ U0cbf, U0c87 ] }; + key { [ U0cc1, U0c89 ] }; + key { [ U0caa, U0cab ] }; + key { [ U0cb0, U0cb1 ] }; + key { [ U0c95, U0c96 ] }; + key { [ U0ca4, U0ca5 ] }; + key { [ U0c9a, U0c9b ] }; + key { [ U0c9f, U0ca0 ] }; + + key { [ U0cc6, U0c8e ] }; + key { [ U0c82 ] }; + key { [ U0cae, U0ca3 ] }; + key { [ U0ca8 ] }; + key { [ U0cb5, U0cb4 ] }; + key { [ U0cb2, U0cb3 ] }; + key { [ U0cb8, U0cb6 ] }; + key { [ comma , U0cb7 ] }; + key { [ period ] }; + key { [ U0caf, U0040 ] }; + + key { + symbols[Group1] = [ Mode_switch, Multi_key ], + virtualMods = AltGr + }; + include "rupeesign(4)" + include "level3(ralt_switch)" +}; + +// Description : A keymap for Malayalam +// Encoding : Unicode (http://www.unicode.org) +// Author : Baiju M +// Date : Sat Aug 17 21:10:48 IST 2002 +// Mapping: + +partial alphanumeric_keys +xkb_symbols "mal" { + + name[Group1] = "Malayalam"; + + //From grave to backslash (\) + + key { [ U0d4a , U0d12 ] }; + +// svu: +// These lines were in former "mal" variant - +// but the digits are replaced with the ones from 'mal_plusnum' - +// for the integrity of all Indian layouts +// +// key { [1 , exclam ] }; +// key { [2 , at ] }; +// key { [3 , numbersign ] }; +// key { [4 , dollar ] }; +// key { [5 , percent ] }; +// key { [6 ,asciicircum ] }; +// key { [7 , ampersand ] }; +// key { [8 , asterisk ] }; +// key { [9 , parenleft ] }; +// key { [0 , parenright ] }; + + key { [ U0d67 , exclam ] }; + key { [ U0d68 , at ] }; + key { [ U0d69 , numbersign ] }; + key { [ U0d6a , dollar ] }; + key { [ U0d6b , percent ] }; + key { [ U0d6c , asciicircum ] }; + key { [ U0d6d , ampersand ] }; + key { [ U0d6e , asterisk ] }; + key { [ U0d6f , parenleft ] }; + key { [ U0d66 , parenright ] }; + + key { [ minus , U0d03 ] }; + key { [ U0d43 , U0d0b ] }; + key { [U0200c, U05C ]};//bksl: ZWNJ + + + // From 'q' to right bracket (]) + + key { [ U0d4c , U0d14 ] }; + key { [ U0d48 , U0d10 ] }; + key { [ U0d3e , U0d06 ] }; + key { [ U0d40 , U0d08 ] }; + key { [ U0d42 , U0d0a ] }; + key { [ U0d2c , U0d2d ] }; + key { [ U0d39 , U0d19 ] }; + key { [ U0d17 , U0d18 ] }; + key { [ U0d26 , U0d27 ] }; + key { [ U0d1c , U0d1d ] }; + key { [ U0d21 , U0d22 ] }; + key { [ U0200d , U0d1e ] }; + + // From 'a' to apostrophe (') + + key { [ U0d4b , U0d13 ] }; + key { [ U0d47 , U0d0f ] }; + key { [ U0d4d , U0d05 ] }; + key { [ U0d3f , U0d07 ] }; + key { [ U0d41 , U0d09 ] }; + key { [ U0d2a , U0d2b ] }; + key { [ U0d30 , U0d31 ] }; + key { [ U0d15 , U0d16 ] }; + key { [ U0d24 , U0d25 ] }; + key { [ U0d1a , U0d1b ] }; + key { [ U0d1f , U0d20 ] }; + + // From 'z' to slash (/) + + key { [ U0d46 , U0d0e ] }; + key { [ U0d02 , U200b ] };//X:ZWSP + key { [ U0d2e , U0d23 ] }; + key { [ U0d28 ] }; + key { [ U0d35 , U0d34 ] }; + key { [ U0d32 , U0d33 ] }; + key { [ U0d38 , U0d36 ] }; + key { [ comma , U0d37 ] }; + key { [ period , U0200d ] }; + key { [ U0d2f , question ] }; + + include "rupeesign(4)" + include "level3(ralt_switch)" +}; + +//Name : Lalitha +//Description : A transliteration keyboard layout for Malayalam +//Original Author : Noah Levitt +//Current Main : Jinesh K.J, Swathantra Malayalam Computing (SMC) + +partial alphanumeric_keys +xkb_symbols "mal_lalitha" { + name[Group1] = "Malayalam (Lalitha)"; + key.type[group1]="FOUR_LEVEL"; + + // Roman digits + key { [ U0D4D, U0D02, grave, asciitilde ] }; // grave: virama(chandrakala),anusvara + key { [ 1, exclam, U0D67, exclam ] }; + key { [ 2, at, U0D68, at ] }; + key { [ 3, numbersign, U0D69, numbersign ] }; + key { [ 4, dollar, U0D6A, U20B9 ] }; // Rupee + key { [ 5, percent, U0D6B, percent ] }; + key { [ 6, asciicircum, U0D6C, asciicircum ] }; + key { [ 7, ampersand, U0D6D, ampersand ] }; + key { [ 8, asterisk, U0D6E, asterisk ] }; + key { [ 9, parenleft, U0D6F, parenleft ] }; + key { [ 0, parenright, U0D66, parenright ] }; + key { [ minus, underscore ] }; + key { [ equal, plus ] }; + key { [ U005C, U007C, U200C ] };//backslash:pipe,backslash,ZWNJ + + //Q Row + key { [ U0D48, U0D4C, U0D10, U0D14 ] }; // Q: ai and au matras + key { [ U0D35 ] }; // W: wa, OM + key { [ U0D46, U0D47, U0D0E, U0D0F ] }; // E: e,ee matras + key { [ U0D30, U0D31, U0D43, U0D0B ] }; // R: ra,rra, vocalic Ri + key { [ U0D24, U0D25, U0D1F, U0D20 ] }; // T: tha, ttha,ta,tta + key { [ U0D2f ] }; // Y: ya + key { [ U0D41, U0D42, U0D09, U0D0A ] }; // U: u, uu matras + key { [ U0D3F, U0D40, U0D07, U0D08 ] }; // I: i, ii matras + key { [ U0D4A, U0D4B, U0D12, U0D13 ] }; // O: o, oo matras + key { [ U0D2A ] }; // P: pa + key { [ bracketleft, braceleft ] };//braceleft: + key { [ bracketright, braceright ] };//braceright: + + //A Row + key { [ U0D3E, U0D05, U0D06, U0D05 ] }; // A: a,aa + key { [ U0D38, U0D37 ] }; // S: sa, ssa + key { [ U0D26, U0D27, U0D21, U0D22 ] }; // D: soft da,soft dda,hard da,hard dda, + key { [ U0D2B ] }; // F: pha + key { [ U0D17, U0D18 ] }; // G: ga, gha + key { [ U0D39, U0D03 ] }; // H: ha, visarg + key { [ U0D1C, U0D1D ] }; // J: ja, jha + key { [ U0D15, U0D16 ] }; // K: ka, kha + key { [ U0D32, U0D33 ] }; // L: la, vocalic L or lru matra` + key { [ semicolon, colon ] }; + key { [apostrophe, quotedbl ] }; + + //Z Row + key { [ U0D34, U0D36 ] }; // Z: sha,zha + key { [ U0D4D, U200B ] }; // X: chandrakala,ZWSP + key { [ U0D1A, U0D1B ] }; // C: ca, cha + key { [ U0D35, U200D ] }; // V: va,ZWJ + key { [ U0D2C, U0D2D ] }; // B: ba, bha + key { [ U0D28, U0D23, U0D19, U0D1E ] }; // N: na, hard na,nga,nha + key { [ U0D2E, U0D02 ] }; // M: ma + key { [ comma, U003C ] };// comma: comma + key { [ period, U003E ] }; // period: period + key { [ slash, question ] }; + +// modifier_map Shift { Shift_L }; +// modifier_map Lock { Caps_Lock }; +// modifier_map Control{ Control_L }; +// modifier_map Mod3 { Mode_switch }; + include "level3(ralt_switch)" +}; + + +partial alphanumeric_keys +xkb_symbols "olck" { + + // Layout for the Ol Chiki script. + // http://www.unicode.org/L2/L2005/05243r-n2984-ol-chiki.pdf (figure 9) + + name[Group1]= "Ol Chiki"; + + key { [ grave, U1C7B ] }; + + key { [ U1C51, exclam ] }; + key { [ U1C52, at ] }; + key { [ U1C53, numbersign ] }; + key { [ U1C54, dollar, U20B9 ] }; + key { [ U1C55, percent ] }; + key { [ U1C56, asciicircum ] }; + key { [ U1C57, ampersand ] }; + key { [ U1C58, asterisk ] }; + key { [ U1C59, parenleft ] }; + key { [ U1C50, parenright ] }; + key { [ minus, U1C7C ] }; + key { [ equal, plus ] }; + + key { [ U1C67 ] }; + key { [ U1C63 ] }; + key { [ U1C6E ] }; + key { [ U1C68 ] }; + key { [ U1C74, U1C5B ] }; + key { [ U1C6D ] }; + key { [ U1C69 ] }; + key { [ U1C64 ] }; + key { [ U1C5A, U1C73 ] }; + key { [ U1C6F ] }; + key { [ bracketleft, braceleft ] }; + key { [ bracketright, braceright ] }; + key { [ U1C7F, U1C7E ] }; + + key { [ U1C5F ] }; + key { [ U1C65 ] }; + key { [ U1C70, U1C6B ] }; + key { [ U1C5D ] }; + key { [ U1C5C ] }; + key { [ U1C66, U1C77 ] }; + key { [ U1C61 ] }; + key { [ U1C60 ] }; + key { [ U1C5E ] }; + key { [ semicolon, U1C7A ] }; + key { [ apostrophe, quotedbl ] }; + + key { [ U1C72 ] }; + key { [ U1C7D ] }; + key { [ U1C6A ] }; + key { [ U1C76 ] }; + key { [ U1C75 ] }; + key { [ U1C71, U1C78 ] }; + key { [ U1C62, U1C6C ] }; + key { [ comma, less ] }; + key { [ U1C79, greater ] }; + key { [ slash, question ] }; + + key { + symbols[Group1] = [ Mode_switch, Multi_key ], + virtualMods = AltGr + }; + + include "level3(ralt_switch)" +}; + + +partial alphanumeric_keys +xkb_symbols "ori" { + // InScript layout for Oriya + // Author: G Karunakar + // Date: Wed Nov 13 18:16:19 IST 2002 + + name[Group1]= "Oriya"; + + key { [ U0b67 ] }; + key { [ U0b68 ] }; + key { [ U0b69 ] }; + key { [ U0b6a ] }; + key { [ U0b6b ] }; + key { [ U0b6c ] }; + key { [ U0b6d ] }; + key { [ U0b6e ] }; + key { [ U0b6f ] }; + key { [ U0b66 ] }; + key { [ U0b03 ] }; + key { [ U0b43, U0b0b ] }; + + key { [ U0b4c, U0b14 ] }; + key { [ U0b48, U0b10 ] }; + key { [ U0b3e, U0b06 ] }; + key { [ U0b40, U0b08 ] }; + key { [ U0b42, U0b0a ] }; + key { [ U0b2c, U0b2d ] }; + key { [ U0b39, U0b19 ] }; + key { [ U0b17, U0b18 ] }; + key { [ U0b26, U0b27 ] }; + key { [ U0b1c, U0b1d ] }; + key { [ U0b21, U0b22 ] }; + key { [ U0b3c, U0b1e ] }; + + key { [ U0b4b, U0b13 ] }; + key { [ U0b47, U0b0f ] }; + key { [ U0b4d, U0b05 ] }; + key { [ U0b3f, U0b07 ] }; + key { [ U0b41, U0b09 ] }; + key { [ U0b2a, U0b2b ] }; + key { [ U0b30 ] }; + key { [ U0b15, U0b16 ] }; + key { [ U0b24, U0b25 ] }; + key { [ U0b1a, U0b1b ] }; + key { [ U0b1f, U0b20 ] }; + + key { [ U0b02, U0b01 ] }; + key { [ U0b2e, U0b23 ] }; + key { [ U0b28 ] }; + key { [ U0b35 ] }; + key { [ U0b32, U0b33 ] }; + key { [ U0b38, U0b36 ] }; + key { [ comma , U0b37 ] }; + key { [ period ] }; + key { [ U0b2f, U0040 ] }; + + key { + symbols[Group1] = [ Mode_switch, Multi_key ], + virtualMods = AltGr + }; + include "rupeesign(4)" + include "level3(ralt_switch)" +}; + +// Phonetic layout for Oriya like Hindi Bolnagiri +// Author: Lalit Mishra +// Date: 3rd March, 2021. +partial alphanumeric_keys +xkb_symbols "ori-bolnagri" { + name[Group1] = "Oriya (Bolnagri)"; + key.type[group1]="FOUR_LEVEL"; + // Roman digits + key { [ U0B02, U0B01, grave, asciitilde ] }; // grave: anusvara, candrabindu + key { [ U0B67, exclam, 1 ] }; + key { [ U0B68, at, 2, U20AC ] }; + key { [ U0B69, numbersign, 3, U00A3 ] }; + key { [ U0B6A, dollar, 4, U20B9 ] }; // Rupee symbol on Shift+AltGr+4 + key { [ U0B6B, percent, 5 ] }; + key { [ U0B6C, asciicircum, 6 ] }; + key { [ U0B6D, ampersand, 7 ] }; + key { [ U0B6E, asterisk, 8 ] }; + key { [ U0B6F, parenleft, 9 ] }; + key { [ U0B66, parenright, 0 ] }; + key { [ minus, underscore ] }; + key { [ equal, plus ] }; + key { [ U0964, U0965, U007C, U005C ] }; //pipe : danda, double danda + //Q Row + key { [ U200C, U200D ] }; // Q: ZWNJ, ZWJ + key { [ U0B71, U0B35 ] }; // W: wa + key { [ U0B47, U0B48, U0B0F, U0B10 ] }; // E: e, ai matras + key { [ U0B30, U0B43, U0B0B, U0B60 ] }; // R: ra, vocalic Ri + key { [ U0B24, U0B25 ] }; // T: ta, tha + key { [ U0B2f, U0B5F, U0B1E ] }; // Y: ya, nya + key { [ U0B41, U0B42, U0B09, U0B0A ] }; // U: u, uu matras + key { [ U0B3F, U0B40, U0B07, U0B08 ] }; // I: i, ii matras + key { [ U0B4B, U0B4C, U0B13, U0B14 ] }; // O: o, au matras + key { [ U0B2A, U0B2B ] }; // P: pa, pha + key { [ bracketleft, braceleft ] }; + key { [ bracketright, braceright] }; + //A Row + key { [ U0B3E, U0B06, U0B05, U0B06 ] }; // A: aa, full A, AA + key { [ U0B38, U0B37 ] }; // S: sa, ssa + key { [ U0B26, U0B27 ] }; // D: da, dha + key { [ U0B1F, U0B20 ] }; // F: TA, THA + key { [ U0B17, U0B18 ] }; // G: ga, gha + key { [ U0B39, U0B03 ] }; // H: ha, visarg + key { [ U0B1C, U0B1D ] }; // J: ja, jha + key { [ U0B15, U0B16 ] }; // K: ka, kha + key { [ U0B32, U0B33, U0B62, U0B0C ] }; // L: la, vocalic L or lru matra + key { [ semicolon, colon ] }; + key { [ apostrophe, quotedbl ] }; + //Z Row + key { [ U0B36 ] }; // Z: sha, akaar candra + key { [ U0B4D ] }; // X: halant, aakaar candra, chandra A + key { [ U0B1A, U0B1B ] }; // C: ca, cha + key { [ U0B21, U0B22 ] }; // V: da, dha + key { [ U0B2C, U0B2D ] }; // B: ba, bha + key { [ U0B28, U0B23 ] }; // N: na, nna + key { [ U0B2E, U0B19, U0B3D ] }; // M: ma, nga, avagraha + key { [ comma, U0B70, U0B44, U0B61 ] }; // comma: comma, dev abbreviation sign + key { [ period, U0B3C, U0B55 ] }; // period: period, nukta + key { [ slash, question ] }; + +// modifier_map Shift { Shift_L }; +// modifier_map Lock { Caps_Lock }; +// modifier_map Control{ Control_L }; +// modifier_map Mod3 { Mode_switch }; + + include "level3(ralt_switch)" +}; + +// Phonetic layout for Oriya like Hindi Wx +// Author: Lalit Mishra +// Date: 3rd March, 2021. +partial alphanumeric_keys +xkb_symbols "ori-wx" { + name[Group1]= "Oriya (Wx)"; + key { [ grave, asciitilde, 0x100200C, 0x100200D ] }; + key { [ 0x1000B67, exclam, 1 ] }; + key { [ 0x1000B68, at, 2, 0x10020AC ] }; + key { [ 0x1000B69, numbersign, 3, 0x10000A3 ] }; + key { [ 0x1000B6A, dollar, 4, 0x10020B9 ] }; + key { [ 0x1000B6B, percent, 5 ] }; + key { [ 0x1000B6C, asciicircum, 6 ] }; + key { [ 0x1000B6D, ampersand, 7 ] }; + key { [ 0x1000B6e, asterisk, 8 ] }; + key { [ 0x1000B6F, parenleft, 9 ] }; + key { [ 0x1000B66, parenright, 0 ] }; + key { [ minus, underscore ] }; + key { [ equal, plus ] }; + key { [ 0x1000B43, 0x1000B44, 0x1000B0B, 0x1000B60 ] }; + key { [ 0x1000B24, 0x1000B25 ] }; + key { [ 0x1000B47, 0x1000B48, 0x1000B0F, 0x1000B10 ] }; + key { [ 0x1000B30, 0x1000B37 ] }; + key { [ 0x1000B1F, 0x1000B20 ] }; + key { [ 0x1000B2F, 0x1000B5F ] }; + key { [ 0x1000B41, 0x1000B42, 0x1000B09, 0x1000B0A ] }; + key { [ 0x1000B3F, 0x1000B40, 0x1000B07, 0x1000B08 ] }; + key { [ 0x1000B4B, 0x1000B4C, 0x1000B13, 0x1000B14 ] }; + key { [ 0x1000B2A, 0x1000B2B ] }; + key { [ bracketleft, braceleft ] }; + key { [ bracketright, braceright ] }; + key { [ 0x1000964, 0x1000965, backslash, bar ] }; + key { [ 0x1000B4D, 0x1000B3E, 0x1000B05, 0x1000B06 ] }; + key { [ 0x1000B38, 0x1000B36 ] }; + key { [ 0x1000B21, 0x1000B22 ] }; + key { [ 0x1000B19, 0x1000B1E ] }; + key { [ 0x1000B17, 0x1000B18 ] }; + key { [ 0x1000B39, 0x1000B03 ] }; + key { [ 0x1000B1C, 0x1000B1D ] }; + key { [ 0x1000B15, 0x1000B16 ] }; + key { [ 0x1000B32, 0x1000B62, 0x1000B33, 0x1000B0C ] }; + key { [ semicolon, colon ] }; + key { [ apostrophe, quotedbl ] }; + key { [ 0x1000B01, 0x1000B3C, 0x1000B3D ] }; + key { [ 0x1000B26, 0x1000B27 ] }; + key { [ 0x1000B1A, 0x1000B1B ] }; + key { [ 0x1000B71, 0x1000B35 ] }; + key { [ 0x1000B2C, 0x1000B2D ] }; + key { [ 0x1000B28, 0x1000B23 ] }; + key { [ 0x1000B2E, 0x1000B02 ] }; + key { [ comma, less ] }; + key { [ period, greater ] }; + key { [ slash, question ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "tam" { + name[Group1]= "Tamil (InScript)"; + + key { [ U0BCA, U0B92 ] }; + + // Mainly numbers. + key { [ U0BE7 ] }; + key { [ U0BE8 ] }; + key { [ U0BE9 ] }; + key { [ U0BEA ] }; + key { [ U0BEB ] }; + key { [ U0BEC ] }; + key { [ U0BED ] }; + key { [ U0BEE ] }; + key { [ U0BEF, parenleft ] }; + key { [ U0BF0, parenright ] }; + key { [ U0BF1, U0B83 ] }; + key { [ U0BF2, plus ] }; + +// Mainly long vowels + + key { [ U0BCC, U0B94 ] }; + key { [ U0BC8, U0B90 ] }; + key { [ U0BBE, U0B86 ] }; + key { [ U0BC0, U0B88 ] }; + key { [ U0BC2, U0B8A ] }; + +// Mainly voiced consonants + + key { [ U0BB9, U0B99 ] }; + key { [ U0B9c ] }; + key { [ U0B9E ] }; + +// Mainly short vowels + key { [ U0BCB, U0B93 ] }; + key { [ U0BC7, U0B8F ] }; + key { [ U0BCD, U0B85 ] }; + key { [ U0BBF, U0B87 ] }; + key { [ U0BC1, U0B89 ] }; + +// Mainly unvoiced consonants + + key { [ U0BAA ] }; + key { [ U0BB0, U0BB1 ] }; + key { [ U0B95 ] }; + key { [ U0BA4 ] }; + key { [ U0B9A ] }; + key { [ U0B9F ] }; + key { [ U005C, U007C ] };//backslash-bar - Changed to Unicode + + key { [ U0BC6, U0B8E ] }; + key { [ U0B82 ] }; + key { [ U0BAE, U0BA3 ] }; + key { [ U0BA8, U0BA9 ] }; + key { [ U0BB5, U0BB4 ] }; + key { [ U0BB2, U0BB3 ] }; + key { [ U0BB8, U0BB6 ] }; + key { [ comma, U0BB7 ] }; + key { [ period, U0964 ] }; + key { [ U0BAF, question ] }; + + include "level3(ralt_switch)" + include "rupeesign(4)" +}; + +partial alphanumeric_keys +xkb_symbols "tam_tamilnet" { + +// Description: A keymap based on the TamilNet'99 typewriter keyboard +// Encoding: Unicode (http://www.unicode.org) +// Author: Thuraiappah Vaseeharan +// Modifed by: Malathi S +// Secondary contact: Sri Ramadoss M +// Date : Fri Sep 4 11:32:00 CST 2009 +// Mapping: + + name[Group1]= "Tamil (TamilNet '99)"; + + // granthas + key { [ apostrophe, asciitilde ] }; + key { [ U0031, exclam ] } ; + key { [ U0032, at ] } ; + key { [ U0033, numbersign ] } ; + key { [ U0034, U0BF9 ] } ; + key { [ U0035, percent ] } ; + key { [ U0036, asciicircum ] } ; + key { [ U0037, ampersand ] } ; + key { [ U0038, asterisk ] } ; + key { [ U0039, parenleft ] } ; + key { [ U0030, parenright ] } ; + key { [ minus, underscore ] }; + key { [ equal, plus ] }; + + + // Qrow + key { [ U0B9E, U0BB6 ] }; + key { [ U0BB1, U0BB7 ] }; + key { [ U0BA8, U0BB8 ] }; + key { [ U0B9A, U0BB9 ] }; + key { [ U0BB5, U0B9C ] }; + key { [ U0BB2 ] }; + key { [ U0BB0 ] }; + key { [ U0BC8, U0B90 ] }; + key { [ U0BCA, U0BCB ] }; + key { [ U0BBF, U0BC0 ] }; + key { [ U0BC1, U0BC2 ] }; + + // Arow + key { [ U0BAF ] }; + key { [ U0BB3 ] }; + key { [ U0BA9 ] }; + key { [ U0B95 ] }; + key { [ U0BAA ] }; + key { [ U0BBE, U0BB4 ] }; + key { [ U0BA4 ] }; + key { [ U0BAE ] }; + key { [ U0B9F ] }; + key { [ U0BCD, U0B83 ] }; + key { [ U0B99 ] }; + + // Zrow + key { [ U0BA3 ] }; + key { [ U0B92, U0B93 ] }; + key { [ U0B89, U0B8A ] }; + key { [ U0B8E, U0B8F ] }; + key { [ U0BC6, U0BC7 ] }; + key { [ U0B94, U0BCC ] }; + key { [ U0B85, U0B86 ] }; + key { [ U0B87, U0B88 ] }; +}; + +partial alphanumeric_keys +xkb_symbols "tam_tamilnet_with_tam_nums" { + +// Description: A keymap based on the TamilNet'99 typewriter keyboard +// Encoding: Unicode (http://www.unicode.org) +// Author: Malathi S +// Secondary contact: Sri Ramadoss M +// Date : Fri Sep 4 11:33:00 CST 2009 +// Mapping: + + name[Group1]= "Tamil (TamilNet '99 with Tamil numerals)"; + + // Mainly numbers. + key { [ apostrophe, asciitilde ] }; + key { [ U0BE7, exclam ] }; + key { [ U0BE8, at ] }; + key { [ U0BE9, numbersign ] }; + key { [ U0BEA, U0BF9 ] }; + key { [ U0BEB, percent ] }; + key { [ U0BEC, asciicircum ] }; + key { [ U0BED, ampersand ] }; + key { [ U0BEE, asterisk ] }; + key { [ U0BEF, parenleft ] }; + key { [ U0BE6, parenright ] }; + key { [ minus, underscore ] }; + key { [ equal, plus ] }; + + + // Qrow + key { [ U0B9E, U0BB6 ] }; + key { [ U0BB1, U0BB7 ] }; + key { [ U0BA8, U0BB8 ] }; + key { [ U0B9a, U0BB9 ] }; + key { [ U0BB5, U0B9c ] }; + key { [ U0BB2 ] }; + key { [ U0BB0 ] }; + key { [ U0BC8, U0B90 ] }; + key { [ U0BCA, U0BCB ] }; + key { [ U0BBF, U0BC0 ] }; + key { [ U0BC1, U0BC2 ] }; + + // Arow + key { [ U0BAF ] }; + key { [ U0BB3 ] }; + key { [ U0BA9 ] }; + key { [ U0B95 ] }; + key { [ U0BAA ] }; + key { [ U0BBE, U0BB4 ] }; + key { [ U0BA4 ] }; + key { [ U0BAE ] }; + key { [ U0B9F ] }; + key { [ U0BCD, U0B83 ] }; + key { [ U0B99 ] }; + + // Zrow + key { [ U0BA3 ] }; + key { [ U0B92, U0B93 ] }; + key { [ U0B89, U0B8A ] }; + key { [ U0B8E, U0B8F ] }; + key { [ U0BC6, U0BC7 ] }; + key { [ U0B94, U0BCC ] }; + key { [ U0B85, U0B86 ] }; + key { [ U0B87, U0B88 ] }; +}; + +partial alphanumeric_keys +xkb_symbols "tam_tamilnet_TSCII" { + +// Description : A Tamil typewrite-style keymap +// loosely based on TamilNet'99 reommendations +// Encoding : TSCII (http://www.tscii.org) +// Author : Thuraiappah Vaseeharan +// Last Modified: Sat Jan 5 17:11:26 CST 2002 + + name[Group1]= "Tamil (TamilNet '99, TSCII encoding)"; + + key { [ 0x10000b7, 0x10000a4 ] }; // aytham + key { [ 0x1000082, 0x10000a5 ] }; // shri + key { [ 0x1000083, 0x1000088 ] }; // ja + key { [ 0x1000084, 0x1000089 ] }; // sha + key { [ 0x1000085, 0x100008a ] }; // sa + key { [ 0x1000086, 0x100008b ] }; // ha + key { [ 0x1000087, 0x100008c ] }; // ksha + + // Qrow + key { [ 0x10000bb, 0x100009a ] }; // nja + key { [ 0x10000c8, 0x10000da ] }; // Ra + key { [ 0x10000bf, 0x10000d1 ] }; // NNa + key { [ 0x10000ba, 0x10000cd ] }; // ca + key { [ 0x10000c5, 0x10000d7 ] }; // va + key { [ 0x10000c4, 0x10000d6 ] }; // la + key { [ 0x10000c3, 0x10000d5 ] }; // ra + key { [ 0x10000a8, 0x10000b3 ] }; // sangili, ai + key { [ 0x10000ca, 0x10000cb ] }; // di, dI + key { [ 0x10000a2, 0x10000a3 ] }; // visiri + key { [ dead_acute, 0x10000a3 ] }; // Ukaaram + + // Arow + key { [ 0x10000c2, 0x10000d4 ] }; // ya + key { [ 0x10000c7, 0x10000d9 ] }; // La + key { [ 0x10000c9, 0x10000db ] }; // na + key { [ 0x10000b8, 0x10000cc ] }; // ka + key { [ 0x10000c0, 0x10000d2 ] }; // pa + key { [ dead_grave,0x10000a1 ] }; // pulli,aravu + key { [ 0x10000be, 0x10000d0 ] }; // tha + key { [ 0x10000c1, 0x10000d3 ] }; // ma + key { [ 0x10000bc, 0x10000ce ] }; // da + key { [ 0x10000c6, 0x10000d8 ] }; // zha + key { [ 0x10000b9, 0x1000099 ] }; // nga + + // Zrow + key { [ 0x10000bd, 0x10000cf ] }; // Na + key { [ 0x10000b4, 0x10000b5 ] }; // o, O + key { [ 0x10000af, 0x10000b0 ] }; // u, U + key { [ 0x10000b1, 0x10000b2 ] }; // e, E + key { [ 0x10000a6, 0x10000a7 ] }; // kombus + key { [ 0x10000b6, 0x10000aa ] }; // au + key { [ 0x10000ab, 0x10000ac ] }; // a, A + key { [ 0x10000fe, 0x10000ae ] }; // i, I +}; + +partial alphanumeric_keys +xkb_symbols "tam_tamilnet_TAB" { + +// Description: A keymap based on the TamilNet'99 typewriter keyboard +// Encoding: TAB (http://www.tamilnet99.org) +// Author: Thuraiappah Vaseeharan +// Date : Sun Aug 12 02:23:00 CDT 2001 + + name[Group1]= "Tamil (TamilNet '99, TAB encoding)"; + + // numeral row + key { [ 0x10000e7, 0x10000a7 ] } ; + key { [ 0x10000fa, 0x10000a8 ] } ; + key { [ 0x10000fb ] } ; + key { [ 0x10000fc ] } ; + key { [ 0x10000fd ] } ; + key { [ 0x10000fe ] } ; + key { [ 0x10000ff ] } ; + + // q-row + key { [ 0x10000eb, 0x10000b3 ] }; + key { [ 0x10000f8, 0x10000c1 ] }; + key { [ 0x10000ef, 0x10000b8 ] }; + key { [ 0x10000ea, 0x10000b2 ] }; + key { [ 0x10000f5, 0x10000be ] }; + key { [ 0x10000f4, 0x10000bd ] }; + key { [ 0x10000f3, 0x10000bc ] }; + key { [ 0x10000ac, 0x10000e4 ] }; + key { [ 0x10000ae, 0x10000af ] }; + key { [ 0x10000a4, 0x10000a6 ] }; + key { [ dead_circumflex, 0x10000a6 ] }; // Ukaaram + + // a-row + key { [ 0x10000f2, 0x10000bb ] }; + key { [ 0x10000f7, 0x10000c0 ] }; + key { [ 0x10000f9, 0x10000c2 ] }; + key { [ 0x10000e8, 0x10000b0 ] }; + key { [ 0x10000f0, 0x10000b9 ] }; + key { [ 0x10000a2, 0x10000a3 ] }; + key { [ 0x10000ee, 0x10000b6 ] }; + key { [ 0x10000f1, 0x10000ba ] }; + key { [ 0x10000ec, 0x10000b4 ] }; + key { [ 0x10000f6, 0x10000bf ] }; + key { [ 0x10000e9, 0x10000b1 ] }; + + // z-row + key { [ 0x10000ed, 0x10000b5 ] }; + key { [ 0x10000e5, 0x10000e6 ] }; + key { [ 0x10000e0, 0x10000e1 ] }; + key { [ 0x10000e2, 0x10000e3 ] }; + key { [ 0x10000aa, 0x10000ab ] }; + key { [ 0x10000ac, 0x10000a3 ] }; + key { [ 0x10000dc, 0x10000dd ] }; + key { [ 0x10000de, 0x10000df ] }; +}; + +partial alphanumeric_keys +xkb_symbols "tel" { + + // InScript layout for Telugu using Unicode + // Author: G Karunakar + // Date: + // See layout at http://www.indlinux.org/keymap/telugu.php + + name[Group1]= "Telugu"; + + key { [ U0c4a, U0c12 ] }; + key { [ U0c67 ] }; + key { [ U0c68 ] }; + key { [ U0c69, numbersign ] }; + key { [ U0c6a, dollar ] }; + key { [ U0c6b, percent ] }; + key { [ U0c6c, asciicircum ] }; + key { [ U0c6d, ampersand ] }; + key { [ U0c6e, asterisk ] }; + key { [ U0c6f, parenleft ] }; + key { [ U0c66, parenright ] }; + key { [ U0c03, underscore ] }; + key { [ U0c43, U0c0b ] }; + key { [ BackSpace ] }; + + key { [ U0c4c, U0c14 ] }; + key { [ U0c48, U0c10 ] }; + key { [ U0c3e, U0c06 ] }; + key { [ U0c40, U0c08 ] }; + key { [ U0c42, U0c0a ] }; + key { [ U0c2c, U0c2d ] }; + key { [ U0c39, U0c19 ] }; + key { [ U0c17, U0c18 ] }; + key { [ U0c26, U0c27 ] }; + key { [ U0c1c, U0c1d ] }; + key { [ U0c21, U0c22 ] }; + key { [ U0c1e ] }; + + key { [ U0c4b, U0c13 ] }; + key { [ U0c47, U0c0f ] }; + key { [ U0c4d, U0c05 ] }; + key { [ U0c3f, U0c07 ] }; + key { [ U0c41, U0c09 ] }; + key { [ U0c2a, U0c2b ] }; + key { [ U0c30, U0c31 ] }; + key { [ U0c15, U0c16 ] }; + key { [ U0c24, U0c25 ] }; + key { [ U0c1a, U0c1b ] }; + key { [ U0c1f, U0c20 ] }; + + key { [ U0c46, U0c0e ] }; + key { [ U0c02, U0c01 ] }; + key { [ U0c2e, U0c23 ] }; + key { [ U0c28 ] }; + key { [ U0c35 ] }; + key { [ U0c32, U0c33 ] }; + key { [ U0c38, U0c36 ] }; + key { [ comma , U0c37 ] }; + key { [ period ] }; + key { [ U0c2f, U0040 ] }; + + key { + symbols[Group1] = [ Mode_switch, Multi_key ], + virtualMods = AltGr + }; + include "rupeesign(4)" + include "level3(ralt_switch)" +}; + +//Name : Sarala +//Description : This is an adaptation of the Sarala keyboard (http://www.medhajananam.org/sarala/) developed +// by Krishna Dhullipalla. Because of the way keyboard shortcuts are laid out in KDE, the keyboard +// modifiers had to be changed. The layout does not take any part of the original Sarala keyboard +// code however. It has been developed from scratch, so the experience may differ. +// +// There is a ibus-m17n version of Sarala layout developed by Satya Pothamsetti on +// http://www.medhajananam.org/. +//Standard : Supports Unicode 9.0. +//Help : This layout differs slightly from the layout on Medhajenanam. The layout has been depicted in the +// pdf file attached to this post on Sarala google group. +// (https://groups.google.com/forum/#!topic/sarala-keyboard/-gsa90dUFcs). +// +//Layout Developed by : Krishna Dhullipalla (http://www.medhajananam.org/) +//Author : Venkat R Akkineni +//Date : Apr 28 2017 +partial alphanumeric_keys +xkb_symbols "tel-sarala" +{ + name[Group1] = "Telugu (Sarala)"; + key.type[group1]="FOUR_LEVEL"; + // sequence base, shift, alt, alt + shift + key { [ U0C4A, U0C12 ] }; // ొ ఒ + key { [ U0C42, U0C0A ] }; // ూ ఊ + key { [ U0C21, U0C22 ] }; // డ ఢ + key { [ U0C35, U0C39 ] }; // వ హ + key { [ U0C2C, U0C2D ] }; // బ భ + key { [ U0C28, U0C23 ] }; // న ణ + key { [ U0C2E, U0C01 ] }; // మ ఁ + key { [ U002C, U0C1E, leftcaret ] }; // , ఞ < + key { [ U002E, U0C19, rightcaret ] }; // . ఙ > + key { [ U0C36, question, KP_Divide ] }; // శ ? / + key { [ U0C2F, U0C3D ] }; // య ఽ + key { [ U0C02, U0C03 ] }; // ం ః + key { [ U0C26, U0C27 ] }; // ద ధ + key { [ U0C4D, U0C05 ] }; // ్ అ + key { [ U0C17, U0C18 ] }; // గ ఘ + key { [ U0C1A, U0C1B, U0C58, U0C59 ] }; // చ ఛ ౘ ౙ + key { [ U0C3E, U0C06 ] }; // ా ఆ + key { [ U0C15, U0C16, U0C62, U0C63 ] }; // క ఖ ౢ ౣ + key { [ U0C32, U0C33, U0C0C, U0C61 ] }; // ల ళ ఌ ౡ + key { [ U0C1F, U0C20, semicolon, colon ] }; // ట ఠ ; : + key { [ quoteright, quotedbl ] }; // ' " + key { [ U0C46, U0C0E, U0C44, U0C34 ] }; // ె ఎ ౄ ఴ + key { [ U0C38, U0C37, U0C44 ] }; // స ష ౄ + key { [ U0C47, U0C0F, U0C44 ] }; // ే ఏ ౄ + key { [ U0C30, U0C31, U0C44, U0C60 ] }; // ర ఱ ౄ ౠ + key { [ U0C24, U0C25 ] }; // త థ + key { [ U0C40, U0C08 ] }; // ీ ఈ + key { [ U0C41, U0C09 ] }; // ు ఉ + key { [ U0C3F, U0C07 ] }; // ి ఇ + key { [ U0C4B, U0C13 ] }; // ో ఓ + key { [ U0C2A, U0C2B ] }; // ప ఫ + key { [ U0C1C, U0C1D, bracketleft, braceleft ] }; // జ ఝ [ { + key { [ U0C48, U0C10, bracketright, braceright ] }; // ై ఐ ] } + key { [ KP_1, exclam, U0C67, U0C78 ] }; // 1 ! ౦ ౸ + key { [ KP_2, at, U0C68, U0C79 ] }; // 2 @ ౨ ౹ + key { [ KP_3, numbersign, U0C69, U0C7A ] }; // 3 # ౩ ౺ + key { [ KP_4, dollar, U0C6A, U0C7B ] }; // 4 $ ౪ ౻ + key { [ KP_5, percent, U0C6B, U0C7C ] }; // 5 % ౫ ౼ + key { [ KP_6, asciicircum, U0C6C, U0C7D ] }; // 6 ^ ౬ ౽ + key { [ KP_7, ampersand, U0C6D, U0C7E ] }; // 7 & ౭ ౾ + key { [ KP_8, KP_Multiply, U0C6E, U0C7F ] }; // 8 * ౮ ౿ + key { [ KP_9, U0028, U0C6F, U20B9 ] }; // 9 ( ౯ ₹ + key { [ KP_0, U0029, U0C66, U0C55 ] }; // 0 ) ౦ ౕ + key { [ KP_Subtract, underbar, NoSymbol, U0C56 ] }; // - _ ౖ + key { [ KP_Equal, KP_Add ] }; // = + + key { [ U0C4C, U0C14, U0964, U0965 ] }; // ౌ ఔ । ॥ + key { [ U0C43, U0C0B, quoteleft, asciitilde ] }; // ృ ఋ ` ~ + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "urd-phonetic" { + include "pk(urd-phonetic)" + name[Group1]= "Urdu (phonetic)"; +}; + +partial alphanumeric_keys +xkb_symbols "urd-phonetic3" { + include "pk(urd-crulp)" + name[Group1]= "Urdu (alt. phonetic)"; +}; + +partial alphanumeric_keys +xkb_symbols "urd-winkeys" { + include "pk(urd-nla)" + name[Group1]= "Urdu (Windows)"; +}; + +partial alphanumeric_keys +xkb_symbols "guru" { + name[Group1]= "Punjabi (Gurmukhi)"; + + // Mainly numbers. + key { [ U0A67 ] }; + key { [ U0A68 ] }; + key { [ U0A69, U0A71 ] }; + key { [ U0A6A, U0A74 ] }; + key { [ U0A6B, U262C ] }; + key { [ U0A6C ] }; + key { [ U0A6D ] }; + key { [ U0A6e ] }; + key { [ U0A6F, parenleft ] }; + key { [ U0A66, parenright ] }; + key { [ U0A03 ] }; + key { [ equal, plus ] }; + +// Mainly long vowels + + key { [ U0A4C, U0A14 ] }; + key { [ U0A48, U0A10 ] }; + key { [ U0A3E, U0A06 ] }; + key { [ U0A40, U0A08 ] }; + key { [ U0A42, U0A0A ] }; + +// Mainly voiced consonants + + key { [ U0A2C, U0A2D ] }; + key { [ U0A39, U0A19 ] }; + key { [ U0A17, U0A18 ] }; + key { [ U0A26, U0A27 ] }; + key { [ U0A1C, U0A1D ] }; + key { [ U0A21, U0A22 ] }; + key { [ U0A3C, U0A1E ] }; + +// Mainly short vowels + key { [ U0A4B, U0A13 ] }; + key { [ U0A47, U0A0F ] }; + key { [ U0A4D, U0A05 ] }; + key { [ U0A3F, U0A07 ] }; + key { [ U0A41, U0A09 ] }; + +// Mainly unvoiced consonants + + key { [ U0A2A, U0A2B ] }; + key { [ U0A30, U0A5C ] }; + key { [ U0A15, U0A16 ] }; + key { [ U0A24, U0A25 ] }; + key { [ U0A1A, U0A1B ] }; + key { [ U0A1F, U0A20 ] }; + key { [ U005C, U007C ] }; + + key { [ z, U0A01 ] }; + key { [ U0A02, U0A70, U0A71 ] }; + key { [ U0A2E, U0A23 ] }; + key { [ U0A28, U0A28 ] }; + key { [ U0A35, U0A35 ] }; + key { [ U0A32, U0A33 ] }; + key { [ U0A38, U0A36 ] }; + key { [ comma, less ] }; + key { [ period, U0964 ] }; + key { [ U0A2F, question ] }; + + include "rupeesign(4)" + include "level3(ralt_switch)" +}; + +//Name : Jhelum (Refind InScript) +//Description : A Jhelum keyboard layout for Gurmukhi (Punjabi) +// http://www.satluj.org/Jhelum.html +//Modified for InScript to make +//Original Author : Amanpreet Singh Alam { [ grave, asciitilde, U0A02,U0A01 ] }; // grave: anusvara, candrabindu + key { [ 1,exclam, U0A67, exclam ] }; + key { [ 2,at, U0A68, at ] }; + key { [ 3,numbersign, U0A69, numbersign ] }; + key { [ 4,dollar, U0A6A ] }; + key { [ 5,percent,U0A6B, percent ] }; + key { [ 6,U0A73, U0A6C,asciicircum ] }; + key { [ 7,U0A72,U0A6D,ampersand ] }; + key { [ 8,asterisk,U0A6E, asterisk ] }; + key { [ 9,parenleft,U0A6F,parenleft ] }; + key { [ 0,parenright,U0A66,parenright ] }; + key { [ minus,underscore] }; + key { [ equal,plus] }; + key { [ U0964,U0965,U007C,U005C] }; //pipe : danda, double danda + + //Q Row + key { [ U0A4C, U0A14 ] }; // Q: oo, ooh + key { [ U0A48, U0A10 ] }; // W: ee, ae + key { [ U0A3E, U0A06 ] }; // E: a, aa + key { [ U0A40, U0A08, U20B9 ] }; // R: ee, ai, rupeesign + key { [ U0A42, U0A0A ] }; // T: u, uu + key { [ U0A30, U0A5C ] }; // Y: ra, raa + key { [ U0A26, U0A27 ] }; // U: tha, thha + key { [ U0A17, U0A18, U0A5A ] }; // I:ga, gha + key { [ U0A24, U0A1F ] }; // O: ta, tha + key { [ U0A2A, U0A5E, VoidSymbol,U0A5E ] }; // P: pa, pha + key { [ U0A21, U0A22, bracketleft, braceleft ] }; + key { [ U0A19, U0A1E, bracketright, braceright ] }; + + //A Row + key { [ U0A4B, U0A13 ] }; // A: o, oo + key { [ U0A47, U0A0F ] }; // S: e, ee + key { [ U0A4D, U0A05 ] }; // D: halant, aa + key { [ U0A3F, U0A07 ] }; // F: i, aa + key { [ U0A41, U0A09 ] }; // G: u, uh + key { [ U0A39, U0A20 ] }; // H: ha, thha + key { [ U0A1C, U0A1D, U0A5B ] }; // J: ja, jha + key { [ U0A15, U0A16,VoidSymbol ,U0A59 ] }; // K: ka, kha + key { [ U0A32, U0A25, U0A33 ] }; // L: la, tha + key { [ U0A38, colon, U0A36 ] }; //; sa + key { [apostrophe, quotedbl ] }; + + //Z Row + key { [ U0A71, U0A3C ] }; // Z: addak, par bindi + key { [ U0A02, U0A70 ] }; // X: bindi, tippi + key { [ U0A1A, U0A1B ] }; // C: ca, cha + key { [ U0A35, U0A2F ] }; // V: va, ya + key { [ U0A2C, U0A2D ] }; // B: ba, bha + key { [ U0A28, U0A23 ] }; // N: na, nha + key { [ U0A2E, U0A2E ] }; // M: ma + key { [ comma, U262C ] };// comma: comma, dev abbreviation sign + key { [ period, U0A74 ] }; // period: period, nukta + key { [ slash, question ] }; + +// modifier_map Shift { Shift_L }; +// modifier_map Lock { Caps_Lock }; +// modifier_map Control{ Control_L }; +// modifier_map Mod3 { Mode_switch }; + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "olpc" { + +// Contact: Walter Bender + + include "in(deva)" + + key { [ U094A, U0912 ] }; // DEVANAGARI VOWEL SIGN SHORT O; DEVANAGARI LETTER SHORT O + key { [ U0967, U090D ] }; // DEVANAGARI DIGIT ONE; DEVANAGARI LETTER CANDRA E + key { [ U0968, U0945 ] }; // DEVANAGARI DIGIT TWO; DEVANAGARI VOWEL SIGN CANDRA E + key { [ U0969 ] }; // DEVANAGARI DIGIT THREE; + key { [ U096A ] }; // DEVANAGARI DIGIT FOUR; + key { [ U096B ] }; // DEVANAGARI DIGIT FIVE; + key { [ U096C ] }; // DEVANAGARI DIGIT SIX; + key { [ U096D ] }; // DEVANAGARI DIGIT SEVEN; + key { [ U096E ] }; // DEVANAGARI DIGIT EIGHT; + key { [ U096F, parenleft ] }; // DEVANAGARI DIGIT NINE; + key { [ U0966, parenright ] }; // DEVANAGARI DIGIT ZERO; + key { [ minus, U0903 ] }; // DEVANAGARI SIGN VISARGA; + key { [ U0943, U090B ] }; // DEVANAGARI VOWEL SIGN VOCALIC R; DEVANAGARI LETTER VOCALIC R + + key { [ U094C, U0914 ] }; // DEVANAGARI VOWEL SIGN AU; DEVANAGARI LETTER AU + key { [ U0948, U0910 ] }; // DEVANAGARI VOWEL SIGN AI; DEVANAGARI LETTER AI + key { [ U093E, U0906 ] }; // DEVANAGARI VOWEL SIGN AA; DEVANAGARI LETTER AA + key { [ U0940, U0908 ] }; // DEVANAGARI VOWEL SIGN II; DEVANAGARI LETTER II + key { [ U0942, U090A ] }; // DEVANAGARI VOWEL SIGN UU; DEVANAGARI LETTER UU + key { [ U092C, U092D ] }; // DEVANAGARI LETTER BA; DEVANAGARI LETTER BHA + key { [ U0939, U0919 ] }; // DEVANAGARI LETTER HA; DEVANAGARI LETTER NGA + key { [ U0917, U0918 ] }; // DEVANAGARI LETTER GA; DEVANAGARI LETTER GHA + key { [ U0926, U0927 ] }; // DEVANAGARI LETTER DA; DEVANAGARI LETTER DHA + key { [ U091C, U091D ] }; // DEVANAGARI LETTER JA; DEVANAGARI LETTER JHA + key { [ U0921, U0922 ] }; // DEVANAGARI LETTER DDA; DEVANAGARI LETTER DDHA + key { [ U093C, U091E ] }; // DEVANAGARI SIGN NUKTA; DEVANAGARI LETTER NYA + + key { [ U0949, U0911 ] }; // DEVANAGARI VOWEL SIGN CANDRA O; DEVANAGARI LETTER CANDRA O + + key { [ U094B, U0913 ] }; // DEVANAGARI VOWEL SIGN O; DEVANAGARI LETTER O + key { [ U0947, U090F ] }; // DEVANAGARI VOWEL SIGN E; DEVANAGARI LETTER E + key { [ U094D, U0905 ] }; // DEVANAGARI SIGN VIRAMA; DEVANAGARI LETTER A + key { [ U093F, U0907 ] }; // DEVANAGARI VOWEL SIGN I; DEVANAGARI LETTER I + key { [ U0941, U0909 ] }; // DEVANAGARI VOWEL SIGN U; DEVANAGARI LETTER U + key { [ U092A, U092B ] }; // DEVANAGARI LETTER PA; DEVANAGARI LETTER PHA + key { [ U0930, U0931 ] }; // DEVANAGARI LETTER RA; DEVANAGARI LETTER RRA + key { [ U0915, U0916 ] }; // DEVANAGARI LETTER KA; DEVANAGARI LETTER KHA + key { [ U0924, U0925 ] }; // DEVANAGARI LETTER TA; DEVANAGARI LETTER THA + key { [ U091A, U091B ] }; // DEVANAGARI LETTER CA; DEVANAGARI LETTER CHA + key { [ U091F, U0920 ] }; // DEVANAGARI LETTER TTA; DEVANAGARI LETTER TTHA + + key { [ U0946, U090E ] }; // DEVANAGARI VOWEL SIGN SHORT E; DEVANAGARI LETTER SHORT E + key { [ U0902, U0901 ] }; // DEVANAGARI SIGN ANUSVARA; DEVANAGARI SIGN CANDRABINDU + key { [ U092E, U0923 ] }; // DEVANAGARI LETTER MA; DEVANAGARI LETTER NNA + key { [ U0928, U0929 ] }; // DEVANAGARI LETTER NA; DEVANAGARI LETTER NNNA + key { [ U0935, U0934 ] }; // DEVANAGARI LETTER VA; DEVANAGARI LETTER LLLA + key { [ U0932, U0933 ] }; // DEVANAGARI LETTER LA; DEVANAGARI LETTER LLA + key { [ U0938, U0936 ] }; // DEVANAGARI LETTER SA; DEVANAGARI LETTER SHA + key { [ comma, U0937 ] }; // DEVANAGARI LETTER SSA + key { [ period, U0964 ] }; // DEVANAGARI DANDA + key { [ U092F, U095F ] }; // DEVANAGARI LETTER YA; DEVANAGARI LETTER YYA + + // space, space, Zero-Width-Non-Joiner (ZWNJ), Zero-Width-Joiner (ZWJ): + include "nbsp(zwnj3zwj4)" + + include "group(olpc)" +}; + +partial alphanumeric_keys +xkb_symbols "hin-wx" { + + name[Group1]= "Hindi (Wx)"; + + key { [ grave, asciitilde, 2, 3 ] }; + + key { [ 0x1000967, exclam ] }; + key { [ 0x1000968, at ] }; + key { [ 0x1000969 , numbersign ] }; + key { [ 0x100096A , dollar ] }; + key { [ 0x100096B , percent ] }; + key { [ 0x100096C , asciicircum ] }; + key { [ 0x100096D , ampersand ] }; + key { [ 0x100096e , asterisk ] }; + key { [ 0x100096F, parenleft ] }; + key { [ 0x1000966, parenright ] }; + key { [ minus, underscore ] }; + key { [ equal, plus ] }; + + + key { [ 0x1000943, 0x1000944, 0x100090B, 0x1000960] }; + key { [ 0x1000924, 0x1000925 ] }; + key { [ 0x1000947, 0x1000948, 0x100090F, 0x1000910] }; + key { [ 0x1000930, 0x1000937 ] }; + key { [ 0x100091F, 0x1000920 ] }; + + + key { [ 0x100092F ] }; + key { [ 0x1000941, 0x1000942, 0x1000909, 0x100090A ] }; + key { [ 0x100093F, 0x1000940, 0x1000907, 0x1000908 ] }; + key { [ 0x100094B, 0x100094C, 0x1000913, 0x1000914] }; + key { [ 0x100092A, 0x100092B ] }; + key { [ bracketleft, braceleft ] }; + key { [ bracketright, braceright ] }; + key { [ backslash, bar, 0x1000964, 0x1000965 ] }; + + key { [ 0x100094D, 0x100093E, 0x1000905,0x1000906 ] }; + key { [ 0x1000938, 0x1000936 ] }; + key { [ 0x1000921, 0x1000922 ] }; + key { [ 0x1000919, 0x100091E ] }; + key { [ 0x1000917, 0x1000918 ] }; + + + key { [ 0x1000939, 0x1000903 ] }; + key { [ 0x100091C, 0x100091D ] }; + key { [ 0x1000915, 0x1000916 ] }; + key { [ 0x1000932, 0x1000962, 0x1000933, 0x100090C] }; + key { [ semicolon, colon ] }; + key { [ apostrophe, quotedbl ] }; + + key { [ 0x1000901, 0x100093C, 0x100093D, 0x1000950] }; + key { [ 0x1000926, 0x1000927 ] }; + key { [ 0x100091A, 0x100091B ] }; + key { [ 0x1000935 ] }; + key { [ 0x100092C, 0x100092D ] }; + key { [ 0x1000928, 0x1000923 ] }; + key { [ 0x100092E, 0x1000902 ] }; + key { [ comma, less ] }; + key { [ period, greater ] }; + key { [ slash, question ] }; + + include "level3(ralt_switch)" + include "rupeesign(4)" +}; + +partial alphanumeric_keys +xkb_symbols "eng" { + + include "us(basic)" + name[Group1]= "English (India, with rupee)"; + + include "rupeesign(4)" + include "level3(ralt_switch)" +}; + + +// Description : Enhanced INSCRIPT keymap for Malayalam +// Encoding : Unicode (http://www.unicode.org) +// Author : Mahesh T Pai +// Date : March, 2011 +// Source : http://www.nongnu.org/smc/docs/images/ml_inscript_layout.jpg +// Comment : Based on the InScript Keyboard created by M Baiju +// Mapping: + +partial alphanumeric_keys +xkb_symbols "mal_enhanced" { + + name[Group1] = "Malayalam (enhanced InScript, with rupee)"; + + //From grave to backslash (\) + + key { [ U0d4a , U0d12 ] }; + key { [ U0d67 , exclam ] }; + key { [ U0d68 , at ] }; + key { [ U0d69 , numbersign ] }; + key { [ U0d6a , dollar ] }; + key { [ U0d6b , percent ] }; + key { [ U0d6c , asciicircum ] }; + key { [ U0d6d , ampersand ] }; + key { [ U0d6e , U0d7e ] }; + key { [ U0d6f , parenleft ] }; + key { [ U0d66 , parenright ] }; + + key { [ minus , U0d03 ] }; + key { [ U0d43 , U0d0b ] }; + key { [ U0d7c , U05C ] }; //bksl: chillu RR + + + // From 'q' to right bracket (]) + + key { [ U0d57 , U0d14 ] }; + key { [ U0d48 , U0d10 ] }; + key { [ U0d3e , U0d06 ] }; + key { [ U0d40 , U0d08 ] }; + key { [ U0d42 , U0d0a ] }; + key { [ U0d2c , U0d2d ] }; + key { [ U0d39 , U0d19 ] }; + key { [ U0d17 , U0d18 ] }; + key { [ U0d26 , U0d27 ] }; + key { [ U0d1c , U0d1d ] }; + key { [ U0d21 , U0d22 ] }; + key { [ U0200d , U0d1e ] }; + + // From 'a' to apostrophe (') + + key { [ U0d4b , U0d13 ] }; + key { [ U0d47 , U0d0f ] }; + key { [ U0d4d , U0d05 ] }; + key { [ U0d3f , U0d07 ] }; + key { [ U0d41 , U0d09 ] }; + key { [ U0d2a , U0d2b ] }; + key { [ U0d30 , U0d31 ] }; + key { [ U0d15 , U0d16 ] }; + key { [ U0d24 , U0d25 ] }; + key { [ U0d1a , U0d1b ] }; + key { [ U0d1f , U0d20 ] }; + + // From 'z' to slash (/) + + key { [ U0d46 , U0d0e ] }; + key { [ U0d02 , U0d7a ] }; + key { [ U0d2e , U0d23 ] }; + key { [ U0d28 , U0d7b ] }; + key { [ U0d35 , U0d34 ] }; + key { [ U0d32 , U0d33 ] }; + key { [ U0d38 , U0d36 ] }; + key { [ comma , U0d37 ] }; + key { [ period , U0d7d ] }; //chillu l + key { [ U0d2f , question ] }; + + include "rupeesign(4)" + include "level3(ralt_switch)" +}; + + +// ---- BEGIN Hindi KaGaPa phonetic ---- +// Name: KaGaPa phonetic +// Brief: Devanagari layout (Hindi, Sanskrit, Nepali, Marathi, etc.) +// Diagram: (Original)[http://baraha.com/help/Keyboards/dev_brhkbd.htm] +// (This layout)[http://bdsatish.in/lang/dev-kagapa.png] +// +// Description: Based on KaGaPa layout (also called Baraha layout or Nudi layout) +// which is a modified layout of the specification by Dr. K. P. Rao. +// This is a phonetic layout with the following features: +// [1] All letters are mapped to phonetically-similar English keys +// as much as possible. +// [2] The independent vowel (svara) and its dependent vowel (maatra) +// use the same key (depending upon SHIFT, ALTGR or ALTGR + SHIFT). +// [3] Consonant conjuncts are produced by explicitly invoking the +// 'viraama' (key f). The 'short a' maatra is implicit in all +// consonants. +// [4] Zero width non-joiner and joiner are on keys 6 and 7 +// respectively. These are absolutely essential for alternative +// glyph renderings of consonant half-forms. +// [5] Rigvedic accent marks, visarga variants. +// +// Author: Satish BD +// +partial alphanumeric_keys +xkb_symbols "hin-kagapa" { + name[Group1] = "Hindi (KaGaPa, phonetic)"; + key.type[group1]="FOUR_LEVEL"; + + // Roman digits + key { [ grave, asciitilde, U201C ] }; // U201C: left double quotation mark + key { [ 1, exclam, U0967 ] }; + key { [ 2, at, U0968, U20A8 ] }; // U20A8: generic rupee sign (Rs) + key { [ 3, numbersign, U0969 ] }; + key { [ 4, dollar, U096A, U20B9 ] }; // U20B9: new Indian rupee sign + key { [ 5, percent, U096B ] }; + key { [ 6, asciicircum, U096C, U200C ] }; // ZWNJ + key { [ 7, ampersand, U096D, U200D ] }; // ZWJ + key { [ 8, asterisk, U096E, U0901 ] }; // U0901: Devanagari candrabindu + key { [ 9, parenleft, U096F ] }; + key { [ 0, parenright, U0966, U0970 ] }; // U0970: Devanagari abbreviation sign + key { [ minus, underscore, U0952 ] }; // U0952: Devanagari stress sign anudatta + key { [ equal, plus ] }; + key { [ U005C, U007C, U0964, U0965 ] }; // backslash, pipe, danda, double danda + + //Q Row + key { [ U091F, U0920 ] }; // Q: retroflex Ta, Tha + key { [ U0921, U0922, U095C, U095D ] }; // W: retroflex Da, Dha, Da-nukta, Dha-nukta + key { [ U0946, U0947, U090E, U090F ] }; // E: matras, short E, long E + key { [ U0930, U0943, U090B, U0931 ] }; // R: ra, vocalic R matra, vocalic R, ra-nukta + key { [ U0924, U0925 ] }; // T: dental ta, tha + key { [ U092F, U0948, U0910, U095F ] }; // Y: ya, ai matra, ai, ya-nukta + key { [ U0941, U0942, U0909, U090A ] }; // U: matras, u, uu + key { [ U093F, U0940, U0907, U0908 ] }; // I: matras, i, ii + key { [ U094A, U094B, U0912, U0913 ] }; // O: matras, short o, long o + key { [ U092A, U092B, U095E ] }; // P: pa, pha, pha-nukta + key { [ bracketleft, braceleft ] }; + key { [ bracketright, braceright ] }; + + //A Row + key { [ U093E, U0906, U0905, U0972 ] }; // A: aa matra, aa, short a, candra a + key { [ U0938, U0936 ] }; // S: sa, sha + key { [ U0926, U0927 ] }; // D: dental da, dha + key { [ U094D, U0944, U0960 ] }; // F: virama, vocalic RR matra, vocalic RR + key { [ U0917, U0918, U095A ] }; // G: ga, gha, ga-nukta + key { [ U0939, U0903, U1CF5, U1CF6 ] }; // H: ha, visarga, jihvamuliya, upadhmaniya + key { [ U091C, U091D, U095B ] }; // J: ja, jha, ja-nukta + key { [ U0915, U0916, U0958, U0959 ] }; // K: ka, kha, ka-nukta, kha-nukta + key { [ U0932, U0933, U0962, U090C ] }; // L: la, lla, vocalic L matra, vocalic L + key { [ semicolon, colon, U1CF2, U1CF3 ] }; // U1CF2/3: ardhavisarga/rotated ardhavisarga + key { [ apostrophe, quotedbl, U0951, U201D ] }; // U0951: Devanagari stress sign udatta + // U201D: Right double quotation mark + //Z Row + key { [ U091E, U0919 ] }; // Z: nya, nga + key { [ U0937, U093C, U0934 ] }; // X: ssa, nukta below, lla-nukta + key { [ U091A, U091B ] }; // C: ca, cha + key { [ U0935, U094C, U0914 ] }; // V: va, matra au, au + key { [ U092C, U092D ] }; // B: ba, bha + key { [ U0928, U0923, U0929 ] }; // N: na, nna, nnna + key { [ U092E, U0902, U093D, U0950 ] }; // M: ma, anusvara, avagraha, Devanagari OM + key { [ comma, U003C, U0945, U090D ] }; // comma: comma, less than, matra, candra e + key { [ period, U003E, U0949, U0911 ] }; // period: period, greater than, matra, candra o + key { [ slash, question ] }; + + include "level3(ralt_switch)" +}; +// ---- END Hindi KaGaPa ---- + +// Sanskrit uses Devanagari layout of Hindi +partial alphanumeric_keys +xkb_symbols "san-kagapa" { + include "in(hin-kagapa)" + name[Group1] = "Sanskrit (KaGaPa, phonetic)"; +}; + +// Marathi uses Devanagari layout of Hindi +partial alphanumeric_keys +xkb_symbols "mar-kagapa" { + include "in(hin-kagapa)" + name[Group1] = "Marathi (KaGaPa, phonetic)"; +}; + + +// ---- BEGIN Kannada KaGaPa phonetic ---- +// Name: Kannada KaGaPa phonetic +// Diagram: (Original)[http://www.baraha.com/help/Keyboards/kan_brhkbd.htm] +// (This layout)[http://bdsatish.in/lang/kan-kagapa.png] +// +// Description: Based on KaGaPa layout (also called Baraha layout or Nudi layout). +// See the description to "hin-kagapa" above. +// Certain punctuation characters from Devanagari block are +// retained for compatibility. +// +// Author: Satish BD +// +partial alphanumeric_keys +xkb_symbols "kan-kagapa" { + name[Group1] = "Kannada (KaGaPa, phonetic)"; + key.type[group1]="FOUR_LEVEL"; + + // Roman digits + key { [ grave, asciitilde, U201C ] }; // U201C: left double quotation mark + key { [ 1, exclam, U0CE7 ] }; + key { [ 2, at, U0CE8, U20A8 ] }; // U20A8: generic rupee sign (Rs) + key { [ 3, numbersign, U0CE9 ] }; + key { [ 4, dollar, U0CEA, U20B9 ] }; // U20B9: new Indian rupee sign + key { [ 5, percent, U0CEB ] }; + key { [ 6, asciicircum, U0CEC, U200C ] }; // ZWNJ + key { [ 7, ampersand, U0CED, U200D ] }; // ZWJ + key { [ 8, asterisk, U0CEE, U0901 ] }; // U0901: Devanagari candrabindu + key { [ 9, parenleft, U0CEF ] }; + key { [ 0, parenright, U0CE6 ] }; + key { [ minus, underscore, U0952 ] }; // U0952: Devanagari stress sign anudatta + key { [ equal, plus ] }; + key { [ U005C, U007C, U0964, U0965 ] }; // backslash, pipe, danda, double danda + + //Q Row + key { [ U0C9F, U0CA0 ] }; // Q: retroflex Ta, Tha + key { [ U0CA1, U0CA2 ] }; // W: retroflex Da, Dha + key { [ U0CC6, U0CC7, U0C8E, U0C8F ] }; // E: matras, short E, long E + key { [ U0CB0, U0CC3, U0C8B, U0CB1 ] }; // R: ra, vocalic R matra, vocalic R, RRA + key { [ U0CA4, U0CA5 ] }; // T: dental ta, tha + key { [ U0CAF, U0CC8, U0C90 ] }; // Y: ya, ai matra, ai + key { [ U0CC1, U0CC2, U0C89, U0C8A ] }; // U: matras, u, uu + key { [ U0CBF, U0CC0, U0C87, U0C88 ] }; // I: matras, i, ii + key { [ U0CCA, U0CCB, U0C92, U0C93 ] }; // O: matras, short o, long o + key { [ U0CAA, U0CAB ] }; // P: pa, pha + key { [ bracketleft, braceleft ] }; + key { [ bracketright, braceright ] }; + + //A Row + key { [ U0CBE, U0C86, U0C85 ] }; // A: aa matra, aa, short a + key { [ U0CB8, U0CB6 ] }; // S: sa, sha + key { [ U0CA6, U0CA7 ] }; // D: dental da, dha + key { [ U0CCD, U0CC4, U0CE0 ] }; // F: virama, vocalic RR matra, vocalic RR + key { [ U0C97, U0C98 ] }; // G: ga, gha + key { [ U0CB9, U0C83, U0CF1, U0CF2 ] }; // H: ha, visarga, jihvanuliya, upadhmaniya + key { [ U0C9C, U0C9D ] }; // J: ja, jha + key { [ U0C95, U0C96 ] }; // K: ka, kha + key { [ U0CB2, U0CB3, U0CE2, U0C8C ] }; // L: la, lla, vocalic L matra, vocalic L + key { [ semicolon, colon ] }; + key { [ apostrophe, quotedbl, U0951, U201D ] }; // U0951: Devanagari stress sign udatta + // U201D: Right double quotation mark + //Z Row + key { [ U0C9E, U0C99 ] }; // Z: nya, nga + key { [ U0CB7, U0CBC, U0CDE ] }; // X: ssa, nukta below, LLLA + key { [ U0C9A, U0C9B ] }; // C: ca, cha + key { [ U0CB5, U0CCC, U0C94 ] }; // V: va, matra au, au + key { [ U0CAC, U0CAD ] }; // B: ba, bha + key { [ U0CA8, U0CA3 ] }; // N: na, nna + key { [ U0CAE, U0C82, U0CBD, U0950 ] }; // M: ma, anusvara, avagraha, Devanagari OM + key { [ comma, U003C, U0CB1 ] }; // comma: comma, less than, RRA + key { [ period, U003E, U0CDE ] }; // period: period, greater than, LLLA + key { [ slash, question ] }; + + include "level3(ralt_switch)" +}; +// ---- END Kannada KaGaPa ---- + + +// ---- BEGIN Telugu KaGaPa phonetic ---- +// Name: Telugu KaGaPa phonetic +// Diagram: (Original)[http://www.baraha.com/help/Keyboards/tel_brhkbd.htm] +// (This layout)[http://bdsatish.in/lang/tel-kagapa.png] +// +// Description: Based on KaGaPa layout (also called Baraha layout or Nudi layout). +// See the description to "hin-kagapa" above. +// Certain punctuation characters from Devanagari block are +// retained for compatibility. +// +// Author: Satish BD +// +partial alphanumeric_keys +xkb_symbols "tel-kagapa" { + name[Group1] = "Telugu (KaGaPa, phonetic)"; + key.type[group1]="FOUR_LEVEL"; + + // Roman digits + key { [ grave, asciitilde, U201C ] }; // U201C: left double quotation mark + key { [ 1, exclam, U0C67 ] }; + key { [ 2, at, U0C68, U20A8 ] }; // U20A8: generic rupee sign (Rs) + key { [ 3, numbersign, U0C69 ] }; + key { [ 4, dollar, U0C6A, U20B9 ] }; // U20B9: new Indian rupee sign + key { [ 5, percent, U0C6B ] }; + key { [ 6, asciicircum, U0C6C, U200C ] }; // ZWNJ + key { [ 7, ampersand, U0C6D, U200D ] }; // ZWJ + key { [ 8, asterisk, U0C6E, U0C01 ] }; // U0C01: Telugu arasunna + key { [ 9, parenleft, U0C6F ] }; + key { [ 0, parenright, U0C66 ] }; + key { [ minus, underscore, U0952 ] }; // U0952: Devanagari stress sign anudatta + key { [ equal, plus ] }; + key { [ U005C, U007C, U0964, U0965 ] }; // backslash, pipe, danda, double danda + + //Q Row + key { [ U0C1F, U0C20 ] }; // Q: retroflex Ta, Tha + key { [ U0C21, U0C22 ] }; // W: retroflex Da, Dha + key { [ U0C46, U0C47, U0C0E, U0C0F ] }; // E: matras, short E, long E + key { [ U0C30, U0C43, U0C0B, U0C31 ] }; // R: ra, vocalic R matra, vocalic R, RRA + key { [ U0C24, U0C25 ] }; // T: dental ta, tha + key { [ U0C2F, U0C48, U0C10 ] }; // Y: ya, ai matra, ai + key { [ U0C41, U0C42, U0C09, U0C0A ] }; // U: matras, u, uu + key { [ U0C3F, U0C40, U0C07, U0C08 ] }; // I: matras, i, ii + key { [ U0C4A, U0C4B, U0C12, U0C13 ] }; // O: matras, short o, long o + key { [ U0C2A, U0C2B ] }; // P: pa, pha + key { [ bracketleft, braceleft ] }; + key { [ bracketright, braceright ] }; + + //A Row + key { [ U0C3E, U0C06, U0C05 ] }; // A: aa matra, aa, short a + key { [ U0C38, U0C36 ] }; // S: sa, sha + key { [ U0C26, U0C27 ] }; // D: dental da, dha + key { [ U0C4D, U0C44, U0C60 ] }; // F: virama, vocalic RR matra, vocalic RR + key { [ U0C17, U0C18 ] }; // G: ga, gha + key { [ U0C39, U0C03 ] }; // H: ha, visarga + key { [ U0C1C, U0C1D ] }; // J: ja, jha + key { [ U0C15, U0C16 ] }; // K: ka, kha + key { [ U0C32, U0C33, U0C62, U0C0C ] }; // L: la, lla, vocalic L matra, vocalic L + key { [ semicolon, colon ] }; + key { [ apostrophe, quotedbl, U0951, U201D ] }; // U0951: Devanagari stress sign udatta + // U201D: Right double quotation mark + //Z Row + key { [ U0C1E, U0C19 ] }; // Z: nya, nga + key { [ U0C37 ] }; // X: ssa + key { [ U0C1A, U0C1B ] }; // C: ca, cha + key { [ U0C35, U0C4C, U0C14 ] }; // V: va, matra au, au + key { [ U0C2C, U0C2D ] }; // B: ba, bha + key { [ U0C28, U0C23 ] }; // N: na, nna + key { [ U0C2E, U0C02, U0C3D, U0950 ] }; // M: ma, anusvara, avagraha, Devanagari OM + key { [ comma, U003C, U0C58 ] }; // comma: comma, less than, TSA + key { [ period, U003E, U0C59 ] }; // period: period, greater than, DZA + key { [ slash, question ] }; + + include "level3(ralt_switch)" +}; + +// Description : Keymap for Manipuri language (Meetei mayek script) +// Encoding : Unicode (http://www.unicode.org) +// Author : Santosh Heigrujam +// Date : December, 2013 +// Source : +// Comment : + +partial alphanumeric_keys modifier_keys +xkb_symbols "eeyek" { + + name[Group1]= "Manipuri (Eeyek)"; + + key { [ grave, asciitilde ] }; + key { [ Uabf1, exclam ] }; + key { [ Uabf2, at ] }; + key { [ Uabf3, numbersign ] }; + key { [ Uabf4, dollar ] }; + key { [ Uabf5, percent ] }; + key { [ Uabf6, asciicircum ] }; + key { [ Uabf7, ampersand ] }; + key { [ Uabf8, asterisk ] }; + key { [ Uabf9, parenleft ] }; + key { [ Uabf0, parenright ] }; + key { [ minus, underscore ] }; + key { [ equal, plus ] }; + + key { [ Uabc8, Uabd8 ] }; + key { [ Uabcb, Uabcb ] }; + key { [ Uabcf, Uabe2 ] }; + key { [ Uabd4, Uabd4 ] }; + key { [ Uabc7, Uabe0 ] }; + key { [ Uabcc, Uabe6 ] }; + key { [ Uabce, Uabe8 ] }; + key { [ Uabe4, Uabe9 ] }; + key { [ Uabe3, Uabe7 ] }; + key { [ Uabc4, Uabde ] }; + key { [ bracketleft, braceleft ] }; + key { [ bracketright, braceright ] }; + + key { [ Uabd1, Uabe5 ] }; + key { [ Uabc1, Uabd3 ] }; + key { [ Uabd7, Uabd9 ] }; + key { [ Uabd0, Uabda ] }; + key { [ Uabd2, Uabd8 ] }; + key { [ Uabcd, Uabea ] }; + key { [ Uabd6, Uabd3 ] }; + key { [ Uabc0, Uabdb ] }; + key { [ Uabc2, Uabdc ] }; + key { [ semicolon, colon ] }; + key { [ apostrophe, quotedbl ] }; + + key { [ Uabc9, Uabe1 ] }; + key { [ Uabca, Uabd9 ] }; + key { [ Uabc6, Uabeb ] }; + key { [ Uabda, Uabed ] }; + key { [ Uabd5, Uabec ] }; + key { [ Uabc5, Uabdf ] }; + key { [ Uabc3, Uabdd ] }; + key { [ comma, less ] }; + key { [ period, greater ] }; + key { [ slash, question ] }; + + key { [ backslash, bar ] }; + + include "level3(ralt_switch)" +}; + +// This layout is developed by Niranjan Tambe in July 2019 +// for typing Indic languages in International Phonetic Alphabet (IPA). +// Contact - niranjanvikastambe@gmail.com + +partial alphanumeric_keys modifier_keys +xkb_symbols "iipa" { + + name[Group1]= "Indic IPA"; + key { [ 1, exclam] }; + key { [ 2, at] }; + key { [ 3, numbersign] }; + key { [ 4, U20B9] }; + key { [ 5, percent] }; + key { [ 6, asciicircum] }; + key { [ 7, ampersand] }; + key { [ 8, asterisk] }; + key { [ 9, parenleft] }; + key { [ 0, parenright] }; + key { [ minus, underscore] }; + key { [ equal, plus] }; + + key { [ U02B0, U02B1] }; // [ʰ], [ʱ] + key { [ U00E6, q] }; // [æ], [q] found in Urdu + key { [ a, U028B] }; // [a], [ʋ] + key { [ i, U026A] }; // [i] [ɪ] + key { [ u, U026F] }; // [u] [ɯ] found in Tamil + key { [ b, Y] }; // [b] + key { [ h, U014B] }; // [h], [ŋ] + key { [ g, U0263] }; // [g], [ɣ] found in Urdu + key { [ d, U00F0] }; // [d], [ð] found in Malayalam + key { [ U02A4, U02A3] }; // [ʤ], [ʣ] found in Marathi + key { [ U0256, U027D] }; // [ɖ], [ɽ] + key { [ bracketleft, bracketright] }; // "[", "]" needed for denoting phonetic symbols + + key { [ o, U0254] }; // [o], [ɔ] found in Bangla + key { [ e, U025B] }; // [e], [ɛ] + key { [ U0259, U0361] }; // [ə], [ ͡ ] + key { [ i, U026A] }; // [i], [ɪ] + key { [ u, U026F] }; // [u], [ɯ] + key { [ p, f] }; // [p], [f] + key { [ U027E, r] }; // [ɾ], [r] + key { [ k, x] }; // [k], [x] found in Urdu + key { [ t, U03B8] }; // [t], [θ] + key { [ U02A7, U02A6] }; // [ʧ], [ʦ] found in Marathi + key { [ U0288, quotedbl] }; // [ʈ] + key { [ grave, asciitilde] }; + + key { [ backslash, bar] }; + key { [ U032A, U0303] }; // [ ̪], [ ̃] Dental mark, nasalisation mark + key { [ U0306, X] }; // [ ̆] Short sound + key { [ m, U0273] }; // [m], [ɳ] + key { [ n, v] }; // [n], [v] + key { [ w, z] }; // [w], [z] + key { [ l, U026D] }; // [l], [ɭ] + key { [ s, U0283] }; // [s], [ʃ] + key { [ comma, U0282] }; // [ʂ] + key { [ period, U02D0] }; // [ː] Long sound + key { [ j, slash] }; // [j] +}; + +// This layout is developed by Niranjan Tambe in July 2019 +// for typing Marathi language with some necessary symbols. +// Contact - niranjanvikastambe@gmail.com + +xkb_symbols "marathi" { + name[Group1]="Marathi (enhanced InScript)"; + key { [ U0962, U090C, grave, asciitilde ] }; // Added ॢ & ऌ + key { [ U0967, exclam, 1, exclam ] }; // Added exclamation mark + key { [ U0968, U0945, 2, at ] }; // Added ॅ + key { [ U0969, U093D, 3, numbersign ] }; // Added ऽ + key { [ U096a, U20B9, 4 ] }; // Added ₹ + key { [ U096b, percent, 5, percent ] }; + key { [ U096c, asciicircum, 6, asciicircum ] }; + key { [ U096d, U0970, 7, ampersand ] }; // Added ॰ + key { [ U096e, U0950, 8, asterisk ] }; + key { [ U096f, parenleft, 9, parenleft ] }; + key { [ U0966, parenright, 0, parenright ] }; + key { [ minus, U0903, minus, underscore ] }; + key { [ U0943, U090b, U0944, U0960 ] }; + + key { [ U094c, U0914 ] }; + key { [ U0948, U0910 ] }; + key { [ U093e, U0906 ] }; + key { [ U0940, U0908, U0963, U0961 ] }; + key { [ U0942, U090a ] }; + key { [ U092c, U092d ] }; + key { [ U0939, U0919 ] }; + key { [ U0917, U0918, U095a ] }; + key { [ U0926, U0927 ] }; + key { [ U091c, U091d, U095b ] }; + key { [ U0921, U0922, U095c, U095d ] }; + key { [ U093c, U091e ] }; + key { [ U0949, U0911, U005C, U007C ] }; + + key { [ U094b, U0913 ] }; + key { [ U0947, U090f ] }; + key { [ U094d, U0905 ] }; + key { [ U093f, U0907, U0962, U090c ] }; + key { [ U0941, U0909 ] }; + key { [ U092a, U092b, NoSymbol, U095e ] }; + key { [ U0930, U0931 ] }; + key { [ U0915, U0916, U0958, U0959 ] }; + key { [ U0924, U0925 ] }; + key { [ U091a, U091b, U0952 ] }; + key { [ U091f, U0920, NoSymbol, U0951 ] }; + + key { [ apostrophe, U0972, U0953 ] }; // Added apostrophe & ॲ + key { [ U0902, U0901, NoSymbol, U0950 ] }; + key { [ U092e, U0923, U0954 ] }; + key { [ U0928, quotedbl ] }; // Added " + key { [ U0935, UA8FB ] }; // Added headstroke + key { [ U0932, U0933 ] }; + key { [ U0938, U0936 ] }; + key { [ comma, U0937, U0970 ] }; + key { [ period, U0964, U0965, U093d ] }; + key { [ U092f, question, slash, question ] }; +}; +// EXTRAS: +// Vedic and Miscellaneous symbols +// This layout covers 'Extended Devanagari' and 'Vedic Extensions' Unicode blocks. +// This is helpful for including all the required symbols when typing complex texts such as those from Samaveda and Yajurveda. +// This layout only includes signs and symbols. Text needs to be typed seperately. +// Created by : Abhishek Deshpande +// Date : 27th October, 2020 +partial alphanumeric_keys +xkb_symbols "san-misc" { + name[Group1] = "Sanskrit symbols"; + key.type[group1]="FOUR_LEVEL"; + + // Roman digits + key { [ U1CD0, UA8FA ] }; + key { [ UA8E1, U1CD1 ] }; + key { [ UA8E2, UA8F2 ] }; + key { [ UA8E3, UA8F3 ] }; + key { [ UA8E4, UA8F4 ] }; + key { [ UA8E5, UA8F5 ] }; + key { [ UA8E6, UA8F6 ] }; + key { [ UA8E7, UA8F7 ] }; + key { [ UA8E8, UA8F8 ] }; + key { [ UA8E9, UA8F9 ] }; + key { [ UA8E0, UA8FC ] }; + key { [ UA8FB, U1CD2 ] }; + key { [ U1CF2, U1CF3 ] }; + key { [ U1CF8, U1CF9 ] }; + + //Q Row + key { [ U1CD4, U1CD5 ] }; + key { [ U1CD6, U1CD7 ] }; + key { [ U1CD8, U1CD9 ] }; + key { [ UA8EF ] }; + key { [ U1CDA, U1CDB ] }; + key { [ UA8FE, UA8FF ] }; + key { [ UA8EB ] }; + key { [ U1CDC, U1CDD ] }; + key { [ U1CDE, U1CDF ] }; + key { [ UA8EE ] }; + key { [ U1CE0 ] }; + key { [ U1CE1 ] }; + + //A Row + key { [ UA8EA ] }; + key { [ UA8F1 ] }; + key { [ U1CE2 ] }; + key { [ U1CE3, U1CE4 ] }; + key { [ U1CE5, U1CE6 ] }; + key { [ U1CE7, U1CE8 ] }; + key { [ U1CE9, U1CEA ] }; + key { [ UA8EC ] }; + key { [ U1CEB, U1CEC ] }; + key { [ U1CEE, U1CEF ] }; + key { [ U1CF0, U1CF1 ] }; + + //Z Row + key { [ U1CED ] }; + key { [ U1CF4 ] }; + key { [ U1CF5 ] }; + key { [ UA8F0 ] }; + key { [ U1CF6 ] }; + key { [ UA8ED ] }; + key { [ U0950, UA8FD ] }; + key { [ U1CF7, U093D ] }; + key { [ U1CFA, U2638 ] }; + key { [ U0FD5, U2740 ] }; + + include "rupeesign(4)" + include "level3(ralt_switch)" +}; +// Modi is an ancient Indian script that is used to write texts in Marathi, Hindi and Sanskrit. It is most commonly used to write Marathi language in Maharashtra. +// This keyboard layout is Based on Marathi KaGaPa phonetic layout. Just the characters which are not applicable in Modi, are ommited. +// +// Created by : Abhishek Deshpande +// Date : 9th February, 2020 +// +partial alphanumeric_keys +xkb_symbols "modi-kagapa" { + name[Group1] = "Modi (KaGaPa phonetic)"; + key.type[group1]="FOUR_LEVEL"; + + // Roman digits + key { [ grave, asciitilde, U201C ] }; // U201C: left double quotation mark + key { [ 1, exclam, U11651 ] }; + key { [ 2, at, U11652, U20A8 ] }; // U20A8: generic rupee sign (Rs) + key { [ 3, numbersign, U11653 ] }; + key { [ 4, dollar, U11654, U20B9 ] }; // U20B9: new Indian rupee sign + key { [ 5, percent, U11655 ] }; + key { [ 6, asciicircum, U11656, U200C ] }; // ZWNJ + key { [ 7, ampersand, U11657, U200D ] }; // ZWJ + key { [ 8, asterisk, U11658 ] }; + key { [ 9, parenleft, U11659 ] }; + key { [ 0, parenright, U11650, U11643 ] }; // U11643: Modi abbreviation sign + key { [ minus, underscore ] }; + key { [ equal, plus ] }; + key { [ U005C, U007C, U11641, U11642 ] }; // backslash, pipe, Modi danda, Modi double danda + + //Q Row + key { [ U11618, U11619 ] }; // Q: retroflex Modi letter Ta, Tha + key { [ U1161A, U1161B ] }; // W: retroflex Modi letter Da, Dha + key { [ U11639, U1160A, U1160B ] }; // E: Modi vovel sign E, Modi letter E, letter ai + key { [ U11628, U11635, U11606 ] }; // R: Modi ra, Modi vowel sign vocalic R, vocalic letter R + key { [ U1161D, U1161E ] }; // T: dental Modi letter ta, tha + key { [ U11627, U1163A ] }; // Y: Modi letter ya, Modi vowel sign ai + key { [ U11633, U11634, U11604, U11605 ] }; // U: Modi vowel sign u, uu, Modi letter u, uu + key { [ U11631, U11632, U11602, U11603 ] }; // I: Modi vowel sign i, ii, Modi letter i, ii + key { [ U1163B, U1160C ] }; // O: Modi vowel sign o, Modi letter o + key { [ U11622, U11623 ] }; // P: Modi letter pa, pha + key { [ bracketleft, braceleft ] }; + key { [ bracketright, braceright ] }; + + //A Row + key { [ U11630, U11601, U11600 ] }; // A: Modi vowel sign aa, Modi letter aa, Modi letter a + key { [ U1162D, U1162B ] }; // S: Modi letter sa, sha + key { [ U1161F, U11620 ] }; // D: dental Modi letter da, dha + key { [ U1163F, U11636, U11607 ] }; // F: Modi sign virama, Modi vowel sign vocalic RR, letter vocalic RR + key { [ U11610, U11611 ] }; // G: Modi letter ga, gha + key { [ U1162E, U1163E ] }; // H: Modi letter ha, Modi visarga + key { [ U11615, U11616 ] }; // J: Modi letter ja, jha + key { [ U1160E, U1160F ] }; // K: Modi letter ka, kha + key { [ U11629, U1162F, U11637, U11608 ] }; // L: Modi letter la, lla, Modi vowel sign vocalic L, letter vocalic L + key { [ semicolon, colon ] }; + key { [ apostrophe, quotedbl ] }; + + //Z Row + key { [ U11617, U11612 ] }; // Z: Modi letter nya, nga + key { [ U1162C, U11609, U11638 ] }; // X: Modi letter ssa, Modi letter vocalic ll, Modi vowel sign vocalic ll + key { [ U11613, U11614 ] }; // C: Modi letter ca, cha + key { [ U1162A, U1163C, U1160D ] }; // V: Modi letter va, Modi vowel sign au, Modi letter au + key { [ U11624, U11625 ] }; // B: Modi letter ba, bha + key { [ U11621, U1161C ] }; // N: Modi letter na, nna + key { [ U11626, U1163D, U093D, U0950 ] }; // M: Modi ma, Modi anusvara, avagraha, Devanagari OM (Avagraha & OM commonly occur in Marathi texts, so they are mapped here for convenience.) + key { [ comma, U003C, U11640, U11644 ] }; // comma: comma, less than, Modi chandrabindu, Modi sign huva + key { [ period, U003E ] }; // period: period, greater than + key { [ slash, question ] }; + + include "level3(ralt_switch)" +}; + +// Navees, a phonetic keyboard layout for Urdu +// https://saadatm.github.io/navees +partial alphanumeric_keys +xkb_symbols "urd-navees" { + include "pk(urd-navees)" + name[Group1]= "Urdu (Navees)"; +}; diff --git a/xkbdata/symbols/inet b/xkbdata/symbols/inet new file mode 100644 index 0000000..518d846 --- /dev/null +++ b/xkbdata/symbols/inet @@ -0,0 +1,2073 @@ +// EAK (Easy Access keyboards: Internet, Multimedia, PDA) +// Copyright (C) 2002 Stanislav Brabec +// +// Based on the LinEAK project. +// LinEAK - Linux support for Easy Access and Internets +// Copyright (C) 2001, 2002 Mark Smulders + +// Usage in XF86Config: +// Option "XkbLayout" "my_kb_layout" +// Option "XkbVariant" "my_kb_variant" +// Option "XkbModel" "my_eak_type" +// Option "XkbRules" "xfree86" +// Simple command line usage: +// setxkbmap 'my_kb_layout' -variant 'my_kb_variant' -model 'my_eak_type' + +// Very common set of media keys. +hidden partial alphanumeric_keys +xkb_symbols "media_common" { + key { [ XF86AudioMedia ] }; + key { [ XF86AudioPrev ] }; + key { [ XF86AudioNext ] }; + key { [ XF86AudioMute ] }; + key { [ XF86AudioPlay, XF86AudioPause ] }; + key { [ XF86AudioStop, XF86Eject ] }; + key { [ XF86AudioLowerVolume ] }; + key { [ XF86AudioRaiseVolume ] }; + key { [ XF86Eject ] }; + key { [ XF86Eject ] }; +}; + +// Popular web navigation keys. +hidden partial alphanumeric_keys +xkb_symbols "nav_common" { + key { [ XF86Calculator ] }; + key { [ XF86WWW ] }; + key { [ XF86Search ] }; + key { [ XF86Favorites ] }; + key { [ XF86Reload ] }; + key { [ XF86Stop ] }; + key { [ XF86Forward ] }; + key { [ XF86Back ] }; + key { [ XF86MyComputer ] }; + key { [ XF86Mail ] }; + key { [ XF86AudioMedia ] }; +}; + +// ACPI Standard +hidden partial alphanumeric_keys +xkb_symbols "acpi_common" { + key { [ XF86PowerOff ] }; + key { [ XF86Standby ] }; + key { [ XF86WakeUp ] }; + key { [ XF86Battery ] }; + key { [ XF86WLAN ] }; + key { [ XF86Sleep ] }; +}; + +// Combined sections, for simplicity. +hidden partial alphanumeric_keys +xkb_symbols "media_nav_common" { + include "inet(media_common)" + include "inet(nav_common)" +}; + +hidden partial alphanumeric_keys +xkb_symbols "media_nav_acpi_common" { + include "inet(media_common)" + include "inet(nav_common)" + include "inet(acpi_common)" +}; + +hidden partial alphanumeric_keys +xkb_symbols "nav_acpi_common" { + include "inet(nav_common)" + include "inet(acpi_common)" +}; + +hidden partial alphanumeric_keys +xkb_symbols "media_acpi_common" { + include "inet(media_common)" + include "inet(acpi_common)" +}; + +// Evdev Standardized Keycodes +partial alphanumeric_keys +xkb_symbols "evdev" { + key { [ XF86AudioMute ] }; + key { [ XF86AudioLowerVolume ] }; + key { [ XF86AudioRaiseVolume ] }; + key { [ XF86PowerOff ] }; + key { [ Cancel ] }; + key { [ Redo ] }; + key { [ SunProps ] }; + key { [ Undo ] }; + key { [ SunFront ] }; + key { [ XF86Copy ] }; + key { [ XF86Open ] }; + key { [ XF86Paste ] }; + key { [ Find ] }; + key { [ XF86Cut ] }; + key { [ Help ] }; + key { [ Linefeed ] }; + +// Commented out because HZTG has same keycode as TLDE +// key { [ Zenkaku_Hankaku ] }; + + key { [ Hiragana_Katakana ] }; + key { [ Henkan ] }; + key { [ Muhenkan ] }; + key { [ Katakana ] }; + key { [ Hiragana ] }; + + key { [ Hangul ] }; + key { [ Hangul_Hanja ] }; + key { [ XF86TouchpadToggle ] }; + key { [ XF86TouchpadOn ] }; + key { [ XF86TouchpadOff ] }; + + key { [ XF86AudioMicMute ] }; + +// key { [ ] }; // KEY_MACRO + key { [ plusminus ] }; + key { [ XF86LaunchA ] }; + key { [ XF86MenuKB ] }; + key { [ XF86Calculator ] }; +// key { [ ] }; // KEY_SETUP + key { [ XF86Sleep ] }; + key { [ XF86WakeUp ] }; + key { [ XF86Explorer ] }; + key { [ XF86Send ] }; +// key { [ ] }; // KEY_DELETEFILE + key { [ XF86Xfer ] }; + key { [ XF86Launch1 ] }; + key { [ XF86Launch2 ] }; + key { [ XF86WWW ] }; + key { [ XF86DOS ] }; + key { [ XF86ScreenSaver ] }; + key { [ XF86RotateWindows ] }; + key { [ XF86TaskPane ] }; + key { [ XF86Mail ] }; + key { [ XF86Favorites ] }; + key { [ XF86MyComputer ] }; + key { [ XF86Back ] }; + key { [ XF86Forward ] }; +// key { [ ] }; // KEY_CLOSECD (opposite of eject) + key { [ XF86Eject ] }; + key { [ XF86AudioNext ] }; + key { [ XF86AudioPlay, XF86AudioPause ] }; + key { [ XF86AudioPrev ] }; + key { [ XF86AudioStop, XF86Eject ] }; + key { [ XF86AudioRecord ] }; + key { [ XF86AudioRewind ] }; + key { [ XF86Phone ] }; +// key { [ ] }; // KEY_ISO + key { [ XF86Tools ] }; + key { [ XF86HomePage ] }; + key { [ XF86Reload ] }; + key { [ XF86Close ] }; +// key { [ ] }; // KEY_MOVE +// key { [ ] }; // KEY_EDIT + key { [ XF86ScrollUp ] }; + key { [ XF86ScrollDown ] }; + key { [ parenleft ] }; + key { [ parenright ] }; + key { [ XF86LaunchA ] }; + key { [ XF86LaunchC ] }; + key { [ XF86LaunchD ] }; + key { [ XF86LaunchE ] }; + key { [ XF86LaunchF ] }; + key { [ XF86AudioPlay ] }; + key { [ XF86AudioPause ] }; + key { [ XF86Launch3 ] }; + key { [ XF86Launch4 ] }; + key { [ XF86Suspend ] }; + key { [ XF86Close ] }; + key { [ XF86AudioPlay ] }; + key { [ XF86AudioForward ] }; +// key { [ ] }; // KEY_BASSBOOST + key { [ Print ] }; +// key { [ ] }; // KEY_HP + key { [ XF86WebCam ] }; + key { [ XF86AudioPreset ] }; +// key { [ ] }; // KEY_QUESTION + key { [ XF86Mail ] }; + key { [ XF86Messenger ] }; // KEY_CHAT + key { [ XF86Search ] }; + key { [ XF86Go ] }; // KEY_CONNECT + key { [ XF86Finance ] }; + key { [ XF86Game ] }; // KEY_SPORT + key { [ XF86Shop ] }; +// key { [ ] }; // KEY_ALTERASE + key { [ Cancel ] }; + key { [ XF86MonBrightnessDown ] }; + key { [ XF86MonBrightnessUp ] }; + key { [ XF86AudioMedia ] }; +// key { [ ] }; // see +// key { [ ] }; // see +// key { [ ] }; // see +// key { [ ] }; // see + + key { [ XF86Favorites ] }; + key { [ XF86Keyboard ] }; + + key { [ XF86Tools ] }; + key { [ XF86Launch5 ] }; + key { [ XF86Launch6 ] }; + key { [ XF86Launch7 ] }; + key { [ XF86Launch8 ] }; + key { [ XF86Launch9 ] }; + + // Key symbol mappings below are autogenerated + key { [ XF86Eject ] }; // KEY_EJECTCLOSECD + key { [ XF86New ] }; // KEY_NEW + key { [ Redo ] }; // KEY_REDO + key { [ XF86LaunchB ] }; // KEY_DASHBOARD + key { [ XF86Display ] }; // KEY_SWITCHVIDEOMODE + key { [ XF86KbdLightOnOff ] }; // KEY_KBDILLUMTOGGLE + key { [ XF86KbdBrightnessDown ] }; // KEY_KBDILLUMDOWN + key { [ XF86KbdBrightnessUp ] }; // KEY_KBDILLUMUP + key { [ XF86Send ] }; // KEY_SEND + key { [ XF86Reply ] }; // KEY_REPLY + key { [ XF86MailForward ] }; // KEY_FORWARDMAIL + key { [ XF86Save ] }; // KEY_SAVE + key { [ XF86Documents ] }; // KEY_DOCUMENTS + key { [ XF86Battery ] }; // KEY_BATTERY + key { [ XF86Bluetooth ] }; // KEY_BLUETOOTH + key { [ XF86WLAN ] }; // KEY_WLAN + key { [ XF86UWB ] }; // KEY_UWB + key { [ XF86Next_VMode ] }; // KEY_VIDEO_NEXT + key { [ XF86Prev_VMode ] }; // KEY_VIDEO_PREV + key { [ XF86MonBrightnessCycle ] }; // KEY_BRIGHTNESS_CYCLE + key { [ XF86BrightnessAuto ] }; // KEY_BRIGHTNESS_AUTO + key { [ XF86DisplayOff ] }; // KEY_DISPLAY_OFF + key { [ XF86WWAN ] }; // KEY_WWAN + key { [ XF86RFKill ] }; // KEY_RFKILL + key { [ XF86AudioMicMute ] }; // KEY_MICMUTE + key { [ XF86Info ] }; // KEY_INFO + key { [ XF86CycleAngle ] }; // KEY_ANGLE + key { [ XF86FullScreen ] }; // KEY_FULL_SCREEN + key { [ XF86AspectRatio ] }; // KEY_ASPECT_RATIO + key { [ XF86DVD ] }; // KEY_DVD + key { [ XF86Audio ] }; // KEY_AUDIO + key { [ XF86Video ] }; // KEY_VIDEO + key { [ XF86Calendar ] }; // KEY_CALENDAR + key { [ XF86ChannelUp ] }; // KEY_CHANNELUP + key { [ XF86ChannelDown ] }; // KEY_CHANNELDOWN + key { [ XF86AudioRandomPlay ] }; // KEY_SHUFFLE + key { [ XF86Break ] }; // KEY_BREAK + key { [ XF86VideoPhone ] }; // KEY_VIDEOPHONE + key { [ XF86Game ] }; // KEY_GAMES + key { [ XF86ZoomIn ] }; // KEY_ZOOMIN + key { [ XF86ZoomOut ] }; // KEY_ZOOMOUT + key { [ XF86ZoomReset ] }; // KEY_ZOOMRESET + key { [ XF86Word ] }; // KEY_WORDPROCESSOR + key { [ XF86Editor ] }; // KEY_EDITOR + key { [ XF86Excel ] }; // KEY_SPREADSHEET + key { [ XF86GraphicsEditor ] }; // KEY_GRAPHICSEDITOR + key { [ XF86Presentation ] }; // KEY_PRESENTATION + key { [ XF86Database ] }; // KEY_DATABASE + key { [ XF86News ] }; // KEY_NEWS + key { [ XF86Voicemail ] }; // KEY_VOICEMAIL + key { [ XF86Addressbook ] }; // KEY_ADDRESSBOOK + key { [ XF86Messenger ] }; // KEY_MESSENGER + key { [ XF86DisplayToggle ] }; // KEY_DISPLAYTOGGLE + key { [ XF86SpellCheck ] }; // KEY_SPELLCHECK + key { [ XF86LogOff ] }; // KEY_LOGOFF + key { [ dollar ] }; // KEY_DOLLAR + key { [ EuroSign ] }; // KEY_EURO + key { [ XF86FrameBack ] }; // KEY_FRAMEBACK + key { [ XF86FrameForward ] }; // KEY_FRAMEFORWARD + key { [ XF86ContextMenu ] }; // KEY_CONTEXT_MENU + key { [ XF86MediaRepeat ] }; // KEY_MEDIA_REPEAT + key { [ XF8610ChannelsUp ] }; // KEY_10CHANNELSUP + key { [ XF8610ChannelsDown ] }; // KEY_10CHANNELSDOWN + key { [ XF86Images ] }; // KEY_IMAGES + key { [ XF86NotificationCenter ] }; // KEY_NOTIFICATION_CENTER + key { [ XF86PickupPhone ] }; // KEY_PICKUP_PHONE + key { [ XF86HangupPhone ] }; // KEY_HANGUP_PHONE + key { [ XF86Fn ] }; // KEY_FN + key { [ XF86Fn_Esc ] }; // KEY_FN_ESC + key { [ XF86FnRightShift ] }; // KEY_FN_RIGHT_SHIFT + key { [ braille_dot_1 ] }; // KEY_BRL_DOT1 + key { [ braille_dot_2 ] }; // KEY_BRL_DOT2 + key { [ braille_dot_3 ] }; // KEY_BRL_DOT3 + key { [ braille_dot_4 ] }; // KEY_BRL_DOT4 + key { [ braille_dot_5 ] }; // KEY_BRL_DOT5 + key { [ braille_dot_6 ] }; // KEY_BRL_DOT6 + key { [ braille_dot_7 ] }; // KEY_BRL_DOT7 + key { [ braille_dot_8 ] }; // KEY_BRL_DOT8 + key { [ braille_dot_9 ] }; // KEY_BRL_DOT9 + key { [ braille_dot_1 ] }; // KEY_BRL_DOT10 + key { [ XF86Numeric0 ] }; // KEY_NUMERIC_0 + key { [ XF86Numeric1 ] }; // KEY_NUMERIC_1 + key { [ XF86Numeric2 ] }; // KEY_NUMERIC_2 + key { [ XF86Numeric3 ] }; // KEY_NUMERIC_3 + key { [ XF86Numeric4 ] }; // KEY_NUMERIC_4 + key { [ XF86Numeric5 ] }; // KEY_NUMERIC_5 + key { [ XF86Numeric6 ] }; // KEY_NUMERIC_6 + key { [ XF86Numeric7 ] }; // KEY_NUMERIC_7 + key { [ XF86Numeric8 ] }; // KEY_NUMERIC_8 + key { [ XF86Numeric9 ] }; // KEY_NUMERIC_9 + key { [ XF86NumericStar ] }; // KEY_NUMERIC_STAR + key { [ XF86NumericPound ] }; // KEY_NUMERIC_POUND + key { [ XF86NumericA ] }; // KEY_NUMERIC_A + key { [ XF86NumericB ] }; // KEY_NUMERIC_B + key { [ XF86NumericC ] }; // KEY_NUMERIC_C + key { [ XF86NumericD ] }; // KEY_NUMERIC_D + key { [ XF86CameraFocus ] }; // KEY_CAMERA_FOCUS + key { [ XF86WPSButton ] }; // KEY_WPS_BUTTON + key { [ XF86TouchpadToggle ] }; // KEY_TOUCHPAD_TOGGLE + key { [ XF86TouchpadOn ] }; // KEY_TOUCHPAD_ON + key { [ XF86TouchpadOff ] }; // KEY_TOUCHPAD_OFF + key { [ XF86CameraZoomIn ] }; // KEY_CAMERA_ZOOMIN + key { [ XF86CameraZoomOut ] }; // KEY_CAMERA_ZOOMOUT + key { [ XF86CameraUp ] }; // KEY_CAMERA_UP + key { [ XF86CameraDown ] }; // KEY_CAMERA_DOWN + key { [ XF86CameraLeft ] }; // KEY_CAMERA_LEFT + key { [ XF86CameraRight ] }; // KEY_CAMERA_RIGHT + key { [ XF86AttendantOn ] }; // KEY_ATTENDANT_ON + key { [ XF86AttendantOff ] }; // KEY_ATTENDANT_OFF + key { [ XF86AttendantToggle ] }; // KEY_ATTENDANT_TOGGLE + key { [ XF86LightsToggle ] }; // KEY_LIGHTS_TOGGLE + key { [ XF86ALSToggle ] }; // KEY_ALS_TOGGLE + key { [ XF86RotationLockToggle ] }; // KEY_ROTATE_LOCK_TOGGLE + key { [ XF86Buttonconfig ] }; // KEY_BUTTONCONFIG + key { [ XF86Taskmanager ] }; // KEY_TASKMANAGER + key { [ XF86Journal ] }; // KEY_JOURNAL + key { [ XF86ControlPanel ] }; // KEY_CONTROLPANEL + key { [ XF86AppSelect ] }; // KEY_APPSELECT + key { [ XF86Screensaver ] }; // KEY_SCREENSAVER + key { [ XF86VoiceCommand ] }; // KEY_VOICECOMMAND + key { [ XF86Assistant ] }; // KEY_ASSISTANT + key { [ ISO_Next_Group ] }; // KEY_KBD_LAYOUT_NEXT + key { [ XF86EmojiPicker ] }; // KEY_EMOJI_PICKER + key { [ XF86BrightnessMin ] }; // KEY_BRIGHTNESS_MIN + key { [ XF86BrightnessMax ] }; // KEY_BRIGHTNESS_MAX + key { [ XF86KbdInputAssistPrev ] }; // KEY_KBDINPUTASSIST_PREV + key { [ XF86KbdInputAssistNext ] }; // KEY_KBDINPUTASSIST_NEXT + key { [ XF86KbdInputAssistPrevgroup ] }; // KEY_KBDINPUTASSIST_PREVGROUP + key { [ XF86KbdInputAssistNextgroup ] }; // KEY_KBDINPUTASSIST_NEXTGROUP + key { [ XF86KbdInputAssistAccept ] }; // KEY_KBDINPUTASSIST_ACCEPT + key { [ XF86KbdInputAssistCancel ] }; // KEY_KBDINPUTASSIST_CANCEL + key { [ XF86RightUp ] }; // KEY_RIGHT_UP + key { [ XF86RightDown ] }; // KEY_RIGHT_DOWN + key { [ XF86LeftUp ] }; // KEY_LEFT_UP + key { [ XF86LeftDown ] }; // KEY_LEFT_DOWN + key { [ XF86RootMenu ] }; // KEY_ROOT_MENU + key { [ XF86MediaTopMenu ] }; // KEY_MEDIA_TOP_MENU + key { [ XF86Numeric11 ] }; // KEY_NUMERIC_11 + key { [ XF86Numeric12 ] }; // KEY_NUMERIC_12 + key { [ XF86AudioDesc ] }; // KEY_AUDIO_DESC + key { [ XF863DMode ] }; // KEY_3D_MODE + key { [ XF86NextFavorite ] }; // KEY_NEXT_FAVORITE + key { [ XF86StopRecord ] }; // KEY_STOP_RECORD + key { [ XF86PauseRecord ] }; // KEY_PAUSE_RECORD + key { [ XF86VOD ] }; // KEY_VOD + key { [ XF86Unmute ] }; // KEY_UNMUTE + key { [ XF86FastReverse ] }; // KEY_FASTREVERSE + key { [ XF86SlowReverse ] }; // KEY_SLOWREVERSE + key { [ XF86Data ] }; // KEY_DATA + key { [ XF86OnScreenKeyboard ] }; // KEY_ONSCREEN_KEYBOARD + key { [ XF86PrivacyScreenToggle ] }; // KEY_PRIVACY_SCREEN_TOGGLE + key { [ XF86SelectiveScreenshot ] }; // KEY_SELECTIVE_SCREENSHOT + key { [ XF86Macro1 ] }; // KEY_MACRO1 + key { [ XF86Macro2 ] }; // KEY_MACRO2 + key { [ XF86Macro3 ] }; // KEY_MACRO3 + key { [ XF86Macro4 ] }; // KEY_MACRO4 + key { [ XF86Macro5 ] }; // KEY_MACRO5 + key { [ XF86Macro6 ] }; // KEY_MACRO6 + key { [ XF86Macro7 ] }; // KEY_MACRO7 + key { [ XF86Macro8 ] }; // KEY_MACRO8 + key { [ XF86Macro9 ] }; // KEY_MACRO9 + key { [ XF86Macro10 ] }; // KEY_MACRO10 + key { [ XF86Macro11 ] }; // KEY_MACRO11 + key { [ XF86Macro12 ] }; // KEY_MACRO12 + key { [ XF86Macro13 ] }; // KEY_MACRO13 + key { [ XF86Macro14 ] }; // KEY_MACRO14 + key { [ XF86Macro15 ] }; // KEY_MACRO15 + key { [ XF86Macro16 ] }; // KEY_MACRO16 + key { [ XF86Macro17 ] }; // KEY_MACRO17 + key { [ XF86Macro18 ] }; // KEY_MACRO18 + key { [ XF86Macro19 ] }; // KEY_MACRO19 + key { [ XF86Macro20 ] }; // KEY_MACRO20 + key { [ XF86Macro21 ] }; // KEY_MACRO21 + key { [ XF86Macro22 ] }; // KEY_MACRO22 + key { [ XF86Macro23 ] }; // KEY_MACRO23 + key { [ XF86Macro24 ] }; // KEY_MACRO24 + key { [ XF86Macro25 ] }; // KEY_MACRO25 + key { [ XF86Macro26 ] }; // KEY_MACRO26 + key { [ XF86Macro27 ] }; // KEY_MACRO27 + key { [ XF86Macro28 ] }; // KEY_MACRO28 + key { [ XF86Macro29 ] }; // KEY_MACRO29 + key { [ XF86Macro30 ] }; // KEY_MACRO30 + key { [ XF86MacroRecordStart ] }; // KEY_MACRO_RECORD_START + key { [ XF86MacroRecordStop ] }; // KEY_MACRO_RECORD_STOP + key { [ XF86MacroPresetCycle ] }; // KEY_MACRO_PRESET_CYCLE + key { [ XF86MacroPreset1 ] }; // KEY_MACRO_PRESET1 + key { [ XF86MacroPreset2 ] }; // KEY_MACRO_PRESET2 + key { [ XF86MacroPreset3 ] }; // KEY_MACRO_PRESET3 + key { [ XF86KbdLcdMenu1 ] }; // KEY_KBD_LCD_MENU1 + key { [ XF86KbdLcdMenu2 ] }; // KEY_KBD_LCD_MENU2 + key { [ XF86KbdLcdMenu3 ] }; // KEY_KBD_LCD_MENU3 + key { [ XF86KbdLcdMenu4 ] }; // KEY_KBD_LCD_MENU4 + key { [ XF86KbdLcdMenu5 ] }; // KEY_KBD_LCD_MENU5 + // End of autogenerated key symbol mappings +}; + + +// Acer + +// Acer AirKey V +partial alphanumeric_keys +xkb_symbols "airkey" { + include "inet(acpi_common)" + key { [ XF86AudioNext ] }; + key { [ XF86AudioPlay, XF86AudioPause ] }; + key { [ XF86Mail ] }; + key { [ XF86AudioPrev ] }; + key { [ XF86AudioMute ] }; + key { [ XF86WWW ] }; + key { [ XF86AudioLowerVolume ] }; + key { [ XF86AudioRaiseVolume ] }; + key { [ XF86Terminal ] }; + key { [ XF86AudioStop, XF86Eject ] }; +}; + +// Acer C300 laptop +partial alphanumeric_keys +xkb_symbols "acer_c300" { + include "inet(nav_common)" + key { [ F14 ] }; + key { [ F13 ] }; + key { [ XF86AudioMute ] }; + key { [ XF86AudioLowerVolume ] }; + key { [ XF86AudioRaiseVolume ] }; + key { [ XF86Launch2 ] }; + key { [ Help ] }; + key { [ XF86Launch1 ] }; +}; + +// Acer Ferrari 4000 Keyboard +// From Alex Dubov +partial alphanumeric_keys +xkb_symbols "acer_ferrari4k" { + include "inet(media_nav_common)" + key { [ dollar ] }; + key { [ EuroSign ] }; + key { [ XF86Display ] }; + // Missing keycodes - set-up with setkeycodes + key { [ Help ] }; + key { [ XF86Launch1 ] }; + key { [ XF86Launch2 ] }; + key { [ XF86Launch3 ] }; + key { [ XF86Launch4 ] }; +}; + +// Acer laptop (Generic layout for Acer laptops from 2004 onwards) +// From Carlos Corbacho +// Keys marked (HAL) require HAL 0.5.10 (or newer) to be set up correctly +// (Your laptop must also be added to hal-info) +// (Not all these keys will be available on every Acer laptop) +partial alphanumeric_keys +xkb_symbols "acer_laptop" { + include "inet(media_nav_acpi_common)" + key { [ XF86Launch2 ] }; // "P" or "P2" (HAL) + key { [ XF86Launch1 ] }; // "e" or "P1" (HAL) + + // Hotkeys (Function) + // Launch Keys + // Device keys + key { [ XF86Display ] }; // Fn+F5 (HAL) + key { [ XF86Launch4 ] }; // Fn+F3 (HAL) + key { [ XF86LaunchB ] }; // Bluetooth (HAL) + key { [ XF86LaunchA ] }; // Wireless (HAL) + key { [ Help ] }; // Fn+F1 (HAL) + key { [ XF86Launch5 ] }; // Fn+F7 (HAL) + key { [ XF86Launch3 ] }; // Fn+F2 (HAL) + + // Special Characters + // To avoid setting a precedent/standard that will be broken in later + // versions of HAL, these keys are commented out for now. When they are no + // longer marked 'FIXME' and have saner keycodes, these two entries can be + // fixed and permanently uncommented. In the meantime, just uncomment these + // to make the keys work. +// key { [ EuroSign ] }; // Euro (HAL) +// key { [ dollar ] }; // Dollar (HAL) +}; + + +// Azona + +// Azona RF2300 Wireless Internet +partial alphanumeric_keys +xkb_symbols "azonaRF2300" { + // From Radics Laszlo + include "inet(nav_acpi_common)" + key { [ XF86HomePage ] }; + key { [ XF86AudioStop ] }; + key { [ XF86AudioRaiseVolume ] }; + key { [ XF86AudioPlay, XF86AudioPause ] }; + key { [ XF86AudioNext ] }; + key { [ XF86AudioPrev ] }; + key { [ XF86AudioLowerVolume ] }; + key { [ XF86AudioMute ] }; + key { [ XF86Copy ] }; + key { [ XF86Cut ] }; +// key { [ XF86Paste ] }; +}; + + +// Brother + +// Brother Internet +partial alphanumeric_keys +xkb_symbols "brother" { + include "inet(acpi_common)" + key { [ XF86ScrollUp ] }; + key { [ XF86AudioPlay, XF86AudioPause ] }; + key { [ XF86AudioPrev ] }; + key { [ XF86ScrollDown ] }; + key { [ XF86ZoomOut ] }; + key { [ XF86AudioMute ] }; + key { [ XF86WWW ] }; + key { [ Menu ] }; + key { [ XF86AudioStop ] }; + key { [ XF86Calculator ] }; + key { [ XF86Xfer ] }; + key { [ XF86Mail ] }; + key { [ XF86AudioNext ] }; + key { [ XF86AudioRaiseVolume ] }; + key { [ XF86ZoomIn ] }; + key { [ XF86AudioLowerVolume ] }; +}; + + +// BTC + +// BTC 5113RF Multimedia +partial alphanumeric_keys +xkb_symbols "btc5113rf" { + include "inet(acpi_common)" + key { [ XF86AudioStop ] }; + key { [ XF86AudioMute ] }; + key { [ XF86AudioPlay, XF86AudioPause ] }; + key { [ XF86AudioRaiseVolume ] }; + key { [ XF86Favorites ] }; + key { [ XF86Eject ] }; + key { [ XF86AudioPrev ] }; + key { [ XF86AudioNext ] }; + key { [ XF86AudioLowerVolume ] }; + key { [ XF86Back ] }; + key { [ XF86WWW ] }; + key { [ XF86Search ] }; +}; + +// BTC 9000 +partial alphanumeric_keys +xkb_symbols "btc9000" { + include "inet(acpi_common)" + key { [ XF86AudioStop ] }; + key { [ XF86AudioMute ] }; + key { [ XF86AudioPlay, XF86AudioPause ] }; + key { [ XF86AudioRaiseVolume ] }; + key { [ XF86Favorites ] }; + key { [ XF86AudioMedia ] }; + key { [ XF86AudioPrev ] }; + key { [ XF86AudioNext ] }; + key { [ XF86AudioLowerVolume ] }; + key { [ XF86Reload ] }; + key { [ XF86Mail ] }; + key { [ XF86HomePage ] }; + key { [ XF86Search ] }; +}; + +// BTC 9000A +partial alphanumeric_keys +xkb_symbols "btc9000a" { + include "inet(acpi_common)" + key { [ XF86AudioStop ] }; + key { [ XF86AudioMute ] }; + key { [ XF86AudioPlay, XF86AudioPause ] }; + key { [ XF86AudioRaiseVolume ] }; + key { [ XF86Favorites ] }; + key { [ XF86Eject ] }; + key { [ XF86AudioPrev ] }; + key { [ XF86AudioNext ] }; + key { [ XF86AudioLowerVolume ] }; + key { [ XF86HomePage ] }; + key { [ Help ] }; + key { [ XF86WWW ] }; + key { [ XF86Search ] }; +}; + +// BTC 9001AH +xkb_symbols "btc9001ah" { + include "inet(acpi_common)" + key { [ XF86HomePage ] }; + key { [ XF86AudioStop ] }; + key { [ XF86AudioRaiseVolume ] }; + key { [ XF86AudioPlay, XF86AudioPause ] }; + key { [ XF86AudioNext ] }; + key { [ XF86AudioPrev ] }; + key { [ XF86AudioLowerVolume ] }; + key { [ XF86AudioMute ] }; + key { [ XF86Mail ] }; + key { [ XF86Eject ] }; +}; + +// BTC 5090 +partial alphanumeric_keys +xkb_symbols "btc5090" { + include "inet(media_nav_acpi_common)" + key { [ XF86Start ] }; + key { [ XF86Eject ] }; +}; + +// BTC 9019U +partial alphanumeric_keys +xkb_symbols "btc9019u" { + include "inet(media_nav_acpi_common)" + key { [ XF86Search ] }; + key { [ XF86HomePage ] }; +}; + + +// Cherry + +// Cherry Blue Line CyBo@rd +partial alphanumeric_keys +xkb_symbols "cherryblue" { + include "inet(nav_common)" + key { [ XF86Reload ] }; + key { [ XF86HomePage ] }; + key { [ XF86AudioStop ] }; + key { [ XF86AudioRaiseVolume ] }; + key { [ XF86AudioPlay, XF86AudioPause ] }; + key { [ XF86AudioNext ] }; + key { [ XF86AudioPrev ] }; + key { [ XF86AudioLowerVolume ] }; + key { [ XF86AudioMute ] }; + key { [ XF86Standby ] }; + key { [ XF86Terminal ] }; + key { [ XF86Go ] }; +}; + +// Cherry CyMotion Master XPress +partial alphanumeric_keys +xkb_symbols "cherryblueb" { + include "inet(media_nav_common)" + key { [ XF86Reload ] }; + key { [ XF86HomePage ] }; + key { [ XF86Forward ] }; + key { [ XF86Back ] }; + key { [ XF86Copy ] }; + key { [ XF86ScrollUp ] }; + key { [ XF86ScrollDown ] }; + key { [ XF86Cut ] }; + key { [ XF86Paste ] }; + key { [ XF86AudioRaiseVolume ] }; + key { [ XF86AudioLowerVolume ] }; + key { [ XF86AudioMute ] }; + key { [ XF86Book ] }; + key { [ XF86Finance ] }; + key { [ XF86Standby ] }; + key { [ XF86AudioRewind ] }; + key { [ XF86Eject ] }; + key { [ XF86Book ] }; + key { [ XF86Book ] }; + key { [ XF86Terminal ] }; + key { [ XF86Go ] }; +}; + +// Cherry Blue Line CyBo@rd (alt.) +partial alphanumeric_keys +xkb_symbols "cherrybluea" { + include "inet(media_nav_acpi_common)" + key { [ XF86Go ] }; +}; + +// Cherry CyBo@rd USB-Hub +partial alphanumeric_keys +xkb_symbols "cherrycyboard" { + include "inet(media_nav_acpi_common)" + key { [ XF86Search ] }; + key { [ XF86HomePage ] }; + key { [ XF86Terminal ] }; + key { [ XF86AudioMedia ] }; +}; + +// Cherry CyMotion Expert +partial alphanumeric_keys +xkb_symbols "cherrycmexpert" { + include "inet(cherryblueb)" + include "inet(acpi_common)" + key { [ XF86Mail ] }; +}; + + +// Chicony + +// Chicony Internet +partial alphanumeric_keys +xkb_symbols "chicony" { + include "inet(acpi_common)" + key { [ XF86AudioMute ] }; + key { [ XF86Mail ] }; + key { [ XF86AudioLowerVolume ] }; + key { [ XF86Forward ] }; + key { [ XF86AudioNext ] }; + key { [ XF86AudioPlay, XF86AudioPause ] }; + key { [ XF86AudioPrev ] }; + key { [ XF86AudioRaiseVolume ] }; + key { [ XF86AudioStop ] }; + key { [ XF86Back ] }; + key { [ XF86LaunchB ] }; + key { [ XF86LaunchC ] }; + key { [ XF86LaunchA ] }; + key { [ XF86WWW ] }; + key { [ XF86ContrastAdjust ] }; + key { [ XF86BrightnessAdjust ] }; +}; + +// Chicony KU-0108 +partial alphanumeric_keys +xkb_symbols "chicony0108" { + include "inet(cherrycyboard)" +}; + +// Chicony KU-0420 AKA Targus Slim Internet Media USB Keyboard +partial alphanumeric_keys +xkb_symbols "chicony0420" { + include "inet(media_nav_acpi_common)" + key { [ XF86AudioMedia ] }; + key { [ XF86MyComputer ] }; +}; + +// Chicony KB-9885 +partial alphanumeric_keys +xkb_symbols "chicony9885" { + include "inet(acpi_common)" + key { [ XF86AudioMute ] }; + key { [ XF86Mail ] }; + key { [ XF86AudioLowerVolume ] }; + key { [ XF86Forward ] }; + key { [ XF86AudioNext ] }; + key { [ XF86AudioPlay, XF86AudioPause ] }; + key { [ XF86AudioPrev ] }; + key { [ XF86AudioRaiseVolume ] }; + key { [ XF86AudioStop ] }; + key { [ XF86Back ] }; + key { [ XF86LaunchB ] }; + key { [ XF86LaunchC ] }; + key { [ XF86LaunchA ] }; + key { [ XF86WWW ] }; +}; + + +// Compaq + +// Compaq Easy Access +partial alphanumeric_keys +xkb_symbols "compaqeak8" { + key { [ XF86Community ] }; + key { [ XF86Market ] }; + key { [ XF86Meeting ] }; + key { [ XF86Search ] }; + key { [ XF86News ] }; + key { [ XF86Mail ] }; + key { [ XF86HomePage ] }; + key { [ XF86WWW ] }; +}; + +// Compaq Internet (7 keys) +partial alphanumeric_keys +xkb_symbols "compaqik7" { + key { [ XF86LightBulb ] }; + key { [ XF86Mail ] }; + key { [ XF86Search ] }; + key { [ Help ] }; + key { [ XF86VendorHome ] }; + key { [ XF86HomePage ] }; + key { [ XF86Shop ] }; +}; + +// Compaq Internet (13 keys) +partial alphanumeric_keys +xkb_symbols "compaqik13" { + include "inet(media_acpi_common)" + key { [ XF86Mail ] }; + key { [ XF86Go ] }; + key { [ XF86Search ] }; + key { [ XF86WWW ] }; + key { [ XF86Shop ] }; +}; + +// Compaq Internet (18 keys) +partial alphanumeric_keys +xkb_symbols "compaqik18" { + include "inet(media_acpi_common)" + key { [ XF86LightBulb ] }; + key { [ XF86Eject ] }; + key { [ XF86Mail ] }; + key { [ XF86Go ] }; + key { [ XF86Search ] }; + key { [ XF86WWW ] }; + key { [ XF86VendorHome ] }; + key { [ XF86Community ] }; + key { [ XF86Shop ] }; + key { [ Print ] }; +}; + +// laptop/notebook Compaq (eg. Armada, Evo) laptop Keyboard +partial alphanumeric_keys +xkb_symbols "armada" { + include "inet(media_acpi_common)" + key { [ XF86Search ] }; + key { [ XF86Mail ] }; + key { [ XF86HomePage ] }; + key { [ XF86WWW ] }; + key { [ XF86Launch2 ] }; // Battery Monitor + key { [ XF86AudioMedia ] }; + key { [ XF86Launch0 ] }; // Info Center +}; + +// Compaq Presario laptop +partial alphanumeric_keys +xkb_symbols "presario" { + include "inet(media_acpi_common)" + key { [ XF86Q ] }; + key { [ XF86Launch2 ] }; + key { [ XF86Mail ] }; + key { [ XF86Launch1 ] }; + key { [ XF86WWW ] }; + key { [ XF86Shop ] }; + key { [ XF86AudioMedia ] }; +}; + +// Compaq iPaq +partial alphanumeric_keys +xkb_symbols "ipaq" { + key { [ XF86Shop ] }; + key { [ XF86Standby ] }; + key { [ XF86Search ] }; + key { [ XF86Travel ] }; + key { [ XF86BackForward ] }; + key { [ XF86Q ] }; + key { [ XF86Mail ] }; +}; + + +// Dell + +partial alphanumeric_keys +xkb_symbols "dell" { + include "inet(acpi_common)" + key { [ XF86Mail ] }; + key { [ XF86Search ] }; + key { [ XF86HomePage ] }; +}; + +// Dell Precision M65 laptop +partial alphanumeric_keys +xkb_symbols "dellm65" { + include "inet(media_common)" + key { [ XF86PowerOff ] }; + key { [ Super_L ] }; +}; + +// laptop/notebook Dell Inspiron 8xxx +partial alphanumeric_keys +xkb_symbols "inspiron" { + include "inet(media_common)" + key { [ XF86AudioStop ] }; + key { [ XF86AudioNext ] }; + key { [ XF86Eject ] }; + key { [ XF86Display ] }; + key { [ XF86AudioPrev ] }; + key { [ XF86AudioPlay, XF86AudioPause ] }; +}; + +// DELL USB Multimedia (former 8135, generalized, superset of 8125) +partial alphanumeric_keys +xkb_symbols "dellusbmm" { + // Describes the extra keys on a SK-8135 Multimedia keyboard + // From Olivier Lahaye + include "inet(media_nav_acpi_common)" + key { [ XF86HomePage ] }; + key { [ XF86MyComputer ] }; + key { [ XF86AudioMedia ] }; +}; + + +// Diamond + +// Diamond 9801/9802 +partial alphanumeric_keys +xkb_symbols "diamond" { + include "inet(media_nav_acpi_common)" + key { [ XF86Go ] }; +}; + + +// Ennyah + +// Ennyah DKB-1008 +partial alphanumeric_keys +xkb_symbols "ennyah_dkb1008" { + include "inet(media_nav_acpi_common)" + key { [ XF86AudioMedia ] }; +}; + + +// Genius + +// Genius Comfy KB-16M/Multimedia KWD-910 +partial alphanumeric_keys +xkb_symbols "genius" { + include "inet(media_acpi_common)" + key { [ XF86AudioRaiseVolume ] }; + key { [ XF86Calculator ] }; + key { [ XF86AudioLowerVolume ] }; + key { [ XF86Forward ] }; + key { [ XF86AudioNext ] }; + key { [ XF86AudioPrev ] }; + key { [ XF86Back ] }; + key { [ XF86ScreenSaver ] }; + key { [ XF86Mail ] }; + key { [ XF86Eject ] }; + key { [ XF86WWW ] }; +}; + +// Genius Comfy 21e +partial alphanumeric_keys +xkb_symbols "geniuscomfy2" { + // Describes the extra keys on a Genius Comfy KB-21e-Scroll + // From Radics Laszlo + include "inet(media_nav_acpi_common)" + key { [ Return ] }; +}; + + +// Gyration + +partial alphanumeric_keys +xkb_symbols "gyration" { + include "inet(nav_common)" + key { [ XF86Reload ] }; + key { [ XF86HomePage ] }; + key { [ XF86AudioStop ] }; + key { [ XF86AudioRaiseVolume ] }; + key { [ XF86AudioPlay, XF86AudioPause ] }; + key { [ XF86AudioNext ] }; + key { [ XF86AudioPrev ] }; + key { [ XF86AudioLowerVolume ] }; + key { [ XF86AudioMute ] }; +}; + + +// Hewlett-Packard + +// Hewlett-Packard Internet +partial alphanumeric_keys +xkb_symbols "hpi6" { + include "inet(media_nav_acpi_common)" + key { [ XF86HomePage ] }; + key { [ XF86Search ] }; + key { [ XF86VendorHome ] }; + key { [ XF86Community ] }; + key { [ XF86AudioMedia ] }; + key { [ XF86Eject ] }; + key { [ XF86Shop ] }; + key { [ XF86Launch1 ] }; + key { [ Help ] }; + key { [ XF86Finance ] }; + key { [ Print ] }; + key { [ Help ] }; +}; + +// Hewlett-Packard SK-2501, SK-2505 Multimedia +partial alphanumeric_keys +xkb_symbols "hp250x" { + key { [ XF86Tools ] }; + key { [ XF86Search ] }; + key { [ XF86Eject ] }; + key { [ XF86Mail ] }; + key { [ XF86AudioMute ] }; + key { [ XF86Launch5 ] }; + key { [ XF86Launch3 ] }; + key { [ XF86Launch2 ] }; + key { [ XF86Launch4 ] }; + key { [ XF86Standby ] }; + key { [ Help ] }; + key { [ XF86AudioLowerVolume ] }; + key { [ XF86AudioRaiseVolume ] }; + key { [ XF86WWW ] }; +}; + +// Hewlett-Packard Omnibook XE3 GC, GD, GE and Pavilion N5xxx +partial alphanumeric_keys +xkb_symbols "hpxe3gc" { + // Describes the OneTouch buttons on HP Omnibook XE3 GC and + // HP Pavilion N52XX models. + // See http://sourceforge.net/projects/omke for details on enabling + // these keys + include "inet(media_common)" + key { [ Help ] }; + key { [ XF86Launch1 ] }; + key { [ XF86WWW ] }; + key { [ XF86Mail ] }; +}; + +// Hewlett-Packard Omnibook XE3 GF +partial alphanumeric_keys +xkb_symbols "hpxe3gf" { + // Describes the OneTouch buttons on HP Omnibook XE3 GF models. + // See http://sourceforge.net/projects/omke for details on enabling + // these keys + include "inet(media_nav_common)" + key { [ Help ] }; + key { [ XF86Launch1 ] }; +}; + +// Hewlett-Packard Omnibook XT1000 +partial alphanumeric_keys +xkb_symbols "hpxt1000" { + // Describes the OneTouch buttons on HP Omnibook XT1000 models. + // See http://sourceforge.net/projects/omke for details on enabling + // these keys + include "inet(media_nav_common)" + key { [ XF86Launch3 ] }; + key { [ Help ] }; + key { [ XF86Launch2 ] }; + key { [ XF86Launch1 ] }; +}; + +// Hewlett-Packard Pavilion ZT1100 +partial alphanumeric_keys +xkb_symbols "hpzt11xx" { + // Describes the OneTouch buttons on HP Pavilion ZT11xx models. + // See http://sourceforge.net/projects/omke for details on enabling + // these keys + include "inet(media_nav_common)" + key { [ XF86Launch3 ] }; + key { [ Help ] }; + key { [ XF86Launch2 ] }; + key { [ XF86Launch1 ] }; +}; + +// Hewlett-Packard Pavilion dv5 +partial alphanumeric_keys +xkb_symbols "hpdv5" { + // Describes the OneTouch buttons on HP Pavilion dv5 models. + // See http://sourceforge.net/projects/omke for details on enabling + // these keys + include "inet(media_common)" + key { [ XF86ScreenSaver ] }; + key { [ XF86WWW ] }; + key { [ Help ] }; + key { [ XF86Launch1 ] }; +}; + +// Hewlett-Packard Omnibook XE4xxx and ZE4xxx +partial alphanumeric_keys +xkb_symbols "hpxe4xxx" { + // Describes the OneTouch buttons on HP Omnibook XE4xxx and ZE4xxx + // models. + // See http://sourceforge.net/projects/omke for details on enabling + // these keys + include "inet(media_nav_common)" + key { [ Help ] }; + key { [ XF86Launch2 ] }; + key { [ XF86Launch1 ] }; +}; + +// Hewlett-Packard Omnibook 500 FA +partial alphanumeric_keys +xkb_symbols "hp500fa" { + // Describes the OneTouch buttons on HP Omnibook 500 FA models. + // See http://sourceforge.net/projects/omke for details on enabling + // these keys + key { [ Help ] }; + key { [ XF86Launch1 ] }; +}; + +// Hewlett-Packard Omnibook 500 +partial alphanumeric_keys +xkb_symbols "hp5xx" { + // Describes the OneTouch buttons on HP Omnibook 5xx models. + // See http://sourceforge.net/projects/omke for details on enabling + // these keys + include "inet(media_common)" + key { [ Help ] }; + key { [ XF86Launch1 ] }; +}; + + +// Honeywell + +// Honeywell Euroboard +partial alphanumeric_keys +xkb_symbols "honeywell_euroboard" { + // January 2002 + // Scott Penrose + // http://linux.dd.com.au/quest/linux/keyboard/honeywell/ + key { [ XF86Game ] }; + key { [ XF86AudioPrev ] }; + key { [ XF86Eject ] }; + key { [ XF86Launch2 ] }; + key { [ XF86AudioPlay, XF86AudioPause ] }; + key { [ XF86Launch1 ] }; + key { [ XF86AudioMute ] }; + key { [ XF86AudioNext ] }; + key { [ XF86AudioStop ] }; + key { [ XF86Mail ] }; + key { [ XF86ScreenSaver ] }; + key { [ XF86Calculator ] }; + key { [ XF86AudioLowerVolume ] }; + key { [ XF86AudioRaiseVolume ] }; + key { [ XF86WWW ] }; +}; + + +// IBM + +// IBM Rapid Access +partial alphanumeric_keys +xkb_symbols "rapidaccess" { + key { [ XF86AudioMute ] }; + key { [ XF86Launch2 ] }; + key { [ XF86AudioLowerVolume ] }; + key { [ XF86AudioRaiseVolume ] }; + key { [ XF86AudioNext ] }; + key { [ XF86AudioPause ] }; + key { [ XF86AudioPlay, XF86AudioPause ] }; + key { [ XF86AudioPrev ] }; + key { [ XF86AudioStop ] }; + key { [ XF86Standby ] }; + key { [ Help ] }; + key { [ XF86Launch4 ] }; + key { [ XF86Launch3 ] }; + key { [ XF86Launch1 ] }; +}; + +// IBM Rapid Access II +partial alphanumeric_keys +xkb_symbols "rapidaccess2" { + include "inet(acpi_common)" + key { [ XF86AudioNext ] }; + key { [ XF86Favorites ] }; + key { [ XF86AudioMute ] }; + key { [ XF86AudioStop ] }; + key { [ XF86AudioLowerVolume ] }; + key { [ XF86AudioPlay, XF86AudioPause ] }; + key { [ XF86AudioRaiseVolume ] }; + key { [ XF86AudioPrev ] }; + key { [ XF86HomePage ] }; + key { [ XF86Shop ] }; + key { [ XF86Search ] }; + key { [ XF86MyComputer ] }; + key { [ XF86VendorHome ] }; +}; + +// IBM ThinkPad 60 series +partial alphanumeric_keys +xkb_symbols "thinkpad60" { + include "inet(media_nav_common)" + key { [ XF86VendorHome ] }; +}; + +// IBM Space Saver +partial alphanumeric_keys +xkb_symbols "ibm_spacesaver" { + key { + type="ONE_LEVEL", + symbols[Group1]= [ Num_Lock ] + }; +}; + + +// Logitech + +// Logitech common definitions +hidden partial alphanumeric_keys +xkb_symbols "logitech_base" { + include "inet(media_nav_acpi_common)" + key { [ XF86HomePage ] }; + key { [ XF86Community ] }; + key { [ XF86ScrollClick ] }; + key { [ XF86VendorHome ] }; + key { [ XF86New ] }; + key { [ XF86Reply ] }; + key { [ XF86MyComputer ] }; + key { [ XF86Documents ] }; + key { [ XF86Pictures ] }; + key { [ XF86Music ] }; +}; + +// Logitech second set of common keys +hidden partial alphanumeric_keys +xkb_symbols "logitech_set3" { + key { [ XF86AudioStop ] }; + key { [ XF86AudioRaiseVolume ] }; + key { [ XF86AudioPlay, XF86AudioPause ] }; + key { [ XF86AudioNext ] }; + key { [ XF86AudioPrev ] }; + key { [ XF86AudioLowerVolume ] }; + key { [ XF86AudioMute ] }; + key { [ XF86New ] }; // F1 + key { [ XF86Reply ] }; // F2 + key { [ XF86Send ] }; // F4 + key { [ Print ] }; // F7 + key { [ XF86Save ] }; // F8 + key { [ XF86Documents ] }; // F10 + key { [ XF86Go ] }; + key { [ XF86AudioMedia ] }; +}; + +// Logitech Access +partial alphanumeric_keys +xkb_symbols "logiaccess" { + include "inet(logitech_base)" + key { [ XF86MailForward ] }; + key { [ XF86Send ] }; + key { [ XF86Messenger ] }; + key { [ XF86WebCam ] }; +}; + +// Logitech Cordless Desktop (alt.) +partial alphanumeric_keys +xkb_symbols "logicda" { + include "inet(logitech_base)" + include "inet(logitech_set3)" +}; + +// Logitech Internet Navigator +partial alphanumeric_keys +xkb_symbols "logicink" { + include "inet(logitech_base)" + key { [ XF86Shop ] }; + key { [ XF86VendorHome ] }; + key { [ XF86Finance ] }; + key { [ XF86Start ] }; +}; + +// Logitech Cordless Desktop EX110 +partial alphanumeric_keys +xkb_symbols "logiex110" { + include "inet(logitech_base)" + key { [ XF86Close ] }; // Close +// Extended function keys +// In the Console before starting X +// Using setkeycodes e03b 212 e03c 213 e03d 214 e03e 215 e03f 216 e040 217 +// setkeycodes e041 218 e042 219 e043 220 e044 221 e057 222 e058 223 6d 206 +// *=keys that are there but need different symbol names. + key { [ Help ] }; // F1 + key { [ XF86Word ] }; // F2 + key { [ XF86Excel ] }; // F3 + key { [ XF86Pictures ] }; // F4 + key { [ Undo ] }; // F5 + key { [ Redo ] }; // F6 * + key { [ Print ] }; // F7 + key { [ XF86Save ] }; // F8 + key { [ XF86Launch1 ] }; // F9 * + key { [ XF86Launch2 ] }; // F10 + key { [ XF86Launch3 ] }; // F11 + key { [ XF86Launch4 ] }; // F12 +}; + +// Logitech iTouch Internet Navigator SE +partial alphanumeric_keys +xkb_symbols "logiinkse" { + include "inet(logitech_base)" + key { [ XF86MailForward ] }; // F3 + key { [ XF86Send ] }; // F4 + key { [ Undo ] }; // F5 + key { [ Redo ] }; // F6 + key { [ Print ] }; // F7 + key { [ XF86Messenger ] }; + key { [ XF86WebCam ] }; + key { [ XF86VendorHome ] }; + key { [ XF86Shop ] }; + key { [ XF86Save ] }; // F8 +}; + +// Logitech iTouch Internet Navigator SE USB +partial alphanumeric_keys +xkb_symbols "logiinkseusb" { + include "inet(logitech_base)" + include "inet(logitech_set3)" +}; + +// Logitech iTouch Cordless Y-RB6 +partial alphanumeric_keys +xkb_symbols "logiitc" { + include "inet(logitech_base)" + key { [ XF86AudioRaiseVolume ] }; + + // Just to override RaiseVolume from logitech_base, + // since no keysym can have two keycodes, see + // https://bugs.freedesktop.org/show_bug.cgi?id=7095 + key { [ XF86Launch1 ] }; +}; + +// Logitech Internet +partial alphanumeric_keys +xkb_symbols "logiik" { + include "inet(logitech_base)" + key { [ Find ] }; + key { [ Print ] }; + key { [ XF86Favorites ] }; + key { [ XF86Reload ] }; + key { [ XF86Search ] }; + key { [ XF86HotLinks ] }; + key { [ XF86Forward ] }; + key { [ XF86HomePage ] }; + key { [ XF86Stop ] }; + key { [ XF86OpenURL ] }; + key { [ XF86AddFavorite ] }; + key { [ XF86History ] }; + key { [ XF86WWW ] }; +}; + +// Logitech iTouch +partial alphanumeric_keys +xkb_symbols "itouch" { + include "inet(logitech_base)" + key { [ XF86AudioMute ] }; + key { [ XF86AudioLowerVolume ] }; + key { [ XF86AudioRaiseVolume ] }; +}; + +// Logitech UltraX Cordless Media Desktop +partial alphanumeric_keys +xkb_symbols "logiultraxc" { + key { [ XF86AudioMute ] }; + key { [ XF86AudioLowerVolume ] }; + key { [ XF86AudioNext ] }; + key { [ XF86AudioPrev ] }; + key { [ XF86AudioPlay, XF86AudioPause ] }; + key { [ XF86AudioRaiseVolume ] }; +}; + +partial alphanumeric_keys +xkb_symbols "logidinovo" { + include "inet(media_nav_common)" + key { [ XF86HomePage ] }; + key { [ XF86Standby ] }; + key { [ XF86Search ] }; + key { [ XF86AudioRaiseVolume ] }; + key { [ XF86AudioLowerVolume ] }; + key { [ XF86AudioMute ] }; + key { [ XF86AudioMedia ] }; +}; + +partial alphanumeric_keys +xkb_symbols "logidinovoedge" { + include "inet(media_acpi_common)" + key { [ XF86HomePage ] }; + key { [ XF86Mail ] }; + key { [ XF86Search ] }; + key { [ XF86AudioMedia ] }; +}; + +partial alphanumeric_keys +xkb_symbols "logitech_g15" { + include "inet(media_nav_acpi_common)" + key { [ XF86Messenger ] }; + key { [ XF86Launch7 ] }; + key { [ XF86Launch9 ] }; + key { [ XF86Phone ] }; + key { [ XF86LaunchD ] }; + key { [ XF86Support ] }; + key { [ XF86LaunchF ] }; + key { [ XF86LogOff ] }; + key { [ XF86Launch5 ] }; + key { [ XF86Travel ] }; + key { [ XF86Spell ] }; + key { [ XF86Launch4 ] }; + key { [ XF86Music ] }; + key { [ XF86Forward ] }; + key { [ XF86Send ] }; + key { [ XF86Save ] }; + key { [ XF86Pictures ] }; + key { [ XF86LaunchA ] }; + key { [ XF86iTouch ] }; + key { [ XF86Launch3 ] }; + key { [ XF86ToDoList ] }; + key { [ XF86Calculator ] }; + key { [ XF86VendorHome ] }; + key { [ XF86Away ] }; + key { [ XF86WebCam ] }; + key { [ XF86Launch0 ] }; + key { [ XF86Launch6 ] }; + key { [ XF86Calendar ] }; + key { [ XF86LaunchB ] }; + key { [ XF86LaunchC ] }; + key { [ XF86WWW ] }; + key { [ XF86LaunchE ] }; + key { [ XF86Launch1 ] }; + key { [ XF86Launch2 ] }; + key { [ XF86Launch8 ] }; +}; + + +// Memorex + +// Memorex MX1998 +partial alphanumeric_keys +xkb_symbols "mx1998" { + include "inet(media_acpi_common)" + key { [ XF86ScrollDown ] }; + key { [ XF86AudioRewind ] }; + key { [ XF86Close ] }; + key { [ XF86Xfer ] }; + key { [ XF86AudioRecord ] }; + key { [ XF86Documents ] }; + key { [ XF86Game ] }; + key { [ XF86Calculator ] }; + key { [ Menu ] }; + key { [ XF86WWW ] }; + key { [ XF86WakeUp ] }; + key { [ XF86DOS ] }; + key { [ XF86ScreenSaver ] }; + key { [ XF86ScrollUp ] }; +}; + +// Memorex MX2500 EZ-Access +partial alphanumeric_keys +xkb_symbols "mx2500" { + include "inet(media_nav_acpi_common)" + key { [ XF86Clear ] }; + key { [ XF86Phone ] }; + key { [ XF86DOS ] }; + key { [ XF86Close ] }; + key { [ XF86Xfer ] }; + key { [ XF86Eject ] }; + key { [ XF86Documents ] }; + key { [ XF86News ] }; + key { [ XF86WakeUp ] }; + key { [ XF86RotateWindows ] }; +}; + +// Memorex MX2750 +partial alphanumeric_keys +xkb_symbols "mx2750" { + include "inet(media_nav_acpi_common)" + key { [ XF86Launch0 ] }; +}; + + +// Microsoft + +// Microsoft Natural Ergonomic 4000 +partial alphanumeric_keys +xkb_symbols "microsoft4000" { + include "inet(media_nav_common)" + key { [ XF86Launch1 ] }; + key { [ XF86Launch2 ] }; + key { [ XF86Launch3 ] }; + key { [ XF86Launch4 ] }; + key { [ XF86Launch5 ] }; +// Missing because of lack of support from kbd driver: Zoom in and +// slider. +}; + +// Microsoft Natural Wireless Ergonomic 7000 +partial alphanumeric_keys +xkb_symbols "microsoft7000" { + include "inet(media_nav_common)" + key { [ Undo ] }; + key { [ XF86New ] }; + key { [ Redo ] }; + key { [ XF86MailForward ] }; + key { [ XF86Close ] }; + key { [ Print ] }; + key { [ XF86Save ] }; + key { [ XF86Send ] }; + key { [ Help ] }; + key { [ XF86Reply ] }; + key { [ parenleft ] }; + key { [ parenright ] }; + key { [ KP_Equal ] }; + key { [ XF86Open ] }; +// Missing because of lack of support from kbd driver: Spell, Launch, +// and Zoom in and out buttons. +}; + +// Microsoft Internet +partial alphanumeric_keys +xkb_symbols "microsoftinet" { + include "inet(nav_acpi_common)" + key { [ XF86AudioStop ] }; +}; + +// Microsoft Natural Pro USB +partial alphanumeric_keys +xkb_symbols "microsoftprousb" { + include "inet(nav_common)" + key { [ XF86Reload ] }; + key { [ XF86AudioMedia ] }; + key { [ XF86HomePage ] }; + key { [ XF86AudioStop ] }; + key { [ XF86AudioRaiseVolume ] }; + key { [ XF86AudioPlay, XF86AudioPause ] }; + key { [ XF86AudioNext ] }; + key { [ XF86AudioPrev ] }; + key { [ XF86AudioLowerVolume ] }; + key { [ XF86AudioMute ] }; + key { [ XF86Standby ] }; +// Internet Section -- Left Side +// Multimedia Section -- Right Side +// My Computer Section -- Far Right +// My computer maps to printscreen, so leaving commented out for now +// key { [ XF86MyComputer ] }; +}; + +// Microsoft Natural Pro OEM +partial alphanumeric_keys +xkb_symbols "microsoftprooem" { + include "inet(media_nav_common)" + key { [ XF86Search ] }; + key { [ XF86HomePage ] }; + key { [ XF86Standby ] }; + key { [ XF86MyComputer ] }; +// Internet Section -- Left Side +// Multimedia Section -- Right Side +// My Computer Section -- Far Right +}; + +// Microsoft Internet Pro (Swedish) +partial alphanumeric_keys +xkb_symbols "microsoftprose" { + include "inet(nav_common)" + key { [ XF86Reload ] }; + key { [ XF86HomePage ] }; + key { [ XF86AudioStop ] }; + key { [ XF86AudioRaiseVolume ] }; + key { [ XF86AudioPlay, XF86AudioPause ] }; + key { [ XF86AudioNext ] }; + key { [ XF86AudioPrev ] }; + key { [ XF86AudioLowerVolume ] }; + key { [ XF86AudioMute ] }; + key { [ XF86Standby ] }; + key { [ XF86AudioStop ] }; + key { [ XF86MyComputer ] }; + key { [ XF86AudioMedia ] }; +}; + +// Microsoft Office Keyboard +partial alphanumeric_keys +xkb_symbols "microsoftoffice" { + include "inet(nav_acpi_common)" + key { [ XF86Calendar ] }; + key { [ Undo ] }; + key { [ XF86HomePage ] }; + key { [ XF86AudioLowerVolume ] }; + key { [ XF86AudioRaiseVolume ] }; + key { [ XF86AudioMute ] }; + key { [ XF86Cut ] }; + key { [ XF86LogOff ] }; + key { [ XF86ApplicationLeft ] }; + key { [ XF86TaskPane ] }; + key { [ XF86Spell ] }; + key { [ XF86WWW ] }; + key { [ XF86New ] }; + key { [ XF86Open ] }; + key { [ XF86Close ] }; + key { [ Help ] }; + key { [ XF86Save ] }; + key { [ Print ] }; + key { [ XF86OfficeHome ] }; + key { [ Redo ] }; + key { [ XF86Reply ] }; + key { [ XF86MailForward ] }; + key { [ XF86Send ] }; + key { [ XF86Copy ] }; + key { [ XF86ApplicationRight ] }; + key { [ XF86Paste ] }; +}; + +// Microsoft Wireless Multimedia 1.0A +partial alphanumeric_keys +xkb_symbols "microsoftmult" { + include "inet(media_nav_acpi_common)" + key { [ XF86Messenger ] }; + key { [ XF86New ] }; + key { [ XF86Open ] }; + key { [ XF86Close ] }; + key { [ XF86Reply ] }; + key { [ Redo ] }; + key { [ Undo ] }; + key { [ XF86LogOff ] }; + key { [ XF86Spell ] }; + key { [ Help ] }; + key { [ XF86Music ] }; + key { [ XF86Forward ] }; + key { [ XF86Send ] }; + key { [ XF86Save ] }; + key { [ Print ] }; + key { [ XF86Pictures ] }; + key { [ XF86Documents ] }; +}; + +// Microsoft Surface +partial alphanumeric_keys +xkb_symbols "microsoftsurface" { + include "inet(evdev)" + key { [ XF86Search ] }; + key { [ XF86AudioPrev ] }; + key { [ XF86AudioPlay, XF86AudioPause ] }; + key { [ XF86AudioNext ] }; +}; + + +// Oretec + +// Oretec MCK-800 MM/Internet keyboard +partial alphanumeric_keys +xkb_symbols "oretec" { + include "inet(acpi_common)" + key { [ XF86ScrollUp ] }; + key { [ XF86AudioPlay, XF86AudioPause ] }; + key { [ XF86AudioPrev ] }; + key { [ XF86ScrollDown ] }; + key { [ XF86ZoomOut ] }; + key { [ XF86AudioMute ] }; + key { [ XF86WWW ] }; + key { [ Menu ] }; + key { [ XF86AudioStop ] }; + key { [ XF86Calculator ] }; + key { [ XF86Xfer ] }; + key { [ XF86Mail ] }; + key { [ XF86AudioNext ] }; + key { [ XF86AudioRaiseVolume ] }; + key { [ XF86ZoomIn ] }; + key { [ XF86AudioLowerVolume ] }; +}; + + +// Propeller + +// Propeller Voyager KTEZ-1000 +partial alphanumeric_keys +xkb_symbols "propeller" { + include "inet(media_common)" + key { [ XF86AudioRewind ] }; + key { [ XF86Close ] }; + key { [ XF86Xfer ] }; + key { [ XF86AudioRecord ] }; + key { [ XF86Documents ] }; + key { [ XF86Game ] }; + key { [ XF86Calculator ] }; + key { [ Menu ] }; + key { [ XF86WWW ] }; + key { [ XF86DOS ] }; + key { [ XF86Standby ] }; +}; + + +// QTronix + +// QTronix Scorpius 98N+ +partial alphanumeric_keys +xkb_symbols "qtronix" { + key { [ XF86ScrollDown ] }; + key { [ XF86Forward ] }; + key { [ XF86WakeUp ] }; + key { [ XF86Search ] }; + key { [ XF86Standby ] }; + key { [ XF86ScrollUp ] }; + key { [ XF86Back ] }; + key { [ XF86Reload ] }; + key { [ XF86AudioRaiseVolume ] }; + key { [ XF86AudioPrev ] }; + key { [ XF86AudioPlay, XF86AudioPause ] }; + key { [ XF86AudioNext ] }; + key { [ XF86AudioStop ] }; + key { [ XF86HomePage ] }; + key { [ XF86AudioMute ] }; + key { [ XF86AudioLowerVolume ] }; + key { [ XF86AudioRecord ] }; + key { [ XF86PowerOff ] }; + key { [ XF86Stop ] }; + key { [ XF86Calculator ] }; +}; + + +// Samsung + +// Samsung SDM 4500P +partial alphanumeric_keys +xkb_symbols "samsung4500" { + include "inet(media_nav_acpi_common)" + key { [ XF86Launch4 ] }; + key { [ XF86Launch1 ] }; + key { [ XF86Launch3 ] }; + key { [ XF86Launch5 ] }; + key { [ XF86Close ] }; + key { [ XF86Book ] }; + key { [ XF86Eject ] }; + key { [ Help ] }; + key { [ XF86Explorer ] }; + key { [ XF86Launch2 ] }; +}; + +// Samsung SDM 4510P +partial alphanumeric_keys +xkb_symbols "samsung4510" { + include "inet(media_acpi_common)" + key { [ XF86Launch1 ] }; + key { [ XF86Launch3 ] }; + key { [ XF86Eject ] }; + key { [ XF86Launch2 ] }; +}; + + +// SK + +// NEC SK-1300 +partial alphanumeric_keys +xkb_symbols "sk1300" { + include "inet(media_common)" + key { [ XF86Eject ] }; + key { [ XF86Forward ] }; + key { [ XF86WWW ] }; + key { [ XF86Standby ] }; + key { [ XF86Back ] }; + key { [ XF86Stop ] }; +}; + +// NEC SK-2500 +partial alphanumeric_keys +xkb_symbols "sk2500" { + include "inet(media_nav_common)" + key { [ XF86AudioRewind ] }; + key { [ XF86Close ] }; + key { [ XF86Eject ] }; + key { [ XF86Eject ] }; + key { [ XF86Forward ] }; + key { [ XF86AudioRecord ] }; + key { [ XF86Xfer ] }; + key { [ XF86PowerOff ] }; + key { [ Menu ] }; + key { [ XF86ScreenSaver ] }; +}; + +// NEC SK-6200 +partial alphanumeric_keys +xkb_symbols "sk6200" { + include "inet(acpi_common)" + key { [ XF86Favorites ] }; + key { [ XF86AudioLowerVolume ] }; + key { [ XF86AudioRaiseVolume ] }; + key { [ XF86Back ] }; + key { [ XF86Forward ] }; + key { [ XF86WWW ] }; + key { [ XF86AudioMute ] }; + key { [ XF86AudioNext ] }; + key { [ XF86AudioPlay, XF86AudioPause ] }; + key { [ XF86AudioPrev ] }; + key { [ XF86AudioStop ] }; + key { [ XF86Mail ] }; +}; + +// NEC SK-7100 +partial alphanumeric_keys +xkb_symbols "sk7100" { + include "inet(media_common)" + key { [ XF86AudioPause ] }; + key { [ XF86Close ] }; + key { [ XF86Video ] }; + key { [ XF86Eject ] }; + key { [ XF86CD ] }; + key { [ XF86Display ] }; + key { [ XF86WWW ] }; +}; + + +// Sven + +// SVEN Ergonomic 2500 +partial alphanumeric_keys +xkb_symbols "sven" { + include "inet(acpi_common)" + key { [ XF86AudioPlay, XF86AudioPause ] }; + key { [ XF86Forward ] }; + key { [ XF86AudioRaiseVolume ] }; + key { [ XF86ZoomOut ] }; + key { [ XF86AudioPrev ] }; + key { [ XF86AudioStop ] }; + key { [ XF86HomePage ] }; + key { [ XF86Mail ] }; + key { [ XF86ZoomIn ] }; + key { [ XF86MyComputer ] }; + key { [ XF86Stop ] }; + key { [ XF86ScreenSaver ] }; + key { [ XF86AudioLowerVolume ] }; + key { [ XF86AudioMute ] }; + key { [ XF86Calculator ] }; + key { [ XF86Reload ] }; + key { [ XF86Search ] }; + key { [ XF86Favorites ] }; + key { [ XF86ScrollUp ] }; + key { [ XF86ScrollDown ] }; + key { [ XF86AudioNext ] }; + key { [ XF86Back ] }; +}; + +// SVEN Slim 303 +partial alphanumeric_keys +xkb_symbols "sven303" { + key { [ XF86PowerOff ] }; + key { [ XF86Sleep ] }; + key { [ XF86WakeUp ] }; +}; + + +// Symplon + +// Symplon PaceBook tablet +partial alphanumeric_keys +xkb_symbols "symplon" { + include "inet(nav_acpi_common)" + key { [ XF86RotationPB ] }; + key { [ XF86SplitScreen ] }; + key { [ XF86Support ] }; + key { [ XF86New ] }; + key { [ XF86User2KB ] }; + key { [ XF86RotationKB ] }; + key { [ XF86MenuKB ] }; + key { [ XF86User1KB ] }; + key { [ XF86UserPB ] }; + key { [ XF86MenuPB ] }; +}; + + +// Toshiba + +// Toshiba Satellite S3000 +partial alphanumeric_keys +xkb_symbols "toshiba_s3000" { + include "inet(media_common)" + // Describes the Special buttons on Toshiba Satellite 3000 models. + // See http://sourceforge.net/projects/omke for details on enabling + // these keys + key { [ XF86Launch1 ] }; + key { [ XF86Launch2 ] }; + key { [ XF86WWW ] }; + key { [ XF86Mail ] }; + key { [ XF86AudioRaiseVolume ] }; + key { [ XF86AudioLowerVolume ] }; +}; + + +// Trust + +// Trust Wireless Classic +partial alphanumeric_keys +xkb_symbols "trust" { + include "inet(media_nav_acpi_common)" + key { [ XF86ScreenSaver ] }; + key { [ XF86Eject ] }; +}; + +// Trust Direct Access +partial alphanumeric_keys +xkb_symbols "trustda" { + include "inet(media_common)" + key { [ XF86AudioRewind ] }; + key { [ XF86Close ] }; + key { [ XF86Eject ] }; + key { [ XF86AudioRecord ] }; + key { [ XF86Xfer ] }; + key { [ XF86Standby ] }; + key { [ Help ] }; + key { [ XF86WWW ] }; + key { [ XF86Away ] }; +}; + + +// YaHoo! + +// Yahoo! Internet +partial alphanumeric_keys +xkb_symbols "yahoo" { + include "inet(acpi_common)" + key { [ XF86AudioPrev ] }; + key { [ XF86AudioPlay, XF86AudioPause ] }; + key { [ XF86AudioStop ] }; + key { [ XF86AudioNext ] }; + key { [ XF86AudioRecord ] }; + key { [ XF86AudioLowerVolume ] }; + key { [ XF86AudioRaiseVolume ] }; + key { [ XF86AudioMute ] }; + key { [ XF86Close ] }; + key { [ XF86Calculator ] }; + key { [ Help ] }; + key { [ XF86Mail ] }; + key { [ XF86WWW ] }; +}; + + +// Apple keyboards (macbooks, powerbooks, powermac G5, etc) +partial alphanumeric_keys +xkb_symbols "apple" { +// Really brightness up/down + key { [ XF86BrightnessAdjust ] }; + key { [ XF86BrightnessAdjust ] }; + key { [ XF86AudioMute ] }; + key { [ XF86AudioLowerVolume ] }; + key { [ XF86AudioRaiseVolume ] }; + key { [ XF86RotateWindows ] }; +// Really keyboard backlight off/up/down + key { [ XF86Launch0 ] }; + key { [ XF86Launch1 ] }; + key { [ XF86Launch2 ] }; + key { [ XF86PowerOff ] }; + key { [ F13 ] }; + key { [ F14 ] }; + key { [ F15 ] }; + key { [ XF86Eject ] }; + key { [ F16 ] }; + key { [ KP_Equal ] }; +}; + +partial alphanumeric_keys +xkb_symbols "cymotionlinux" { + include "inet(media_nav_acpi_common)" + key { [ Undo ] }; + key { [ Redo ] }; + key { [ XF86ScrollDown ] }; + key { [ XF86Launch2 ] }; + key { [ XF86Launch1 ] }; + key { [ XF86MenuKB ] }; + key { [ XF86Launch3 ] }; + key { [ XF86Cut ] }; + key { [ XF86Copy ] }; + key { [ XF86Paste ] }; + key { [ XF86ScrollUp ] }; + key { [ XF86AudioMedia ] }; +}; + +partial alphanumeric_keys +xkb_symbols "silvercrest" { + include "inet(media_nav_acpi_common)" + key { [ XF86HomePage ] }; + key { [ XF86Launch2 ] }; + key { [ XF86Launch1 ] }; +}; + + +// eMachines + +partial alphanumeric_keys +xkb_symbols "emachines" { + include "inet(media_nav_acpi_common)" + key { [ XF86iTouch ] }; + key { [ KP_0 ] }; + key { [ KP_1 ] }; + key { [ KP_2 ] }; + key { [ KP_3 ] }; + key { [ KP_4 ] }; + key { [ KP_5 ] }; + key { [ KP_6 ] }; + key { [ KP_7 ] }; + key { [ KP_8 ] }; + key { [ KP_9 ] }; + key { [ KP_Add ] }; + key { [ KP_Decimal ] }; + key { [ KP_Divide ] }; + key { [ KP_Multiply ] }; + key { [ KP_Subtract ] }; +}; + + +// BenQ + +// BenQ X* (X730, X500, X800) +// +// To make the FN_LOCK and CONFIG key work on the BenQ X500 , use: +// setkeycodes e074 130 # KEY_PROPS from /usr/include/linux/input.h +// setkeycodes e075 171 # KEY_CONFIG from /usr/include/linux/input.h +partial alphanumeric_keys +xkb_symbols "benqx" { + include "inet(media_nav_acpi_common)" + key { [ XF86ModeLock ] }; + key { [ XF86WWW ] }; + key { [ XF86Go ] }; + key { [ XF86Calendar ] }; +}; + + +// Intel + +// Intel Classmate +partial alphanumeric_keys +xkb_symbols "classmate" { + key { [ XF86AudioLowerVolume ] }; + key { [ XF86AudioRaiseVolume ] }; +}; + + +// Unitek + +partial alphanumeric_keys +xkb_symbols "unitekkb1925" { + include "inet(media_nav_common)" + key { [ XF86AudioMute ] }; + key { [ XF86PowerOff ] }; + key { [ XF86Sleep ] }; + key { [ XF86WakeUp ] }; + key { [ XF86Search ] }; + key { [ XF86Reload ] }; +}; + + +// Creative + +// Creative Desktop Wireless 7000 +partial alphanumeric_keys +xkb_symbols "creativedw7000" { + include "inet(media_nav_acpi_common)" + key { [ XF86Pictures ] }; +}; + + +// Compal + +// Compal FL90 +partial alphanumeric_keys +xkb_symbols "compalfl90" { + include "inet(media_nav_acpi_common)" + key { [ XF86MonBrightnessUp ] }; + key { [ XF86MonBrightnessDown ] }; +}; + +partial alphanumeric_keys +xkb_symbols "pc105" { + include "inet(media_nav_acpi_common)" +}; + +partial alphanumeric_keys +xkb_symbols "chromebook" { + include "level3(ralt_switch)" + key { [ XF86Back ] }; + key { [ XF86Forward ] }; + key { [ XF86Reload ] }; + key { [ F11 ] }; +// key { [ F5, F5, F5, F5 ] }; // Overview key + key { [ XF86MonBrightnessDown ] }; + key { [ XF86MonBrightnessUp ] }; + key { [ XF86AudioMute ] }; + key { [ XF86AudioLowerVolume ] }; + key { [ XF86AudioRaiseVolume ] }; + key { [ BackSpace, BackSpace, Delete ] }; + key { [ Up, Up, Prior, Up ] }; + key { [ Down, Down, Next, Down ] }; + key { [ Left, Left, Home, Left ] }; + key { [ Right, Right, End, Right ] }; + key { [ Super_L, Super_L, Caps_Lock, Super_L ] }; +}; + +partial alphanumeric_keys +xkb_symbols "teck227" { + include "inet(media_nav_common)" + key { [ Hiragana ] }; +}; + +partial alphanumeric_keys +xkb_symbols "teck229" { + include "inet(teck227)" +}; + diff --git a/xkbdata/symbols/iq b/xkbdata/symbols/iq new file mode 100644 index 0000000..597690d --- /dev/null +++ b/xkbdata/symbols/iq @@ -0,0 +1,33 @@ +// Iraque keyboard layout, + +// 3-Level layout + +default partial alphanumeric_keys +xkb_symbols "basic" { + include "ara(basic)" + name[Group1]= "Iraqi"; +}; + +partial alphanumeric_keys +xkb_symbols "ku" { + include "tr(ku)" + name[Group1]= "Kurdish (Iraq, Latin Q)"; +}; + +partial alphanumeric_keys +xkb_symbols "ku_f" { + include "tr(ku_f)" + name[Group1]= "Kurdish (Iraq, F)"; +}; + +partial alphanumeric_keys +xkb_symbols "ku_alt" { + include "tr(ku_alt)" + name[Group1]= "Kurdish (Iraq, Latin Alt-Q)"; +}; + +partial alphanumeric_keys +xkb_symbols "ku_ara" { + include "ir(ku_ara)" + name[Group1]= "Kurdish (Iraq, Arabic-Latin)"; +}; diff --git a/xkbdata/symbols/ir b/xkbdata/symbols/ir new file mode 100644 index 0000000..0a91ae6 --- /dev/null +++ b/xkbdata/symbols/ir @@ -0,0 +1,305 @@ +// Iranian keyboard layout + +//////////////////////////////////////// +// Persian layout, +// based on +// Information Technology – Layout of Persian Letters and Symbols on Computer Keyboards +// ISIRI 9147 – 1st Edition +// Institute of Standards and Industrial Research of Iran +// http://www.isiri.org/UserStd/DownloadStd.aspx?id=9147 +// http://behnam.esfahbod.info/standards/isiri-keyboard-9147.pdf +// +// Author: Behnam Esfahbod +// + +default partial alphanumeric_keys +xkb_symbols "pes" { + name[Group1]= "Persian"; + + include "ir(pes_part_basic)" + include "ir(pes_part_ext)" + + include "nbsp(zwnj2nb3nnb4)" + include "level3(ralt_switch)" +}; + + +partial alphanumeric_keys +xkb_symbols "pes_keypad" { + name[Group1]= "Persian (with Persian keypad)"; + + include "ir(pes_part_basic)" + include "ir(pes_part_ext)" + include "ir(pes_part_keypad)" + + include "nbsp(zwnj2nb3nnb4)" + include "level3(ralt_switch)" +}; + +hidden partial alphanumeric_keys +xkb_symbols "pes_part_basic" { + + // Persian digits + key { [ Farsi_1, exclam, grave ] }; + key { [ Farsi_2, 0x100066c, at ] }; + key { [ Farsi_3, 0x100066b, numbersign ] }; + key { [ Farsi_4, 0x100fdfc, dollar ] }; + key { [ Farsi_5, 0x100066a, percent ] }; + key { [ Farsi_6, multiply, asciicircum ] }; + key { [ Farsi_7, Arabic_comma, ampersand ] }; + key { [ Farsi_8, asterisk, enfilledcircbullet ] }; + key { [ Farsi_9, parenright, 0x100200e ] }; + key { [ Farsi_0, parenleft, 0x100200f ] }; + + // Persian letters and symbols + key { [ Arabic_dad, Arabic_sukun, degree ] }; + key { [ Arabic_sad, Arabic_dammatan, VoidSymbol ] }; + key { [ Arabic_theh, Arabic_kasratan, 0x13a4 ] }; + key { [ Arabic_qaf, Arabic_fathatan, VoidSymbol ] }; + key { [ Arabic_feh, Arabic_damma, VoidSymbol ] }; + key { [ Arabic_ghain, Arabic_kasra, VoidSymbol ] }; + key { [ Arabic_ain, Arabic_fatha, VoidSymbol ] }; + key { [ Arabic_heh, Arabic_shadda, 0x100202d ] }; + key { [ Arabic_khah, bracketright, 0x100202e ] }; + key { [ Arabic_hah, bracketleft, 0x100202c ] }; + key { [ Arabic_jeem, braceright, 0x100202a ] }; + key { [ Arabic_tcheh, braceleft, 0x100202b ] }; + + key { [ Arabic_sheen, Arabic_hamzaonwaw, VoidSymbol ] }; + key { [ Arabic_seen, Arabic_hamzaonyeh, VoidSymbol ] }; + key { [ Farsi_yeh, Arabic_yeh, Arabic_alefmaksura ] }; + key { [ Arabic_beh, Arabic_hamzaunderalef, VoidSymbol ] }; + key { [ Arabic_lam, Arabic_hamzaonalef, VoidSymbol ] }; + key { [ Arabic_alef, Arabic_maddaonalef, 0x1000671 ] }; + key { [ Arabic_teh, Arabic_tehmarbuta, VoidSymbol ] }; + key { [ Arabic_noon, guillemotright, 0x100fd3e ] }; + key { [ Arabic_meem, guillemotleft, 0x100fd3f ] }; + key { [ Arabic_keheh, colon, semicolon ] }; + key { [ Arabic_gaf, Arabic_semicolon, quotedbl ] }; + + key { [ Arabic_zah, Arabic_kaf, VoidSymbol ] }; + key { [ Arabic_tah, 0x1000653, VoidSymbol ] }; + key { [ Arabic_zain, Arabic_jeh, VoidSymbol ] }; + key { [ Arabic_ra, Arabic_superscript_alef,0x1000656 ] }; + key { [ Arabic_thal, 0x100200c, 0x100200d ] }; + key { [ Arabic_dal, Arabic_hamza_above, Arabic_hamza_below ] }; + key { [ Arabic_peh, Arabic_hamza, ellipsis ] }; + key { [ Arabic_waw, greater, comma ] }; + key { [ period, less, apostrophe ] }; + key { [ slash, Arabic_question_mark, question ] }; + + key { [ 0x100200d, division, asciitilde ] }; + key { [ minus, Arabic_tatweel, underscore ] }; + key { [ equal, plus, 0x1002212 ] }; + key { [ backslash, bar, 0x1002010 ] }; +}; + +hidden partial alphanumeric_keys +xkb_symbols "pes_part_ext" { + + // Persian and ASCII digits + key { [ Farsi_1, exclam, grave, 1 ] }; + key { [ Farsi_2, 0x100066c, at, 2 ] }; + key { [ Farsi_3, 0x100066b, numbersign, 3 ] }; + key { [ Farsi_4, 0x100fdfc, dollar, 4 ] }; + key { [ Farsi_5, 0x100066a, percent, 5 ] }; + key { [ Farsi_6, multiply, asciicircum, 6 ] }; + key { [ Farsi_7, Arabic_comma, ampersand, 7 ] }; + key { [ Farsi_8, asterisk, enfilledcircbullet, 8 ] }; + key { [ Farsi_9, parenright, 0x100200e, 9 ] }; + key { [ Farsi_0, parenleft, 0x100200f, 0 ] }; +}; + +hidden partial alphanumeric_keys +xkb_symbols "pes_part_keypad" { + + // Persian digits and Mathematical operators + key { [ division, XF86_Ungrab ] }; + key { [ multiply, XF86_ClearGrab ] }; + key { [ 0x1002212, XF86_Prev_VMode ] }; + key { [ plus, XF86_Next_VMode ] }; + + key { [ KP_Enter ] }; + key { [ equal ] }; + + key { [ KP_Home, Farsi_7 ] }; + key { [ KP_Up, Farsi_8 ] }; + key { [ KP_Prior, Farsi_9 ] }; + + key { [ KP_Left, Farsi_4 ] }; + key { [ KP_Begin, Farsi_5 ] }; + key { [ KP_Right, Farsi_6 ] }; + + key { [ KP_End, Farsi_1 ] }; + key { [ KP_Down, Farsi_2 ] }; + key { [ KP_Next, Farsi_3 ] }; + + key { [ KP_Insert, Farsi_0 ] }; + key { [ KP_Delete, 0x100066b ] }; +}; + + +//////////////////////////////////////// +// Kurdish Layout + +partial alphanumeric_keys +xkb_symbols "ku" { + include "tr(ku)" + name[Group1]= "Kurdish (Iran, Latin Q)"; +}; + +partial alphanumeric_keys +xkb_symbols "ku_f" { + include "tr(ku_f)" + name[Group1]= "Kurdish (Iran, F)"; +}; + +partial alphanumeric_keys +xkb_symbols "ku_alt" { + include "tr(ku_alt)" + name[Group1]= "Kurdish (Iran, Latin Alt-Q)"; +}; + +//////////////////////////////////////// +// Kurdish Soranî Bahdînî (Arabic) keyboard layout, +// based on the Kurdî Soranî Bahdînî keyboard from KurdITGroup +// which is based on National Iranian Keyboard Standard (ISIRI 2901:1994), +// with additions. +// +// Copyright (C) 2006 Erdal Ronahî, published under the GPL v2 +// +// Special copyright note: author explicitly permitted to license this +// layout under MIT/X11 license, for details see +// https://bugs.freedesktop.org/show_bug.cgi?id=9541 +// +// Author: Erdal Ronahî +// +// Kurdish Arabic-Latin Layout for Soranî + +partial alphanumeric_keys +xkb_symbols "ku_ara" { + name[Group1]= "Kurdish (Iran, Arabic-Latin)"; + + // Other 3-Level symbols + key { [ 0x100200d, division, asciitilde ] }; + key { [ backslash, bar, ccedilla, Ccedilla ] }; + + // Digits + key { [ 0x1000661, exclam, 1, grave ] }; + key { [ 0x1000662, at, 2, at ] }; + key { [ 0x1000663, numbersign, 3, 0x100066b ] }; + key { [ 0x1000664, dollar, 4, 0x100fdfc ] }; + key { [ 0x1000665, percent, 5, 0x100066a ] }; + key { [ 0x1000666, asciicircum, 6, multiply ] }; + key { [ 0x1000667, ampersand, 7, Arabic_comma ] }; + key { [ 0x1000668, asterisk, 8, enfilledcircbullet ] }; + key { [ 0x1000669, parenright, 9, 0x100200e ] }; + key { [ 0x1000660, parenleft, 0, 0x100200f ] }; + key { [ minus, Arabic_tatweel, underscore ] }; + key { [ equal, plus, 0x1002212 ] }; + + key { [ Arabic_qaf, X, q, Q ] }; + key { [ Arabic_waw, X, w, W ] }; + key { [ 0x10006d5, Arabic_heh, e, E ] }; + key { [ Arabic_ra , 0x1000695, r, R ] }; + key { [ Arabic_teh, Arabic_tah, t, T ] }; + key { [ 0x10006cc, 0x10006ce, y, Y ] }; + key { [ Arabic_hamzaonyeh, Arabic_hamza, u, U ] }; + key { [ Arabic_hah, Arabic_ain, i, I ] }; + key { [ 0x10006c6, Arabic_hamzaonwaw, o, O ] }; + key { [ 0x100067e, Arabic_theh, p, P ] }; + key { [ bracketright, braceright, ucircumflex, Ucircumflex ] }; + key { [ bracketleft, braceleft, scedilla, Scedilla ] }; + + key { [ Arabic_alef, Arabic_maddaonalef, a, A ] }; + key { [ Arabic_seen, Arabic_sheen, s, S ] }; + key { [ Arabic_dal, Arabic_thal, d, D ] }; + key { [ Arabic_feh, Arabic_hamzaunderalef, f, F ] }; + key { [ 0x10006af, Arabic_ghain, g, G ] }; + key { [ Arabic_heh, 0x100200c, h, H ] }; + key { [ 0x1000698, Arabic_hamzaonalef, j, J ] }; + key { [ 0x10006a9, Arabic_kaf, k, K ] }; + key { [ Arabic_lam, 0x10006b5, l, L ] }; + key { [ Arabic_semicolon, colon, ecircumflex, Ecircumflex ] }; + key { [ apostrophe, quotedbl, icircumflex, Icircumflex ] }; + + key { [ Arabic_zain, Arabic_dad, z, Z ] }; + key { [ Arabic_khah, Arabic_sad, x, X ] }; + key { [ Arabic_jeem, 0x1000686, c, C ] }; + key { [ 0x10006a4, Arabic_zah, v, V ] }; + key { [ Arabic_beh, 0x1000649, b, B ] }; + key { [ Arabic_noon, Arabic_tehmarbuta, n, N ] }; + key { [ Arabic_meem, Arabic_tatweel, m, M ] }; + key { [ Arabic_comma, greater, comma ] }; + key { [ period, less, apostrophe ] }; + key { [ slash, Arabic_question_mark, question ] }; + + include "nbsp(zwnj2nb3)" + include "level3(ralt_switch)" +}; + +// EXTRAS: + +///////////////////////////////////////////////////////////////////////////////// +// +// Generated keyboard layout file with the Keyboard Layout Editor. +// For more about the software, see http://code.google.com/p/keyboardlayouteditor +// +// Version 0.2, fixed AD09. +// +// Layout by Ernst Tremel, http://ubuntuforums.org/showpost.php?p=9365469&postcount=32 +// Creation of this file by Simos Xenitellis. + +partial alphanumeric_keys +xkb_symbols "ave" +{ + name[Group1] = "Avestan"; + + key { [ U10B30, U10B32 ] }; // 𐬰 𐬲 + key { [ U10B11, U10B12 ] }; // 𐬑 𐬒 + key { [ U10B17, UE102 ] }; // 𐬗  + key { [ U10B2C, U10B13 ] }; // 𐬬 𐬓 + key { [ U10B20, U10B21 ] }; // 𐬠 𐬡 + key { [ U10B25, U10B27 ] }; // 𐬥 𐬧 + key { [ U10B28, U10B29 ] }; // 𐬨 𐬩 + key { [ U10B3C, U10B39 ] }; // 𐬼 𐬹 + key { [ U10B3E, U10B3D ] }; // 𐬾 𐬽 + key { [ U10B3F, periodcentered ] }; // 𐬿 · + + key { [ U10B00, U10B01 ] }; // 𐬀 𐬁 + key { [ U10B2F, U10B31 ] }; // 𐬯 𐬱 + key { [ U10B1B, U10B1C ] }; // 𐬛 𐬜 + key { [ U10B1F, U10B16 ] }; // 𐬟 𐬖 + key { [ U10B14, U10B15 ] }; // 𐬔 𐬕 + key { [ U10B35, UE100 ] }; // 𐬵  + key { [ U10B18, U10B24 ] }; // 𐬘 𐬤 + key { [ U10B10, UE101 ] }; // 𐬐  + key { [ U10B2E, UE103 ] }; // 𐬮  + key { [ U10B3B, U10B3A ] }; // 𐬻 𐬺 + key { [ U10B1D ] }; // 𐬝 + + key { [ U10B22, U10B23 ] }; // 𐬢 𐬣 + key { [ U10B33, U10B34 ] }; // 𐬳 𐬴 + key { [ U10B08, U10B09 ] }; // 𐬈 𐬉 + key { [ U10B2D, U10B26 ] }; // 𐬭 𐬦 + key { [ U10B19, U10B1A ] }; // 𐬙 𐬚 + key { [ U10B2B, U10B2A ] }; // 𐬫 𐬪 + key { [ U10B0E, U10B0F ] }; // 𐬎 𐬏 + key { [ U10B0C, U10B0D ] }; // 𐬌 𐬍 + key { [ U10B0A, U10B0B ] }; // 𐬊 𐬋 + key { [ U10B1E ] }; // 𐬞 + key { [ U10B06, U10B07 ] }; // 𐬆 𐬇 + key { [ U10B02, U10B03 ] }; // 𐬂 𐬃 + + key { [ U10B78 ] }; // 𐭸 + key { [ U10B79 ] }; // 𐭹 + key { [ U10B7A ] }; // 𐭺 + key { [ U10B7B ] }; // 𐭻 + key { [ U10B7C ] }; // 𐭼 + key { [ U10B7D ] }; // 𐭽 + key { [ U10B7E ] }; // 𐭾 + key { [ U10B7F ] }; // 𐭿 + + key { [ U10B04, U10B05 ] }; // 𐬄 𐬅 + key { [ U10B04, U10B05 ] }; // 𐬄 𐬅 +}; diff --git a/xkbdata/symbols/is b/xkbdata/symbols/is new file mode 100644 index 0000000..08c3001 --- /dev/null +++ b/xkbdata/symbols/is @@ -0,0 +1,188 @@ +// Icelandic keyboard layout, by Hrafnkell Eiriksson - hkelle@rhi.hi.is +// Fixes by Olafur Osvaldsson - oli@isnic.is - and Bjarni Ingi Gislason. + +default partial alphanumeric_keys +xkb_symbols "basic" { + + include "latin(type4)" + + name[Group1]="Icelandic"; + + key { [dead_abovering, dead_diaeresis, notsign, hyphen ] }; + key { [ 2, quotedbl, twosuperior, oneeighth ] }; + key { [ 4, dollar, onequarter, currency ] }; + key { [odiaeresis, Odiaeresis, backslash, questiondown ] }; + key { [ minus, underscore, dead_cedilla, dead_ogonek ] }; + + key { [ p, P, bar, Greek_pi ] }; + key { [ eth, ETH, dead_diaeresis, dead_abovering ] }; + key { [apostrophe, question, asciitilde, dead_macron ] }; + + key { [ d, D, U201e, U201c ] }; + key { [ ae, AE, asciicircum, dead_doubleacute ] }; + key { [dead_acute, dead_acute, dead_circumflex, dead_caron ] }; + key { [ plus, asterisk, grave, dead_breve ] }; + + key { [ thorn, THORN, dead_belowdot, dead_abovedot ] }; + + include "level3(ralt_switch)" +}; + +// Copied from macintosh_vndr/is. +// Copyright (C) 2004, 2006 Ævar Arnfjörð Bjarmason +xkb_symbols "mac_legacy" { + name[Group1]= "Icelandic (Macintosh, legacy)"; + + key { [ sterling, section, UF8FF, apostrophe ] }; // Apple logo + key { [ 1, exclam, exclamdown, VoidSymbol ] }; + key { [ 2, quotedbl, at, VoidSymbol ] }; + key { [ 3, numbersign, U2122, sterling ] }; + key { [ 4, dollar, U00A2, EuroSign ] }; + key { [ 5, percent, U2030, infinity ] }; + key { [ 6, ampersand, asciicircum, U2044 ] }; + key { [ 7, slash, backslash, U00F7 ] }; + key { [ 8, parenleft, bracketleft, braceleft ] }; + key { [ 9, parenright, bracketright, braceright ] }; + key { [ 0, equal, U2260, U2248 ] }; + key { [ odiaeresis, Odiaeresis, oslash, Ooblique ] }; + key { [ minus, underscore, endash, emdash ] }; + + key { [ q, Q, paragraph, VoidSymbol ] }; + key { [ w, W, U2211, VoidSymbol ] }; + key { [ e, E, dead_grave, VoidSymbol ] }; + key { [ r, R, registered, VoidSymbol ] }; + key { [ t, T, degree, VoidSymbol ] }; + key { [ y, Y, yen, VoidSymbol ] }; + key { [ u, U, dead_diaeresis, VoidSymbol ] }; + key { [ i, I, U0131, U00AA ] }; + key { [ o, O, dead_circumflex, U00BA ] }; + key { [ p, P, Greek_pi, Greek_PI ] }; + key { [ eth, Eth, U201e, U201c ] }; + key { [ apostrophe, question, questiondown, U00B7 ] }; + + key { [ a, A, aring, Aring ] }; + key { [ s, S, ssharp, abovedot ] }; + key { [ d, D, U2202, U2DA ] }; + key { [ f, F, U192, macron ] }; + key { [ g, G, copyright, breve ] }; + key { [ h, H, bar, VoidSymbol ] }; + key { [ j, J, U2206, U2dd ] }; + key { [ k, K, U00AC, VoidSymbol ] }; + key { [ l, L, U2026, caron ] }; + key { [ ae, AE, oe, OE ] }; + key { [ dead_acute, dead_diaeresis, U201A, U2018 ] }; + key { [ plus, asterisk, U2022, plusminus ] }; + + key { [ less, greater, section, UF8FF ] }; // Apple logo + key { [ z, Z, U3A9, VoidSymbol ] }; + key { [ x, X, asciitilde, VoidSymbol ] }; + key { [ c, C, ccedilla, Ccedilla ] }; + key { [ v, V, U221A, U25CA ] }; + key { [ b, B, U222B, VoidSymbol ] }; + key { [ n, N, dead_tilde, VoidSymbol ] }; + key { [ m, M, U00B5, VoidSymbol ] }; + key { [ comma, semicolon, lessthanequal, guillemotleft ] }; + key { [ period, colon, greaterthanequal, guillemotright ] }; + key { [ thorn, Thorn, U2019, U201d ] }; + + include "level3(ralt_switch)" +}; + +// Layout for newer Apple laptop and Aluminium keyboards (A1243/A1255 and later). +// Copyright (C) 2013 Ævar Arnfjörð Bjarmason +partial alphanumeric_keys +xkb_symbols "mac" { + name[Group1]= "Icelandic (Macintosh)"; + + key { [ degree, dead_diaeresis, oslash, Ooblique ] }; + key { [ 1, exclam, exclamdown, VoidSymbol ] }; + key { [ 2, quotedbl, at, VoidSymbol ] }; + key { [ 3, numbersign, trademark, sterling ] }; + key { [ 4, dollar, cent, EuroSign ] }; + key { [ 5, percent, U2030, infinity ] }; + key { [ 6, ampersand, asciicircum, U2044 ] }; + key { [ 7, slash, braceleft, division ] }; + key { [ 8, parenleft, bracketleft, braceleft ] }; + key { [ 9, parenright, bracketright, braceright ] }; + key { [ 0, equal, braceright, approxeq ] }; + key { [ odiaeresis, Odiaeresis, backslash, U2260 ] }; + key { [ minus, underscore, endash, emdash ] }; + + key { [ q, Q, U0040, paragraph ] }; + key { [ w, W, U2211, U00A7 ] }; + key { [ e, E, U20AC, U00BF ] }; + key { [ r, R, registered, VoidSymbol ] }; + key { [ t, T, degree, U2022 ] }; + key { [ y, Y, yen, VoidSymbol ] }; + key { [ u, U, dead_diaeresis, VoidSymbol ] }; + key { [ i, I, idotless, ordfeminine ] }; + key { [ o, O, dead_circumflex, U00BA ] }; + key { [ p, P, Greek_pi, Greek_PI ] }; + key { [ eth, Eth, doublelowquotemark, leftdoublequotemark ] }; + key { [ apostrophe, question, asciitilde, periodcentered ] }; + + key { [ a, A, aring, Aring ] }; + key { [ s, S, ssharp, abovedot ] }; + key { [ d, D, partialderivative, U02DA ] }; + key { [ f, F, function, macron ] }; + key { [ g, G, copyright, breve ] }; + key { [ h, H, bar, U00B8 ] }; + key { [ j, J, U2206, doubleacute ] }; + key { [ k, K, notsign, U2DB ] }; + key { [ l, L, ellipsis, caron ] }; + key { [ ae, AE, oe, OE ] }; + key { [ dead_acute, dead_acute, asciicircum, leftsinglequotemark ] }; + key { [ plus, asterisk, grave, plusminus ] }; + + key { [ less, greater, bar, UF8FF ] }; // Apple logo + key { [ z, Z, Greek_OMEGA, VoidSymbol ] }; + key { [ x, X, asciitilde, VoidSymbol ] }; + key { [ c, C, ccedilla, Ccedilla ] }; + key { [ v, V, radical, U25CA ] }; + key { [ b, B, integral, VoidSymbol ] }; + key { [ n, N, dead_tilde, VoidSymbol ] }; + key { [ m, M, mu, VoidSymbol ] }; + key { [ comma, semicolon, lessthanequal, guillemotleft ] }; + key { [ period, colon, greaterthanequal, guillemotright ] }; + key { [ thorn, Thorn, rightsinglequotemark, rightdoublequotemark ] }; + + include "level3(ralt_switch)" +}; + +// This is a modified version of the English Dvorak layout that allows +// you to type all Icelandic letters under X. It's not a full attempt at +// nationalizing the layout as e.g. the Norwegian, Swedish and French +// layouts which modify the primary keys of the basic Dvorak layout +// extensively. + +// Rather it's a simple modification of 5 keys of the US Dvorak layout, +// it adds Germanic/Icelandic style quotation marks („“), eth (ðÐ), ae +// (æÆ), endash and emdash (–—), thorn (þÞ), EuroSign (€) and the German +// Sharp S (ßẞ). These keys aren't used in the US version, making the +// Icelandic version a superset of it. + +// Maybe someone else will make a "full" attempt at an Icelandic layout +// but I was mostly interested in continuing to type English comfortably +// as a primary function while being able to type the full Icelandic +// alphabet as a secondary function. +// -- Ævar Arnfjörð Bjarmason + +// Icelandic Dvorak +partial alphanumeric_keys +xkb_symbols "dvorak" { + + include "us(dvorak)" + include "eurosign(4)" + + name[Group1]= "Icelandic (Dvorak)"; + + key { [ slash, question, U201e, U201c ] }; + key { [ o, O, odiaeresis, Odiaeresis ] }; + key { [ d, D, eth, ETH ] }; + key { [ s, S, ae, AE ] }; + key { [ minus, underscore, endash, emdash ] }; + key { [ z, Z, thorn, Thorn ] }; + key { [ b, B, ssharp, U1E9E ] }; + + include "level3(ralt_switch)" +}; diff --git a/xkbdata/symbols/it b/xkbdata/symbols/it new file mode 100644 index 0000000..030706f --- /dev/null +++ b/xkbdata/symbols/it @@ -0,0 +1,419 @@ +// 17 May 2003 Modified by Sebastiano Vigna (vigna@dsi.unimi.it) +// 03 December 2017 - Added it(intl) and it(scn), please refer to +// Cadèmia Siciliana +// 18 July 2018 - Fixed inconsistent 'ì' and 'ù' in it(intl) +// Alessandro Pellegrini +// 28 February 2017 - Added it(fur), please refer to +// Fabio Tomat + +default partial alphanumeric_keys +xkb_symbols "basic" { + + include "latin(type4)" + + name[Group1]="Italian"; + + key { [ backslash, bar, notsign, brokenbar ] }; + + key { [ 2, quotedbl, twosuperior, dead_doubleacute ] }; + key { [ 3, sterling,threesuperior, dead_tilde ] }; + key { [ 4, dollar, onequarter, oneeighth ] }; + + key { [ 0, equal, braceright, dead_ogonek ] }; + key { [apostrophe, question, grave, questiondown ] }; + key { [ igrave, asciicircum, asciitilde, dead_circumflex ] }; + + key { [ egrave, eacute, bracketleft, braceleft ] }; + key { [ plus, asterisk, bracketright, braceright ] }; + + key { [ ograve, ccedilla, at, dead_cedilla ] }; + key { [ agrave, degree, numbersign, dead_abovering ] }; + key { [ ugrave, section, dead_grave, dead_breve ] }; + + key { [ less, greater,guillemotleft,guillemotright] }; + key { [ v, V, leftdoublequotemark, leftsinglequotemark ] }; + key { [ b, B, rightdoublequotemark, rightsinglequotemark ] }; + key { [ n, N, ntilde, Ntilde ] }; + key { [ comma, semicolon, dead_acute, multiply ] }; + key { [ period, colon,periodcentered, dead_diaeresis ] }; + key { [ minus, underscore, dead_macron, division ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "nodeadkeys" { + + // Modifies the basic italian layout to eliminate all dead keys + + include "it(basic)" + + name[Group1]="Italian (no dead keys)"; + + key { [ 2, quotedbl, twosuperior, doubleacute ] }; + key { [ 3, sterling,threesuperior, asciitilde ] }; + + key { [ 0, equal, braceright, ogonek ] }; + key { [ igrave, asciicircum, asciitilde, asciicircum ] }; + + key { [ ograve, ccedilla, at, cedilla ] }; + key { [ agrave, degree, numbersign, degree ] }; + key { [ ugrave, section, grave, breve ] }; + + key { [ comma, semicolon, acute, multiply ] }; + key { [ period, colon,periodcentered, diaeresis ] }; + key { [ minus, underscore, macron, division ] }; +}; + +partial alphanumeric_keys +xkb_symbols "winkeys" { + + include "it(basic)" + name[Group1]="Italian (Windows)"; + include "eurosign(5)" +}; + +// Copied from macintosh_vndr/it +partial alphanumeric_keys +xkb_symbols "mac" { + + name[Group1]= "Italian (Macintosh)"; + + key { [ less, greater ] }; + key { [ at, numbersign, periodcentered ] }; + key { [ ampersand, 1, guillemotleft,guillemotright ] }; + key { [ quotedbl, 2 ] }; + key { [ apostrophe, 3 ] }; + key { [ parenleft, 4, braceleft, bracketleft ] }; + key { [ ccedilla, 5, Ccedilla, Iacute ] }; + key { [ egrave, 6, paragraph, periodcentered] }; + key { [ parenright, 7, braceright, bracketright ] }; + key { [ sterling, 8, infinity ] }; + key { [ agrave, 9, acute, Ocircumflex ] }; + key { [ eacute, 0, grave, Oacute ] }; + key { [ minus, underscore ] }; + key { [ equal, plus, notequal, plusminus ] }; + + key { [ q, Q ] }; + key { [ z, Z ] }; + key { [ e, E, EuroSign ] }; + key { [ r, R, registered ] }; + key { [ t, T ] }; + key { [ y, Y, Uacute, ydiaeresis ] }; + key { [ u, U ] }; + key { [ i, I, icircumflex, idiaeresis ] }; + key { [ o, O ] }; + key { [ p, P ] }; + key { [ igrave, asciicircum ] }; + key { [ dollar, asterisk ] }; + key { [ section, degree, at, numbersign ] }; + + key { [ a, A, aring, Aring ] }; + key { [ s, S, ssharp, U1E9E ] }; + key { [ d, D ] }; + key { [ f, F ] }; + key { [ g, G ] }; + key { [ h, H, Igrave, Icircumflex ] }; + key { [ j, J, Idiaeresis, Iacute ] }; + key { [ k, K, Egrave, Ediaeresis ] }; + key { [ l, L, ssharp, bar ] }; + key { [ m, M, mu, Oacute ] }; + key { [ ugrave, percent, ae, AE ] }; + + key { [ w, W ] }; + key { [ x, X ] }; + key { [ c, C, copyright, copyright ] }; + key { [ v, V ] }; + key { [ b, B ] }; + key { [ n, N, dead_tilde ] }; + key { [ comma, question, questiondown ] }; + key { [ semicolon, period ] }; + key { [ colon, slash, bar, backslash ] }; + key { [ ograve, exclam, exclamdown ] }; + + include "kpdl(dot)" + include "level3(ralt_switch)" +}; + +// Used by Georgian people in Italy, +// contributed by Vladimer Sichinava +partial alphanumeric_keys +xkb_symbols "geo" { + include "it" + include "ge(basic)" + name[Group1]= "Georgian (Italy)"; + + key { [ backslash, bar, notsign, brokenbar ] }; + key { [ 1, exclam, onesuperior ] }; + key { [ 2, quotedbl, twosuperior, dead_doubleacute ] }; + key { [ 3, sterling, threesuperior, dead_tilde ] }; + key { [ 4, dollar, onequarter, oneeighth ] }; + key { [ 5, percent, onehalf ] }; + key { [ 6, ampersand ] }; + key { [ 7, slash, braceleft ] }; + key { [ 8, parenleft, bracketleft ] }; + key { [ 9, parenright ] }; + key { [ 0, equal, braceright, dead_ogonek ] }; + key { [ apostrophe, question, grave, questiondown ] }; + key { [ igrave, asciicircum, asciitilde, dead_circumflex ] }; + + key { [ 0x010010d4, E, EuroSign ] }; + key { [ egrave, eacute, bracketleft, braceleft ] }; + key { [ plus, asterisk, bracketright, braceright ] }; + + key { [ ograve, ccedilla, at, dead_cedilla ] }; + key { [ agrave, degree, numbersign, degree ] }; + key { [ ugrave, section, dead_grave, dead_breve ] }; + + key { [ less, greater ] }; + key { [ comma, semicolon ] }; + key { [ period, colon ] }; + key { [ minus, underscore ] }; +}; + +// OLPC Section +xkb_symbols "olpc" { + + include "it(basic)" + + key { [ igrave, asciicircum, asciitilde, dead_tilde ] }; + key { [ ugrave, section, Egrave, dead_breve ] }; + key { [ less, greater, guillemotleft, guillemotright ] }; +}; + +partial alphanumeric_keys modifier_keys +xkb_symbols "us" { + + include "us(basic)" + + name[Group1]= "Italian (US)"; + + key { [ grave, asciitilde, dead_grave, dead_tilde ] }; + key { [ 1, exclam, onesuperior ] }; + key { [ 2, at, twosuperior ] }; + key { [ 3, numbersign, threesuperior ] }; + key { [ 6,asciicircum,dead_circumflex ] }; + key { [ 0, parenright, degree ] }; + key { [ minus, underscore, dead_macron ] }; + + key { [ e, E, egrave, Egrave ] }; + key { [ r, R, registered ] }; + key { [ u, U, ugrave, Ugrave ] }; + key { [ i, I, igrave, Igrave ] }; + key { [ o, O, ograve, Ograve ] }; + + key { [ a, A, agrave, Agrave ] }; + key { [ d, D, eacute, Eacute ] }; + key { [ j, J, uacute, Uacute ] }; + key { [ k, K, iacute, Iacute ] }; + key { [ l, L, oacute, Oacute ] }; + key { [ semicolon, colon,dead_diaeresis, dead_diaeresis ] }; + key { [apostrophe, quotedbl, dead_acute ] }; + + key { [ z, Z, aacute, Aacute ] }; + key { [ c, C, copyright ] }; + key { [ n, N, ntilde, Ntilde ] }; + key { [ comma, less, guillemotleft ] }; + key { [ period, greater, guillemotright ] }; + + include "level3(ralt_switch)" + include "eurosign(5)" +}; + +partial alphanumeric_keys +xkb_symbols "ibm" { + + include "us" + + name[Group1]="Italian (IBM 142)"; + + key { [ backslash, bar ] }; + + key { [ 2, quotedbl ] }; + key { [ 3, sterling, numbersign ] }; + key { [ 6, ampersand ] }; + key { [ 7, slash, braceleft ] }; + key { [ 8, parenleft, bracketleft ] }; + key { [ 9, parenright, bracketright ] }; + key { [ 0, equal, braceright ] }; + key { [apostrophe, question ] }; + key { [ igrave, asciicircum ] }; + + key { [ q, Q, at ] }; + key { [ e, E, EuroSign ] }; + key { [ egrave, eacute ] }; + key { [ plus, asterisk, asciitilde ] }; + + key { [ ograve, ccedilla ] }; + key { [ agrave, degree ] }; + key { [ ugrave, section, grave ] }; + + key { [ less, greater ] }; + key { [ comma, semicolon ] }; + key { [ period, colon ] }; + key { [ minus, underscore ] }; + + include "level3(ralt_switch)" + include "kpdl(comma)" +}; + + +partial alphanumeric_keys +xkb_symbols "fur" { + + include "latin(type4)" + + name[Group1] = "Friulian (Italy)"; + + key {[ backslash, bar, notsign, brokenbar ]}; + + key {[ 2, quotedbl, twosuperior,dead_doubleacute]}; + key {[ 3, sterling, threesuperior, U1D49 ]}; + key {[ 4, dollar, onequarter, oneeighth ]}; + key {[ 5, percent, EuroSign, onehalf ]}; + key {[ 0, equal, braceright, dead_ogonek ]}; + key {[apostrophe, question, grave, questiondown ]}; + key {[ igrave, asciicircum, asciitilde,dead_circumflex]}; + + key {[ e, E, ecircumflex, Ecircumflex ]}; + key {[ t, T, U1D57, U1D40 ]}; + key {[ u, U, ucircumflex, NoSymbol ]}; + key {[ i, I, icircumflex, Icircumflex ]}; + key {[ o, O, ocircumflex, Ocircumflex ]}; + key {[ egrave, eacute, bracketleft, braceleft ]}; + key {[ plus, asterisk, bracketright, braceright ]}; + + key {[ a, A, acircumflex, Acircumflex ]}; + key {[ d, D, U1D48 ]}; + key {[ f, F, U1DA0, U00AA ]}; + key {[ ograve, ccedilla, at, dead_cedilla ]}; + key {[ agrave, degree, numbersign,dead_abovering ]}; + key {[ ugrave, section, dead_grave, dead_breve ]}; + + key {[ less, greater, guillemotleft,guillemotright ]}; + key {[ c, C, U1D9C, U00A9 ]}; + key {[ n, N, U207F, Ntilde ]}; + key {[ m, M, U1D50, U00B5 ]}; + key {[ comma, semicolon, dead_acute, multiply ]}; + key {[ period, colon,periodcentered,dead_diaeresis ]}; + key {[ minus, underscore, dead_macron, division ]}; + + include "level3(ralt_switch)" +}; + +// EXTRAS: + +partial alphanumeric_keys + xkb_symbols "sun_type6" { + include "sun_vndr/it(sun_type6)" +}; + +partial alphanumeric_keys +xkb_symbols "lld" { + include "it(basic)" + name[Group1] = "Italian (Ladin)"; + + key { [ i, I, idiaeresis, Idiaeresis ] }; + key { [ p, P, ediaeresis, Ediaeresis ] }; + + key { [ a, A, aacute, Aacute ] }; + key { [ s, S, sacute, Sacute ] }; + + key { [ c, C, cacute, Cacute ] }; +}; + +partial alphanumeric_keys +xkb_symbols "intl" { + include "it(basic)" + name[Group1] = "Italian (intl., with dead keys)"; + + key { [ igrave, asciicircum, asciitilde, dead_circumflex ] }; + + key { [ e, E, EuroSign, U0259 ] }; + + key { [ d, D, U1E0D, U1E0C ] }; + key { [ f, F, U0111, U0110 ] }; + key { [ h, H, U1E25, U1E24 ] }; + key { [ agrave, degree, numbersign, U1D58 ] }; + + key { [ z, Z ] }; + key { [ x, X, U03C7, U03A7 ] }; + + key { [ ugrave, section, dead_grave, dead_breve ] }; +}; + +partial alphanumeric_keys +xkb_symbols "scn" { + include "it(basic)" + name[Group1] = "Sicilian"; + + key { [ iacute, asciicircum, asciitilde, dead_circumflex ] }; + + key { [ e, E, EuroSign, ecircumflex ] }; + key { [ r, R, ediaeresis, Ediaeresis ] }; + key { [ u, U, ucircumflex, Ucircumflex ] }; + key { [ i, I, icircumflex, Icircumflex ] }; + key { [ o, O, ocircumflex, Ocircumflex ] }; + + key { [ a, A, acircumflex, Acircumflex ] }; + key { [ s, S, scaron, Scaron ] }; + key { [ d, D, U1E0D, U1E0C ] }; + key { [ f, F, U0111, U0110 ] }; + key { [ agrave, degree, numbersign, U1D58 ] }; + + // Replaced dead_grave by ugrave, since it's common to write mixed + // Sicilian - Italian (where we replaced ugrave with uacute) + key { [ uacute, section, ugrave, dead_breve ] }; + + // In our Windows layout, there is no ©, but Ç. Since this character + // is available via CapsLock, I decided to keep © in place, as the + // Italian layout. + key { [ x, X, U03C7, U03A7 ] }; + key { [ c, C, ccedilla, copyright ] }; +}; + +// layout for Italian Dvorak +// based on https://web.archive.org/web/20170331132815/http://idvorak.altervista.org/ + +partial alphanumeric_keys +xkb_symbols "dvorak" { + include "it(basic)" + name[Group1]= "Italian (Dvorak)"; + + key { [ agrave, degree, numbersign ] }; + key { [ comma, semicolon ] }; + key { [ period, colon ] }; + key { [ p, P ] }; + key { [ y, Y ] }; + key { [ f, F ] }; + key { [ g, G ] }; + key { [ c, C ] }; + key { [ r, R ] }; + key { [ l, L ] }; + key { [ egrave, eacute, bracketleft ] }; + key { [ plus, asterisk, bracketright ] }; + + key { [ a, A ] }; + key { [ o, O ] }; + key { [ e, E ] }; + key { [ u, U ] }; + key { [ i, I ] }; + key { [ d, D ] }; + key { [ h, H ] }; + key { [ t, T ] }; + key { [ n, N ] }; + key { [ s, S ] }; + key { [ minus, underscore ] }; + key { [ ugrave, section ] }; + + key { [ ograve, ccedilla, at ] }; + key { [ q, Q ] } ; + key { [ j, J ] }; + key { [ k, K ] }; + key { [ x, X ] }; + key { [ b, B ] }; + key { [ m, M ] }; + key { [ w, W ] }; + key { [ v, V ] }; + key { [ z, Z ] }; +}; diff --git a/xkbdata/symbols/jolla_vndr/sbj b/xkbdata/symbols/jolla_vndr/sbj new file mode 100644 index 0000000..d2388c3 --- /dev/null +++ b/xkbdata/symbols/jolla_vndr/sbj @@ -0,0 +1,57 @@ +// Instructions +// +// 1. Set basic layout by: +// setxkbmap -rules evdev -model jollasbj -layout cz +// +// 2. Set variant by: +// setxkbmap -rules evdev -model jollasbj -layout cz -variant qwerty +// In practice this is equivalent to: +// setxkbmap -rules evdev -model jollasbj -layout cz_qwerty +// However, the latter form isn't portable so always use the -variant option. +// +// 3. Set multilayout by: +// setxkbmap -rules evdev -model jollasbj -layout "us,cz" -variant ",qwerty" -option grp:ctrl_shift_toggle +// This sets the basic us layout active. You can switch to qwerty +// variant of cz layout by pressing ctrl+shift. +// +// Pitfalls +// +// 1. Many to one mappings +// +// Higher level input method components don't necessarily handle many to +// one mappings correctly. They may assume that there exists only a one +// to one mapping between a hardware key and a symbol. Therefore you +// should take care not to introduce many to one mappings for keys that +// are going to be reverse mapped from a symbol to a hardware key. +// +// Currently at least the modifier keys are affected. Clients may set +// states, such as autorepeat, for hardware keys by reverse mapping a +// modifier symbol to a hardware key and then setting the state for the +// first hardware key that maps to the symbol. The correct way would be +// to modify the state of all hardware keys mapping to a given symbol. +// +// We are nice and keep the mappings one to one for clients that don't +// choose to handle many to one mappings. + + + +default partial alphanumeric_keys +xkb_symbols "common" { + include "pc(pc105)" + include "jolla_vndr/sbj(common-keys)" + + // This section should not be included by any other section. It's + // referenced only once by rule file to allow multiple layout + // configurations. +}; + +partial hidden alphanumeric_keys +xkb_symbols "common-keys" { + + // These keycodes are beyond the X11 255 limit value so it would + // only be valid for the use with SW which supports extended keycodes, + // like xkbcommon. + + // generated from the headset, must always be in the map. + key { [ XF86Phone ] }; +}; diff --git a/xkbdata/symbols/jp b/xkbdata/symbols/jp new file mode 100644 index 0000000..7b81fe9 --- /dev/null +++ b/xkbdata/symbols/jp @@ -0,0 +1,323 @@ +// Symbols for Japanese 106-keys keyboards (by tsuka@kawalab.dnj.ynu.ac.jp). + +default partial alphanumeric_keys +xkb_symbols "106" { + + include "jp(common)" + name[Group1]= "Japanese"; + + key { [ 0, asciitilde ] }; + key { [ backslash, bar ] }; +}; + +hidden partial alphanumeric_keys +xkb_symbols "common" { + // "Common" keys for jp 106/109A layouts. + + key { + type[Group1]="PC_ALT_LEVEL2", + symbols[Group1]= [ Zenkaku_Hankaku, Kanji ] + }; + + key { [ 1, exclam ] }; + key { [ 2, quotedbl ] }; + key { [ 3, numbersign ] }; + key { [ 4, dollar ] }; + key { [ 5, percent ] }; + key { [ 6, ampersand ] }; + key { [ 7, apostrophe ] }; + key { [ 8, parenleft ] }; + key { [ 9, parenright ] }; + key { [ minus, equal ] }; + key { [ asciicircum, asciitilde] }; + + key { [ q, Q ] }; + key { [ w, W ] }; + key { [ e, E ] }; + key { [ r, R ] }; + key { [ t, T ] }; + key { [ y, Y ] }; + key { [ u, U ] }; + key { [ i, I ] }; + key { [ o, O ] }; + key { [ p, P ] }; + key { [ at, grave ] }; + key { [ bracketleft, braceleft ] }; + + key { [ Eisu_toggle, Caps_Lock ] }; + + key { [ a, A ] }; + key { [ s, S ] }; + key { [ d, D ] }; + key { [ f, F ] }; + key { [ g, G ] }; + key { [ h, H ] }; + key { [ j, J ] }; + key { [ k, K ] }; + key { [ l, L ] }; + key { [ semicolon, plus ] }; + key { [ colon, asterisk ] }; + key { [ bracketright, braceright ] }; + + key { [ z, Z ] }; + key { [ x, X ] }; + key { [ c, C ] }; + key { [ v, V ] }; + key { [ b, B ] }; + key { [ n, N ] }; + key { [ m, M ] }; + key { [ comma, less ] }; + key { [ period, greater ] }; + key { [ slash, question ] }; + key { [ backslash, underscore] }; + key { [ Control_L ] }; + + key { [ Muhenkan ] }; + + key { + type[Group1]="PC_ALT_LEVEL2", + symbols[Group1]= [ Henkan, Mode_switch ] + }; + + key { + type[Group1]="PC_ALT_LEVEL2", + symbols[Group1]= [ Hiragana_Katakana, Romaji ] + }; + + key { + type[Group1]="PC_ALT_LEVEL2", + symbols[Group1]= [ Eisu_toggle ] + }; + + key { + type[Group1]="PC_ALT_LEVEL2", + symbols[Group1]= [ Hiragana_Katakana ] + }; + + key { + type[Group1]= "PC_ALT_LEVEL2", + symbols[Group1]= [ Print, Execute ] + }; +}; + +partial alphanumeric_keys +xkb_symbols "henkan" { + key { + type[Group1]="PC_ALT_LEVEL2", + symbols[Group1]= [ Henkan, Mode_switch ] + }; +}; + +partial alphanumeric_keys +xkb_symbols "OADG109A" { + + include "jp(common)" + name[Group1]= "Japanese (OADG 109A)"; + + key { [ 0 ] }; + key { [ yen, bar ] }; +}; + +// 86 keys with kana map +partial alphanumeric_keys +xkb_symbols "kana86" { + + include "srvr_ctrl(fkey2vt)" + include "pc(editing)" + include "keypad(numoperdecsep)" + include "altwin(menu)" + include "jp(kana)" + include "jp(OADG109A)" + name[Group1]= "Japanese (Kana 86)"; + + key { [ Escape ] }; + key { [ Num_Lock ] }; + key { [ BackSpace ] }; + key { [ Tab, ISO_Left_Tab ] }; + key { [ Return ] }; + key { [ Shift_L ] }; + key { [ Shift_R ] }; + key { [ Super_L ] }; + key { [ Alt_L ] }; + key { [ space ] }; + key { [ Alt_R ] }; + // For compatibility with other keyboards connected at the same time: + key { [ Super_R ] }; + key { [ Control_R ] }; +}; + +partial alphanumeric_keys +xkb_symbols "kana" { + + name[Group1]= "Japanese (Kana)"; + + key { + type[Group1]="PC_ALT_LEVEL2", + symbols[Group1]= [ Zenkaku_Hankaku, Kanji ] + }; + + key { [ kana_NU ] }; + key { [ kana_FU ] }; + key { [ kana_A, kana_a ] }; + key { [ kana_U, kana_u ] }; + key { [ kana_E, kana_e ] }; + key { [ kana_O, kana_o ] }; + key { [ kana_YA, kana_ya ] }; + key { [ kana_YU, kana_yu ] }; + key { [ kana_YO, kana_yo ] }; + key { [ kana_WA, kana_WO ] }; + key { [ kana_HO ] }; + key { [ kana_HE ] }; + key { [ prolongedsound ] }; + + key { [ kana_TA ] }; + key { [ kana_TE ] }; + key { [ kana_I, kana_i ] }; + key { [ kana_SU ] }; + key { [ kana_KA ] }; + key { [ kana_N ] }; + key { [ kana_NA ] }; + key { [ kana_NI ] }; + key { [ kana_RA ] }; + key { [ kana_SE ] }; + key { [ voicedsound ] }; + key { [ semivoicedsound, kana_openingbracket ] }; + + key { [ Eisu_toggle, Caps_Lock ] }; + key { [ kana_CHI ] }; + key { [ kana_TO ] }; + key { [ kana_SHI ] }; + key { [ kana_HA ] }; + key { [ kana_KI ] }; + key { [ kana_KU ] }; + key { [ kana_MA ] }; + key { [ kana_NO ] }; + key { [ kana_RI ] }; + key { [ kana_RE ] }; + key { [ kana_KE ] }; + key { [ kana_MU, kana_closingbracket ] }; + + key { [ kana_TSU, kana_tsu ] }; + key { [ kana_SA ] }; + key { [ kana_SO ] }; + key { [ kana_HI ] }; + key { [ kana_KO ] }; + key { [ kana_MI ] }; + key { [ kana_MO ] }; + key { [ kana_NE, kana_comma ] }; + key { [ kana_RU, kana_fullstop ] }; + key { [ kana_ME, kana_middledot ] }; + key { [ kana_RO ] }; + key { [ Control_L ] }; + + key { [ Muhenkan ] }; + + key { + type[Group1]="PC_ALT_LEVEL2", + symbols[Group1]= [ Henkan, Mode_switch ] + }; + key { + type[Group1]="PC_ALT_LEVEL2", + symbols[Group1]= [ Hiragana_Katakana, Romaji ] + }; + + key { + type[Group1]= "PC_ALT_LEVEL2", + symbols[Group1]= [ Print, Execute ] + }; +}; + +partial alphanumeric_keys +xkb_symbols "nicola_f_bs" { + key { + type="", + symbols[Group1]= [ bracketright, braceright ] + }; + key { [ 0, underscore ] }; + key { [ colon, asterisk ] }; + key { [ BackSpace, BackSpace ] }; + key { [ Escape ] }; + key { [ at, grave ] }; +}; + +// Copied from macintosh_vndr/jp +partial alphanumeric_keys +xkb_symbols "mac" { + include "jp(kana)" + name[Group1]= "Japanese (Macintosh)"; + + replace key { [ Caps_Lock ] }; +}; + +partial alphanumeric_keys +xkb_symbols "hztg_escape" { + replace key { [ Escape ] }; +}; + +partial alphanumeric_keys +xkb_symbols "dvorak" { + include "jp(OADG109A)" + name[Group1]= "Japanese (Dvorak)"; + + key { [ at, grave ] }; + + key { [ colon, asterisk ] }; + key { [ comma, less ] }; + key { [ period, greater ] }; + key { [ p, P ] }; + key { [ y, Y ] }; + key { [ f, F ] }; + key { [ g, G ] }; + key { [ c, C ] }; + key { [ r, R ] }; + key { [ l, L ] }; + key { [ slash, question ] }; + + key { [ o, O ] }; + key { [ e, E ] }; + key { [ u, U ] }; + key { [ i, I ] }; + key { [ d, D ] }; + key { [ h, H ] }; + key { [ t, T ] }; + key { [ n, N ] }; + key { [ s, S ] }; + key { [ minus, equal ] }; + + key { [ semicolon, plus ] }; + key { [ q, Q ] }; + key { [ j, J ] }; + key { [ k, K ] }; + key { [ x, X ] }; + key { [ b, B ] }; + key { [ w, W ] }; + key { [ v, V ] }; + key { [ z, Z ] }; +}; + +// EXTRAS: + +partial alphanumeric_keys + xkb_symbols "sun_type6_suncompat" { + include "sun_vndr/jp(sun_type6_suncompat)" +}; + +partial alphanumeric_keys + xkb_symbols "sun_type6" { + include "sun_vndr/jp(sun_type6)" +}; + +partial alphanumeric_keys + xkb_symbols "sun_type7_suncompat" { + include "sun_vndr/jp(sun_type7_suncompat)" +}; + +partial alphanumeric_keys + xkb_symbols "suncompat" { + include "sun_vndr/jp(suncompat)" +}; + +partial alphanumeric_keys + xkb_symbols "sun_type7" { + include "sun_vndr/jp(sun_type7)" +}; diff --git a/xkbdata/symbols/ke b/xkbdata/symbols/ke new file mode 100644 index 0000000..06ca0c0 --- /dev/null +++ b/xkbdata/symbols/ke @@ -0,0 +1,109 @@ +// Keyboard layout for Swahili in Arabic script. +// Based on Martin Vidner's Buckwalter transliteration variant of the Arabic keyboard +// Please notify any corrections or omissions to +// Kevin Donnelly (kevin@dotmon.com) + +default partial alphanumeric_keys +xkb_symbols "swa" { + + include "us" + + name[Group1]= "Swahili (Kenya)"; + + key { [ semicolon, colon, 0x01000324, 0x01000324 ] }; //COMBINING DIAERESIS BELOW + key { [apostrophe, quotedbl, 0x01000301, 0x01000308 ] }; //COMBINING ACUTE ACCENT, COMBINING DIAERESIS + key { [ grave, asciitilde, 0x01000300, 0x01000303 ] }; //COMBINING GRAVE ACCENT, COMBINING TILDE + key { [ 6, asciicircum, 0x01000302 ] }; //COMBINING CIRCUMFLEX ACCENT + key { [ 8, asterisk, 0x01000307, 0x01000323 ] }; //COMBINING DOT ABOVE, COMBINING DOT BELOW + key { [ 9, parenleft, 0x01000306 ] }; //COMBINING BREVE + key { [ 0, parenright, 0x0100030c ] }; //COMBINING CARON + key { [ minus, underscore, 0x01000304, 0x01000331 ] }; //COMBINING MACRON,COMBINING MACRON BELOW + + include "level3(ralt_switch)" +}; + + +// Kikuyu (Gĩkũyũ) keyboard +// Based on Kasahorow keyboard layout +// https://code.google.com/archive/p/africakeyboards/ +// +// +// +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓ +// │ ~ ¸ │ ! ¡ │ @ ⅛ │ # £ │ $ $ │ % ⅜ │ ^ ⅝ │ & ⅞ │ * ™ │ ( ± │ ) ° │ _ ¿ │ + ˛ ┃ BKSP ┃ +// │ ` │ 1 ¹ │ 2 @ │ 3 ³ │ 4 ¼ │ 5 ½ │ 6 ¬ │ 7 { │ 8 [ │ 9 ] │ 0 } │ - \ │ = ¸ ┃ ┃ +// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫ +// ┃ ┃ Ĩ Q │ W Ł │ E ¢ │ R ® │ T Ŧ │ Y ¥ │ U ↑ │ I ı │ O Ø │ P Þ │ { ° │ } ¯ ┃Enter ┃ +// ┃Tab ┃ ĩ q │ w ł │ e € │ r ¶ │ t ŧ │ y ← │ u ↓ │ i → │ o ø │ p þ │ [ ¨ │ ] ~ ┃ ⏎ ┃ +// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃ +// ┃ ┃ A Æ │ S § │ D Ð │ F ª │ G Ŋ │ H Ħ │ J X │ K & │ L Ŀ │ : ˝ │ " ˇ │ | ̄˘ ┃ ┃ +// ┃CAPS ┃ a æ │ s ß │ d ð │ f đ │ g ŋ │ h ħ │ j x │ k ĸ │ l ŀ │ ; ´ │ ' ^ │ \ ` ┃ ┃ +// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫ +// ┃ ┃ > ¦ │ Z < │ Ũ > │ C © │ V ‘ │ B ’ │ N N │ M º │ < × │ > ÷ │ ? ˙ ┃ ┃ +// ┃Shift ⇧┃ < | │ z « │ ũ » │ c ¢ │ v “ │ b ” │ n n │ m µ │ , ─ │ . · │ / ̣ ̣̣̣̣̣┃Shift ⇧ ┃ +// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛ +// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ +// ┃Ctrl ┃Meta ┃Alt ┃ Space ┃AltGr ⇮┃Menu ┃Ctrl ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛ + +partial alphanumeric_keys +xkb_symbols "kik" { + + include "latin(type4)" + + name[Group1]= "Kikuyu"; + + key { [ grave, asciitilde ] }; + key { [ 1, exclam ] }; + key { [ 2, at ] }; + key { [ 3, numbersign ] }; + key { [ 4, dollar ] }; + key { [ 5, percent ] }; + key { [ 6, asciicircum ] }; + key { [ 7, ampersand ] }; + key { [ 8, asterisk ] }; + key { [ 9, parenleft ] }; + key { [ 0, parenright ] }; + key { [ minus, underscore ] }; + key { [ equal, plus ] }; + + key { [ itilde, Itilde, q, Q ] }; + key { [ w, W ] }; + key { [ e, E ] }; + key { [ r, R ] }; + key { [ t, T ] }; + key { [ y, Y ] }; + key { [ u, U ] }; + key { [ i, I ] }; + key { [ o, O ] }; + key { [ p, P ] }; + key { [ bracketleft, braceleft ] }; + key { [ bracketright, braceright ] }; + + key { [ a, A ] }; + key { [ s, S ] }; + key { [ d, D ] }; + key { [ f, F ] }; + key { [ g, G ] }; + key { [ h, H ] }; + key { [ j, J, x, X ] }; + key { [ k, K ] }; + key { [ l, L ] }; + key { [ semicolon, colon ] }; + key { [ apostrophe, quotedbl ] }; + + key { [ z, Z ] }; + key { [ utilde, Utilde ] }; + key { [ c, C ] }; + key { [ v, V ] }; + key { [ b, B ] }; + key { [ n, N ] }; + key { [ m, M ] }; + key { [ comma, less ] }; + key { [ period, greater ] }; + key { [ slash, question ] }; + + key { [ backslash, bar ] }; + + include "level3(ralt_switch)" +}; diff --git a/xkbdata/symbols/keypad b/xkbdata/symbols/keypad new file mode 100644 index 0000000..8b0e098 --- /dev/null +++ b/xkbdata/symbols/keypad @@ -0,0 +1,624 @@ +default hidden partial keypad_keys +xkb_symbols "x11" { + + include "keypad(operators)" + + key { [ KP_Home, KP_7 ] }; + key { [ KP_Up, KP_8 ] }; + key { [ KP_Prior, KP_9 ] }; + + key { [ KP_Left, KP_4 ] }; + key { [ KP_Begin, KP_5 ] }; + key { [ KP_Right, KP_6 ] }; + + key { [ KP_End, KP_1 ] }; + key { [ KP_Down, KP_2 ] }; + key { [ KP_Next, KP_3 ] }; + key { [ KP_Enter ] }; + key { [ KP_Equal ] }; + + key { [ KP_Insert, KP_0 ] }; + key { [ KP_Delete, KP_Decimal ] }; + key { [ KP_Decimal, KP_Decimal ] }; +}; + +hidden partial keypad_keys +xkb_symbols "overlay" { + include "keypad(overlay1)" +}; + +hidden partial keypad_keys +xkb_symbols "overlay1" { + + key { [ KP_Home ], overlay1= }; + key { [ KP_Up ], overlay1= }; + key { [ KP_Prior ], overlay1= }; + + key { [ KP_Left ], overlay1= }; + key { [ KP_Begin ], overlay1= }; + key { [ KP_Right ], overlay1= }; + + key { [ KP_End ], overlay1= }; + key { [ KP_Down ], overlay1= }; + key { [ KP_Next ], overlay1= }; + + key { [ KP_Insert ], overlay1= }; + key { [ KP_Delete ], overlay1= }; + + key { [ KP_7 ] }; + key { [ KP_8 ] }; + key { [ KP_9 ] }; + + key { [ KP_4 ] }; + key { [ KP_5 ] }; + key { [ KP_6 ] }; + + key { [ KP_1 ] }; + key { [ KP_2 ] }; + key { [ KP_3 ] }; + + key { [ KP_0 ] }; + key { [ KP_Decimal ] }; +}; + +hidden partial keypad_keys +xkb_symbols "overlay2" { + + key { [ KP_Home ], overlay2= }; + key { [ KP_Up ], overlay2= }; + key { [ KP_Prior ], overlay2= }; + + key { [ KP_Left ], overlay2= }; + key { [ KP_Begin ], overlay2= }; + key { [ KP_Right ], overlay2= }; + + key { [ KP_End ], overlay2= }; + key { [ KP_Down ], overlay2= }; + key { [ KP_Next ], overlay2= }; + + key { [ KP_Insert ], overlay2= }; + key { [ KP_Delete ], overlay2= }; + + key { [ KP_7 ] }; + key { [ KP_8 ] }; + key { [ KP_9 ] }; + + key { [ KP_4 ] }; + key { [ KP_5 ] }; + key { [ KP_6 ] }; + + key { [ KP_1 ] }; + key { [ KP_2 ] }; + key { [ KP_3 ] }; + + key { [ KP_0 ] }; + key { [ KP_Decimal ] }; +}; + +hidden partial keypad_keys +xkb_symbols "operators" { + // Puts some commands to control the X server on + // the fifth level of the keypad's operator keys. + key { + type="CTRL+ALT", // Ungrab cancels server/keyboard/pointer grabs + symbols[Group1]= [ KP_Divide, KP_Divide, KP_Divide, KP_Divide, XF86_Ungrab ] + }; + key { + type="CTRL+ALT", // ClsGrb kills whichever client has a grab in effect + symbols[Group1]= [ KP_Multiply, KP_Multiply, KP_Multiply, KP_Multiply, XF86_ClearGrab ] + }; + key { + type="CTRL+ALT", // -VMode switches to the previous video mode + symbols[Group1]= [ KP_Subtract, KP_Subtract, KP_Subtract, KP_Subtract, XF86_Prev_VMode ] + }; + key { + type="CTRL+ALT", // +VMode switches to the next video mode + symbols[Group1]= [ KP_Add, KP_Add, KP_Add, KP_Add, XF86_Next_VMode ] + }; +}; + +// Legacy PC keypad definition +// Copyright © 2006-2007 Nicolas Mailhot +keypad_keys +xkb_symbols "legacy" { + + include "keypad(core)" + include "keypad(legacymath)" + include "keypad(legacynumber)" + include "kpdl(dot)" +}; + + +// Legacy Wang 725-3771-ae and 725-3771-uk keypad definition +// Copyright © 2006-2007 Nicolas Mailhot +keypad_keys +xkb_symbols "legacy_wang" { + + include "keypad(core)" + include "keypad(legacymath)" + include "keypad(legacynumber_wang)" + include "kpdl(dot)" +}; + + +// Complete new keypad definition +// Copyright © 2006-2007 Nicolas Mailhot +keypad_keys +xkb_symbols "oss" { + + include "keypad(core)" + include "keypad(ossmath)" + include "keypad(ossnumber)" + include "kpdl(dotoss)" +}; + + +// Latin9 restriction of new keypad definition +// Copyright © 2006-2007 Nicolas Mailhot +keypad_keys +xkb_symbols "oss_latin9" { + + include "keypad(core)" + include "keypad(ossmath_latin9)" + include "keypad(legacynumber)" + include "kpdl(dotoss_latin9)" +}; + + +// Wang 725-3771-ae and 725-3771-uk keypad variant of oss keypad +// Copyright © 2006-2007 Nicolas Mailhot +keypad_keys +xkb_symbols "oss_wang" { + + include "keypad(core)" + include "keypad(ossmath)" + include "keypad(ossnumber_wang)" + include "kpdl(dotoss)" +}; + + +// Forward-looking keypad definition +// Won't work with applications that make ASCII assumptions +// Copyright © 2007 Nicolas Mailhot +keypad_keys +xkb_symbols "future" { + + include "keypad(core)" + include "keypad(futuremath)" + include "keypad(ossnumber)" + include "kpdl(commaoss)" +}; + + +// Forward-looking keypad definition +// Won't work with applications that make ASCII assumptions +// Copyright © 2007 Nicolas Mailhot +keypad_keys +xkb_symbols "future_wang" { + + include "keypad(core)" + include "keypad(futuremath)" + include "keypad(ossnumber_wang)" + include "kpdl(commaoss)" +}; + + +// Keypad keys nobody changes +// Copyright © 2006 Nicolas Mailhot +partial keypad_keys +xkb_symbols "core" { + + modifier_map Mod2 { Num_Lock }; + + key { [ Num_Lock ] }; + key { [ KP_Enter ] }; + key { [ KP_Equal ] }; +}; + + +// Legacy keypad math area +// Copyright © 2006 Nicolas Mailhot +// +// ┏━━━━━┱─────┬─────┬─────┐ +// ┃Num ┃ ₁ │ ₂ │ ₃ │ ₁ +// ┃Lock⇭┃ / │ * │ - │ ₂ +// ┡━━━━━╃─────┼─────┼─────┤ ₃ +// │ ₄ │ ₄ +// │ │ +// ┤ │ 1 None +// │ │ 2 Ctrl+Alt +// │ + │ +// ╆━━━━━┪ +partial keypad_keys +xkb_symbols "legacymath" { + + key.type[Group1]="CTRL+ALT" ; + + key { [ KP_Divide, KP_Divide, KP_Divide, KP_Divide, XF86_Ungrab ] }; // / + key { [ KP_Multiply, KP_Multiply, KP_Multiply, KP_Multiply, XF86_ClearGrab ] }; // * + key { [ KP_Subtract, KP_Subtract, KP_Subtract, KP_Subtract, XF86_Prev_VMode ] }; // - + + key { [ KP_Add, KP_Add, KP_Add, KP_Add, XF86_Next_VMode ] }; // + +}; + + +// Keypad math area with non-CS operators +// Copyright © 2006 Nicolas Mailhot +// +// ┏━━━━━┱─────┬─────┬─────┐ +// ┃Num ┃ ∕ ₁ │ . ₂ │ − ₃ │ ₁ +// ┃Lock⇭┃ / ÷ │ * × │ - − │ ₂ +// ┡━━━━━╃─────┼─────┼─────┤ ₃ +// │ + ₄ │ ₄ +// │ │ +// ┤ │ 1 None +// │ │ 2 Level3 ⇮ +// │ + + │ 3 Shift+Level3 ⇧⇮ +// ╆━━━━━┪ 4 Ctrl+Alt +partial keypad_keys +xkb_symbols "ossmath" { + + key.type[Group1]="CTRL+ALT" ; + + key { [ KP_Divide, 0x1002215, 0x10000F7, VoidSymbol, XF86_Ungrab ] }; // / ∕ ÷ + key { [ KP_Multiply, 0x10022C5, 0x10000D7, VoidSymbol, XF86_ClearGrab ] }; // * ⋅ × + key { [ KP_Subtract, 0x1002212, 0x1002212, VoidSymbol, XF86_Prev_VMode ] }; // - − − + + key { [ KP_Add, 0x100002B, 0x100002B, VoidSymbol, XF86_Next_VMode ] }; // + + + +}; + + +// Keypad math area with non-CS operators in first levels +// As demanded by users not interested in legacy pre-unicode junk +// Copyright © 2007 Nicolas Mailhot +// +// ┏━━━━━┱─────┬─────┬─────┐ +// ┃Num ┃ / ₁ │ * ₂ │ - ₃ │ ₁ +// ┃Lock⇭┃ ∕ ÷ │ . × │ − − │ ₂ +// ┡━━━━━╃─────┼─────┼─────┤ ₃ +// │ + ₄ │ ₄ +// │ │ +// ┤ │ 1 None +// │ │ 2 Level3 ⇮ +// │ + + │ 3 Shift+Level3 ⇧⇮ +// ╆━━━━━┪ 4 Ctrl+Alt +partial keypad_keys +xkb_symbols "futuremath" { + + key.type[Group1]="FOUR_LEVEL_X" ; + + key { [ 0x1002215, KP_Divide, 0x10000F7, XF86_Ungrab ] }; // ∕ / ÷ + key { [ 0x10022C5, KP_Multiply, 0x10000D7, XF86_ClearGrab ] }; // ⋅ * × + key { [ 0x1002212, KP_Subtract, 0x1002212, XF86_Prev_VMode ] }; // − - − + + key { [ 0x100002B, KP_Add, 0x100002B, XF86_Next_VMode ] }; // + + + +}; + + +// Keypad math area with non-CS operators, restricted to latin9 +// Copyright © 2006 Nicolas Mailhot +// +// ┏━━━━━┱─────┬─────┬─────┐ +// ┃Num ┃ / ₁ │ · ₂ │ - ₃ │ ₁ +// ┃Lock⇭┃ / ÷ │ * × │ - - │ ₂ +// ┡━━━━━╃─────┼─────┼─────┤ ₃ +// │ + ₄ │ ₄ +// │ │ +// ┤ │ 1 None +// │ │ 2 Level3 ⇮ +// │ + + │ 3 Shift+Level3 ⇧⇮ +// ╆━━━━━┪ 4 Ctrl+Alt +partial keypad_keys +xkb_symbols "ossmath_latin9" { + + key.type[Group1]="FOUR_LEVEL_X"; + + key { [ KP_Divide, slash, division, XF86_Ungrab ] }; // / / ÷ + key { [ KP_Multiply, periodcentered, multiply, XF86_ClearGrab ] }; // * · × + key { [ KP_Subtract, minus, minus, XF86_Prev_VMode ] }; // - - - + + key { [ KP_Add, plus, plus, XF86_Next_VMode ] }; // + + + +}; + + +// Legacy keypad number area +// Copyright © 2006 Nicolas Mailhot +// +// ┏━━━━━┱ +// ┃Num ┃ ⇱ Home +// ┃Lock⇭┃ ⇲ End +// ┡━━━━━╃─────┼─────┼ ⇞ Page up +// │ 7 │ 8 │ 9 │ ⇟ Page down +// │ ⇱ │ ⇧ │ ⇞ │ ⎀ Insert +// ├─────┼─────┼─────┤ ␥ Delete +// │ 4 │ 5 │ 6 │ ⇦⇧⇨⇩ Directions +// │ ⇦ │ │ ⇨ │ +// ├─────┼─────┼─────╆ +// │ 1 │ 2 │ 3 ┃ +// │ ⇲ │ ⇩ │ ⇟ ┃ 1 None +// ├─────┴─────┼─────┨ 2 Num Lock ⇭ +// │ 0 │ +// │ ⎀ │ +// └───────────┴ +partial keypad_keys +xkb_symbols "legacynumber" { + + key.type[Group1]="KEYPAD" ; + + key { [ KP_Home, KP_7 ] }; // 7 + key { [ KP_Up, KP_8 ] }; // 8 + key { [ KP_Prior, KP_9 ] }; // 9 + + key { [ KP_Left, KP_4 ] }; // 4 + key { [ KP_Begin, KP_5 ] }; // 5 + key { [ KP_Right, KP_6 ] }; // 6 + + key { [ KP_End, KP_1 ] }; // 1 + key { [ KP_Down, KP_2 ] }; // 2 + key { [ KP_Next, KP_3 ] }; // 3 + + key { [ KP_Insert, KP_0 ] }; // 0 +}; + + +// Legacy Wang 725-3771-ae and 725-3771-uk keypad number area +// Copyright © 2007 Nicolas Mailhot +// This is actually a three-level keypad, declared as four-level +// to avoid defining a new type +// +// ┏━━━━━┱ +// ┃Num ┃ ⇱ Home +// ┃Lock⇭┃ ⇲ End +// ┡━━━━━╃─────┼─────┼ ⇞ Page up +// │ 7 │ 8 │ 9 │ ⇟ Page down +// │ ⇱ < │ ⇧ > │ ⇞ ^ │ ⎀ Insert +// ├─────┼─────┼─────┤ ␥ Delete +// │ 4 │ 5 │ 6 │ ⇦⇧⇨⇩ Directions +// │ ⇦ [ │ ] │ ⇨ $ │ +// ├─────┼─────┼─────╆ +// │ 1 │ 2 │ 3 ┃ +// │ ⇲ & │ ⇩ @ │ ⇟ # ┃ 1 None +// ├─────┴─────┼─────┨ 2 Num Lock ⇭ +// │ 0 │ 3 Level3 ⇮ +// │ ⎀ │ +// └───────────┴ +partial keypad_keys +xkb_symbols "legacynumber_wang" { + + key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ; + + key { [ KP_Home, KP_7, less ] }; // 7 < + key { [ KP_Up, KP_8, greater ] }; // 8 > + key { [ KP_Prior, KP_9, asciicircum ] }; // 9 ^ + + key { [ KP_Left, KP_4, bracketleft ] }; // 4 [ + key { [ KP_Begin, KP_5, bracketright ] }; // 5 ] + key { [ KP_Right, KP_6, dollar ] }; // 6 $ + + key { [ KP_End, KP_1, ampersand ] }; // 1 & + key { [ KP_Down, KP_2, at ] }; // 2 @ + key { [ KP_Next, KP_3, numbersign ] }; // 3 # + + key { [ KP_Insert, KP_0, apostrophe ] }; // 0 ' +}; + + +// Keypad number area with arrow symbols +// Copyright © 2006 Nicolas Mailhot +// +// ┏━━━━━┱ +// ┃Num ┃ ⇱ Home +// ┃Lock⇭┃ ⇲ End +// ┡━━━━━╃─────┼─────┼ ⇞ Page up +// │ 7 ⇖ │ 8 ⇑ │ 9 ⇗ │ ⇟ Page down +// │ ⇱ ↖ │ ⇧ ↑ │ ⇞ ↗ │ ⎀ Insert +// ├─────┼─────┼─────┤ ␥ Delete +// │ 4 ⇐ │ 5 ⇔ │ 6 ⇒ │ ⇦⇧⇨⇩ Directions +// │ ⇦ ← │ ↔ │ ⇨ → │ ⍽ narrow no-break space +// ├─────┼─────┼─────╆ +// │ 1 ⇙ │ 2 ⇓ │ 3 ⇘ ┃ +// │ ⇲ ↙ │ ⇩ ↓ │ ⇟ ↘ ┃ 1 None +// ├─────┴─────┼─────┨ 2 Num Lock ⇭ +// │ 0 ⇕ │ 3 Level3 ⇮ +// │ ⎀ ↕ │ 4 Shift+Level3 ⇧⇮ +// └───────────┴ +partial keypad_keys +xkb_symbols "ossnumber" { + + key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ; + + key { [ KP_Home, KP_7, 0x1002196, 0x10021D6 ] }; // 7 ↖ ⇖ + key { [ KP_Up, KP_8, 0x1002191, 0x10021D1 ] }; // 8 ↑ ⇑ + key { [ KP_Prior, KP_9, 0x1002197, 0x10021D7 ] }; // 9 ↗ ⇗ + + key { [ KP_Left, KP_4, 0x1002190, 0x10021D0 ] }; // 4 ← ⇐ + key { [ KP_Begin, KP_5, 0x1002194, 0x10021D4 ] }; // 5 ↔ ⇔ + key { [ KP_Right, KP_6, 0x1002192, 0x10021D2 ] }; // 6 → ⇒ + + key { [ KP_End, KP_1, 0x1002199, 0x10021D9 ] }; // 1 ↙ ⇙ + key { [ KP_Down, KP_2, 0x1002193, 0x10021D3 ] }; // 2 ↓ ⇓ + key { [ KP_Next, KP_3, 0x1002198, 0x10021D8 ] }; // 3 ↘ ⇘ + + key { [ KP_Insert, KP_0, 0x1002195, 0x10021D5 ] }; // 0 ↕ ⇕ +}; + + +// Wang 725-3771-ae and 725-3771-uk keypad number area with additional arrow symbols +// Copyright © 2007 Nicolas Mailhot +// +// ┏━━━━━┱ +// ┃Num ┃ ⇱ Home +// ┃Lock⇭┃ ⇲ End +// ┡━━━━━╃─────┼─────┼ ⇞ Page up +// │ 7 ↖ │ 8 ↑ │ 9 ↗ │ ⇟ Page down +// │ ⇱ < │ ⇧ > │ ⇞ ^ │ ⎀ Insert +// ├─────┼─────┼─────┤ ␥ Delete +// │ 4 ← │ 5 ↔ │ 6 → │ ⇦⇧⇨⇩ Directions +// │ ⇦ [ │ ] │ ⇨ $ │ ⍽ narrow no-break space +// ├─────┼─────┼─────╆ +// │ 1 ↙ │ 2 ↓ │ 3 ↘ ┃ +// │ ⇲ & │ ⇩ @ │ ⇟ # ┃ 1 None +// ├─────┴─────┼─────┨ 2 Num Lock ⇭ +// │ 0 ↕ │ 3 Level3 ⇮ +// │ ⎀ ' │ 4 Shift+Level3 ⇧⇮ +// └───────────┴ +partial keypad_keys +xkb_symbols "ossnumber_wang" { + + key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ; + + key { [ KP_Home, KP_7, less, 0x1002196 ] }; // 7 < ↖ + key { [ KP_Up, KP_8, greater, 0x1002191 ] }; // 8 > ↑ + key { [ KP_Prior, KP_9, asciicircum, 0x1002197 ] }; // 9 ^ ↗ + + key { [ KP_Left, KP_4, bracketleft, 0x1002190 ] }; // 4 [ ← + key { [ KP_Begin, KP_5, bracketright, 0x1002194 ] }; // 5 ] ↔ + key { [ KP_Right, KP_6, dollar, 0x1002192 ] }; // 6 $ → + + key { [ KP_End, KP_1, ampersand, 0x1002199 ] }; // 1 & ↙ + key { [ KP_Down, KP_2, at, 0x1002193 ] }; // 2 @ ↓ + key { [ KP_Next, KP_3, numbersign, 0x1002198 ] }; // 3 # ↘ + + key { [ KP_Insert, KP_0, apostrophe, 0x1002195 ] }; // 0 ' ↕ +}; + +// Standard base "pc" layout only contains cursor keys, and then gets +// augmented with the digits later. If you define your own layout for +// the numpad you can inherit the cursors, but you'll have to define +// the digits yourself. This module can be included in the rules to +// define math operators; these are the variants used in computer +// languages that are based on ASCII. NoSymbol does not mean that +// nothing is bound to the key but that no assignment is done here. +// srvr_ctrl(stdkeypad) and keypad(x11) declare the operator keys to +// be of type CTRL+ALT in order to assign server control events to +// them, but it uses the second level which is overwritten if we have +// more than one definition (shift state) for the key. Instead, here +// the commands are put at the 4th lever. +partial keypad_keys +xkb_symbols "ops" { + key { [ NoSymbol, slash, NoSymbol, XF86_Ungrab ] }; + key { [ NoSymbol, asterisk, NoSymbol, XF86_ClearGrab ] }; + key { [ NoSymbol, minus, NoSymbol, XF86_Prev_VMode ] }; + key { [ NoSymbol, plus, NoSymbol, XF86_Next_VMode ] }; + key { [ NoSymbol, equal ] }; +}; + +// Hexadecimal Numpad, by Roland Kaufmann +// License: BSD (also covers variant with ATM digit order) +// Third-level gives the letters used in hexadecimal numbers, or +// columns in small spreadsheets. As a bonus, having 'e' available at +// the center of the keyboard makes it easy to enter floating point +// numbers in scientific notation. +// Equal is added to start formulas (most numpads on PCs don't have +// their own equal key), comma as a list separator (as most +// programming languages wants period as a decimal separator) and +// colon to enter times and ranges. Someone also may want to represent +// multiplication and division in prose using x and colon. +// Two first levels are specified as NoSymbol to not override any +// previous specification. Combine this with another keypad specifier, +// e.g. "legacy". +partial keypad_keys +xkb_symbols "hex" { + key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ; + + // None NumLock AltGr + // symbol row + key { [ NoSymbol, NoSymbol, parenleft ] }; + key { [ NoSymbol, NoSymbol, parenright ] }; + key { [ NoSymbol, NoSymbol, dollar ] }; + + // upper row + key { [ NoSymbol, NoSymbol, a ] }; + key { [ NoSymbol, NoSymbol, b ] }; + key { [ NoSymbol, NoSymbol, c ] }; + + // home row + key { [ NoSymbol, NoSymbol, d ] }; + key { [ NoSymbol, NoSymbol, e ] }; + key { [ NoSymbol, NoSymbol, f ] }; + key { [ NoSymbol, NoSymbol, comma ] }; + + // lower row + key { [ NoSymbol, NoSymbol, equal ] }; + key { [ NoSymbol, NoSymbol, x ] }; + key { [ NoSymbol, NoSymbol, colon ] }; + + // decimal row + key { [ NoSymbol, NoSymbol, backslash ] }; +}; + +// Main numbers follows the traditions from ATMs and phones with +// numbers increasing downwards to the right. (It is easier to +// change the keyboard layout than to reprogram your local ATM; +// also cell-phones are becoming more common while calculators are +// becoming more rare). +// First level is left unspecified, so it may be combined with another +// layout, e.g. "legacy". +partial keypad_keys +xkb_symbols "atm" { + // upper row + key { [ NoSymbol, KP_1 ] }; + key { [ NoSymbol, KP_2 ] }; + key { [ NoSymbol, KP_3 ] }; + + // lower row + key { [ NoSymbol, KP_7 ] }; + key { [ NoSymbol, KP_8 ] }; + key { [ NoSymbol, KP_9 ] }; +}; + + +partial modifier_keys +xkb_symbols "pointerkeys" { + key { [ Num_Lock, Pointer_EnableKeys ] }; +}; + + +// Only numbers, operators and decimal separator, +// as seen on keypad overlay on Japanese keyboard. +// ┌─┬─┬─┬─┐ +// │7│8│9│*│ +// ├─┼─┼─┼─┤ +// │4│5│6│-│ +// ├─┼─┼─┼─┤ +// │1│2│3│+│ +// ├─┼─┼─┼─┤ +// │0│ │·│/│ +// └─┴─┴─┴─┘ +partial keypad_keys +xkb_symbols "numoperdecsep" { + key { [ KP_7 ] }; + key { [ KP_8 ] }; + key { [ KP_9 ] }; +// ClsGrb kills whichever client has a grab in effect + key { + type="CTRL+ALT", + symbols[Group1]= [ KP_Multiply, KP_Multiply, KP_Multiply, KP_Multiply, XF86_ClearGrab ] + }; + + key { [ KP_4 ] }; + key { [ KP_5 ] }; + key { [ KP_6 ] }; +// -VMode switches to the previous video mode + key { + type="CTRL+ALT", + symbols[Group1]= [ KP_Subtract, KP_Subtract, KP_Subtract, KP_Subtract, XF86_Prev_VMode ] + }; + + key { [ KP_1 ] }; + key { [ KP_2 ] }; + key { [ KP_3 ] }; +// +VMode switches to the next video mode + key { + type="CTRL+ALT", + symbols[Group1]= [ KP_Add, KP_Add, KP_Add, KP_Add, XF86_Next_VMode ] + }; + + key { [ KP_0 ] }; + key { [ KP_Decimal ] }; +// Ungrab cancels server/keyboard/pointer grabs + key { + type="CTRL+ALT", + symbols[Group1]= [ KP_Divide, KP_Divide, KP_Divide, KP_Divide, XF86_Ungrab ] + }; +}; diff --git a/xkbdata/symbols/kg b/xkbdata/symbols/kg new file mode 100644 index 0000000..6be31e5 --- /dev/null +++ b/xkbdata/symbols/kg @@ -0,0 +1,132 @@ +// Kirghiz (aka Kyrgyz) Standard Keyboard +// +// Standard - Phonetic +// ______________- ________________ +// ё1234567890өң ё1234567890яю +// Ё!"№;%:?*()ӨҢ Ё!"№;%:?-()ЯЮ +// +// йцукенгшщзхъү өүертыуиопчшъ +// фывапролджэ асдфгңйклэь +// ячсмитьбю.(,) зхжвбнмцщ.(,) + +// Authors: +// Timur Jamakeev +// Ilyas Bakirov +// Yury Fedorov +// Emil Asanov +// Ulan Melisbek + + +// Kyrgyz standard keyboard +default partial alphanumeric_keys +xkb_symbols "basic" { + + name[Group1]= "Kyrgyz"; + + key { [ 1, exclam ] }; + key { [ 2, quotedbl ] }; + key { [ 3, numerosign ] }; + key { [ 4, semicolon ] }; + key { [ 5, percent ] }; + key { [ 6, colon ] }; + key { [ 7, question ] }; + key { [ 8, asterisk ] }; + key { [ 9, parenleft ] }; + key { [ 0, parenright ] }; + key { [ Cyrillic_o_bar, Cyrillic_O_bar ] }; + key { [ Cyrillic_en_descender, Cyrillic_EN_descender ] }; + key { [ Cyrillic_u_straight, Cyrillic_U_straight ] }; + key { [ period, comma ] }; + key { [ slash, bar ] }; + + key { [ Cyrillic_io, Cyrillic_IO ] }; + key { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; + key { [ Cyrillic_tse, Cyrillic_TSE ] }; + key { [ Cyrillic_u, Cyrillic_U ] }; + key { [ Cyrillic_ka, Cyrillic_KA ] }; + key { [ Cyrillic_ie, Cyrillic_IE ] }; + key { [ Cyrillic_en, Cyrillic_EN ] }; + key { [ Cyrillic_ghe, Cyrillic_GHE ] }; + key { [ Cyrillic_sha, Cyrillic_SHA ] }; + key { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; + key { [ Cyrillic_ze, Cyrillic_ZE ] }; + key { [ Cyrillic_ha, Cyrillic_HA ] }; + key { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; + key { [ Cyrillic_ef, Cyrillic_EF ] }; + key { [ Cyrillic_yeru, Cyrillic_YERU ] }; + key { [ Cyrillic_ve, Cyrillic_VE ] }; + key { [ Cyrillic_a, Cyrillic_A ] }; + key { [ Cyrillic_pe, Cyrillic_PE ] }; + key { [ Cyrillic_er, Cyrillic_ER ] }; + key { [ Cyrillic_o, Cyrillic_O ] }; + key { [ Cyrillic_el, Cyrillic_EL ] }; + key { [ Cyrillic_de, Cyrillic_DE ] }; + key { [ Cyrillic_zhe, Cyrillic_ZHE ] }; + key { [ Cyrillic_e, Cyrillic_E ] }; + key { [ Cyrillic_ya, Cyrillic_YA ] }; + key { [ Cyrillic_che, Cyrillic_CHE ] }; + key { [ Cyrillic_es, Cyrillic_ES ] }; + key { [ Cyrillic_em, Cyrillic_EM ] }; + key { [ Cyrillic_i, Cyrillic_I ] }; + key { [ Cyrillic_te, Cyrillic_TE ] }; + key { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; + key { [ Cyrillic_be, Cyrillic_BE ] }; + key { [ Cyrillic_yu, Cyrillic_YU ] }; +}; + +// Kyrgyz phonetic layout +partial alphanumeric_keys +xkb_symbols "phonetic" { + + name[Group1]="Kyrgyz (phonetic)"; + + key { [ 1, exclam ] }; + key { [ 2, quotedbl ] }; + key { [ 3, numerosign ] }; + key { [ 4, semicolon ] }; + key { [ 5, percent ] }; + key { [ 6, colon ] }; + key { [ 7, question ] }; + key { [ 8, minus ] }; + key { [ 9, parenleft ] }; + key { [ 0, parenright ] }; + key { [ Cyrillic_ya, Cyrillic_YA ] }; + key { [ Cyrillic_yu, Cyrillic_YU ] }; + + key { [ Cyrillic_che, Cyrillic_CHE ] }; + key { [ Cyrillic_sha, Cyrillic_SHA ] }; + key { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; + key { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; + key { [ period, comma ] }; + key { [ Cyrillic_tse, Cyrillic_TSE ] }; + key { [ Cyrillic_e, Cyrillic_E ] }; + key { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; + key { [ Cyrillic_io, Cyrillic_IO ] }; + + key { [ Cyrillic_o_bar, Cyrillic_O_bar ] }; + key { [ Cyrillic_ze, Cyrillic_ZE ] }; + key { [ Cyrillic_es, Cyrillic_ES ] }; + key { [ Cyrillic_a, Cyrillic_A ] }; + key { [ Cyrillic_u_straight, Cyrillic_U_straight ] }; + key { [ Cyrillic_zhe, Cyrillic_ZHE ] }; + key { [ Cyrillic_ha, Cyrillic_HA ] }; + key { [ Cyrillic_de, Cyrillic_DE ] }; + key { [ Cyrillic_ie, Cyrillic_IE ] }; + key { [ Cyrillic_ve, Cyrillic_VE ] }; + key { [ Cyrillic_ef, Cyrillic_EF ] }; + key { [ Cyrillic_te, Cyrillic_TE ] }; + key { [ Cyrillic_er, Cyrillic_ER ] }; + key { [ Cyrillic_en, Cyrillic_EN ] }; + key { [ Cyrillic_be, Cyrillic_BE ] }; + key { [ Cyrillic_en_descender, Cyrillic_EN_descender ] }; + key { [ Cyrillic_ghe, Cyrillic_GHE ] }; + key { [ Cyrillic_yeru, Cyrillic_YERU ] }; + key { [ Cyrillic_em, Cyrillic_EM ] }; + key { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; + key { [ Cyrillic_u, Cyrillic_U ] }; + key { [ Cyrillic_ka, Cyrillic_KA ] }; + key { [ Cyrillic_i, Cyrillic_I ] }; + key { [ Cyrillic_o, Cyrillic_O ] }; + key { [ Cyrillic_el, Cyrillic_EL ] }; + key { [ Cyrillic_pe, Cyrillic_PE ] }; +}; diff --git a/xkbdata/symbols/kh b/xkbdata/symbols/kh new file mode 100644 index 0000000..5413a50 --- /dev/null +++ b/xkbdata/symbols/kh @@ -0,0 +1,112 @@ +// +// khmer unicode keyboard for XFree86 4.3 or XOrg +// (might work with older versions, not tested) +// +// layout defined by National Information Communications Technology Development Authority (NiDA) +// http://www.nida.gov.kh +// +// version: 1.0.1 +// +// date: 14.09.2005 +// +// author: Jens Herden (jens at khmeros.info) +// +// +// understanding the symbols: +// +// 0x100yyyy = unicode, yyyy is hexcode +// codes that are not assigned in unicode (0x10017fb-0x10017ff), +// are used to make compositions for special vowels +// +// voidsymbol = no symbol for this combination +// +// all other symbol are defined in: /usr/X11/include/X11/keysymdef.h +// but with a leading 'XK_' +// + +default partial alphanumeric_keys +xkb_symbols "basic" { + name[Group1]= "Khmer (Cambodia)"; + +// there are four levels defined: +// +// normal shift right-alt right-alt + shift +// + +// keys: `1234567890-=\ + key { [ guillemotleft, guillemotright, 0x100200d, voidsymbol ] }; + key { [ 0x10017e1, exclam, 0x100200c, 0x10017f1 ] }; + key { [ 0x10017e2, 0x10017d7, at, 0x10017f2 ] }; + key { [ 0x10017e3, quotedbl, 0x10017d1, 0x10017f3 ] }; + key { [ 0x10017e4, 0x10017db, dollar, 0x10017f4 ] }; + key { [ 0x10017e5, percent, EuroSign, 0x10017f5 ] }; + key { [ 0x10017e6, 0x10017cd, 0x10017d9, 0x10017f6 ] }; + key { [ 0x10017e7, 0x10017d0, 0x10017da, 0x10017f7 ] }; + key { [ 0x10017e8, 0x10017cf, asterisk, 0x10017f8 ] }; + key { [ 0x10017e9, parenleft, braceleft, 0x10017f9 ] }; + key { [ 0x10017e0, parenright, braceright, 0x10017f0 ] }; + key { [ 0x10017a5, 0x10017cc, x, voidsymbol ] }; + key { [ 0x10017b2, equal, 0x10017ce, voidsymbol ] }; + key { [ 0x10017ae, 0x10017ad, backslash, voidsymbol ] }; + +// keys: qwertyuiop[] + key { [ 0x1001786, 0x1001788, 0x10017dc, 0x10019e0 ] }; + key { [ 0x10017b9, 0x10017ba, 0x10017dd, 0x10019e1 ] }; + key { [ 0x10017c1, 0x10017c2, 0x10017af, 0x10019e2 ] }; + key { [ 0x100179a, 0x10017ac, 0x10017ab, 0x10019e3 ] }; + key { [ 0x100178f, 0x1001791, 0x10017a8, 0x10019e4 ] }; + key { [ 0x1001799, 0x10017bd, voidsymbol, 0x10019e5 ] }; + key { [ 0x10017bb, 0x10017bc, voidsymbol, 0x10019e6 ] }; + key { [ 0x10017b7, 0x10017b8, 0x10017a6, 0x10019e7 ] }; + key { [ 0x10017c4, 0x10017c5, 0x10017b1, 0x10019e8 ] }; + key { [ 0x1001795, 0x1001797, 0x10017b0, 0x10019e9 ] }; + key { [ 0x10017c0, 0x10017bf, 0x10017a9, 0x10019ea ] }; + key { [ 0x10017aa, 0x10017a7, 0x10017b3, 0x10019eb ] }; + +// keys: asdfghjkl;' + key { [ 0x10017b6, 0x10017ff, voidsymbol, 0x10019ec ] }; + key { [ 0x100179f, 0x10017c3, voidsymbol, 0x10019ed ] }; + key { [ 0x100178a, 0x100178c, voidsymbol, 0x10019ee ] }; + key { [ 0x1001790, 0x1001792, voidsymbol, 0x10019ef ] }; + key { [ 0x1001784, 0x10017a2, voidsymbol, 0x10019f0 ] }; + key { [ 0x10017a0, 0x10017c7, voidsymbol, 0x10019f1 ] }; + key { [ 0x10017d2, 0x1001789, voidsymbol, 0x10019f2 ] }; + key { [ 0x1001780, 0x1001782, 0x100179d, 0x10019f3 ] }; + key { [ 0x100179b, 0x10017a1, voidsymbol, 0x10019f4 ] }; + key { [ 0x10017be, 0x10017fe, 0x10017d6, 0x10019f5 ] }; + key { [ 0x10017cb, 0x10017c9, 0x10017c8, 0x10019f6 ] }; + +// keys: zxcvbnm,./ + key { [ 0x100178b, 0x100178d, voidsymbol, 0x10019f7 ] }; + key { [ 0x1001781, 0x1001783, voidsymbol, 0x10019f8 ] }; + key { [ 0x1001785, 0x1001787, voidsymbol, 0x10019f9 ] }; + key { [ 0x100179c, 0x10017fd, voidsymbol, 0x10019fa ] }; + key { [ 0x1001794, 0x1001796, 0x100179e, 0x10019fb ] }; + key { [ 0x1001793, 0x100178e, voidsymbol, 0x10019fc ] }; + key { [ 0x1001798, 0x10017c6, voidsymbol, 0x10019fd ] }; + key { [ 0x10017fc, 0x10017fb, comma, 0x10019fe ] }; + key { [ 0x10017d4, 0x10017d5, period, 0x10019ff ] }; + key { [ 0x10017ca, question, slash, voidsymbol ] }; + + key { [ 0x100200b, space, 0x10000a0, voidsymbol ] }; + key { [ Alt_R ] }; + +// third level with right-Alt + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "olpc" { + include "kh(basic)" + +// Contact Walter@laptop.org + + key { [ 0x10017be, 0x10017c8, 0x10017d6, 0x10019f5 ] }; + key { [ 0x10017e1, 0x100200c, exclam, 0x10017f1 ] }; + key { [ 0x10017e3, 0x10017d1, quotedbl, 0x10017f3 ] }; + key { [ 0x10017e5, EuroSign, percent, 0x10017f5 ] }; + key { [ 0x10017b2, 0x10017ce, equal, voidsymbol ] }; + + //language key + include "group(olpc)" +}; diff --git a/xkbdata/symbols/kpdl b/xkbdata/symbols/kpdl new file mode 100644 index 0000000..968dbd2 --- /dev/null +++ b/xkbdata/symbols/kpdl @@ -0,0 +1,102 @@ +// The key is a mess. +// It was probably originally meant to be a decimal separator. +// Except since it was declared by USA people it didn't use the original +// SI separator "," but a "." (since then the USA managed to f-up the SI +// by making "." an accepted alternative, but standards still use "," as +// default) +// As a result users of SI-abiding countries expect either a "." or a "," +// or a "decimal_separator" which may or may not be translated in one of the +// above depending on applications. +// It's not possible to define a default per-country since user expectations +// depend on the conflicting choices of their most-used applications, +// operating system, etc. Therefore it needs to be a configuration setting +// Copyright © 2007 Nicolas Mailhot + + +// Legacy #1 +// This assumes KP_Decimal will be translated in a dot +partial keypad_keys +xkb_symbols "dot" { + + key.type[Group1]="KEYPAD" ; + + key { [ KP_Delete, KP_Decimal ] }; // +}; + + +// Legacy #2 +// This assumes KP_Separator will be translated in a comma +partial keypad_keys +xkb_symbols "comma" { + + key.type[Group1]="KEYPAD" ; + + key { [ KP_Delete, KP_Separator ] }; // +}; + + +// Period , usual keyboard serigraphy in most countries +partial keypad_keys +xkb_symbols "dotoss" { + + key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ; + + key { [ KP_Delete, period, comma, 0x100202F ] }; // . , ⍽ (narrow no-break space) +}; + + +// Period , usual keyboard serigraphy in most countries, latin-9 restriction +partial keypad_keys +xkb_symbols "dotoss_latin9" { + + key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ; + + key { [ KP_Delete, period, comma, nobreakspace ] }; // . , ⍽ (no-break space) +}; + + +// Comma , what most non anglo-saxon people consider the real separator +partial keypad_keys +xkb_symbols "commaoss" { + + key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ; + + key { [ KP_Delete, comma, period, 0x100202F ] }; // , . ⍽ (narrow no-break space) +}; + + +// Momayyez : Bahrain, Iran, Iraq, Kuwait, Oman, Qatar, Saudi Arabia, Syria, UAE +partial keypad_keys +xkb_symbols "momayyezoss" { + + key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ; + + key { [ KP_Delete, 0x100066B, comma, 0x100202F ] }; // ? , ⍽ (narrow no-break space) +}; + + +// Abstracted , pray everything will work out (it usually does not) +partial keypad_keys +xkb_symbols "kposs" { + + key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ; + + key { [ KP_Delete, KP_Decimal, KP_Separator, 0x100202F ] }; // ? ? ⍽ (narrow no-break space) +}; + +// Spreadsheets may be configured to use the dot as decimal +// punctuation, comma as a thousands separator and then semi-colon as +// the list separator. Of these, dot and semi-colon is most important +// when entering data by the keyboard; the comma can then be inferred +// and added to the presentation afterwards. Using semi-colon as a +// general separator may in fact be preferred to avoid ambiguities +// in data files. Most times a decimal separator is hard-coded, it +// seems to be period, probably since this is the syntax used in +// (most) programming languages. +partial keypad_keys +xkb_symbols "semi" { + + key.type[Group1]="FOUR_LEVEL_MIXED_KEYPAD" ; + + key { [ NoSymbol, NoSymbol, semicolon ] }; +}; diff --git a/xkbdata/symbols/kr b/xkbdata/symbols/kr new file mode 100644 index 0000000..9d094e4 --- /dev/null +++ b/xkbdata/symbols/kr @@ -0,0 +1,59 @@ +default alphanumeric_keys +xkb_symbols "kr106" { + include "us" + name[Group1]= "Korean"; + include "kr(hw_keys)" +}; + +alphanumeric_keys +xkb_symbols "kr104" { + include "us" + name[Group1]= "Korean (101/104-key compatible)"; + include "kr(ralt_hangul)" + include "kr(rctrl_hanja)" +}; + +partial function_keys +xkb_symbols "hw_keys" { + key { [ Hangul ] }; + key { [ Hangul_Hanja ] }; +}; + +partial function_keys +xkb_symbols "ralt_hangul" { + replace key { + type[Group1] = "ONE_LEVEL", + symbols[Group1]= [ Hangul ] + }; +}; + +partial function_keys +xkb_symbols "rctrl_hangul" { + replace key { + type[Group1] = "ONE_LEVEL", + symbols[Group1]= [ Hangul ] + }; +}; + +partial function_keys +xkb_symbols "ralt_hanja" { + replace key { + type[Group1] = "ONE_LEVEL", + symbols[Group1]= [ Hangul_Hanja ] + }; +}; + +partial function_keys +xkb_symbols "rctrl_hanja" { + replace key { + type[Group1] = "ONE_LEVEL", + symbols[Group1]= [ Hangul_Hanja ] + }; +}; + +// EXTRAS: + +partial alphanumeric_keys + xkb_symbols "sun_type6" { + include "sun_vndr/kr(sun_type6)" +}; diff --git a/xkbdata/symbols/kz b/xkbdata/symbols/kz new file mode 100644 index 0000000..0dabebd --- /dev/null +++ b/xkbdata/symbols/kz @@ -0,0 +1,304 @@ +// Based on http://www.sci.kz/~sairan/keyboard/kzkbd.html +// Baurzhan Ismagulov +// + +// TODO: +// 1. AltGr with TLDE and LSGT. +// 2. Dead key for ruskaz and kazrus. +// 3. Ctrl + . +// 4. Alt-Tab. + +// RST KazSSR 903-90 +// levels 3 and 4 are non-standard extensions +default partial alphanumeric_keys +xkb_symbols "basic" { + + name[Group1] = "Kazakh"; + +key.type[group1] = "FOUR_LEVEL"; + + key { [ parenleft, parenright, Cyrillic_io, Cyrillic_IO ] }; + key { [ quotedbl, exclam ] }; + key { [ comma, semicolon ] }; + key { [ period, colon ] }; + key { [ backslash, slash ] }; + key { [ numerosign, question ] }; + key { [ less, greater, bar, brokenbar ] }; + +key.type[group1] = "ALPHABETIC"; + + key { [ Cyrillic_schwa, Cyrillic_SCHWA ] }; + key { [ Ukrainian_i, Ukrainian_I ] }; + key { [ Cyrillic_en_descender, Cyrillic_EN_descender ] }; + key { [ Cyrillic_ghe_bar, Cyrillic_GHE_bar ] }; + key { [ Cyrillic_u_straight, Cyrillic_U_straight ] }; + key { [ Cyrillic_u_straight_bar, Cyrillic_U_straight_bar ] }; + key { [ Cyrillic_ka_descender, Cyrillic_KA_descender ] }; + key { [ Cyrillic_o_bar, Cyrillic_O_bar ] }; + key { [ Cyrillic_shha, Cyrillic_SHHA ] }; + + key { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; + key { [ Cyrillic_tse, Cyrillic_TSE ] }; + key { [ Cyrillic_u, Cyrillic_U ] }; + key { [ Cyrillic_ka, Cyrillic_KA ] }; + key { [ Cyrillic_ie, Cyrillic_IE ] }; + key { [ Cyrillic_en, Cyrillic_EN ] }; + key { [ Cyrillic_ghe, Cyrillic_GHE ] }; + key { [ Cyrillic_sha, Cyrillic_SHA ] }; + key { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; + key { [ Cyrillic_ze, Cyrillic_ZE ] }; + key { [ Cyrillic_ha, Cyrillic_HA ] }; + key { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; + key { [ Cyrillic_ef, Cyrillic_EF ] }; + key { [ Cyrillic_yeru, Cyrillic_YERU ] }; + key { [ Cyrillic_ve, Cyrillic_VE ] }; + key { [ Cyrillic_a, Cyrillic_A ] }; + key { [ Cyrillic_pe, Cyrillic_PE ] }; + key { [ Cyrillic_er, Cyrillic_ER ] }; + key { [ Cyrillic_o, Cyrillic_O ] }; + key { [ Cyrillic_el, Cyrillic_EL ] }; + key { [ Cyrillic_de, Cyrillic_DE ] }; + key { [ Cyrillic_zhe, Cyrillic_ZHE ] }; + key { [ Cyrillic_e, Cyrillic_E ] }; + key { [ Cyrillic_ya, Cyrillic_YA ] }; + key { [ Cyrillic_che, Cyrillic_CHE ] }; + key { [ Cyrillic_es, Cyrillic_ES ] }; + key { [ Cyrillic_em, Cyrillic_EM ] }; + key { [ Cyrillic_te, Cyrillic_TE ] }; + key { [ Cyrillic_i, Cyrillic_I ] }; + key { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; + key { [ Cyrillic_be, Cyrillic_BE ] }; + key { [ Cyrillic_yu, Cyrillic_YU ] }; +}; + +// Kikkarin KZ1 +partial alphanumeric_keys +xkb_symbols "ruskaz" { + + name[Group1] = "Russian (Kazakhstan, with Kazakh)"; + +key.type[group1] = "FOUR_LEVEL"; + + key { [ 1, exclam ] }; + key { [ 2, quotedbl, at ] }; + key { [ 3, numerosign, numbersign ] }; + key { [ 4, semicolon, dollar ] }; + key { [ 5, percent ] }; + key { [ 6, colon, asciicircum ] }; + key { [ 7, question, ampersand ] }; + key { [ 8, asterisk ] }; + key { [ 9, parenleft ] }; + key { [ 0, parenright ] }; + key { [ minus, underscore ] }; + key { [ equal, plus ] }; + key { [ backslash, slash, bar ] }; + key { [ period, comma, slash, question ] }; + key { [ less, greater, bar, brokenbar ] }; + +key.type[group1] = "FOUR_LEVEL_ALPHABETIC"; + + key { [ Cyrillic_io, Cyrillic_IO ] }; + key { [ Cyrillic_shorti, Cyrillic_SHORTI, Cyrillic_u_straight_bar, Cyrillic_U_straight_bar ] }; + key { [ Cyrillic_tse, Cyrillic_TSE ] }; + key { [ Cyrillic_u, Cyrillic_U, Cyrillic_u_straight, Cyrillic_U_straight ] }; + key { [ Cyrillic_ka, Cyrillic_KA, Cyrillic_ka_descender, Cyrillic_KA_descender ] }; + key { [ Cyrillic_ie, Cyrillic_IE, Cyrillic_io, Cyrillic_IO ] }; + key { [ Cyrillic_en, Cyrillic_EN, Cyrillic_en_descender, Cyrillic_EN_descender ] }; + key { [ Cyrillic_ghe, Cyrillic_GHE, Cyrillic_ghe_bar, Cyrillic_GHE_bar ] }; + key { [ Cyrillic_sha, Cyrillic_SHA ] }; + key { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; + key { [ Cyrillic_ze, Cyrillic_ZE ] }; + key { [ Cyrillic_ha, Cyrillic_HA, Cyrillic_shha, Cyrillic_SHHA ] }; + key { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; + key { [ Cyrillic_ef, Cyrillic_EF ] }; + key { [ Cyrillic_yeru, Cyrillic_YERU ] }; + key { [ Cyrillic_ve, Cyrillic_VE ] }; + key { [ Cyrillic_a, Cyrillic_A, Cyrillic_schwa, Cyrillic_SCHWA ] }; + key { [ Cyrillic_pe, Cyrillic_PE ] }; + key { [ Cyrillic_er, Cyrillic_ER ] }; + key { [ Cyrillic_o, Cyrillic_O, Cyrillic_o_bar, Cyrillic_O_bar ] }; + key { [ Cyrillic_el, Cyrillic_EL ] }; + key { [ Cyrillic_de, Cyrillic_DE ] }; + key { [ Cyrillic_zhe, Cyrillic_ZHE ] }; + key { [ Cyrillic_e, Cyrillic_E ] }; + key { [ Cyrillic_ya, Cyrillic_YA ] }; + key { [ Cyrillic_che, Cyrillic_CHE ] }; + key { [ Cyrillic_es, Cyrillic_ES ] }; + key { [ Cyrillic_em, Cyrillic_EM ] }; + key { [ Cyrillic_te, Cyrillic_TE ] }; + key { [ Cyrillic_i, Cyrillic_I, Ukrainian_i, Ukrainian_I ] }; + key { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; + key { [ Cyrillic_be, Cyrillic_BE ] }; + key { [ Cyrillic_yu, Cyrillic_YU ] }; +}; + +// Kikkarin KZ2 +partial alphanumeric_keys +xkb_symbols "kazrus" { + + name[Group1] = "Kazakh (with Russian)"; + +key.type[group1] = "FOUR_LEVEL"; + + key { [ 1, exclam ] }; + key { [ 2, quotedbl, at ] }; + key { [ 3, numerosign, numbersign ] }; + key { [ 4, semicolon, dollar ] }; + key { [ 5, percent ] }; + key { [ 6, colon, asciicircum ] }; + key { [ 7, question, ampersand ] }; + key { [ 8, asterisk ] }; + key { [ 9, parenleft ] }; + key { [ 0, parenright ] }; + key { [ minus, underscore ] }; + key { [ equal, plus ] }; + key { [ backslash, slash, bar ] }; + key { [ period, comma, slash, question ] }; + key { [ less, greater, bar, brokenbar ] }; + +key.type[group1] = "FOUR_LEVEL_ALPHABETIC"; + + key { [ Cyrillic_io, Cyrillic_IO ] }; + key { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; + key { [ Cyrillic_en_descender, Cyrillic_EN_descender, Cyrillic_tse, Cyrillic_TSE ] }; + key { [ Cyrillic_u, Cyrillic_U ] }; + key { [ Cyrillic_ka, Cyrillic_KA, Cyrillic_ka_descender, Cyrillic_KA_descender ] }; + key { [ Cyrillic_ie, Cyrillic_IE, Cyrillic_io, Cyrillic_IO ] }; + key { [ Cyrillic_en, Cyrillic_EN ] }; + key { [ Cyrillic_ghe, Cyrillic_GHE ] }; + key { [ Cyrillic_sha, Cyrillic_SHA ] }; + key { [ Cyrillic_ghe_bar, Cyrillic_GHE_bar, Cyrillic_shcha, Cyrillic_SHCHA ] }; + key { [ Cyrillic_ze, Cyrillic_ZE ] }; + key { [ Cyrillic_ha, Cyrillic_HA, Cyrillic_shha, Cyrillic_SHHA ] }; + key { [ Cyrillic_u_straight_bar, Cyrillic_U_straight_bar, Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; + key { [ Cyrillic_o_bar, Cyrillic_O_bar, Cyrillic_ef, Cyrillic_EF ] }; + key { [ Cyrillic_yeru, Cyrillic_YERU ] }; + key { [ Cyrillic_ka_descender, Cyrillic_KA_descender, Cyrillic_ve, Cyrillic_VE ] }; + key { [ Cyrillic_a, Cyrillic_A ] }; + key { [ Cyrillic_pe, Cyrillic_PE ] }; + key { [ Cyrillic_er, Cyrillic_ER ] }; + key { [ Cyrillic_o, Cyrillic_O ] }; + key { [ Cyrillic_el, Cyrillic_EL ] }; + key { [ Cyrillic_de, Cyrillic_DE ] }; + key { [ Cyrillic_zhe, Cyrillic_ZHE ] }; + key { [ Cyrillic_schwa, Cyrillic_SCHWA, Cyrillic_e, Cyrillic_E ] }; + key { [ Cyrillic_ya, Cyrillic_YA ] }; + key { [ Ukrainian_i, Ukrainian_I, Cyrillic_che, Cyrillic_CHE ] }; + key { [ Cyrillic_es, Cyrillic_ES ] }; + key { [ Cyrillic_em, Cyrillic_EM ] }; + key { [ Cyrillic_te, Cyrillic_TE ] }; + key { [ Cyrillic_i, Cyrillic_I ] }; + key { [ Cyrillic_u_straight, Cyrillic_U_straight, Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; + key { [ Cyrillic_be, Cyrillic_BE ] }; + key { [ Cyrillic_yu, Cyrillic_YU ] }; +}; + +partial alphanumeric_keys +xkb_symbols "olpc" { + +// Contact: Walter Bender + +// We moved the Cyrillic IO off of the Tilde Key as an Alt-GR character +// and moved it onto the Backslash key, making Backslash and Bar available +// through the Latin side of the keyboard. + + include "kz(basic)" + + key { [ parenleft, parenright ] }; + key { [ Cyrillic_io, Cyrillic_IO ] }; + + include "group(olpc)" +}; + +partial alphanumeric_keys +xkb_symbols "ext" { + +// Levels 3 and 4 represent main keyboard's numeric part of US layout, +// parens are duplicated for consistency. + + include "kz(basic)" + name[Group1] = "Kazakh (extended)"; + +key.type[group1] = "FOUR_LEVEL_ALPHABETIC"; + + key { [ Cyrillic_io, Cyrillic_IO, grave, asciitilde ] }; + key { [ quotedbl, exclam, 1, exclam ] }; + key { [ Cyrillic_schwa, Cyrillic_SCHWA, 2, at ] }; + key { [ Ukrainian_i, Ukrainian_I, 3, numbersign ] }; + key { [ Cyrillic_en_descender, Cyrillic_EN_descender, 4, dollar ] }; + key { [ Cyrillic_ghe_bar, Cyrillic_GHE_bar, 5, percent ] }; + key { [ comma, semicolon, 6, asciicircum ] }; + key { [ period, colon, 7, ampersand ] }; + key { [ Cyrillic_u_straight, Cyrillic_U_straight, 8, asterisk ] }; + key { [ Cyrillic_u_straight_bar, Cyrillic_U_straight_bar, 9, parenleft ] }; + key { [ Cyrillic_ka_descender, Cyrillic_KA_descender, 0, parenright ] }; + key { [ Cyrillic_o_bar, Cyrillic_O_bar, minus, underscore ] }; + key { [ Cyrillic_shha, Cyrillic_SHHA, equal, plus ] }; + key { [ backslash, slash, bar, brokenbar ] }; + key { [ Cyrillic_ha, Cyrillic_HA, bracketleft, braceleft ] }; + key { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, bracketright, braceright ] }; + key { [ Cyrillic_e, Cyrillic_E, apostrophe ] }; + key { [ Cyrillic_be, Cyrillic_BE, less ] }; + key { [ Cyrillic_yu, Cyrillic_YU, greater ] }; + + include "level3(ralt_switch)" +}; + +// Kazakh Latin (based on Kazakh alphabet version of 2018) +// levels 3 and 4 are non-standard extensions +partial alphanumeric_keys +xkb_symbols "latin" { + +// Contact: Galym Kerimbekov + + name[Group1] = "Kazakh (Latin)"; + +key.type[group1] = "FOUR_LEVEL"; + + key { [ parenleft, parenright ] }; + key { [ quotedbl, exclam ] }; + key { [ comma, semicolon ] }; + key { [ period, colon ] }; + key { [ backslash, slash ] }; + key { [ numerosign, question ] }; + key { [ less, greater, bar, brokenbar ] }; + +key.type[group1] = "ALPHABETIC"; + + key { [ aacute, Aacute ] }; + key { [ iacute, Iacute ] }; + key { [ nacute, Nacute ] }; + key { [ U01F5, U01F4 ] }; // gG with acute + key { [ uacute, Uacute ] }; + key { [ yacute, Yacute ] }; + key { [ oacute, Oacute ] }; + key { [ sacute, Sacute ] }; + key { [ cacute, Cacute ] }; + + key { [ q, Q ] }; + key { [ w, W ] }; + key { [ e, E ] }; + key { [ r, R ] }; + key { [ t, T ] }; + key { [ y, Y ] }; + key { [ u, U ] }; + key { [ i, I ] }; + key { [ o, O ] }; + key { [ p, P ] }; + key { [ a, A ] }; + key { [ s, S ] }; + key { [ d, D ] }; + key { [ f, F ] }; + key { [ g, G ] }; + key { [ h, H ] }; + key { [ j, J ] }; + key { [ k, K ] }; + key { [ l, L ] }; + key { [ z, Z ] }; + key { [ x, X ] }; + key { [ c, C ] }; + key { [ v, M ] }; + key { [ b, B ] }; + key { [ n, N ] }; + key { [ m, M ] }; +}; diff --git a/xkbdata/symbols/la b/xkbdata/symbols/la new file mode 100644 index 0000000..50a6a8f --- /dev/null +++ b/xkbdata/symbols/la @@ -0,0 +1,135 @@ +// Lao keymap, by Anousak Souphavanh + +default partial alphanumeric_keys +xkb_symbols "basic" { + + // This keymap describes the Lao keyboard standard, + // which is [kind of] widely used in Laos. + + name[Group1]= "Lao"; + + key { [ 0x100200D ]}; + key { [ 0x1000ea2, 0x1000ed1 ]}; + key { [ 0x1000ea2, 0x1000ed1 ]}; + key { [ 0x1000e9f, 0x1000ed2 ]}; + key { [ 0x1000ec2, 0x1000ed3 ]}; + key { [ 0x1000e96, 0x1000ed4 ]}; + key { [ 0x1000eb8, 0x1000ecc ]}; + key { [ 0x1000eb9, 0x1000ebc ]}; + key { [ 0x1000e84, 0x1000ed5 ]}; + key { [ 0x1000e95, 0x1000ed6 ]}; + key { [ 0x1000e88, 0x1000ed7 ]}; + key { [ 0x1000e82, 0x1000ed8 ]}; + key { [ 0x1000e8a, 0x1000ed9 ]}; + key { [ 0x1000ecd ]}; + + key { [ 0x1000ebb ]}; + key { [ 0x1000ec4, 0x1000ed0 ]}; + key { [ 0x1000eb3 ]}; + key { [ 0x1000e9e, underscore ]}; + key { [ 0x1000eb0, plus ]}; + key { [ 0x1000eb4 ]}; + key { [ 0x1000eb5 ]}; + key { [ 0x1000ea3, 0x1000eae ]}; + key { [ 0x1000e99 ]}; + key { [ 0x1000e8d, 0x1000ebd ]}; + key { [ 0x1000e9a, minus ]}; + key { [ 0x1000ea5, braceright ]}; + key { [ 0x1000edc, 0x1000edd ]}; + + key { [ 0x1000eb1 ]}; + key { [ 0x1000eab, semicolon ]}; + key { [ 0x1000e81, period ]}; + key { [ 0x1000e94, comma ]}; + key { [ 0x1000ec0, colon ]}; + key { [ 0x1000ec9, 0x1000eca ]}; + key { [ 0x1000ec8, 0x1000ecb ]}; + key { [ 0x1000eb2, exclam ]}; + key { [ 0x1000eaa, question ]}; + key { [ 0x1000ea7, percent ]}; + key { [ 0x1000e87, equal ]}; + + key { [ 0x1000e9c, 0x10020ad ]}; + key { [ 0x1000e9b, parenleft ]}; + key { [ 0x1000ec1, 0x1000eaf ]}; + key { [ 0x1000ead ]}; + key { [ 0x1000eb6 ]}; + key { [ 0x1000eb7 ]}; + key { [ 0x1000e97, 0x1000ec6 ]}; + key { [ 0x1000ea1, grave ]}; + key { [ 0x1000ec3, dollar ]}; + key { [ 0x1000e9d, parenright ]}; +}; + + +partial +xkb_symbols "stea" { + + // This keymap describes the proposed Lao keyboard standard by + // the PAN Localization Project. + // Science Technology and Environment Agency of Lao PDR + // National University Computer and Emergency Science of Pakistan + // International Development Research Center + // Caveat: assigning multiple codepoints to a single key does not + // work in XKB. Therefore the combining codepoint assignments + // have been omitted. + + name[Group1]= "Lao (STEA)"; + + key { [ quotedbl, apostrophe ]}; + key { [ 0x1000ea2, 1, 0x1000ed1 ]}; + key { [ 0x1000e9f, 2, 0x1000ed2 ]}; + key { [ 0x1000ec2, 3, 0x1000ed3 ]}; + key { [ 0x1000e96, 4, 0x1000ed4 ]}; + key { [ 0x1000eb8, 0x1000ecc, 0x1000ed5 ]}; + key { [ 0x1000eb9, 0x1000ebc, 0x1000ed6 ]}; + key { [ 0x1000e84, 5, 0x1000ed7 ]}; + key { [ 0x1000e95, 6, 0x1000ed8 ]}; + key { [ 0x1000e88, 7, 0x1000ed9 ]}; + key { [ 0x1000e82, 8, 0x1000ed0 ]}; + key { [ 0x1000e8a, 9 ]}; + key { [ 0x1000ecd ]}; + + key { [ 0x1000ebb ]}; + key { [ 0x1000ec4, 0 ]}; + key { [ 0x1000eb3, asterisk ]}; + key { [ 0x1000e9e, underscore ]}; + key { [ 0x1000eb0, plus ]}; + key { [ 0x1000eb4 ]}; + key { [ 0x1000eb5 ]}; + key { [ 0x1000eae, 0x1000ea3 ]}; + key { [ 0x1000e99, 0x1000edc ]}; + key { [ 0x1000e8d, 0x1000ebd ]}; + key { [ 0x1000e9a, minus ]}; + key { [ 0x1000ea5 ]}; + key { [ slash, backslash ]}; + + key { [ 0x1000eb1 ]}; + key { [ 0x1000eab, semicolon ]}; + key { [ 0x1000e81, period ]}; + key { [ 0x1000e94, comma ]}; + key { [ 0x1000ec0, colon ]}; + key { [ 0x1000ec9, 0x1000eca ]}; + key { [ 0x1000ec8, 0x1000ecb ]}; + key { [ 0x1000eb2, exclam ]}; + key { [ 0x1000eaa, question ]}; + key { [ 0x1000ea7, percent ]}; + key { [ 0x1000e87, equal ]}; + + key { [ 0x1000e9c, 0x10020ad ]}; + key { [ 0x1000e9b, parenleft ]}; + key { [ 0x1000ec1, 0x1000eaf ]}; + key { [ 0x1000ead, x ]}; + key { [ 0x1000eb6 ]}; + key { [ 0x1000eb7 ]}; + key { [ 0x1000e97, 0x1000ec6 ]}; + key { [ 0x1000ea1, 0x1000edd ]}; + key { [ 0x1000ec3, dollar ]}; + key { [ 0x1000e9d, parenright ]}; + + key { [ space, nobreakspace, nobreakspace ]}; + + key { [ comma, period ]}; + + include "level3(ralt_switch)" +}; diff --git a/xkbdata/symbols/latam b/xkbdata/symbols/latam new file mode 100644 index 0000000..c3ce11d --- /dev/null +++ b/xkbdata/symbols/latam @@ -0,0 +1,239 @@ +// Modified for a real Latin American keyboard by Fabian Mandelbaum. +default partial alphanumeric_keys +xkb_symbols "basic" { + + include "latin(type4)" + + name[Group1]="Spanish (Latin American)"; + + key { [ 1, exclam, bar, exclamdown ] }; + key { [ 3, numbersign, periodcentered, sterling ] }; + key { [ 4, dollar, asciitilde, dollar ] }; + key { [ 6, ampersand, notsign, fiveeighths ] }; + key { [apostrophe, question, backslash, questiondown ] }; + key { [questiondown, exclamdown, dead_cedilla, dead_ogonek] }; + + key { [dead_acute, dead_diaeresis, dead_diaeresis, dead_abovering ] }; + key { [ plus, asterisk, asciitilde, dead_macron ] }; + + key { [ ntilde, Ntilde, asciitilde, dead_doubleacute ] }; + key { [ braceleft, bracketleft, dead_circumflex, braceleft] }; + key { [ bar, degree, notsign, notsign ] }; + + key { [braceright, bracketright, dead_grave, braceright ] }; + + key { [ less, greater, backslash, bar ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "nodeadkeys" { + + include "latam(basic)" + + name[Group1]="Spanish (Latin American, no dead keys)"; + + key { [questiondown, exclamdown, cedilla, ogonek ] }; + key { [ grave, asciicircum, bracketleft, degree ] }; + key { [ plus, asterisk, bracketright, macron ] }; + key { [ ntilde, Ntilde, asciitilde, doubleacute ] }; + key { [ acute, diaeresis, braceleft, braceleft ] }; + key { [ ccedilla, Ccedilla, braceright, breve ] }; + key { [ minus, underscore, dead_belowdot, abovedot ] }; +}; + +partial alphanumeric_keys +xkb_symbols "deadtilde" { + + include "latam(basic)" + + name[Group1]="Spanish (Latin American, dead tilde)"; + + key { [ plus, asterisk, dead_tilde, dead_macron ] }; +}; + +// Latin American Spanish Dvorak mapping (note R-H exchange) +partial alphanumeric_keys +xkb_symbols "dvorak" { + + name[Group1]="Spanish (Latin American, Dvorak)"; + + key {[ bar, degree, notsign, notsign ]}; + key {[ 1, exclam, bar, exclamdown ]}; + key {[ 2, quotedbl, at, oneeighth ]}; + key {[ 3, numbersign, periodcentered, sterling ]}; + key {[ 4, dollar, asciitilde, dollar ]}; + key {[ 5, percent, onehalf, threeeighths ]}; + key {[ 6, ampersand, notsign, fiveeighths ]}; + key {[ 7, slash, braceleft, seveneighths ]}; + key {[ 8, parenleft, bracketleft, trademark ]}; + key {[ 9, parenright, bracketright, plusminus ]}; + key {[ 0, equal, braceright, degree ]}; + key {[ apostrophe, question, backslash, questiondown ]}; + key {[ questiondown, exclamdown, dead_cedilla, dead_ogonek ]}; + + key {[ period, colon, at ]}; + key {[ comma, semicolon ]}; + key {[ ntilde, Ntilde, lstroke, Lstroke ]}; + key {[ p, P, paragraph ]}; + key {[ y, Y, yen ]}; + key {[ f, F, tslash, Tslash ]}; + key {[ g, G, dstroke, Dstroke ]}; + key {[ c, C, cent, copyright ]}; + key {[ h, H, hstroke, Hstroke ]}; + key {[ l, L, sterling ]}; + key {[ dead_acute, dead_diaeresis, dead_diaeresis, dead_abovering ]}; + key {[ plus, asterisk, asciitilde, dead_macron ]}; + + key {[ a, A, ae, AE ]}; + key {[ o, O, oslash, Oslash ]}; + key {[ e, E, EuroSign ]}; + key {[ u, U, aring, Aring ]}; + key {[ i, I, oe, OE ]}; + key {[ d, D, eth, ETH ]}; + key {[ r, R, registered, trademark ]}; + key {[ t, T, thorn, THORN ]}; + key {[ n, N, eng, ENG ]}; + key {[ s, S, ssharp, section ]}; + key {[ braceleft, bracketleft, dead_circumflex, braceleft ]}; + key {[ braceright, bracketright, dead_grave, braceright ]}; + + key {[ less, greater, guillemotleft, guillemotright ]}; + key {[ minus, underscore, hyphen, macron ]}; + key {[ q, Q, currency ]}; + key {[ j, J ]}; + key {[ k, K, kra ]}; + key {[ x, X, multiply, division ]}; + key {[ b, B ]}; + key {[ m, M, mu ]}; + key {[ w, W ]}; + key {[ v, V ]}; + key {[ z, Z ]}; + + include "level3(ralt_switch)" +}; + +// Latin American Spanish Colemak mapping (by eDreymaR) +partial alphanumeric_keys +xkb_symbols "colemak" { + + name[Group1]="Spanish (Latin American, Colemak)"; + + key {[ bar, degree, notsign, notsign ]}; + key {[ 1, exclam, bar, exclamdown ]}; + key {[ 2, quotedbl, at, oneeighth ]}; + key {[ 3, numbersign, periodcentered, sterling ]}; + key {[ 4, dollar, asciitilde, dollar ]}; + key {[ 5, percent, onehalf, threeeighths ]}; + key {[ 6, ampersand, notsign, fiveeighths ]}; + key {[ 7, slash, braceleft, seveneighths ]}; + key {[ 8, parenleft, bracketleft, trademark ]}; + key {[ 9, parenright, bracketright, plusminus ]}; + key {[ 0, equal, braceright, degree ]}; + key {[ apostrophe, question, backslash, questiondown ]}; + key {[ questiondown, exclamdown, dead_cedilla, dead_ogonek ]}; + + key {[ q, Q, U201A, U201E ]}; + key {[ w, W, U2018, U201C ]}; + key {[ f, F, U2019, U201D ]}; + key {[ p, P, U2293, paragraph ]}; + key {[ g, G, eng, ENG ]}; + key {[ j, J, U222B, U03A3 ]}; + key {[ l, L, lstroke, Lstroke ]}; + key {[ u, U, U2039, guillemotleft ]}; + key {[ y, Y, U203A, guillemotright ]}; + key {[ ntilde, Ntilde, asciitilde, U02EE ]}; + key {[ dead_acute, dead_diaeresis, dead_diaeresis, dead_abovering ]}; + key {[ plus, asterisk, asciitilde, dead_macron ]}; + + key {[ a, A, ae, AE ]}; + key {[ r, R, registered, trademark ]}; + key {[ s, S, ssharp, section ]}; + key {[ t, T, thorn, THORN ]}; + key {[ d, D, eth, ETH ]}; + key {[ h, H, hstroke, Hstroke ]}; + key {[ n, N, hyphen, U2190 ]}; + key {[ e, E, EuroSign, U2191 ]}; + key {[ i, I, U2015, U2192 ]}; + key {[ o, O, U00BA, U00AA ]}; + key {[ braceleft, bracketleft, dead_circumflex, braceleft ]}; + key {[ braceright, bracketright, dead_grave, braceright ]}; + + key {[ less, greater, bar, U00A6 ]}; + key {[ z, Z, U0292, U01B7 ]}; + key {[ x, X, U2020, U2021 ]}; + key {[ c, C, cent, copyright ]}; + key {[ v, V, division, U03B3 ]}; + key {[ b, B, U2022, U03B2 ]}; + key {[ k, K, U00E7, U00C7 ]}; + key {[ m, M, multiply, U2193 ]}; + key {[ comma, semicolon, hyphen, multiply ]}; + key {[ period, colon, U0323, division ]}; + key {[ minus, underscore ]}; + + include "level3(ralt_switch)" +}; + + +// Latin American Spanish Colemak mapping (by eDreymaR), customized to +// keep WASD in a qwerty-like layout +partial alphanumeric_keys +xkb_symbols "colemak-gaming" { + + name[Group1]="Spanish (Latin American, Colemak for gaming)"; + + key {[ bar, degree, notsign, notsign ]}; + key {[ 1, exclam, bar, exclamdown ]}; + key {[ 2, quotedbl, at, oneeighth ]}; + key {[ 3, numbersign, periodcentered, sterling ]}; + key {[ 4, dollar, asciitilde, dollar ]}; + key {[ 5, percent, onehalf, threeeighths ]}; + key {[ 6, ampersand, notsign, fiveeighths ]}; + key {[ 7, slash, braceleft, seveneighths ]}; + key {[ 8, parenleft, bracketleft, trademark ]}; + key {[ 9, parenright, bracketright, plusminus ]}; + key {[ 0, equal, braceright, degree ]}; + key {[ apostrophe, question, backslash, questiondown ]}; + key {[ questiondown, exclamdown, dead_cedilla, dead_ogonek ]}; + + key {[ q, Q, U201A, U201E ]}; + key {[ w, W, U2018, U201C ]}; + key {[ f, F, U2019, U201D ]}; + key {[ p, P, U2293, paragraph ]}; + key {[ g, G, eng, ENG ]}; + key {[ j, J, U222B, U03A3 ]}; + key {[ l, L, lstroke, Lstroke ]}; + key {[ u, U, U2039, guillemotleft ]}; + key {[ y, Y, U203A, guillemotright ]}; + key {[ ntilde, Ntilde, asciitilde, U02EE ]}; + key {[ dead_acute, dead_diaeresis, dead_diaeresis, dead_abovering ]}; + key {[ plus, asterisk, asciitilde, dead_macron ]}; + + key {[ a, A, ae, AE ]}; + key {[ s, S, ssharp, section ]}; + key {[ d, D, eth, ETH ]}; + key {[ t, T, thorn, THORN ]}; + key {[ r, R, registered, trademark ]}; + key {[ h, H, hstroke, Hstroke ]}; + key {[ n, N, hyphen, U2190 ]}; + key {[ e, E, EuroSign, U2191 ]}; + key {[ i, I, U2015, U2192 ]}; + key {[ o, O, U00BA, U00AA ]}; + key {[ braceleft, bracketleft, dead_circumflex, braceleft ]}; + key {[ braceright, bracketright, dead_grave, braceright ]}; + + key {[ less, greater, bar, U00A6 ]}; + key {[ z, Z, U0292, U01B7 ]}; + key {[ x, X, U2020, U2021 ]}; + key {[ c, C, cent, copyright ]}; + key {[ v, V, division, U03B3 ]}; + key {[ b, B, U2022, U03B2 ]}; + key {[ k, K, U00E7, U00C7 ]}; + key {[ m, M, multiply, U2193 ]}; + key {[ comma, semicolon, hyphen, multiply ]}; + key {[ period, colon, U0323, division ]}; + key {[ minus, underscore ]}; + + include "level3(ralt_switch)" +}; diff --git a/xkbdata/symbols/latin b/xkbdata/symbols/latin new file mode 100644 index 0000000..fdf4701 --- /dev/null +++ b/xkbdata/symbols/latin @@ -0,0 +1,254 @@ +// Common Latin alphabet layout + +default partial +xkb_symbols "basic" { + + key { [ 1, exclam, onesuperior, exclamdown ] }; + key { [ 2, at, twosuperior, oneeighth ] }; + key { [ 3, numbersign, threesuperior, sterling ] }; + key { [ 4, dollar, onequarter, dollar ] }; + key { [ 5, percent, onehalf, threeeighths ] }; + key { [ 6, asciicircum, threequarters, fiveeighths ] }; + key { [ 7, ampersand, braceleft, seveneighths ] }; + key { [ 8, asterisk, bracketleft, trademark ] }; + key { [ 9, parenleft, bracketright, plusminus ] }; + key { [ 0, parenright, braceright, degree ] }; + key { [ minus, underscore, backslash, questiondown ] }; + key { [ equal, plus, dead_cedilla, dead_ogonek ] }; + + key { [ q, Q, at, Greek_OMEGA ] }; + key { [ w, W, U017F, section ] }; + key { [ e, E, e, E ] }; + key { [ r, R, paragraph, registered ] }; + key { [ t, T, tslash, Tslash ] }; + key { [ y, Y, leftarrow, yen ] }; + key { [ u, U, downarrow, uparrow ] }; + key { [ i, I, rightarrow, idotless ] }; + key { [ o, O, oslash, Ooblique ] }; + key { [ p, P, thorn, THORN ] }; + key { [bracketleft, braceleft, dead_diaeresis, dead_abovering ] }; + key { [bracketright, braceright, dead_tilde, dead_macron ] }; + + key { [ a, A, ae, AE ] }; + key { [ s, S, ssharp, U1E9E ] }; + key { [ d, D, eth, ETH ] }; + key { [ f, F, dstroke, ordfeminine ] }; + key { [ g, G, eng, ENG ] }; + key { [ h, H, hstroke, Hstroke ] }; + key { [ j, J, dead_hook, dead_horn ] }; + key { [ k, K, kra, ampersand ] }; + key { [ l, L, lstroke, Lstroke ] }; + key { [ semicolon, colon, dead_acute, dead_doubleacute ] }; + key { [apostrophe, quotedbl, dead_circumflex, dead_caron ] }; + key { [ grave, asciitilde, notsign, notsign ] }; + + key { [ backslash, bar, dead_grave, dead_breve ] }; + key { [ z, Z, guillemotleft, less ] }; + key { [ x, X, guillemotright, greater ] }; + key { [ c, C, cent, copyright ] }; + key { [ v, V, doublelowquotemark, singlelowquotemark ] }; + key { [ b, B, leftdoublequotemark, leftsinglequotemark ] }; + key { [ n, N, rightdoublequotemark, rightsinglequotemark ] }; + key { [ m, M, mu, masculine ] }; + key { [ comma, less, U2022, multiply ] }; // bullet + key { [ period, greater, periodcentered, division ] }; + key { [ slash, question, dead_belowdot, dead_abovedot ] }; +}; + +// Northern Europe ( Danish, Finnish, Norwegian, Swedish) common layout + +partial +xkb_symbols "type2" { + + include "latin" + + key { [ 1, exclam, exclamdown, onesuperior ] }; + key { [ 2, quotedbl, at, twosuperior ] }; + key { [ 3, numbersign, sterling, threesuperior] }; + key { [ 4, currency, dollar, onequarter ] }; + key { [ 5, percent, onehalf, cent ] }; + key { [ 6, ampersand, yen, fiveeighths ] }; + key { [ 7, slash, braceleft, division ] }; + key { [ 8, parenleft, bracketleft, guillemotleft] }; + key { [ 9, parenright, bracketright, guillemotright] }; + key { [ 0, equal, braceright, degree ] }; + + key { [ e, E, EuroSign, cent ] }; + key { [ r, R, registered, registered ] }; + key { [ t, T, thorn, THORN ] }; + key { [ o, O, oe, OE ] }; + key { [ aring, Aring, dead_diaeresis, dead_abovering ] }; + key { [dead_diaeresis, dead_circumflex, dead_tilde, dead_caron ] }; + + key { [ a, A, ordfeminine, masculine ] }; + + key { [ c, C, copyright, copyright ] }; + key { [ comma, semicolon, dead_cedilla, dead_ogonek ] }; + key { [ period, colon, periodcentered, dead_abovedot ] }; + key { [ minus, underscore, dead_belowdot, dead_abovedot ] }; +}; + +// Slavic Latin ( Albanian, Croatian, Polish, Slovene, Yugoslav) +// common layout + +partial +xkb_symbols "type3" { + + include "latin" + + key { [ q, Q, backslash, Greek_OMEGA ] }; + key { [ w, W, bar, section ] }; + key { [ z, Z, leftarrow, yen ] }; + + key { [ f, F, bracketleft, ordfeminine ] }; + key { [ g, G, bracketright, ENG ] }; + key { [ k, K, lstroke, ampersand ] }; + + key { [ y, Y, guillemotleft, less ] }; + key { [ v, V, at, grave ] }; + key { [ b, B, braceleft, apostrophe ] }; + key { [ n, N, braceright, braceright ] }; + key { [ m, M, section, masculine ] }; + key { [ comma, semicolon, less, multiply ] }; + key { [ period, colon, greater, division ] }; +}; + +// Another common Latin layout +// (German, Estonian, Spanish, Icelandic, Italian, Latin American, Portuguese) + +partial +xkb_symbols "type4" { + + include "latin" + + key { [ 2, quotedbl, at, oneeighth ] }; + key { [ 6, ampersand, notsign, fiveeighths ] }; + key { [ 7, slash, braceleft, seveneighths ] }; + key { [ 8, parenleft, bracketleft, trademark ] }; + key { [ 9, parenright, bracketright, plusminus ] }; + key { [ 0, equal, braceright, degree ] }; + + key { [ e, E, EuroSign, cent ] }; + + key { [ comma, semicolon, U2022, multiply ] }; // bullet + key { [ period, colon, periodcentered, division ] }; + key { [ minus, underscore, dead_belowdot, dead_abovedot ] }; +}; + +partial +xkb_symbols "nodeadkeys" { + + key { [ equal, plus, cedilla, ogonek ] }; + key { [bracketleft, braceleft, diaeresis, degree ] }; + key { [bracketright, braceright, asciitilde, macron ] }; + key { [ semicolon, colon, acute, doubleacute ] }; + key { [apostrophe, quotedbl, asciicircum, caron ] }; + key { [ backslash, bar, grave, breve ] }; + key { [ slash, question, dead_belowdot, abovedot ] }; +}; + +partial +xkb_symbols "type2_nodeadkeys" { + + include "latin(nodeadkeys)" + + key { [ aring, Aring, diaeresis, degree ] }; + key { [ diaeresis, asciicircum, asciitilde, caron ] }; + key { [ comma, semicolon, cedilla, ogonek ] }; + key { [ period, colon, periodcentered, abovedot ] }; + key { [ minus, underscore, dead_belowdot, abovedot ] }; +}; + +partial +xkb_symbols "type3_nodeadkeys" { + + include "latin(nodeadkeys)" +}; + +partial +xkb_symbols "type4_nodeadkeys" { + + include "latin(nodeadkeys)" + + key { [ minus, underscore, dead_belowdot, abovedot ] }; +}; + +// Added 2008.03.05 by Marcin Woliński +// See http://marcinwolinski.pl/keyboard/ for a description. +// Used by pl(intl) +// +// ┌─────┐ +// │ 2 4 │ 2 = Shift, 4 = Level3 + Shift +// │ 1 3 │ 1 = Normal, 3 = Level3 +// └─────┘ +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓ +// │ ~ ~ │ ! ' │ @ " │ # ˝ │ $ ¸ │ % ˇ │ ^ ^ │ & ˘ │ * ̇ │ ( ̣ │ ) ° │ _ ¯ │ + ˛ ┃ ⌫ Back- ┃ +// │ ` ` │ 1 ¡ │ 2 © │ 3 • │ 4 § │ 5 € │ 6 ¢ │ 7 − │ 8 × │ 9 ÷ │ 0 ° │ - – │ = — ┃ space ┃ +// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫ +// ┃ ┃ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ { « │ } » ┃ Enter ┃ +// ┃Tab ↹ ┃ q │ w │ e │ r │ t │ y │ u │ i │ o │ p │ [ ‹ │ ] › ┃ ⏎ ┃ +// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃ +// ┃ ┃ A │ S │ D │ F │ G │ H │ J │ K │ L │ : “ │ " ” │ | ¶ ┃ ┃ +// ┃Caps ⇬ ┃ a │ s │ d │ f │ g │ h │ j │ k │ l │ ; ‘ │ ' ’ │ \ ┃ ┃ +// ┣━━━━━━━━┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫ +// ┃ │ Z │ X │ C │ V │ B │ N │ M │ < „ │ > · │ ? ¿ ┃ ┃ +// ┃Shift ⇧ │ z │ x │ c │ v │ b │ n │ m │ , ‚ │ . … │ / ⁄ ┃Shift ⇧ ┃ +// ┣━━━━━━━┳━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛ +// ┃ ┃ ┃ ┃ ␣ ⍽ ┃ ┃ ┃ ┃ +// ┃Ctrl ┃Meta ┃Alt ┃ ␣ Space ⍽ ┃AltGr ⇮┃Menu ┃Ctrl ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛ + +partial +xkb_symbols "intl" { + + key { [ grave, asciitilde, dead_grave, dead_tilde ] }; + key { [ 1, exclam, exclamdown, dead_acute ] }; + key { [ 2, at, copyright, dead_diaeresis ] }; + key { [ 3, numbersign, U2022, dead_doubleacute ] }; // U+2022 is bullet (the name bullet does not work) + key { [ 4, dollar, section, dead_cedilla ] }; + key { [ 5, percent, EuroSign, dead_caron ] }; + key { [ 6, asciicircum, cent, dead_circumflex ] }; + key { [ 7, ampersand, U2212, dead_breve ] }; // U+2212 is MINUS SIGN + key { [ 8, asterisk, multiply, dead_abovedot ] }; + key { [ 9, parenleft, division, dead_belowdot ] }; + key { [ 0, parenright, degree, dead_abovering ] }; + key { [ minus, underscore, endash, dead_macron ] }; + key { [ equal, plus, emdash, dead_ogonek ] }; + + key { [ q, Q ] }; + key { [ w, W ] }; + key { [ e, E ] }; + key { [ r, R ] }; + key { [ t, T ] }; + key { [ y, Y ] }; + key { [ u, U ] }; + key { [ i, I ] }; + key { [ o, O ] }; + key { [ p, P ] }; + key { [bracketleft, braceleft, U2039, guillemotleft ] }; + key { [bracketright, braceright, U203A, guillemotright ] }; + + key { [ a, A ] }; + key { [ s, S ] }; + key { [ d, D ] }; + key { [ f, F ] }; + key { [ g, G ] }; + key { [ h, H ] }; + key { [ j, J ] }; + key { [ k, K ] }; + key { [ l, L ] }; + key { [ semicolon, colon, leftsinglequotemark, leftdoublequotemark ] }; + key { [apostrophe, quotedbl, rightsinglequotemark, rightdoublequotemark ] }; + + key { [ backslash, bar, NoSymbol, paragraph ] }; + key { [ z, Z ] }; + key { [ x, X ] }; + key { [ c, C ] }; + key { [ v, V ] }; + key { [ b, B ] }; + key { [ n, N ] }; + key { [ m, M ] }; + key { [ comma, less, singlelowquotemark, doublelowquotemark ] }; + key { [ period, greater, ellipsis, periodcentered ] }; + key { [ slash, question, U2044, questiondown ] }; // U+2044 is FRACTION SLASH +}; diff --git a/xkbdata/symbols/level3 b/xkbdata/symbols/level3 new file mode 100644 index 0000000..0b3f9c5 --- /dev/null +++ b/xkbdata/symbols/level3 @@ -0,0 +1,223 @@ +// These partial variants assign ISO_Level3_Shift to various XKB keycodes +// so that the third shift level can be reached. + +// The default behaviour: +// the right Alt key (AltGr) chooses the third symbol engraved on a key. +default partial modifier_keys +xkb_symbols "ralt_switch" { + key { + type[Group1]="ONE_LEVEL", + symbols[Group1] = [ ISO_Level3_Shift ] + }; + include "level3(modifier_mapping)" +}; + +// Ensure a mapping to a real modifier for LevelThree. +partial modifier_keys +xkb_symbols "modifier_mapping" { + replace key { + type[Group1] = "ONE_LEVEL", + symbols[Group1] = [ ISO_Level3_Shift ] + }; + modifier_map Mod5 { }; +}; + +// The right Alt key never chooses the third level. +// This option attempts to undo the effect of a layout's inclusion of +// 'ralt_switch'. You may want to also select another level3 option +// to map the level3 shift to some other key. +partial modifier_keys +xkb_symbols "ralt_alt" { + key { + type[Group1]="TWO_LEVEL", + symbols[Group1] = [ Alt_R, Meta_R ] + }; + modifier_map Mod1 { }; +}; + +// The right Alt key (while pressed) chooses the third shift level, +// and Compose is mapped to its second level. +partial modifier_keys +xkb_symbols "ralt_switch_multikey" { + key { + type[Group1]="TWO_LEVEL", + symbols[Group1] = [ ISO_Level3_Shift, Multi_key ] + }; + include "level3(modifier_mapping)" +}; + +// A special case of the right-Alt switch -- for use with grp:alts_toggle. +hidden partial modifier_keys +xkb_symbols "ralt_switch_for_alts_toggle" { + virtual_modifiers LAlt, AltGr; + key { + type[Group1]="PC_RALT_LEVEL2", + symbols[Group1] = [ Alt_L, ISO_Prev_Group, ISO_Prev_Group ], + virtualMods= LAlt + }; + key { + type[Group1]="PC_ALT_LEVEL2", + symbols[Group1] = [ ISO_Level3_Shift, ISO_Next_Group ], + virtualMods= AltGr + }; + include "level3(modifier_mapping)" +}; + +// Either Alt key (while pressed) chooses the third shift level. +// (To be used mostly to imitate Mac OS functionality.) +partial modifier_keys +xkb_symbols "alt_switch" { + include "level3(lalt_switch)" + include "level3(ralt_switch)" +}; + +// The left Alt key (while pressed) chooses the third shift level. +partial modifier_keys +xkb_symbols "lalt_switch" { + key { + type[Group1]="ONE_LEVEL", + symbols[Group1] = [ ISO_Level3_Shift ] + }; + include "level3(modifier_mapping)" +}; + +// The right Ctrl key (while pressed) chooses the third shift level. +partial modifier_keys +xkb_symbols "switch" { + key { + type[Group1]="ONE_LEVEL", + symbols[Group1] = [ ISO_Level3_Shift ] + }; + include "level3(modifier_mapping)" +}; + +// The Menu key (while pressed) chooses the third shift level. +partial modifier_keys +xkb_symbols "menu_switch" { + key { + type[Group1]="ONE_LEVEL", + symbols[Group1] = [ ISO_Level3_Shift ] + }; + include "level3(modifier_mapping)" +}; + +// Either Win key (while pressed) chooses the third shift level. +partial modifier_keys +xkb_symbols "win_switch" { + include "level3(lwin_switch)" + include "level3(rwin_switch)" +}; + +// The left Win key (while pressed) chooses the third shift level. +partial modifier_keys +xkb_symbols "lwin_switch" { + key { + type[Group1]="ONE_LEVEL", + symbols[Group1] = [ ISO_Level3_Shift ] + }; + include "level3(modifier_mapping)" +}; + +// The right Win key (while pressed) chooses the third shift level. +// (When using this map, you should set your keyboard as pc101 or pc102 +// instead of pc104 or pc105.) +partial modifier_keys +xkb_symbols "rwin_switch" { + key { + type[Group1]="ONE_LEVEL", + symbols[Group1] = [ ISO_Level3_Shift ] + }; + include "level3(modifier_mapping)" +}; + +// The Enter key on the kepypad (while pressed) chooses the third shift level. +// (This is especially useful for Mac laptops which miss the right Alt key.) +partial modifier_keys +xkb_symbols "enter_switch" { + key { + type[Group1]="ONE_LEVEL", + symbols[Group1] = [ ISO_Level3_Shift ] + }; + include "level3(modifier_mapping)" +}; + +// The CapsLock key (while pressed) chooses the third shift level. +partial modifier_keys +xkb_symbols "caps_switch" { + key { + type[Group1]="ONE_LEVEL", + symbols[Group1] = [ ISO_Level3_Shift ] + }; + include "level3(modifier_mapping)" +}; + +// The Backslash key (while pressed) chooses the third shift level. +partial modifier_keys +xkb_symbols "bksl_switch" { + key { + type[Group1]="ONE_LEVEL", + symbols[Group1] = [ ISO_Level3_Shift ] + }; + include "level3(modifier_mapping)" +}; + +// The Less/Greater key (while pressed) chooses the third shift level. +partial modifier_keys +xkb_symbols "lsgt_switch" { + key { + type[Group1]="ONE_LEVEL", + symbols[Group1] = [ ISO_Level3_Shift ] + }; + include "level3(modifier_mapping)" +}; + +// The CapsLock key (while pressed) chooses the third shift level, +// and latches when pressed together with another third-level chooser. +partial modifier_keys +xkb_symbols "caps_switch_latch" { + key { + type[Group1]="THREE_LEVEL", + symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ] + }; + include "level3(modifier_mapping)" +}; + +// The Backslash key (while pressed) chooses the third shift level, +// and latches when pressed together with another third-level chooser. +partial modifier_keys +xkb_symbols "bksl_switch_latch" { + key { + type[Group1]="THREE_LEVEL", + symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ] + }; + include "level3(modifier_mapping)" +}; + +// The Less/Greater key (while pressed) chooses the third shift level, +// and latches when pressed together with another third-level chooser. +partial modifier_keys +xkb_symbols "lsgt_switch_latch" { + key { + type[Group1]="THREE_LEVEL", + symbols[Group1] = [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Latch ] + }; + include "level3(modifier_mapping)" +}; + +// Number key 4 chooses third shift level when pressed in isolation. +partial modifier_keys +xkb_symbols "4_switch_isolated" { + override key { + symbols[Group1] = [ ISO_Level3_Shift ] + }; + include "level3(modifier_mapping)" +}; + +// Number key 9 chooses third shift level when pressed in isolation. +partial modifier_keys +xkb_symbols "9_switch_isolated" { + override key { + symbols[Group1] = [ ISO_Level3_Shift ] + }; + include "level3(modifier_mapping)" +}; diff --git a/xkbdata/symbols/level5 b/xkbdata/symbols/level5 new file mode 100644 index 0000000..ec8c9a9 --- /dev/null +++ b/xkbdata/symbols/level5 @@ -0,0 +1,152 @@ +// These partial variants assign ISO_Level5_Shift to various XKB keycodes +// so that the fifth shift level can be reached. + +// The right Ctrl key (while pressed) chooses the fifth shift level. +partial modifier_keys +xkb_symbols "rctrl_switch" { + key { + type[Group1]="ONE_LEVEL", + symbols[Group1] = [ ISO_Level5_Shift ] + }; + include "level5(modifier_mapping)" +}; + +// The Less/Greater key (while pressed) chooses the fifth shift level. +partial modifier_keys +xkb_symbols "lsgt_switch" { + key { + type[Group1]="ONE_LEVEL", + symbols[Group1] = [ ISO_Level5_Shift ] + }; + include "level5(modifier_mapping)" +}; + +// The right Alt key (while pressed) chooses the fifth shift level. +partial modifier_keys +xkb_symbols "ralt_switch" { + key { + type[Group1]="ONE_LEVEL", + symbols[Group1] = [ ISO_Level5_Shift ] + }; + include "level5(modifier_mapping)" +}; + +// The CapsLock key (while pressed) chooses the fifth shift level. +partial modifier_keys +xkb_symbols "caps_switch" { + key { + type[Group1]="ONE_LEVEL", + symbols[Group1] = [ ISO_Level5_Shift ] + }; + include "level5(modifier_mapping)" +}; + +// Ensure a mapping to a real modifier for LevelFive. +partial modifier_keys +xkb_symbols "modifier_mapping" { + replace key { + type[Group1] = "ONE_LEVEL", + symbols[Group1] = [ ISO_Level5_Shift ] + }; + modifier_map Mod3 { }; +}; + + +// This adds the definitions needed to create a level5-lock behaviour, using +// the real modifier NumLock as a lock indicator. +// See also: types/level5 : EIGHT_LEVEL_LEVEL_FIVE_LOCK +// See also: compat/level5(level5_lock) +partial modifier_keys +xkb_symbols "lock" { + key.type[Group1] = "ONE_LEVEL"; + include "level5(modifier_mapping)" + replace key { + vmods = NumLock, + symbols[Group1] = [ NoSymbol ], + actions[Group1] = [ SetMods(modifiers=NumLock) ] + }; + modifier_map Mod2 { }; +}; + +// The following modifier keys are used to switch to the third shift level +// and to set a corresponding lock, implemented as NumLock. + +partial modifier_keys +xkb_symbols "lsgt_switch_lock" { + include "level5(lock)" + key { + type[Group1] = "EIGHT_LEVEL", + symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, + ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] + }; +}; + +partial modifier_keys +xkb_symbols "lwin_switch_lock" { + include "level5(lock)" + key { + type[Group1] = "EIGHT_LEVEL", + symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, + ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] + }; +}; + +partial modifier_keys +xkb_symbols "ralt_switch_lock" { + include "level5(lock)" + key { + type[Group1] = "EIGHT_LEVEL", + symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, + ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] + }; +}; + +partial modifier_keys +xkb_symbols "rwin_switch_lock" { + include "level5(lock)" + key { + type[Group1] = "EIGHT_LEVEL", + symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, + ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] + }; +}; + +partial modifier_keys +xkb_symbols "lsgt_switch_lock_cancel" { + include "level5(lock)" + key { + type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK", + symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, + ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] + }; +}; + +partial modifier_keys +xkb_symbols "lwin_switch_lock_cancel" { + include "level5(lock)" + key { + type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK", + symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, + ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] + }; +}; + +partial modifier_keys +xkb_symbols "ralt_switch_lock_cancel" { + include "level5(lock)" + key { + type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK", + symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, + ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] + }; +}; + +partial modifier_keys +xkb_symbols "rwin_switch_lock_cancel" { + include "level5(lock)" + key { + type[Group1] = "EIGHT_LEVEL_LEVEL_FIVE_LOCK", + symbols[Group1] = [ ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, ISO_Level5_Shift, + ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock, ISO_Level5_Lock ] + }; +}; diff --git a/xkbdata/symbols/lk b/xkbdata/symbols/lk new file mode 100644 index 0000000..9097cd2 --- /dev/null +++ b/xkbdata/symbols/lk @@ -0,0 +1,184 @@ +// X Keyboard Extension file for Sinhala (Sri Lanka) (2004-04-22) +// Maintainer : Harshula Jayasuriya +// Last Updated: 2011-05-25 +// This is a phonetic static mapping for a standard US-English keyboard +// (QWERTY) +// http://www.nongnu.org/sinhala/doc/keymaps/sinhala-keyboard_3.html + +// Repaya, Rakaransaya and Yansaya aren't inserted with A-r, R and Y, +// respectively. The problem lies with the XKB infrastructure which +// only allows a one-to-one mapping of keycodes to Unicode codepoints. +// Unfortunately, the 3 mentioned glyphs actually consists of 3 +// Unicode codepoints each. The result is that the user must +// manually construct the glyph by typing each of the 3 codepoints. +// ALT-, represents the 'JOIN' key, it requires +// two codepoints, hence it also has to be manually constructed. +// Similarly, ALT-/ representing the 'TOUCH' key requires +// two codepoints. + +// Repaya = rayanna,AL,ZWJ +// Rakaransaya = AL,ZWJ,rayanna +// Yansaya = AL,ZWJ,yayanna +// JOIN = AL,ZWJ +// TOUCH = ZWJ,AL + +// Where, +// AL = Al Lakuna = ALT-a +// ZWJ = Zero Width Joiner = ALT-/ +// rayanna = r +// yayanna = y + +default partial alphanumeric_keys +xkb_symbols "sin_phonetic" { + + include "us" + name[Group1] = "Sinhala (phonetic)"; + key.type[Group1] = "FOUR_LEVEL"; + + // q - p + key { [ Sinh_ri, Sinh_rii, Sinh_ru2, Sinh_ruu2 ] }; + key { [ Sinh_ae, Sinh_aee, Sinh_ae2, Sinh_aee2 ] }; + key { [ Sinh_e, Sinh_ee, Sinh_e2, Sinh_ee2 ] }; + key { [ Sinh_ra, Sinh_al, Sinh_ra, NoSymbol ] }; + key { [ Sinh_tha, Sinh_thha, Sinh_tta, Sinh_ttha ] }; + key { [ Sinh_ya, Sinh_al, NoSymbol, NoSymbol ] }; + key { [ Sinh_u, Sinh_uu, Sinh_u2, Sinh_uu2 ] }; + key { [ Sinh_i, Sinh_ii, Sinh_i2, Sinh_ii2 ] }; + key { [ Sinh_o, Sinh_oo, Sinh_o2, Sinh_oo2 ] }; + key { [ Sinh_pa, Sinh_pha, NoSymbol, NoSymbol ] }; + + // a - l + key { [ Sinh_a, Sinh_aa, Sinh_al, Sinh_aa2 ] }; + key { [ Sinh_sa, Sinh_sha, Sinh_ssha, NoSymbol ] }; + key { [ Sinh_dha, Sinh_dhha, Sinh_dda, Sinh_ddha ] }; + key { [ Sinh_fa, NoSymbol, Sinh_ai2, Sinh_ai ] }; + key { [ Sinh_ga, Sinh_gha, Sinh_nga, NoSymbol ] }; + key { [ Sinh_ha, Sinh_h2, Sinh_au2, Sinh_au ] }; + key { [ Sinh_ja, Sinh_jha, Sinh_nja, NoSymbol ] }; + key { [ Sinh_ka, Sinh_kha, Sinh_lu, Sinh_luu ] }; + key { [ Sinh_la, Sinh_lla, Sinh_lu2, Sinh_luu2 ] }; + + // z - ? + key { [ Sinh_nya, Sinh_jnya, NoSymbol, NoSymbol ] }; + key { [ Sinh_ndha, Sinh_ndda, NoSymbol, NoSymbol ] }; + key { [ Sinh_ca, Sinh_cha, NoSymbol, NoSymbol ] }; + key { [ Sinh_va, NoSymbol, NoSymbol, NoSymbol ] }; + key { [ Sinh_ba, Sinh_bha, NoSymbol, NoSymbol ] }; + key { [ Sinh_na, Sinh_nna, Sinh_ng, Sinh_ng2 ] }; + key { [ Sinh_ma, Sinh_mba, NoSymbol, NoSymbol ] }; + key { [ any, any, Sinh_al, NoSymbol ] }; + key { [ any, any, Sinh_kunddaliya, NoSymbol ] }; + key { [ any, any, 0x100200d, NoSymbol ] }; + + // Space + include "nbsp(nb2zwnj3s)" + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "tam_unicode" { + include "in(tam_tamilnet)" + name[Group1]= "Tamil (Sri Lanka, TamilNet '99)"; +}; + +partial alphanumeric_keys +xkb_symbols "tam_TAB" { + include "in(tam_tamilnet_TAB)" + name[Group1]= "Tamil (Sri Lanka, TamilNet '99, TAB encoding)"; +}; + +// SINHALA - US, SUBSTITUTES SOME AND ADDS SOME +// ============================================= +// +// This started as an upgrade to the first romanized version of +// Sinhala called PTS Pali created in the 1860s. PTS requires +// dots and bars on letters that are rare in fonts, and impossible +// to type. Its singular purpose was to print Tripitaka, the +// collection of Buddhist discourses. +// +// This version covers the entire newer Sinhala phoneme chart +// (Hodiya) that became standard just before the end of the 19th +// century. All the phonemes map to the SBCS. It is easy and +// faster than English to type. It overcomes the setback of +// Unicode Sinhala that it is not compatible with Pali and +// Sanskrit because it encodes two ligatures as base letters and +// the SLS1134 specification matching shape and morpheme sets +// violating Sanskrit orthography. +// +// Most importantly, this romanized version of Sinhala has a +// companion orthographic font that displays the text in the +// native script and a JavaScript converts it to Unicode Sinhala +// and back dramatically increasing Sinhala seen on the web due +// to its ease of use +// +// Dedication: +// Thomas William Rhys Davids, Ven. Udagama Sumangala +// Rev. Fr. A. M. Gunasekara, Rev. Fr. Theodore G. Perera +// Ven. Mettavihari +// +// Maintainer: +// JC Ahangama - sing@ahangama.com +// +partial alphanumeric_keys modifier_keys +xkb_symbols "us" { + include "us(basic)" + name[Group1]= "Sinhala (US)"; +// +// UNSHIFTED, SHIFT, ALT +// -------------------------------------------- +// + key { [ z, VoidSymbol, VoidSymbol ] }; + key { [ x, VoidSymbol, VoidSymbol ] }; + key { [ c, ccedilla, VoidSymbol ] }; + key { [ v, VoidSymbol, VoidSymbol ] }; + key { [ b, B, VoidSymbol ] }; + key { [ n, N, ntilde ] }; + key { [ m, VoidSymbol, VoidSymbol ] }; + key { [ comma, less, UAB ] }; + key { [ period, greater, UBB ] }; + key { [ slash, question, U200C ] }; + + key { [ a, aacute, adiaeresis ] }; + key { [ s, VoidSymbol, VoidSymbol ] }; + key { [ eth, ETH, VoidSymbol ] }; + key { [ thorn, f, VoidSymbol ] }; + key { [ g, G, VoidSymbol ] }; + key { [ h, VoidSymbol, VoidSymbol ] }; + key { [ j, ccedilla, VoidSymbol ] }; + key { [ k, VoidSymbol, VoidSymbol ] }; + key { [ l, L, ocircumflex ] }; + key { [ semicolon, colon, VoidSymbol ] }; + key { [ apostrophe, quotedbl, VoidSymbol ] }; + + key { [ d, D, q ] }; + key { [ ae, acute, VoidSymbol ] }; + key { [ e, eacute, ediaeresis ] }; + key { [ r, ucircumflex, VoidSymbol ] }; + key { [ t, VoidSymbol, VoidSymbol ] }; + key { [ y, VoidSymbol, VoidSymbol ] }; + key { [ u, uacute, udiaeresis ] }; + key { [ i, iacute, idiaeresis ] }; + key { [ o, oacute, odiaeresis ] }; + key { [ p, VoidSymbol, VoidSymbol ] }; + key { [ bracketleft, braceleft, VoidSymbol ] }; + key { [ bracketright, braceright, VoidSymbol ] }; + + key { [ 1, exclam, dead_macron ] }; + key { [ 2, at, dead_belowdot ] }; + key { [ 3, numbersign, dead_abovedot ] }; + key { [ 4, dollar, currency ] }; + key { [ 5, percent, UB0 ] }; + key { [ 6, asciicircum, onequarter ] }; + key { [ 7, ampersand, onehalf ] }; + key { [ 8, asterisk, threequarters ] }; + key { [ 9, parenleft, VoidSymbol ] }; + key { [ 0, parenright, VoidSymbol ] }; + key { [ minus, underscore, U2014 ] }; + key { [ equal, plus, VoidSymbol ] }; + + key { [ backslash, bar, VoidSymbol ] }; + key { [ space, nobreakspace, VoidSymbol ] }; + key { [ grave, asciitilde, VoidSymbol ] }; + include "level3(alt_switch)" +}; diff --git a/xkbdata/symbols/lt b/xkbdata/symbols/lt new file mode 100644 index 0000000..90deebc --- /dev/null +++ b/xkbdata/symbols/lt @@ -0,0 +1,417 @@ +// Separate keymaps merged into one file by Nerijus Baliūnas, 2002 + +// Lithuanian Numeric layout - Lithuanian letters on the numeric row +// based on Lithuanian keyboard map by Ričardas Čepas +// 3rd and 4th levels added by Mantas Kriaučiūnas , 2004 +// Minor modifications and cleanup by Rimas Kudelis , 2010 +// +// If you want two layouts, use: +// Option "XkbLayout" "lt,lt(us)" +default partial alphanumeric_keys modifier_keys +xkb_symbols "basic" { + + include "latin" + include "eurosign(e)" + include "level3(ralt_switch)" + + name[Group1]="Lithuanian"; + + key {[ grave, asciitilde, acute ]}; + key {[ aogonek, Aogonek, 1, exclam ]}; + key {[ ccaron, Ccaron, 2, at ]}; + key {[ eogonek, Eogonek, 3, numbersign ]}; + key {[ eabovedot, Eabovedot, 4, dollar ]}; + key {[ iogonek, Iogonek, 5, percent ]}; + key {[ scaron, Scaron, 6, asciicircum ]}; + key {[ uogonek, Uogonek, 7, ampersand ]}; + key {[ umacron, Umacron, 8, asterisk ]}; + key {[ doublelowquotemark, parenleft, 9, parenleft ]}; + key {[ leftdoublequotemark, parenright, 0, parenright ]}; + key {[ minus, underscore, endash ]}; + key {[ zcaron, Zcaron, equal, plus ]}; + + key {[ NoSymbol, NoSymbol, NoSymbol, sterling ]}; + + key {[ endash, EuroSign ]}; +}; + +// Similar to the above, but uses 3rd and 4th levels in the numeric row +// for Lithuanian letters +partial alphanumeric_keys modifier_keys +xkb_symbols "us" { + + include "latin" + include "eurosign(e)" + include "level3(ralt_switch)" + + name[Group1]="Lithuanian (US)"; + + key {[ grave, asciitilde, acute ]}; + key {[ 1, exclam, aogonek, Aogonek ]}; + key {[ 2, at, ccaron, Ccaron ]}; + key {[ 3, numbersign, eogonek, Eogonek ]}; + key {[ 4, dollar, eabovedot, Eabovedot ]}; + key {[ 5, percent, iogonek, Iogonek ]}; + key {[ 6, asciicircum, scaron, Scaron ]}; + key {[ 7, ampersand, uogonek, Uogonek ]}; + key {[ 8, asterisk, umacron, Umacron ]}; + key {[ 9, parenleft, doublelowquotemark ]}; + key {[ 0, parenright, leftdoublequotemark ]}; + key {[ minus, underscore, endash ]}; + key {[ equal, plus, zcaron, Zcaron ]}; + + key {[ NoSymbol, NoSymbol, NoSymbol, sterling ]}; + + key {[ endash, EuroSign ]}; +}; + +// Lithuanian keymap LST 1582:2000 +// The standard is described at http://ims.mii.lt/klav/ +// Extensions: B01 L3 is "<" , B02 L3 is ">" and B03 L3 is endash to make this +// layout usable with pc101 and pc104 keyboards. +// +// Made by Gediminas Paulauskas +// Minor modifications by Ričardas Čepas and Rimas Kudelis + +partial alphanumeric_keys modifier_keys +xkb_symbols "std" { + + include "latin" + include "eurosign(e)" + include "nbsp(level3)" + include "kpdl(comma)" + include "level3(ralt_switch)" + + name[Group1]="Lithuanian (standard)"; + + key {[ grave, asciitilde, acute ]}; + key {[ exclam, 1, at ]}; + key {[ minus, 2, underscore ]}; + key {[ slash, 3, numbersign ]}; + key {[ semicolon, 4, dollar ]}; + key {[ colon, 5, section ]}; + key {[ comma, 6, asciicircum ]}; + key {[ period, 7, ampersand ]}; + key {[ equal, 8, asterisk ]}; + key {[ parenleft, 9, bracketleft ]}; + key {[ parenright, 0, bracketright ]}; + key {[ question, plus, apostrophe ]}; + key {[ x, X, percent ]}; + + key {[ aogonek, Aogonek ]}; + key {[ zcaron, Zcaron ]}; + key {[ iogonek, Iogonek, braceleft ]}; + key {[ w, W, braceright ]}; + + key {[ scaron, Scaron ]}; + key {[ uogonek, Uogonek ]}; + key {[ eabovedot, Eabovedot, quotedbl ]}; + key {[ q, Q, bar ]}; + + key {[ less, greater, endash ]}; + key {[ z, Z, less ]}; + key {[ umacron, Umacron, greater ]}; + key {[ c, C, endash ]}; + key {[ ccaron, Ccaron, doublelowquotemark ]}; + key {[ f, F, leftdoublequotemark ]}; + key {[ eogonek, Eogonek, backslash ]}; +}; + +// Lithuanian keymap LST 1205-92 +// This standard was made deprecated by LST 1582:2000 above. +// This keyboard is also know as IBM layout. +// We follow the map shown at: http://www.registrucentras.lt/litwin/kbdlta.gif +// and info from Edis Tamošauskas +// +// Made by Piter PUNK +// Minor modifications and cleanup by Rimas Kudelis, 2010 + +partial alphanumeric_keys modifier_keys +xkb_symbols "ibm" { + + include "latin" + include "eurosign(e)" + include "nbsp(level3)" + include "level3(ralt_switch)" + + name[Group1]="Lithuanian (IBM LST 1205-92)"; + + key {[ grave, asciitilde, acute ]}; + key {[ exclam, 1 ]}; + key {[ quotedbl, 2, at ]}; + key {[ slash, 3, numbersign ]}; + key {[ semicolon, 4, dollar ]}; + key {[ colon, 5, percent ]}; + key {[ comma, 6, asciicircum ]}; + key {[ period, 7, ampersand ]}; + key {[ question, 8, asterisk ]}; + key {[ parenleft, 9 ]}; + key {[ parenright, 0 ]}; + key {[ underscore, minus, endash ]}; + key {[ plus, equal ]}; + + key {[ aogonek, Aogonek, q, Q ]}; + key {[ zcaron, Zcaron, w, W ]}; + key {[ iogonek, Iogonek, bracketleft, braceleft ]}; + key {[ doublelowquotemark, leftdoublequotemark, bracketright, braceright ]}; + + key {[ uogonek, Uogonek, semicolon, colon ]}; + key {[ eabovedot, Eabovedot, apostrophe, quotedbl ]}; + + key {[ less, greater, endash ]}; + key {[ umacron, Umacron, x, X ]}; + key {[ ccaron, Ccaron, comma, less ]}; + key {[ scaron, Scaron, period, greater ]}; + key {[ eogonek, Eogonek, slash, question ]}; +}; + +// LEKP and LEKPa layouts 1.0 +// For more info visit http://lekp.info +// Created by Tautrimas Pajarskas, 2007 +// Made by Ernestas Lukoševičius, 2007 +// Minor cleanup by Rimas Kudelis, 2010 + +partial alphanumeric_keys modifier_keys +xkb_symbols "lekp" { + + include "capslock(backspace)" + include "level3(ralt_switch)" + + name[Group1]="Lithuanian (LEKP)"; + + key {[ grave, asciitilde, acute ]}; + key {[ slash, numbersign, bar ]}; + key {[ backslash, at, section ]}; + key {[ period, braceleft ]}; + key {[ comma, braceright ]}; + key {[ f, F ]}; + key {[ exclam, endash ]}; + key {[ w, W ]}; + key {[ uogonek, Uogonek ]}; + key {[ iogonek, Iogonek ]}; + key {[ parenleft, doublelowquotemark, registered ]}; + key {[ parenright, leftdoublequotemark, copyright ]}; + key {[ colon, ampersand, trademark ]}; + + key {[ q, Q, EuroSign ]}; + key {[ g, G, 7 ]}; + key {[ r, R, 8 ]}; + key {[ l, L, 9 ]}; + key {[ d, D, percent ]}; + key {[ ccaron, Ccaron ]}; + key {[ j, J ]}; + key {[ u, U, period ]}; + key {[ eabovedot, Eabovedot, minus ]}; + key {[ eogonek, Eogonek, slash ]}; + key {[ question, bracketleft, division ]}; + key {[ equal, bracketright ]}; + + key {[ a, A, 0 ]}; + key {[ k, K, 4 ]}; + key {[ s, S, 5 ]}; + key {[ t, T, 6 ]}; + key {[ m, M, dollar ]}; + key {[ p, P ]}; + key {[ n, N ]}; + key {[ e, E, comma ]}; + key {[ i, I, plus ]}; + key {[ o, O, asterisk ]}; + key {[ y, Y, multiply ]}; + key {[ apostrophe, underscore ]}; + + key {[ semicolon, quotedbl, sterling ]}; + key {[ z, Z, asciicircum ]}; + key {[ x, X, 1 ]}; + key {[ c, C, 2 ]}; + key {[ v, V, 3 ]}; + key {[ zcaron, Zcaron ]}; + key {[ scaron, Scaron ]}; + key {[ b, B, degree ]}; + key {[ umacron, Umacron, less ]}; + key {[ aogonek, Aogonek, greater ]}; + key {[ h, H ]}; +}; + +partial alphanumeric_keys modifier_keys +xkb_symbols "lekpa" { + + include "capslock(backspace)" + include "level3(ralt_switch)" + + name[Group1]="Lithuanian (LEKPa)"; + + key {[ grave, asciitilde, acute ]}; + key {[ slash, quotedbl, bar ]}; + key {[ backslash, at, section ]}; + key {[ period, braceleft, numbersign ]}; + key {[ comma, braceright, sterling ]}; + key {[ f, F, ampersand ]}; + key {[ exclam, endash ]}; + key {[ w, W ]}; + key {[ uogonek, Uogonek ]}; + key {[ iogonek, Iogonek ]}; + key {[ parenleft, doublelowquotemark, registered ]}; + key {[ parenright, leftdoublequotemark, copyright ]}; + key {[ colon, semicolon, trademark ]}; + + key {[ q, Q, EuroSign ]}; + key {[ g, G, 7 ]}; + key {[ r, R, 8 ]}; + key {[ l, L, 9 ]}; + key {[ d, D, percent ]}; + key {[ ccaron, Ccaron ]}; + key {[ j, J ]}; + key {[ u, U, period ]}; + key {[ eabovedot, Eabovedot, minus ]}; + key {[ eogonek, Eogonek, slash ]}; + key {[ question, bracketleft, division ]}; + key {[ equal, bracketright ]}; + + key {[ a, A, 0 ]}; + key {[ k, K, 4 ]}; + key {[ s, S, 5 ]}; + key {[ t, T, 6 ]}; + key {[ m, M, dollar ]}; + key {[ p, P ]}; + key {[ n, N ]}; + key {[ e, E, comma ]}; + key {[ i, I, plus ]}; + key {[ o, O, asterisk ]}; + key {[ y, Y, multiply ]}; + key {[ apostrophe, underscore ]}; + + key {[ z, Z, asciicircum ]}; + key {[ x, X, 1 ]}; + key {[ c, C, 2 ]}; + key {[ v, V, 3 ]}; + key {[ zcaron, Zcaron ]}; + key {[ scaron, Scaron ]}; + key {[ b, B, degree ]}; + key {[ umacron, Umacron, less ]}; + key {[ aogonek, Aogonek, greater ]}; + key {[ h, H ]}; +}; + +// Samogitian (žemaiťiu/žemaičių) layout based on Lithuanian standard layout. +// Long vowels are made by composition. It means after pressing vowel press grave accent (`). +// This layout also supports special letters like ëůȧťď or Latvian ģŗļķ. These can be accessed by similar letter with holding AltGr. +// Euro sign € is added on top e. Accessed by holding AltGr. +// To enable layout use: +// Option "XkbLayout" "lt(sgs)" +// +// Added by Arnas Udovičius , 2020 + +partial alphanumeric_keys modifier_keys +xkb_symbols "sgs" { + + include "lt(basic)" + name[Group1]="Samogitian"; + + key {[ U0304, asciitilde, grave, acute ]}; + key {[ q, Q, U00EB, U00CB ]}; + key {[ w, W, U016F, U016E ]}; + key {[ r, R, rcedilla, Rcedilla]}; + key {[ t, T, tcaron, Tcaron ]}; + key {[ a, A, U0227, U0226 ]}; + key {[ d, D, dcaron, Dcaron ]}; + key {[ g, G, gcedilla, Gcedilla]}; + key {[ k, K, kcedilla, Kcedilla]}; + key {[ l, L, lcedilla, Lcedilla]}; +}; + +// Lithuanian Ratise keymap by Algirdas Buckus +// last changes 2020/12/24 + +partial alphanumeric_keys modifier_keys +xkb_symbols "ratise" { + + include "level3(ralt_switch)" + + name[Group1]="Lithuanian (Ratise)"; + + key { [ plus, section, grave, acute ] }; + key { [ exclam, currency, rightsinglequotemark, exclamdown ] }; + key { [ colon, at, 0x10027E8, 0x1002190 ] }; // MATHEMATICAL LEFT ANGLE BRACKET; LEFTWARDS ARROW + key { [ period, numbersign, 0x10027E9, 0x1002192 ] }; // MATHEMATICAL RIGHT ANGLE BRACKET; RIGHTWARDS ARROW + key { [ asterisk, dollar, rightdoublequotemark, sterling ] }; + key { [ underscore, percent, ellipsis, 0x1002030 ] }; // PER MILLE SIGN + key { [ emdash, bar, asciicircum, brokenbar ] }; + key { [ equal, ampersand, 7, notequal ] }; + key { [ comma, less, 8, lessthanequal ] }; + key { [ semicolon, greater, 9, greaterthanequal ] }; + key { [ slash, backslash, division, 0x1002016 ] }; // DOUBLE VERTICAL LINE + key { [ w, W, Greek_OMEGA, ssharp ] }; + key { [ question, asciitilde, 0x1002248, questiondown ] }; // ALMOST EQUAL TO + + key { [ umacron, Umacron, leftsinglequotemark, 0x100203A ] }; // SINGLE RIGHT-POINTING ANGLE QUOTATION MARK + key { [ eabovedot, Eabovedot, bracketleft, dead_abovering ] }; + key { [ y, Y, bracketright, dead_circumflex ] }; + key { [ o, O, leftdoublequotemark, guillemotright ] }; + key { [ q, Q, 0x1000301, 0x1002191 ] }; // COMBINING ACUTE ACCENT; UPWARDS ARROW + key { [ j, J, EuroSign, yen ] }; + key { [ n, N, 4, notsign ] }; + key { [ k, K, 5, dagger ] }; + key { [ g, G, 6, enfilledcircbullet ] }; + key { [ b, B, multiply, infinity ] }; + key { [ c, C, cent, copyright ] }; + key { [ f, F, 0x1002044, trademark ] }; // FRACTION SLASH + + key { [ u, U, apostrophe, dead_macron ] }; + key { [ e, E, parenleft, dead_grave ] }; + key { [ i, I, parenright, dead_acute ] }; + key { [ a, A, quotedbl, dead_diaeresis ] }; + key { [ h, H, 0x1000303, dead_tilde ] }; // COMBINING TILDE ACCENT + key { [ l, L, lstroke, Lstroke ] }; + key { [ r, R, 1, onesuperior ] }; + key { [ t, T, 2, twosuperior ] }; + key { [ s, S, 3, threesuperior ] }; + key { [ p, P, 0x1002212, paragraph ] }; // MINUS SIGN + key { [ zcaron, Zcaron, minus, dead_cedilla ] }; + + key { [ uogonek, Uogonek, singlelowquotemark, 0x1002039 ] }; // SINGLE LEFT-POINTING ANGLE QUOTATION MARK + key { [ eogonek, Eogonek, braceleft, dead_breve ] }; + key { [ iogonek, Iogonek, braceright, dead_caron ] }; + key { [ aogonek, Aogonek, doublelowquotemark, guillemotleft ] }; + key { [ x, X, 0x1000300, 0x1002193 ] }; // COMBINING GRAVE ACCENT; DOWNWARDS ARROW + key { [ v, V, squareroot, 0x10025CA ] }; // LOZENGE + key { [ m, M, 0, mu ] }; + key { [ d, D, period, doubledagger ] }; + key { [ scaron, Scaron, comma, 0x10000B7 ] }; // MIDDLE DOT + key { [ ccaron, Ccaron, plus, plusminus ] }; + + key { [ z, Z, degree, registered ] }; + key { [ minus, endash, 0x1000307, 0x1002011 ] }; // COMBINING DOT ABOVE, NON-BREAKING HYPHEN + key { [ space, space, space, nobreakspace ] }; + +// key { [ minus, endash, 0x1000307, 0x1002011 ] }; // (Optional) // COMBINING DOT ABOVE, NON-BREAKING HYPHEN + key { [ Tab,ISO_Left_Tab, Multi_key ] }; // Tab as Multi_key (Compose) +}; + +// EXTRAS: + +partial alphanumeric_keys modifier_keys +xkb_symbols "us_dvorak" { + + include "us(dvorak)" + + name[Group1]="Lithuanian (Dvorak)"; + + key { [ 1, exclam, aogonek, Aogonek ] }; + key { [ 2, at, ccaron, Ccaron ] }; + key { [ 3, numbersign, eogonek, Eogonek ] }; + key { [ 4, dollar, eabovedot, Eabovedot ] }; + key { [ 5, percent, iogonek, Iogonek ] }; + key { [ 6, asciicircum, scaron, Scaron ] }; + key { [ 7, ampersand, uogonek, Uogonek ] }; + key { [ 8, asterisk, umacron, Umacron ] }; + key { [ 9, parenleft, doublelowquotemark, parenleft ] }; + key { [ 0, parenright, leftdoublequotemark,parenright ] }; + key { [ equal, plus, zcaron, Zcaron ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys + xkb_symbols "sun_type6" { + include "sun_vndr/lt(sun_type6)" +}; diff --git a/xkbdata/symbols/lv b/xkbdata/symbols/lv new file mode 100644 index 0000000..3a433ae --- /dev/null +++ b/xkbdata/symbols/lv @@ -0,0 +1,530 @@ +// Latvian keymap version 1.3 +// Copyright (C) Dmitry Golubev , 2003-2004 +// +// Reworked to get rid of dead_keys (use of which in this case +// is a dirty hack). It is now not dependent on locale settings +// and GTK_IM_MODULES in Gnome. The map is also providing some of +// ISO9995-3 alternate characters. Note that this version works +// correctly under Gnome 2.6. This is to be put into symbols/ +// directory, or somewhere else. +// +// 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 copyright holder(s) not be used in +// advertising or publicity pertaining to distribution of the software without +// specific, written prior permission. The copyright holder(s) makes no +// representations about the suitability of this software for any purpose. It +// is provided "as is" without express or implied warranty. +// +// THE COPYRIGHT HOLDER(S) DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, +// INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO +// EVENT SHALL THE 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. + +// Modified by Aldis Berjoza , 12 april 2011 +// Changes: +// * Added Latvian Ergonomic, Latvian Adapted and Latvian Modern variants +// Author of this work is Valdis Vītoliņš +// http://odo.lv/LatvianKeyboard +// http://odo.lv/Recipes/LatvianKeyboard#HErgonomiskC481stastatC5ABrasuzlikC5A1anauzLinuxdatora%22 +// * Added guillemotleft, leftdoublequotemark, guillemotright, +// rightdoublequotemark to Latvian modern layout for AD11 and AD12 +// * Added US-Dvorac compatible Latvian layouts +// * Added programmer US-Dvorac compatible Latvian layouts +// * Added US-Colemak compatible Latvian layouts +// * Reformatted layouts + + +//============================================================================ +// Latvian QWERTY layout +// http://en.wikipedia.org/wiki/QWERTY +// +default partial alphanumeric_keys modifier_keys +xkb_symbols "basic" { + + name[Group1]= "Latvian"; + + key {[ grave, asciitilde, acute, asciitilde ]}; + key {[ 1, exclam, onesuperior, exclamdown ]}; + key {[ 2, at, twosuperior, oneeighth ]}; + key {[ 3, numbersign, threesuperior, sterling ]}; + key {[ 4, dollar, EuroSign, cent ]}; + key {[ 5, percent, onehalf, threeeighths ]}; + key {[ 6, asciicircum, threequarters, fiveeighths ]}; + key {[ 7, ampersand, braceleft, seveneighths ]}; + key {[ 8, asterisk, bracketleft, trademark ]}; + key {[ 9, parenleft, bracketright, plusminus ]}; + key {[ 0, parenright, braceright, degree ]}; + key {[ minus, underscore, backslash, questiondown ]}; + key {[ equal, plus, endash, emdash ]}; + + key {[ q, Q, q, Q ]}; + key {[ w, W, w, W ]}; + key {[ e, E, emacron, Emacron ]}; + key {[ r, R, rcedilla, Rcedilla ]}; + key {[ t, T, t, T ]}; + key {[ y, Y, y, Y ]}; + key {[ u, U, umacron, Umacron ]}; + key {[ i, I, imacron, Imacron ]}; + key {[ o, O, omacron, Omacron ]}; + key {[ p, P, p, P ]}; + key {[ bracketleft, braceleft, guillemotleft, leftdoublequotemark ]}; + key {[ bracketright, braceright, guillemotright, rightdoublequotemark ]}; + + key {[ a, A, amacron, Amacron ]}; + key {[ s, S, scaron, Scaron ]}; + key {[ d, D, d, D ]}; + key {[ f, F, f, F ]}; + key {[ g, G, gcedilla, Gcedilla ]}; + key {[ h, H, h, H ]}; + key {[ j, J, j, J ]}; + key {[ k, K, kcedilla, Kcedilla ]}; + key {[ l, L, lcedilla, Lcedilla ]}; + key {[ semicolon, colon, semicolon, colon ]}; + key {[ apostrophe, quotedbl, leftdoublequotemark, doublelowquotemark ]}; + + key {[ z, Z, zcaron, Zcaron ]}; + key {[ x, X, x, X ]}; + key {[ c, C, ccaron, Ccaron ]}; + key {[ v, V, v, V ]}; + key {[ b, B, b, B ]}; + key {[ n, N, ncedilla, Ncedilla ]}; + key {[ m, M, m, M ]}; + key {[ comma, less, U2022, multiply ]}; // bullet + key {[ period, greater, periodcentered, division ]}; + key {[ slash, question, slash, abovedot ]}; + key {[ backslash, bar, grave, breve ]}; + + key {[ space, space, space, space ]}; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys modifier_keys +xkb_symbols "apostrophe" { + + include "lv(basic)" + + name[Group1]= "Latvian (apostrophe)"; + + key {[ISO_Level3_Latch, quotedbl, apostrophe, quotedbl]}; + key {[space, space, apostrophe]}; + modifier_map Mod5 { }; +}; + +partial alphanumeric_keys modifier_keys +xkb_symbols "apostrophe-deadquotes" { + + include "lv(basic)" + + name[Group1]= "Latvian (apostrophe, dead quotes)"; + + key {[ISO_Level3_Latch, ISO_Level3_Latch, apostrophe, quotedbl]}; + key {[space, space, apostrophe, quotedbl]}; + modifier_map Mod5 { }; +}; + +partial alphanumeric_keys modifier_keys +xkb_symbols "tilde" { + + include "lv(basic)" + + name[Group1]= "Latvian (tilde)"; + + key {[ISO_Level3_Latch, asciitilde, grave, acute]}; + key {[space, space, asciitilde]}; + modifier_map Mod5 { }; +}; + +partial alphanumeric_keys modifier_keys +xkb_symbols "fkey" { + + include "lv(basic)" + + name[Group1]= "Latvian (F)"; + + key {[ISO_Level3_Latch, ISO_Level3_Latch, f, F]}; + key {[space, space, f, F]}; + modifier_map Mod5 { }; +}; + +//============================================================================ +// Latvian Adapted keyboard layout +// http://odo.lv/xwiki/bin/download/Main/LatvianKeyboard/Adapted.png +// +// http://odo.lv/LatvianKeyboard +// http://odo.lv/LatvianKeyboard5 +// +partial alphanumeric_keys modifier_keys +xkb_symbols "adapted" { + + include "lv(basic)" + + name[Group1]= "Latvian (adapted)"; + + key {[ 2, Ccaron, at, twosuperior ]}; + key {[ 3, ccaron, numbersign, threesuperior ]}; + key {[ 4, Zcaron, dollar, EuroSign ]}; + key {[ 5, zcaron, percent, onehalf ]}; + + key {[ scaron, Scaron, q, Q ]}; + key {[ emacron, Emacron, w, W ]}; + key {[ e, E, e, E ]}; + + key {[ amacron, Amacron, y, Y ]}; + key {[ u, U, u, U ]}; + key {[ i, I, i, I ]}; + key {[ umacron, Umacron, bracketleft, braceleft ]}; + key {[ ncedilla, Ncedilla, bracketright, braceright ]}; + + key {[ a, A, a, A ]}; + key {[ s, S, s, S ]}; + key {[ g, G, g, G ]}; + + key {[ k, K, k, K ]}; + key {[ l, L, l, L ]}; + key {[ imacron, Imacron, semicolon, colon ]}; + + key {[ z, Z, z, Z ]}; + key {[ kcedilla, Kcedilla, x, X ]}; + key {[ c, C, c, C ]}; + + key {[ n, N, n, N ]}; + + key {[ comma, gcedilla, less, multiply ]}; + key {[ period, Gcedilla, greater, division ]}; + key {[ lcedilla, Lcedilla, slash, question ]}; +}; + +//============================================================================ +// Latvian Ergonomic (ŪGJRMV) keyboard layout by Valdis Vītoliņš +// http://odo.lv/xwiki/bin/download/Main/LatvianKeyboard/Ergonomic.png +// +// http://odo.lv/LatvianKeyboard +// http://odo.lv/LatvianKeyboard5 +// +partial alphanumeric_keys modifier_keys +xkb_symbols "ergonomic" { + + include "lv(apostrophe)" + + name[Group1]= "Latvian (ergonomic, ŪGJRMV)"; + + key {[ 2, at, gcedilla, Gcedilla ]}; + + key {[ minus, underscore, endash, emdash ]}; + key {[ f, F, equal, plus ]}; + + key {[ umacron, Umacron, q, Q ]}; + key {[ g, G, g, G ]}; + key {[ j, J, j, J ]}; + key {[ r, R, rcedilla, Rcedilla ]}; + key {[ m, M, m, M ]}; + key {[ v, V, w, W ]}; + key {[ n, N, y, Y ]}; + key {[ z, Z, z, Z ]}; + key {[ emacron, Emacron, emacron, Emacron ]}; + key {[ ccaron, Ccaron, ccaron, Ccaron ]}; + key {[ zcaron, Zcaron, bracketleft, braceleft ]}; + key {[ h, H, bracketright, braceright ]}; + + key {[ scaron, Scaron, scaron, Scaron ]}; + key {[ u, U, u, U ]}; + key {[ s, S, s, S ]}; + key {[ i, I, i, I ]}; + key {[ l, L, l, L ]}; + key {[ d, D, d, D ]}; + key {[ a, A, a, A ]}; + key {[ t, T, t, T ]}; + key {[ e, E, e, E ]}; + key {[ c, C, c, C ]}; + key {[ ISO_Level3_Latch, quotedbl, apostrophe, quotedbl ]}; + key {[ kcedilla, Kcedilla, slash, backslash ]}; + + key {[ gcedilla, Gcedilla, gcedilla, Gcedilla ]}; + key {[ ncedilla, Ncedilla, ncedilla, Ncedilla ]}; + key {[ b, B, x, X ]}; + key {[ imacron, Imacron, imacron, Imacron ]}; + key {[ k, K, k, K ]}; + key {[ p, P, p, P ]}; + key {[ o, O, omacron, Omacron ]}; + key {[ amacron, Amacron, amacron, Amacron ]}; + key {[ comma, semicolon, less, multiply ]}; + key {[ period, colon, greater, division ]}; + key {[ lcedilla, Lcedilla, question, slash ]}; +}; + +//============================================================================ +// Latvian Modern keyboard layout by Valdis Vītoliņš +// http://odo.lv/xwiki/bin/download/Recipes/LatvianKeyboard/Modern.png +// +// http://odo.lv/LatvianKeyboard +// http://odo.lv/LatvianKeyboard5 +// +partial alphanumeric_keys modifier_keys +xkb_symbols "modern" { + + name[Group1]= "Latvian (modern)"; + + key {[ grave, asciitilde, acute, copyright ]}; + key {[ 1, exclam, onesuperior, exclamdown ]}; + key {[ 2, at, twosuperior, oneeighth ]}; + key {[ 3, numbersign, threesuperior, sterling ]}; + key {[ 4, dollar, EuroSign, cent ]}; + key {[ 5, percent, onehalf, threeeighths ]}; + key {[ 6, asciicircum, threequarters, fiveeighths ]}; + key {[ 7, ampersand, braceleft, seveneighths ]}; + key {[ 8, asterisk, bracketleft, trademark ]}; + key {[ 9, parenleft, bracketright, plusminus ]}; + key {[ 0, parenright, braceright, degree ]}; + key {[ minus, underscore, backslash, questiondown ]}; + key {[ equal, plus, endash, emdash ]}; + + key {[ emacron, Emacron, emacron, Emacron ]}; + key {[ o, O, omacron, Omacron ]}; + key {[ amacron, Amacron, amacron, Amacron ]}; + key {[ p, P, question, P ]}; + key {[ b, B, exclam, B ]}; + key {[ j, J, emdash, J ]}; + key {[ d, D, endash, D ]}; + key {[ imacron, Imacron, imacron, Imacron ]}; + key {[ l, L, lcedilla, Lcedilla ]}; + key {[ g, G, gcedilla, Gcedilla ]}; + Key {[ bracketleft, braceleft, guillemotleft, leftdoublequotemark ]}; + key {[ bracketright, braceright, guillemotright, rightdoublequotemark ]}; + + key {[ e, E, e, E ]}; + key {[ u, U, umacron, Umacron ]}; + key {[ a, A, a, A ]}; + key {[ n, N, ncedilla, Ncedilla ]}; + key {[ k, K, kcedilla, Kcedilla ]}; + key {[ ISO_Level3_Latch, quotedbl, apostrophe, quotedbl ]}; + key {[ s, S, scaron, Scaron ]}; + key {[ i, I, i, I ]}; + key {[ t, T, t, T ]}; + key {[ r, R, rcedilla, Rcedilla ]}; + key {[ m, M, m, M ]}; + key {[ slash, question, backslash, bar ]}; + + key {[ q, Q, q, Q ]}; + key {[ x, X, q, Q ]}; + key {[ z, Z, zcaron, Zcaron ]}; + key {[ c, C, ccaron, Ccaron ]}; + key {[ v, V, bar, V ]}; + key {[ w, W, backslash, W ]}; + key {[ f, F, period, F ]}; + key {[ y, Y, U0233, U0232 ]}; + key {[ h, H, U1E29, U1E28 ]}; + key {[ comma, semicolon, less, multiply ]}; + key {[ period, colon, greater, division ]}; + key {[ space, space, apostrophe ]}; + + modifier_map Mod5 { }; + + include "level3(ralt_switch)" +}; + +// EXTRAS: + +//============================================================================ +// US Dvorak compatible Latvian layout +// http://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard +// +partial alphanumeric_keys modifier_keys +xkb_symbols "dvorak" { + + name[Group1]= "Latvian (Dvorak)"; + + key {[ asciitilde, grave, acute, asciitilde ]}; + key {[ 1, exclam, onesuperior, exclamdown ]}; + key {[ 2, at, twosuperior, oneeighth ]}; + key {[ 3, numbersign, threesuperior, sterling ]}; + key {[ 4, dollar, EuroSign, cent ]}; + key {[ 5, percent, onehalf, threeeighths ]}; + key {[ 6, asciicircum, threequarters, fiveeighths ]}; + key {[ 7, ampersand, braceleft, seveneighths ]}; + key {[ 8, asterisk, bracketleft, trademark ]}; + key {[ 9, parenleft, bracketright, plusminus ]}; + key {[ 0, parenright, braceright, degree ]}; + key {[ bracketleft, braceleft, leftdoublequotemark, guillemotleft ]}; + key {[ bracketright, braceright, rightdoublequotemark, guillemotright ]}; + + key {[ apostrophe, quotedbl, leftdoublequotemark, doublelowquotemark ]}; + key {[ comma, less, guillemotleft, multiply ]}; + key {[ period, greater, guillemotright, division ]}; + key {[ p, P, p, P ]}; + key {[ y, Y, y, Y ]}; + key {[ f, F, f, F ]}; + key {[ g, G, gcedilla, Gcedilla ]}; + key {[ c, C, ccaron, Ccaron ]}; + key {[ r, R, rcedilla, Rcedilla ]}; + key {[ l, L, lcedilla, Lcedilla ]}; + key {[ slash, question, slash, abovedot ]}; + key {[ equal, plus, endash, emdash ]}; + + key {[ a, A, amacron, Amacron ]}; + key {[ o, O, omacron, Omacron ]}; + key {[ e, E, emacron, Emacron ]}; + key {[ u, U, umacron, Umacron ]}; + key {[ i, I, imacron, Imacron ]}; + key {[ d, D, d, D ]}; + key {[ h, H, h, H ]}; + key {[ t, T, t, T ]}; + key {[ n, N, ncedilla, Ncedilla ]}; + key {[ s, S, scaron, Scaron ]}; + key {[ minus, underscore, backslash, questiondown ]}; + + key {[ semicolon, colon, semicolon, colon ]}; + key {[ q, Q, q, Q ]}; + key {[ j, J, j, J ]}; + key {[ k, K, kcedilla, Kcedilla ]}; + key {[ x, X, x, X ]}; + key {[ b, B, b, B ]}; + key {[ m, M, m, M ]}; + key {[ w, W, w, W ]}; + key {[ v, V, v, V ]}; + key {[ z, Z, zcaron, Zcaron ]}; + + key {[ backslash, bar, grave, breve ]}; + + key {[ space, space, space, space ]}; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys modifier_keys +xkb_symbols "ykeydvorak" { + + include "lv(dvorak)" + + name[Group1]= "Latvian (Dvorak, with Y)"; + + key {[ISO_Level3_Latch, ISO_Level3_Latch, y, Y]}; + key {[space, space, y, Y]}; + modifier_map Mod5 { }; +}; + +partial alphanumeric_keys modifier_keys +xkb_symbols "minuskeydvorak" { + + include "lv(dvorak)" + + name[Group1]= "Latvian (Dvorak, with minus)"; + + key {[ISO_Level3_Latch, ISO_Level3_Latch, minus, underscore]}; + key {[space, space, minus, underscore]}; + modifier_map Mod5 { }; +}; + +//============================================================================ +// US Dvorak programmers layput compatible Latvian layout +// http://www.kaufmann.no/roland/dvorak/ +// +partial alphanumeric_keys modifier_keys +xkb_symbols "dvorakprogr" { + + include "lv(dvorak)" + + name[Group1]= "Latvian (programmer Dvorak)"; + + key {[ dollar, asciitilde, EuroSign, cent ]}; + key {[ ampersand, percent, acute, asciitilde ]}; + key {[ bracketleft, 7, onesuperior, twosuperior ]}; + key {[ braceleft, 5, guillemotleft, leftdoublequotemark ]}; + key {[ braceright, 3, guillemotright, rightdoublequotemark ]}; + key {[ parenleft, 1, onehalf, threeeighths ]}; + key {[ equal, 9, threequarters, fiveeighths ]}; + key {[ asterisk, 0, degree, copyright ]}; + key {[ parenright, 2, endash, emdash ]}; + key {[ plus, 4, plusminus, section ]}; + key {[ bracketright, 6, registered, trademark ]}; + key {[ exclam, 8, exclam, exclamdown ]}; + key {[ numbersign, grave, Greek_alpha, Greek_beta ]}; + + key {[ semicolon, colon, semicolon, colon ]}; + key {[ at, asciicircum, at, asciicircum ]}; + + key {[ apostrophe, quotedbl, leftdoublequotemark, doublelowquotemark ]}; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys modifier_keys +xkb_symbols "ykeydvorakprogr" { + + include "lv(dvorakprogr)" + + name[Group1]= "Latvian (programmer Dvorak, with Y)"; + + key {[ISO_Level3_Latch, ISO_Level3_Latch, y, Y]}; + key {[space, space, y, Y]}; + modifier_map Mod5 { }; +}; + +partial alphanumeric_keys modifier_keys +xkb_symbols "minuskeydvorakprogr" { + + include "lv(dvorakprogr)" + + name[Group1]= "Latvian (programmer Dvorak, with minus)"; + + key {[ISO_Level3_Latch, ISO_Level3_Latch, minus, underscore]}; + key {[space, space, minus, underscore]}; + modifier_map Mod5 { }; +}; + +//============================================================================ +// Colemak compatible Latvian layout +// http://colemak.com/ +// +partial alphanumeric_keys modifier_keys +xkb_symbols "colemak" { + + include "lv(basic)" + + name[Group1]= "Latvian (Colemak)"; + + key {[ f, F, f, F ]}; + key {[ p, P, p, P ]}; + key {[ g, G, gcedilla, Gcedilla ]}; + key {[ j, J, j, J ]}; + key {[ l, L, lcedilla, Lcedilla ]}; + key {[ u, U, umacron, Umacron ]}; + key {[ y, Y, y, Y ]}; + key {[ semicolon, colon, semicolon, colon ]}; + + key {[ r, R, rcedilla, Rcedilla ]}; + key {[ s, S, scaron, Scaron ]}; + key {[ t, T, t, T ]}; + key {[ d, D, d, D ]}; + key {[ n, N, ncedilla, Ncedilla ]}; + key {[ e, E, emacron, Emacron ]}; + key {[ i, I, imacron, Imacron ]}; + key {[ o, O, omacron, Omacron ]}; + + key {[ k, K, kcedilla, Kcedilla ]}; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys modifier_keys +xkb_symbols "apostrophecolemak" { + + include "lv(colemak)" + + name[Group1]= "Latvian (Colemak, with apostrophe)"; + + key {[ISO_Level3_Latch, quotedbl, apostrophe, quotedbl]}; + key {[space, space, apostrophe]}; + modifier_map Mod5 { }; +}; + +partial alphanumeric_keys + xkb_symbols "sun_type6" { + include "sun_vndr/lv(sun_type6)" +}; diff --git a/xkbdata/symbols/ma b/xkbdata/symbols/ma new file mode 100644 index 0000000..300069c --- /dev/null +++ b/xkbdata/symbols/ma @@ -0,0 +1,352 @@ +// Arabic AZERTY with modern Latin digits +default partial alphanumeric_keys +xkb_symbols "arabic" { + include "ara(azerty)" + + name[Group1]="Arabic (Morocco)"; +}; + +// French AZERTY keyboard used when typing French +partial alphanumeric_keys +xkb_symbols "french" { + include "fr(basic)" + + name[Group1]="French (Morocco)"; +}; + +// Clavier unicode tifinaghe de base réalisé par l'IRCAM (Institut Royal de la Culture Amazighe du Maroc) http://www.ircam.ma/ +// Support des lettres unicode tifinaghe-IRCAM, néotifinaghes & touarègues. +// Les caractères tifinaghes sont accessibles en SHIFT positions pour le niveau 2, en ALTGR positions pour le niveau 3 +// Polices tifinaghes Unicode à télécharger depuis : +// http://www.ircam.ma/documents/policesclavierunicode/hapaxber.ttf (licence non libre, libre téléchargement et distribution uniquement) +// Minihowto ici: http://perso.menara.ma/~kebdani/tamazgha/gnu_amazigh.html + +partial alphanumeric_keys +xkb_symbols "tifinagh" { + + name[Group1]="Berber (Morocco, Tifinagh)"; + + key { [ twosuperior, NoSymbol ] }; + key { [ ampersand, 1 ] }; + key { [ NoSymbol, 2, asciitilde ] }; + key { [ quotedbl, 3, numbersign ] }; + key { [apostrophe, 4, braceleft ] }; + key { [ parenleft, 5, bracketleft ] }; + key { [ minus, 6, bar ] }; + key { [ NoSymbol , 7 ] }; + key { [underscore, 8, backslash ] }; + key { [NoSymbol, 9, asciicircum ] }; + key { [ NoSymbol , 0, at ] }; + key { [parenright, degree, bracketright ] }; + key { [ equal, plus, braceright ] }; + + key { [ 0x1002d30 ] }; + key { [ 0x1002d63, 0x1002d65 ] }; + key { [ 0x1002d3b, NoSymbol,0x10020ac ] }; + key { [ 0x1002d54, 0x1002d55 ] }; + key { [ 0x1002d5c, 0x1002d5f ] }; + key { [ 0x1002d62 ] }; + key { [ 0x1002d53 ] }; + key { [ 0x1002d49 ] }; + key { [ 0x1002d44 ] }; + key { [ 0x1002d43 ] }; + key { [ 0x1002d6f ] }; + key { [ dollar, sterling, 0x10000a4] }; + + key { [ 0x1002d47 ] }; + key { [ 0x1002d59, 0x1002d5a ] }; + key { [ 0x1002d37, 0x1002d39 ] }; + key { [ 0x1002d3c ] }; + key { [ 0x1002d33, 0x1002d33] }; + key { [ 0x1002d40 ] }; + key { [ 0x1002d4a ] }; + key { [ 0x1002d3d, 0x1002d3d ] }; + key { [ 0x1002d4d ] }; + key { [ 0x1002d4e ] }; + key { [ NoSymbol , percent ] }; + key { [ asterisk, mu ] }; + + key { [ 0x1002d61 ] }; + key { [ 0x1002d45 ] }; + key { [ 0x1002d5b ] }; + key { [ 0x1002d56 ] }; + key { [ 0x1002d31 ] }; + key { [ 0x1002d4f ] }; + key { [ comma, question ] }; + key { [ semicolon, period ] }; + key { [ colon, slash ] }; + key { [ exclam, section ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "tifinagh-phonetic" { + include "ma(tifinagh)" + + name[Group1]="Berber (Morocco, Tifinagh phonetic)"; + + key { [ 0x1002d30 ] }; + key { [ 0x1002d63, 0x1002d65 ] }; + key { [ 0x1002d3b, NoSymbol,0x10020ac ] }; + key { [ 0x1002d54, 0x1002d55 ] }; + key { [ 0x1002d5c, 0x1002d5f ] }; + key { [ 0x1002d62 ] }; + key { [ 0x1002d53 ] }; + key { [ 0x1002d49 ] }; + key { [ 0x1002d44 ] }; + key { [ 0x1002d43 ] }; + + key { [ 0x1002d47 ] }; + key { [ 0x1002d59, 0x1002d5a ] }; + key { [ 0x1002d37, 0x1002d39 ] }; + key { [ 0x1002d3c ] }; + key { [ 0x1002d33 ] }; + key { [ 0x1002d40 ] }; + key { [ 0x1002d4a ] }; + key { [ 0x1002d3d ] }; + key { [ 0x1002d4d ] }; + key { [ 0x1002d4e ] }; + + key { [ 0x1002d61,0x1002d6f ] }; + key { [ 0x1002d45 ] }; + key { [ 0x1002d5b ] }; + key { [ 0x1002d56 ] }; + key { [ 0x1002d31 ] }; + key { [ 0x1002d4f ] }; + + include "level3(ralt_switch)" +}; + +// Clavier unicode tifinaghe étendu réalisé par l'IRCAM (Institut Royal de la Culture Amazighe du Maroc) http://www.ircam.ma/ +// Support des lettres unicode tifinaghe-IRCAM, néotifinaghes & touarègues. +// Les caractères tifinaghes sont accessibles en SHIFT positions pour le niveau 2, en ALTGR positions pour le niveau 3 +// Polices tifinaghes Unicode à télécharger depuis : +// http://www.ircam.ma/documents/policesclavierunicode/hapaxber.ttf (licence non libre, libre téléchargement et distribution uniquement) +// Minihowto ici: http://perso.menara.ma/~kebdani/tamazgha/gnu_amazigh.html + +partial alphanumeric_keys +xkb_symbols "tifinagh-extended" { + + name[Group1]="Berber (Morocco, Tifinagh extended)"; + + key { [ twosuperior,0x100200C ] }; + key { [ ampersand, 1 ] }; + key { [0x1002d52, 2, asciitilde ] }; + key { [ quotedbl, 3, numbersign ] }; + key { [apostrophe, 4, braceleft ] }; + key { [ parenleft, 5, bracketleft ] }; + key { [ minus, 6, bar ] }; + key { [ 0x1002d64 , 7 ] }; + key { [underscore, 8, backslash ] }; + key { [ 0x1002014, 9, asciicircum ] }; + key { [ 0x100200d, 0, at ] }; + key { [parenright, degree, bracketright ] }; + key { [ equal, plus, braceright ] }; + + key { [ 0x1002d30, 0x1002d36 ] }; + key { [ 0x1002d63, 0x1002d65 ] }; + key { [ 0x1002d3b, 0x1002d57, 0x10020ac ] }; + key { [ 0x1002d54, 0x1002d55 ] }; + key { [ 0x1002d5c, 0x1002d5f ] }; + key { [ 0x1002d62, 0x1002d42 ] }; + key { [ 0x1002d53, 0x1002d4c ] }; + key { [ 0x1002d49, 0x1002d58 ] }; + key { [ 0x1002d44, 0x1002d5d ] }; + key { [ 0x1002d43, 0x1002d5e ] }; + key { [ 0x1002d6f, 0x1002d60 ] }; + key { [ dollar, sterling, 0x10000a4] }; + + key { [ 0x1002d47, 0x1002d48 ] }; + key { [ 0x1002d59, 0x1002d5a ] }; + key { [ 0x1002d37, 0x1002d39 ] }; + key { [ 0x1002d3c, 0x1002d35 ] }; + key { [ 0x1002d33, 0x1002d33 ] }; + key { [ 0x1002d40, 0x1002d41 ] }; + key { [ 0x1002d4a, 0x1002d4b ] }; + key { [ 0x1002d3d, 0x1002d3d ] }; + key { [ 0x1002d4d, 0x1002d38 ] }; + key { [ 0x1002d4e, 0x1002d3a ] }; + key { [ 0x1002d51, percent ] }; + key { [ asterisk, mu ] }; + + key { [ 0x1002d61, 0x1002d3e ] }; + key { [ 0x1002d45, 0x1002d46 ] }; + key { [ 0x1002d5b, 0x1002d3f ] }; + key { [ 0x1002d56, 0x1002d34 ] }; + key { [ 0x1002d31, 0x1002d32 ] }; + key { [ 0x1002d4f, 0x1002d50 ] }; + key { [ comma, question ] }; + key { [ semicolon, period ] }; + key { [ colon, slash ] }; + key { [ exclam, section ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "tifinagh-extended-phonetic" { + include "ma(tifinagh-extended)" + + name[Group1]="Berber (Morocco, Tifinagh extended phonetic)"; + + key { [ 0x1002d30 ] }; + key { [ 0x1002d63, 0x1002d65 ] }; + key { [ 0x1002d3b, NoSymbol,0x10020ac ] }; + key { [ 0x1002d54, 0x1002d55 ] }; + key { [ 0x1002d5c, 0x1002d5f ] }; + key { [ 0x1002d62 ] }; + key { [ 0x1002d53 ] }; + key { [ 0x1002d49 ] }; + key { [ 0x1002d44 ] }; + key { [ 0x1002d43 ] }; + + key { [ 0x1002d47 ] }; + key { [ 0x1002d59, 0x1002d5a ] }; + key { [ 0x1002d37, 0x1002d39 ] }; + key { [ 0x1002d3c ] }; + key { [ 0x1002d33 ] }; + key { [ 0x1002d40 ] }; + key { [ 0x1002d4a ] }; + key { [ 0x1002d3d ] }; + key { [ 0x1002d4d ] }; + key { [ 0x1002d4e ] }; + + key { [ 0x1002d61 ] }; + key { [ 0x1002d45 ] }; + key { [ 0x1002d5b ] }; + key { [ 0x1002d56 ] }; + key { [ 0x1002d31 ] }; + key { [ 0x1002d4f ] }; + + include "level3(ralt_switch)" +}; + +// Tifinagh keyboard; improved from the IRCAM layout to make all +// tifinagh chars in unicode accessible (in shift positions for most +// touareg letters; in altgr position for spirants. + +partial alphanumeric_keys +xkb_symbols "tifinagh-alt" { + + name[Group1]="Berber (Morocco, Tifinagh alt.)"; + + key { [ twosuperior, asciitilde ] }; + key { [ ampersand, 1 ] }; + key { [asciitilde, 2, asciitilde ] }; + key { [ quotedbl, 3, numbersign ] }; + key { [apostrophe, 4, braceleft ] }; + key { [ parenleft, 5, bracketleft ] }; + key { [ minus, 6, bar ] }; + key { [ grave, 7, grave ] }; + key { [underscore, 8, backslash ] }; + key { [asciicircum, 9, asciicircum ] }; + key { [ at, 0, at ] }; + key { [parenright, degree, bracketright ] }; + key { [ equal, plus, braceright ] }; + + key { [ 0x1002d30 ] }; + key { [ 0x1002d63, 0x1002d65, 0x1002d64 ] }; + key { [ 0x1002d3b ] }; + key { [ 0x1002d54, 0x1002d55 ] }; + key { [ 0x1002d5c, 0x1002d5f, 0x1002d5d ] }; + key { [ 0x1002d62 ] }; + key { [ 0x1002d53 ] }; + key { [ 0x1002d49 ] }; + key { [ 0x1002d44 ] }; + key { [ 0x1002d43, 0x1002d52 ] }; + key { [ dead_circumflex ] }; + key { [ dollar, sterling ] }; + + key { [ 0x1002d47, 0x1002d48 ] }; + key { [ 0x1002d59, 0x1002d5a ] }; + key { [ 0x1002d37, 0x1002d39, 0x1002d38, 0x1002d3a ] }; + key { [ 0x1002d3c ] }; + key { [ 0x1002d33, 0x1002d36, 0x1002d34, 0x1002d35 ] }; + key { [ 0x1002d40, 0x1002d42, 0x1002d41 ] }; + key { [ 0x1002d4a, 0x1002d4c, 0x1002d4b ] }; + key { [ 0x1002d3d, 0x1002d3e, 0x1002d3f ] }; + key { [ 0x1002d4d ] }; + key { [ 0x1002d4e ] }; + key { [ percent ] }; + key { [ asterisk, mu ] }; + + key { [ 0x1002d61, 0x1002d6f, 0x1002d60 ] }; + key { [ 0x1002d45, 0x1002d46 ] }; + key { [ 0x1002d5b, 0x1002d5e ] }; + key { [ 0x1002d56, 0x1002d57, 0x1002d58 ] }; + key { [ 0x1002d31, 0x1002d31, 0x1002d32 ] }; + key { [ 0x1002d4f, 0x1002d50, 0x1002d51 ] }; + key { [ comma, question ] }; + key { [ semicolon, period ] }; + key { [ colon, slash ] }; + key { [ exclam, section ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "tifinagh-alt-phonetic" { + include "ma(tifinagh-alt)" + + name[Group1]="Berber (Morocco, Tifinagh phonetic, alt.)"; + + key { [ 0x1002d30 ] }; + key { [ 0x1002d63, 0x1002d65, 0x1002d64 ] }; + key { [ 0x1002d3b ] }; + key { [ 0x1002d54, 0x1002d55 ] }; + key { [ 0x1002d5c, 0x1002d5f, 0x1002d5d ] }; + key { [ 0x1002d62 ] }; + key { [ 0x1002d53 ] }; + key { [ 0x1002d49 ] }; + key { [ 0x1002d44 ] }; + key { [ 0x1002d43, 0x1002d52 ] }; + + key { [ 0x1002d47, 0x1002d48 ] }; + key { [ 0x1002d59, 0x1002d5a ] }; + key { [ 0x1002d37, 0x1002d39, 0x1002d38, 0x1002d3a ] }; + key { [ 0x1002d3c ] }; + key { [ 0x1002d33, 0x1002d36, 0x1002d34, 0x1002d35 ] }; + key { [ 0x1002d40, 0x1002d42, 0x1002d41 ] }; + key { [ 0x1002d4a, 0x1002d4c, 0x1002d4b ] }; + key { [ 0x1002d3d, 0x1002d3e, 0x1002d3f ] }; + key { [ 0x1002d4d ] }; + key { [ 0x1002d4e ] }; + + key { [ 0x1002d61, 0x1002d6f, 0x1002d60 ] }; + key { [ 0x1002d45, 0x1002d46 ] }; + key { [ 0x1002d5b, 0x1002d5e ] }; + key { [ 0x1002d56, 0x1002d57, 0x1002d58 ] }; + key { [ 0x1002d31, 0x1002d31, 0x1002d32 ] }; + key { [ 0x1002d4f, 0x1002d50, 0x1002d51 ] }; + + include "level3(ralt_switch)" +}; + +// Latin Tarifit keyboard. Used by the riffian community +// Tarifit characters are accessed using ALTGR + + +partial alphanumeric_keys +xkb_symbols "rif" { + // Tarifit keyboard (QWERTY varient) + // By Ilyahoo Proshel 2021 + // Only "ʷ ɛ ṭ ḍ γ ḥ ẓ ṣ" are supported by Rif Community. + + include "us" + + name[Group1]= "Tarifit"; + + key {[ w, W, U02B7 ]}; // ʷ + key {[ e, E, U025B, U0190 ]}; // e E ɛ Ɛ + key {[ t, T, U1E6D, U1E6C ]}; // t T ṭ Ṭ + key {[ s, S, U1E63, U1E62 ]}; // s S ṣ Ṣ + key {[ d, D, U1E0D, U1E0C ]}; // d D ḍ Ḍ + key {[ g, G, U0263, U0194 ]}; // g G ɣ Ɣ + key {[ h, H, U1E25, U1E24 ]}; // h H ḥ Ḥ + key {[ z, Z, U1E93, U1E92 ]}; // z Z ẓ Ẓ + + + include "level3(ralt_switch)" +}; + diff --git a/xkbdata/symbols/macintosh_vndr/apple b/xkbdata/symbols/macintosh_vndr/apple new file mode 100644 index 0000000..342eb7d --- /dev/null +++ b/xkbdata/symbols/macintosh_vndr/apple @@ -0,0 +1,141 @@ +// +// Keyboard modification for Apple keyboards +// + +default partial modifier_keys +xkb_symbols "extended" { + + key { [ KP_Equal ] }; + +// The key in the PC's Insert position is sometimes engraved Help (at least +// in Switzerland and Great Britain), with Insert sometimes above. But in the +// US and Canada, it remains Insert. So this should probably be an XkbOption, +// but I have to do more research. +// Perhaps Help should be the primary symbol with Insert in the 1st shift-level +// key { [ Help, Insert ] }; +// The keys next to F12, labeled F13, F14, & F15 generate codes that XFree86 +// claims not to generate. I think they should be equivalent to the PC keys +// Print Screen / SysRq, Scroll Lock, and Pause. Linux kernel bug? +// key { [ F13 ] }; // should be keycode 93 or +// key { [ F13 ] }; // should be keycode 118 +// key { [ F14 ] }; // should be keycode 123 or +// key { [ F14 ] }; // should be keycode 119 +// key { [ F15 ] }; // should be keycode 127 or +// key { [ F15 ] }; // should be keycode 120 +}; + +partial modifier_keys +xkb_symbols "laptop" { + + include "macintosh_vndr/apple(extended)" + + // The real numlock key on the iBook (shared with F5) works internally to + // the keyboard. It illuminates the Num_Lock led and locks the fn-key to + // type only the keypad keys on the letter keys (U=4, I=5, O=6, P=*, etc.). + // The key in the Num_lock position is engraved with Clear. + override key { [ Clear ] }; + // The key engraved Delete sends BKSP. To get Delete, use Shift-Delete + override key { [ BackSpace, Delete ] }; + // These keyboards only generate a when pressing fn+Alt. This makes + // it impossible to get to the third shift level on keys that are on + // the fn-keypad, so use the Enter key (right of ) for Mode_switch, + // and use fn+Enter (Apple's code for Menu) for KP_Enter. + replace key { [ ISO_Level3_Shift ] }; + modifier_map Mod5 { ISO_Level3_Shift }; + // Linux kernel bug with Menu on macs means this does not work yet +// replace key { [ KP_Enter ] }; // should be keycode 117 +}; + +partial modifier_keys +xkb_symbols "laptop_bad_switch" { + // Kept for backward compatibility + include "macintosh_vndr/apple(laptop)" +}; + +// Long Aluminium Keyboards +partial function_keys +xkb_symbols "alukbd" { + // The base is a inet PC keyboard + include "pc" + + // Additional Fxx keys + key { [ F13 ] }; + key { [ F14 ] }; + key { [ F15 ] }; + key { [ F16 ] }; + key { [ F17 ] }; + key { [ F18 ] }; + key { [ F19 ] }; + + // On aluminium keyboards, Num_Lock is replace by Clear + replace key { [ Clear ] }; + // CAPS key is always Caps_Lock, even for JIS keyboards + replace key { [ Caps_Lock ] }; + + // F1..F12 are multimedia keys when used with the 'Fn' key + // Make those multimedia actions available via ISO_Level3_Shift too, + // it is useful when the Fn key is remapped to something else (e.g. Insert) + key { + type= "FOUR_LEVEL_X", + symbols[Group1]= [ NoSymbol, XF86KbdBrightnessDown, NoSymbol, XF86_Switch_VT_1 ] + }; + key { + type= "FOUR_LEVEL_X", + symbols[Group1]= [ NoSymbol, XF86KbdBrightnessUp, NoSymbol, XF86_Switch_VT_2 ] + }; + key { + type= "FOUR_LEVEL_X", + symbols[Group1]= [ NoSymbol, NoSymbol, NoSymbol, XF86_Switch_VT_3 ] + }; + key { + type= "FOUR_LEVEL_X", + symbols[Group1]= [ NoSymbol, NoSymbol, NoSymbol, XF86_Switch_VT_4 ] + }; + key { + type= "FOUR_LEVEL_X", + symbols[Group1]= [ NoSymbol, NoSymbol, NoSymbol, XF86_Switch_VT_5 ] + }; + key { + type= "FOUR_LEVEL_X", + symbols[Group1]= [ NoSymbol, NoSymbol, NoSymbol, XF86_Switch_VT_6 ] + }; + key { + type= "FOUR_LEVEL_X", + symbols[Group1]= [ NoSymbol, XF86AudioPrev, NoSymbol, XF86_Switch_VT_7 ] + }; + key { + type= "FOUR_LEVEL_X", + symbols[Group1]= [ NoSymbol, XF86AudioPlay, NoSymbol, XF86_Switch_VT_8 ] + }; + key { + type= "FOUR_LEVEL_X", + symbols[Group1]= [ NoSymbol, XF86AudioNext, NoSymbol, XF86_Switch_VT_9 ] + }; + key { + type= "FOUR_LEVEL_X", + symbols[Group1]= [ NoSymbol, XF86AudioMute, NoSymbol, XF86_Switch_VT_10 ] + }; + key { + type= "FOUR_LEVEL_X", + symbols[Group1]= [ NoSymbol, XF86AudioLowerVolume, NoSymbol, XF86_Switch_VT_11 ] + }; + key { + type= "FOUR_LEVEL_X", + symbols[Group1]= [ NoSymbol, XF86AudioRaiseVolume, NoSymbol, XF86_Switch_VT_12 ] + }; +}; + +// Aluminium Keyboard: make F13, F14, F15 PC-ish (Print, Scroll_Lock, Pause) +partial function_keys keypad_keys +xkb_symbols "alupckeys" { + key { + type= "PC_ALT_LEVEL2", + symbols[Group1]= [ Print, Sys_Req ] + }; + key { [ Scroll_Lock ] }; + key { + type= "PC_CONTROL_LEVEL2", + symbols[Group1]= [ Pause, Break ] + }; + override key { [ Num_Lock, Pointer_EnableKeys ] }; +}; diff --git a/xkbdata/symbols/macintosh_vndr/ch b/xkbdata/symbols/macintosh_vndr/ch new file mode 100644 index 0000000..b5e136c --- /dev/null +++ b/xkbdata/symbols/macintosh_vndr/ch @@ -0,0 +1,97 @@ +// +// 03.01.2003 +// Andreas Tobler +// modified for Swiss German Apple Extended Keyboard II + +default +partial alphanumeric_keys +xkb_symbols "extended" { + + name[Group1]= "Switzerland - German, Mac"; + + key { [ 1, plus, plusminus, infinity ] }; + key { [ 2, quotedbl, leftdoublequotemark, rightdoublequotemark ] }; + key { [ 3, asterisk, numbersign, leftcaret ] }; + // not displayed here + key { [ 4, ccedilla, Ccedilla, slash ] }; + key { [ 5, percent, bracketleft ] }; + key { [ 6, ampersand, bracketright ] }; + key { [ 7, slash, bar, backslash ] }; + key { [ 8, parenleft, braceleft, Ograve ] }; + key { [ 9, parenright, braceright, Ocircumflex ] }; + key { [ 0, equal, notequal, Uacute ] }; + key { [ apostrophe, question, questiondown, NoSymbol ] }; + key { [ dead_circumflex,dead_grave, dead_acute, asciicircum ] }; + key { [ q, Q, oe, OE ] }; + key { [ w, W, Greek_SIGMA, Aacute ] }; + key { [ e, E, EuroSign, Ediaeresis ] }; + key { [ r, R, registered, Egrave ] }; + key { [ t, T, dagger, Icircumflex ] }; + key { [ z, Z, Greek_OMEGA, Iacute ] }; + key { [ u, U, degree, Ugrave ] }; + key { [ i, I, exclamdown, idotless ] }; + key { [ o, O, oslash, Ooblique ] }; + key { [ p, P, Greek_pi, Greek_PI ] }; + key { [ udiaeresis, egrave, section, ydiaeresis ] }; + key { [ dead_diaeresis, exclam, grave, apostrophe ] }; + key { [ a, A, aring, Aring ] }; + key { [ s, S, ssharp, U1E9E ] }; + // ligature fl + key { [ d, D, Greek_sigma, NoSymbol ] }; + // partialderivative is not available here att + key { [ f, F, function, doubledagger ] }; + key { [ g, G, at, comma ] }; + key { [ h, H, ordfeminine, periodcentered ] }; + key { [ j, J, masculine, eth ] }; + key { [ k, K, Greek_DELTA, macron ] }; + key { [ l, L, notsign, caret ] }; + key { [ odiaeresis, eacute, cent, breve ] }; + key { [ adiaeresis, agrave, ae, AE ] }; + key { [ y, Y, yen, Ydiaeresis ] }; + key { [ x, X, similarequal, trademark ] }; + key { [ c, C, copyright, NoSymbol ] }; + key { [ v, V, radical, diamond ] }; + key { [ b, B, integral, NoSymbol ] }; + key { [ n, N, dead_tilde, enopencircbullet ] }; + // to be fixed att + key { [ m, M, mu, dead_abovering ] }; + // not sure att + key { [ comma, semicolon, guillemotleft, guillemotright ] }; + key { [ period, colon, ellipsis, division ] }; + key { [ minus, underscore, hyphen, emdash ] }; + key { [ section, degree, NoSymbol, NoSymbol ] }; + // ligature fi // per mille + key { [ space, nobreakspace, nobreakspace ] }; + key { [ less, greater, lessthanequal, greaterthanequal ] }; + key { [ dollar, sterling, paragraph, enfilledcircbullet ] }; + + include "kpdl(comma)" + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "de" { + include "macintosh_vndr/ch(extended)" +}; + +partial alphanumeric_keys +xkb_symbols "fr" { + + include "macintosh_vndr/ch(extended)" + name[Group1]= "Switzerland - French, Mac"; + + override key { + [ egrave, udiaeresis, bracketleft ] + }; + override key { + [ eacute, odiaeresis ] + }; + override key { + [ agrave, adiaeresis, braceleft ] + }; +}; + +partial alphanumeric_keys +xkb_symbols "nodeadkeys" { + include "macintosh_vndr/ch(fr)" // for consistent naming +}; diff --git a/xkbdata/symbols/macintosh_vndr/de b/xkbdata/symbols/macintosh_vndr/de new file mode 100644 index 0000000..364993b --- /dev/null +++ b/xkbdata/symbols/macintosh_vndr/de @@ -0,0 +1,94 @@ +// olh@suse.de very close to MacOS map + +default partial alphanumeric_keys +xkb_symbols "basic" { + + // Describes the differences between a very simple US/ASCII + // keyboard and a simple German keyboard. + + include "latin" + name[Group1]= "Germany - Mac"; + + key { [ dead_circumflex, degree, notsign ] }; + key { [ 1, exclam, exclamdown, at ] }; + key { [ 2, quotedbl, twosuperior ] }; + key { [ 3, section, threesuperior,sterling ] }; + key { [ 4, dollar, onequarter, currency ] }; + key { [ 5, percent, bracketleft ] }; + key { [ 6, ampersand, bracketright ] }; + key { [ 7, slash, bar, backslash ] }; + key { [ 8, parenleft, braceleft, asciitilde ] }; + key { [ 9, parenright, braceright ] }; + key { [ 0, equal, braceright, degree ] }; + key { [ ssharp, question, backslash, questiondown ] }; + key { [ dead_acute, dead_grave, dead_cedilla ] }; + + key { [ q, Q, guillemotleft,guillemotright ] }; + key { [ e, E, EuroSign ] }; + key { [ r, R, registered ] }; + key { [ t, T ] }; + key { [ z, Z ] }; + key { [ u, U, diaeresis, Aacute ] }; + key { [ i, I, slash, Ucircumflex ] }; + key { [ o, O, oslash, Ooblique ] }; + key { [ udiaeresis, Udiaeresis, periodcentered, degree ] }; + key { [ plus, asterisk, asciitilde ] }; + key { [ a, A, aring, Aring ] }; + key { [ f, F ] }; + key { [ g, G, copyright ] }; + key { [ h, H, ordfeminine ] }; + key { [ l, L, at ] }; + key { [ odiaeresis, Odiaeresis, dead_acute ] }; + key { [ adiaeresis, Adiaeresis, dead_circumflex ] }; + + key { [ less, greater, bar ] }; + key { [ y, Y, guillemotleft, less ] }; + key { [ v, V, doublelowquotemark, leftsinglequotemark ] }; + key { [ b, B, rightdoublequotemark, leftdoublequotemark ] }; + key { [ n, N, asciitilde ] }; + key { [ m, M, mu ] }; + key { [ comma, semicolon ] }; + key { [ period, colon, periodcentered, division ] }; + key { [ minus, underscore ] }; + key { [ numbersign, apostrophe, dead_grave ] }; + + include "kpdl(comma)" + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "Sundeadkeys" { + // modify the default German layout to use Sun dead keys + include "macintosh_vndr/de(basic)" + name[Group1]= "Germany - Mac, Sun dead keys"; + + key {[ dead_circumflex, degree, notsign ]}; + key {[ dead_acute, dead_grave, dead_cedilla ]}; + key {[ udiaeresis, Udiaeresis, dead_diaeresis ]}; + key {[ plus, asterisk, dead_tilde, dead_macron ]}; + key {[ odiaeresis, Odiaeresis, dead_acute ]}; + key {[ adiaeresis, Adiaeresis, dead_circumflex ]}; + + key {[ numbersign, acute, dead_grave ]}; +}; + +partial alphanumeric_keys +xkb_symbols "sundeadkeys" { + include "macintosh_vndr/de(Sundeadkeys)" +}; + +partial alphanumeric_keys +xkb_symbols "nodeadkeys" { + // modify the default German layout to not have any dead keys + include "macintosh_vndr/de(basic)" + name[Group1]= "Germany - Mac, no dead keys"; + + key { [ asciicircum, degree, notsign ] }; + key { [ acute, grave, cedilla ] }; + key { [ udiaeresis, Udiaeresis, diaeresis ] }; + key { [ plus, asterisk, asciitilde, macron ] }; + key { [ odiaeresis, Odiaeresis, acute ] }; + key { [ adiaeresis, Adiaeresis, asciicircum ] }; + + key { [ numbersign, apostrophe, grave ] }; +}; diff --git a/xkbdata/symbols/macintosh_vndr/dk b/xkbdata/symbols/macintosh_vndr/dk new file mode 100644 index 0000000..bcd63a3 --- /dev/null +++ b/xkbdata/symbols/macintosh_vndr/dk @@ -0,0 +1,66 @@ +default partial alphanumeric_keys +xkb_symbols "basic" { + + // Describes the differences between a very simple en_US + // keyboard and a Danish keyboard with dead key support + // and all of ISO-8859-1 characters available. + + include "latin" + name[Group1]= "Denmark - Mac"; + + key { [ onehalf, section, threequarters, paragraph ]}; + key { [ less, greater, backslash, notsign ]}; + key { [ space, space, nobreakspace, nobreakspace ]}; + key { [ 1, exclam, exclamdown, onesuperior ]}; + key { [ 2, quotedbl, at, twosuperior ]}; + key { [ 3, numbersign, sterling, threesuperior ]}; + key { [ 4, EuroSign, dollar, onequarter ]}; + key { [ 5, percent, NoSymbol, cent ]}; + key { [ 6, ampersand, yen, NoSymbol ]}; + key { [ 7, slash, braceleft, division ]}; + key { [ 8, parenleft, bracketleft, guillemotleft ]}; + key { [ 9, parenright, bracketright, guillemotright ]}; + key { [ 0, equal, braceright, degree ]}; + key { [ plus, question, plusminus, questiondown ]}; + key { [ dead_acute, dead_grave, bar, brokenbar ]}; + key { [ c, C, copyright, NoSymbol ]}; + key { [ comma, semicolon, dead_cedilla, dead_ogonek ]}; + key { [ period, colon, periodcentered, dead_abovedot ]}; + key { [ minus, underscore, hyphen, macron ]}; + key { [ a, A, ordfeminine, masculine ]}; + key { [ d, D, eth, ETH ]}; + key { [ ae, AE ]}; + key { [ oslash, Ooblique ]}; + key { [ e, E, EuroSign, cent ]}; + key { [ r, R, registered, NoSymbol ]}; + key { [ t, T, thorn, THORN ]}; + key { [ i, I, NoSymbol, NoSymbol ]}; + key { [ o, O, oe, OE ]}; + key { [ aring, Aring ]}; + key { [ dead_diaeresis, dead_circumflex, dead_tilde, dead_caron ]}; + key { [ apostrophe, asterisk, dead_doubleacute, multiply ]}; + + include "eurosign(e)" + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "nodeadkeys" { + include "macintosh_vndr/dk(basic)" + name[Group1]= "Denmark - Mac, no dead keys"; + + key { [ acute, grave, bar, ogonek ] }; + key { [ diaeresis, asciicircum, asciitilde, dead_macron ] }; +}; + +partial alphanumeric_keys +xkb_symbols "macbookpro" { + + include "level3(win_switch)" + include "macintosh_vndr/dk(basic)" + + name[Group1]= "Denmark - Mac, MacBook Pro"; + + key { [apostrophe, asterisk, at, at ] }; + key { [ dollar, section, dollar, dollar ] }; +}; diff --git a/xkbdata/symbols/macintosh_vndr/fi b/xkbdata/symbols/macintosh_vndr/fi new file mode 100644 index 0000000..23e3e0c --- /dev/null +++ b/xkbdata/symbols/macintosh_vndr/fi @@ -0,0 +1,11 @@ +default partial alphanumeric_keys +xkb_symbols "basic" { + include "macintosh_vndr/se(basic)" // for consistent naming + name[Group1]= "Finland - Mac"; +}; + +partial alphanumeric_keys +xkb_symbols "nodeadkeys" { + include "macintosh_vndr/se(basic)" // for consistent naming + name[Group1]= "Finland - Mac, no dead keys"; +}; diff --git a/xkbdata/symbols/macintosh_vndr/fr b/xkbdata/symbols/macintosh_vndr/fr new file mode 100644 index 0000000..54aabfe --- /dev/null +++ b/xkbdata/symbols/macintosh_vndr/fr @@ -0,0 +1,108 @@ +// Marc.Shapiro@inria.fr 19-sep-1998 +// modifications : Etienne Herlent june 2000 +// adapted to the new input layer : +// Martin Costabel 3-jan-2001 +////////////////////////////////////////////////////////////////// +// Petites Modification le juillet 2005 par Bin Zhang : +// 1) La ligne 83 : remplacer les deux "VoidSymbol" par oe et OE +// 2) La ligne 89 : remplacer "VoidSymbol" par "EuroSign" +// ( 1) et 2) fonctionnent sous UTF-8, mais pas sous iso-8859-1. ) +// 3) Remplacer la ligne 148 par la ligne 149 pour que la touche Alt_L +// (la touche Apple-Pomme) fonctionne correctement sous Xorg, une idée +// motivée par http://www.linux-france.org/macintosh/clavier_gentoo.html +////////////////////////////////////////////////////////////////// +// This map is an almost-complete mapping of the standard French +// MacIntosh keyboard under Xwindows. I tried to remain as faithful +// as possible to the Mac meaning of each key. I did this entirely by +// hand and by intuition, relying on the Clavier (Keyboard?) Desktop +// Accessory for the Mac meaning of keys, and on reading keysymdef.h +// to intuit the corresponding X names. Lacking proper documentation, +// I may have made some mistakes. + +// Entries marked CHECK are particularly uncertain + +// Entries marked MISSING mark Mac characters for which I was unable +// to find a corresponding keysym. (Some for sure don't: e.g. the +// Apple mark and the oe/OE character; others I may have simply not +// found.) + +default +xkb_symbols "extended" { + + name[Group1]= "France - Mac"; + + key { [ Escape ] }; + + key { [ at, numbersign, periodcentered, Ydiaeresis ] }; + key { [ KP_Enter ] }; + key { [ ampersand, 1, VoidSymbol, dead_acute ] }; // MISSING: Apple + key { [ eacute, 2, ediaeresis, Eacute ] }; + key { [ quotedbl, 3, leftdoublequotemark, rightdoublequotemark ] }; + key { [ apostrophe, 4, leftsinglequotemark, rightsinglequotemark ] }; + key { [ parenleft, 5, braceleft, bracketleft ] }; + key { [ section, 6, paragraph, aring ] }; + key { [ egrave, 7, guillemotleft, guillemotright] }; + key { [ exclam, 8, exclamdown, Ucircumflex ] }; + key { [ ccedilla, 9, Ccedilla, Aacute ] }; + key { [ agrave, 0, oslash, Oslash ] }; + key { [ parenright, degree, braceright, bracketright ] }; + key { [ minus, underscore, emdash, endash ] }; + key { [ BackSpace, VoidSymbol, Delete, VoidSymbol ] }; + + key { [ Tab, ISO_Left_Tab ] }; + key { [ a, A, ae, AE ] }; + key { [ z, Z, Acircumflex, Aring ] }; + key { [ e, E, ecircumflex, Ecircumflex ] }; + key { [ r, R, registered, currency ] }; + key { [ t, T, dagger, trademark ] }; + key { [ y, Y, Uacute, Ydiaeresis ] }; + key { [ u, U, masculine, ordfeminine ] }; + key { [ i, I, icircumflex, idiaeresis ] }; + key { [ o, O, oe, OE ] }; + key { [ p, P, Greek_pi, Greek_PI ] }; + key { [dead_circumflex,dead_diaeresis,ocircumflex, Ocircumflex ] }; + key { [ dollar, asterisk, EuroSign, yen ] }; + key { [ Caps_Lock ] }; + key { [ q, Q, doubledagger, Greek_OMEGA ] }; + key { [ s, S, Ograve, Greek_SIGMA ] }; + key { [ d, D, Greek_delta, Greek_DELTA ] }; + key { [ f, F, VoidSymbol, periodcentered ] }; + key { [ g, G, VoidSymbol, VoidSymbol ] }; // MISSING: ligature fi,fl + key { [ h, H, Igrave, Icircumflex ] }; + key { [ j, J, Idiaeresis, Iacute ] }; + key { [ k, K, Egrave, Ediaeresis ] }; + key { [ l, L, notsign, bar ] }; + key { [ m, M, mu, Oacute ] }; + key { [ ugrave, percent, Ugrave, 0x1002030 ] }; + key { [ dead_grave, sterling, at, numbersign ] }; + key { [ Return ] }; + + key { [ less, greater, lessthanequal, greaterthanequal ] }; + key { [ w, W, guilsinglleft, guilsinglright ] }; // MISSING: half-guillemot (single angle bracket) + key { [ x, X, VoidSymbol, VoidSymbol ] }; // CHECK: similarequal; MISSING: extra-slanted slash + key { [ c, C, copyright, cent ] }; + key { [ v, V, diamond, radical ] }; // CHECK diamond + key { [ b, B, ssharp, integral ] }; + key { [ n, N, dead_tilde, asciitilde ] }; + key { [ comma, question, infinity, questiondown ] }; + key { [ semicolon, period, ellipsis, periodcentered ] }; + key { [ colon, slash, division, backslash ] }; + key { [ equal, plus, notequal, plusminus ] }; + + key { [ space, space, nobreakspace, nobreakspace ] }; + + include "level3(ralt_switch)" +}; + + + +xkb_symbols "nodeadkeys" { +include "macintosh_vndr/fr(extended)" + name[Group1]= "France - Mac, no dead keys"; + + key { [ ampersand, 1, VoidSymbol, acute ] }; // MISSING: Apple + key { [asciicircum,diaeresis,ocircumflex, Ocircumflex ] }; + key { [ grave, sterling, at, numbersign ] }; + + key { [ n, N, asciitilde, dead_tilde ] }; +}; diff --git a/xkbdata/symbols/macintosh_vndr/gb b/xkbdata/symbols/macintosh_vndr/gb new file mode 100644 index 0000000..87e0b16 --- /dev/null +++ b/xkbdata/symbols/macintosh_vndr/gb @@ -0,0 +1,17 @@ +default partial alphanumeric_keys +xkb_symbols "basic" { + + // Describes the differences between a very simple en_US + // keyboard and a very simple U.K. keyboard layout + + include "macintosh_vndr/us" + + name[Group1]= "United Kingdom - Mac"; + + key { [ 2, at, EuroSign ] }; + key { [ 3, sterling, numbersign ] }; + key { [ section, plusminus ] }; + key { [ grave, asciitilde ] }; + + include "level3(ralt_switch)" +}; diff --git a/xkbdata/symbols/macintosh_vndr/is b/xkbdata/symbols/macintosh_vndr/is new file mode 100644 index 0000000..e9595fd --- /dev/null +++ b/xkbdata/symbols/macintosh_vndr/is @@ -0,0 +1,127 @@ +// +// This file describes the differences between a Macintosh US Extended +// keymap and an Icelandic keyboard layout in the style of Mac OS and Mac OS X +// +// Copyright (C) 2004, 2006 Ævar Arnfjörð Bjarmason +// +// 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 a copyright holder shall +// not be used in advertising or otherwise to promote the sale, use or +// other dealings in this Software without prior written authorization of +// the copyright holder. +// +// = HISTORY +// * 2004-09-28: +// Initial cleanroom writing of the keymap, I just booted Mac OS X, opened +// TextEdit.app and wrote down what the value produced by each key was when I +// pressed it, a for a, A for shift + a, å for lalt + a etc and made the +// keymap from that information +// +// * 2006-01-14: +// Revised the comments in the file +// +// = NOTES +// * 20 characters in this keymap have no named character defined in +// include/keysymdef.h and as a result their Unicode code points in +// hexadecimal are listed here, these can be generated with the following +// perl command: +// $ perl -CA -e 'printf "U%x\n", ord shift' Æ +// and converted back like: +// $ perl -CO -le '$_=shift;s/[^a-f0-9]//ig;print chr hex' Uc6 +// * The Apple logo appears twice on this keymap like the Mac OS and Mac OS X +// keymaps. In the MacRoman encoding it has the code point 0xF0 (240) but it +// has no assigned code point in Unicode, the code point Apple uses for it is +// U+F8FF (63743) which is in the BMP's Private Use Area (U+E000–U+F8FF) +// * This keymap has only been tested on a PowerBook6,5 (iBook G4) but it +// should work on other Apple laptop models which use the same keyboard +// layout. It will probably work on standard sized keyboards with little or +// no modification but it might not support them fully, please report if +// you're able to get it running with such a keyboard + +default partial alphanumeric_keys +xkb_symbols "basic" { + name[Group1]= "Iceland - Mac"; + + //-- Row 5 (E) --// + key { [ sterling, section, UF8FF, apostrophe ] }; + key { [ 1, exclam, exclamdown, VoidSymbol ] }; + key { [ 2, quotedbl, at, VoidSymbol ] }; + key { [ 3, numbersign, U2122, sterling ] }; + key { [ 4, dollar, U00A2, EuroSign ] }; + key { [ 5, percent, U2030, infinity ] }; + key { [ 6, ampersand, asciicircum, U2044 ] }; + key { [ 7, slash, backslash, U00F7 ] }; + key { [ 8, parenleft, bracketleft, braceleft ] }; + key { [ 9, parenright, bracketright, braceright ] }; + key { [ 0, equal, U2260, U2248 ] }; + key { [ odiaeresis, Odiaeresis, oslash, Ooblique ] }; + key { [ minus, underscore, endash, emdash ] }; + + + //-- Row 4 (D) --// + key { [ q, Q, paragraph, VoidSymbol ] }; + key { [ w, W, U2211, VoidSymbol ] }; + key { [ e, E, dead_grave, VoidSymbol ] }; + key { [ r, R, registered, VoidSymbol ] }; + key { [ t, T, degree, VoidSymbol ] }; + key { [ y, Y, yen, VoidSymbol ] }; + key { [ u, U, dead_diaeresis, VoidSymbol ] }; + key { [ i, I, U0131, U00AA ] }; + key { [ o, O, dead_circumflex,U00BA ] }; + key { [ p, P, Greek_pi, Greek_PI ] }; + key { [ eth, Eth, U201e, U201c ] }; + key { [ apostrophe, question, questiondown, U00B7 ] }; + + + //-- Row 3 (C) --// + key { [ a, A, aring, Aring ] }; + key { [ s, S, ssharp, abovedot ] }; + key { [ d, D, U2202, U2DA ] }; + key { [ f, F, U192, macron ] }; + key { [ g, G, copyright, breve ] }; + key { [ h, H, bar, VoidSymbol ] }; + key { [ j, J, U2206, U2dd ] }; + key { [ k, K, U00AC, VoidSymbol ] }; + key { [ l, L, U2026, caron ] }; + key { [ ae, AE, oe, OE ] }; + key { [ dead_acute, dead_diaeresis, U201A, U2018 ] }; + key { [ plus, asterisk, U2022, plusminus ] }; + + + //-- Row 2 (B) --// + key { [ less, greater, section, UF8FF ] }; + key { [ z, Z, U3A9, VoidSymbol ] }; + key { [ x, X, asciitilde, VoidSymbol ] }; + key { [ c, C, ccedilla, Ccedilla ] }; + key { [ v, V, U221A, U25CA ] }; + key { [ b, B, U222B, VoidSymbol ] }; + key { [ n, N, dead_tilde, VoidSymbol ] }; + key { [ m, M, U00B5, VoidSymbol ] }; + key { [ comma, semicolon, lessthanequal, guillemotleft ] }; + key { [ period, colon, greaterthanequal,guillemotright ] }; + key { [ thorn, Thorn, U2019, U201d ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "nodeadkeys" { + include "macintosh_vndr/is(basic)" // for consistent naming + name[Group1]= "Iceland - Mac, no dead keys"; +}; diff --git a/xkbdata/symbols/macintosh_vndr/it b/xkbdata/symbols/macintosh_vndr/it new file mode 100644 index 0000000..14ad539 --- /dev/null +++ b/xkbdata/symbols/macintosh_vndr/it @@ -0,0 +1,60 @@ +default +xkb_symbols "extended" { + + name[Group1]= "Italy - Mac"; + + key { [ less, greater ] }; + key { [ at, numbersign, periodcentered ] }; + key { [ ampersand, 1, guillemotleft,guillemotright ] }; + key { [ quotedbl, 2 ] }; + key { [ apostrophe, 3 ] }; + key { [ parenleft, 4, braceleft, bracketleft ] }; + key { [ ccedilla, 5, Ccedilla, Iacute ] }; + key { [ egrave, 6, paragraph, periodcentered] }; + key { [ parenright, 7, braceright, bracketright ] }; + key { [ sterling, 8, infinity ] }; + key { [ agrave, 9, acute, Ocircumflex ] }; + key { [ eacute, 0, grave, Oacute ] }; + key { [ minus, underscore ] }; + key { [ equal, plus, notequal, plusminus ] }; + + key { [ q, Q ] }; + key { [ z, Z ] }; + key { [ e, E, EuroSign ] }; + key { [ r, R, registered ] }; + key { [ t, T ] }; + key { [ y, Y, Uacute, ydiaeresis ] }; + key { [ u, U ] }; + key { [ i, I, icircumflex, idiaeresis ] }; + key { [ o, O ] }; + key { [ p, P ] }; + key { [ igrave, asciicircum ] }; + key { [ dollar, asterisk ] }; + key { [ section, degree, at, numbersign ] }; + + key { [ a, A, aring, Aring ] }; + key { [ s, S, ssharp, U1E9E ] }; + key { [ d, D ] }; + key { [ f, F ] }; + key { [ g, G ] }; + key { [ h, H, Igrave, Icircumflex ] }; + key { [ j, J, Idiaeresis, Iacute ] }; + key { [ k, K, Egrave, Ediaeresis ] }; + key { [ l, L, ssharp, bar ] }; + key { [ m, M, mu, Oacute ] }; + key { [ ugrave, percent, ae, AE ] }; + + key { [ w, W ] }; + key { [ x, X ] }; + key { [ c, C, copyright, copyright ] }; + key { [ v, V ] }; + key { [ b, B ] }; + key { [ n, N, dead_tilde ] }; + key { [ comma, question, questiondown ] }; + key { [ semicolon, period ] }; + key { [ colon, slash, bar, backslash ] }; + key { [ ograve, exclam, exclamdown ] }; + + include "kpdl(dot)" + include "level3(ralt_switch)" +}; diff --git a/xkbdata/symbols/macintosh_vndr/jp b/xkbdata/symbols/macintosh_vndr/jp new file mode 100644 index 0000000..5a00288 --- /dev/null +++ b/xkbdata/symbols/macintosh_vndr/jp @@ -0,0 +1,35 @@ +// JIS symbol mapping for Apple Aluminium +// (Damien Ciabrini ) +// +// The JIS version of the Aluminium Keyboard is made of +// QWERTY-like map for the latin part +// PC98-like map for the kana part +// EISU and KANA keys found on other Apple keyboards + +default partial alphanumeric_keys +xkb_symbols "usmac" { + name[Group1] = "Japan - Macintosh, US map"; + include "jp(common)" + + key { [ KP_Separator ] }; + key { [ yen, bar ] }; + replace key { [ 0 ] }; + replace key { [ underscore ] }; + replace key { [ Caps_Lock ] }; +}; + +partial alphanumeric_keys +xkb_symbols "mac" { + name[Group1] = "Japan - Macintosh"; + include "jp(kana)" + + replace key { [ Caps_Lock ] }; +}; + +partial alphanumeric_keys +xkb_symbols "alujiskeys" { + // On JIS USB keyboard, EISU and KANA replace Hangul and Hanja + // see keycodes macintosh(jisevdev) + replace key { [ Hiragana_Katakana ] }; + replace key { [ Eisu_toggle ] }; +}; diff --git a/xkbdata/symbols/macintosh_vndr/latam b/xkbdata/symbols/macintosh_vndr/latam new file mode 100644 index 0000000..31172f7 --- /dev/null +++ b/xkbdata/symbols/macintosh_vndr/latam @@ -0,0 +1,35 @@ +default partial alphanumeric_keys +xkb_symbols "basic" { + + // Describes the differences between a very simple mac_US + // keyboard and a very simple Spanish keyboard. + + include "latin" + name[Group1]= "Latin American - Mac"; + + key { [ bracketleft, bracketright, braceleft, braceright ] }; + key { [ less, greater, bracketleft, braceleft ] }; + key { [ 1, exclamdown ] }; + key { [ 2, exclam, at, oneeighth ] }; + key { [ 3, numbersign, guillemotleft, guillemotright ] }; + key { [ 4, dollar, yen, Icircumflex ] }; + key { [ 5, percent ] }; + key { [ 6, slash, backslash, Idiaeresis ] }; + key { [ 7, ampersand, bar, Iacute ] }; + key { [ 8, asterisk, degree ] }; + key { [ 9, parenleft, sterling, Ocircumflex ] }; + key { [ 0, parenright ] }; + key { [ minus, underscore ] }; + key { [ equal, plus, plusminus ] }; + key { [ dead_grave, degree ] }; + key { [ dead_acute, dead_diaeresis, bar ] }; + + key { [ comma, questiondown ] }; + key { [ period, question ] }; + key { [ ccedilla, Ccedilla ] }; + key { [ ntilde, Ntilde, asciitilde, dead_doubleacute ] }; + key { [ semicolon, colon ] }; + key { [ apostrophe, quotedbl ] }; + + include "level3(ralt_switch)" +}; diff --git a/xkbdata/symbols/macintosh_vndr/nl b/xkbdata/symbols/macintosh_vndr/nl new file mode 100644 index 0000000..d9884cb --- /dev/null +++ b/xkbdata/symbols/macintosh_vndr/nl @@ -0,0 +1,9 @@ +default partial alphanumeric_keys +xkb_symbols "basic" { + + include "latin" + + name[Group1]= "Netherlands - Mac"; + + include "level3(ralt_switch)" +}; diff --git a/xkbdata/symbols/macintosh_vndr/no b/xkbdata/symbols/macintosh_vndr/no new file mode 100644 index 0000000..f4940da --- /dev/null +++ b/xkbdata/symbols/macintosh_vndr/no @@ -0,0 +1,48 @@ +default partial alphanumeric_keys +xkb_symbols "basic" { + + // Describes the differences between a very simple en_US + // keyboard and a very simple Norwegian keyboard. + + include "latin" + + name[Group1]= "Norway - Mac"; + + key { [ bar, section ] }; + key { [ 2, quotedbl, at, oneeighth ] }; + key { [ 3, numbersign, sterling, sterling ] }; + key { [ 4, currency, dollar, dollar ] }; + key { [ 6, ampersand ] }; + key { [ 7, slash, bar, backslash ] }; + key { [ 8, parenleft, bracketleft, braceleft ] }; + key { [ 9, parenright, bracketright, braceright ] }; + key { [ 0, equal ] }; + key { [ plus, question ] }; + key { [ dead_grave, dead_acute, acute, dead_ogonek ] }; + + key { [ comma, semicolon ] }; + key { [ period, colon ] }; + key { [ minus, underscore ] }; + key { [ oslash, Ooblique, odiaeresis, Odiaeresis ] }; + key { [ ae, AE ] }; + key { [ aring, Aring ] }; + key { [ diaeresis, asciicircum, asciitilde, dead_macron ] }; + key { [ at, asterisk ] }; + key { [ less, greater ] }; + + include "eurosign(e)" + include "level3(ralt_switch)" +}; + + +partial alphanumeric_keys +xkb_symbols "nodeadkeys" { + + // Modifies the basic Norwegian layout to no dead keys + include "macintosh_vndr/no(basic)" + name[Group1]= "Norway - Mac, no dead keys"; + + key { [ grave, acute, acute, ogonek ] }; + key { [ diaeresis, asciicircum, asciitilde, macron ] }; + +}; diff --git a/xkbdata/symbols/macintosh_vndr/pt b/xkbdata/symbols/macintosh_vndr/pt new file mode 100644 index 0000000..6233d0c --- /dev/null +++ b/xkbdata/symbols/macintosh_vndr/pt @@ -0,0 +1,60 @@ +// mac version from Ricardo Cabral + +default partial alphanumeric_keys +xkb_symbols "basic" { + + // Describes the differences between a very simple en_US + // keyboard and a very simple Portuguese keyboard. + + include "latin" + + name[Group1]= "Portugal - Mac"; + + key { [ less, greater, bar, brokenbar ] }; + key { [ 2, quotedbl, at, oneeighth ] }; + key { [ 3, numbersign, sterling, sterling ] }; + key { [ 4, dollar, section, dollar ] }; + key { [ 6, ampersand ] }; + key { [ 7, slash ] }; + key { [ 8, parenleft, bracketleft, braceleft ] }; + key { [ 9, parenright, bracketright, braceright ] }; + key { [ 0, equal ] }; + key { [ apostrophe, question ] }; + key { [ plus, asterisk, dead_diaeresis ] }; + key { [ comma, semicolon ] }; + key { [ period, colon ] }; + key { [ minus, underscore ] }; + key { [ ccedilla, Ccedilla ] }; + key { [ dead_tilde, dead_circumflex ] }; + key { [ backslash, bar ] }; + key { [ masculine, ordfeminine ] }; + key { [ dead_acute, dead_grave ] }; + + include "eurosign(e)" + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "Sundeadkeys" { + include "macintosh_vndr/pt(basic)" // for consistent naming + name[Group1]= "Portugal - Mac, Sun dead keys"; + + key {[ plus, asterisk, dead_diaeresis, dead_diaeresis ]}; + key {[ dead_tilde, dead_circumflex ]}; + key {[ dead_acute, dead_grave ]}; +}; + +partial alphanumeric_keys +xkb_symbols "sundeadkeys" { + include "macintosh_vndr/pt(Sundeadkeys)" // for consistent naming +}; + +partial alphanumeric_keys +xkb_symbols "nodeadkeys" { + include "macintosh_vndr/pt(basic)" // for consistent naming + name[Group1]= "Portugal - Mac, no dead keys"; + + key { [ plus, asterisk, quotedbl, quotedbl ] }; + key { [ asciitilde, asciicircum ] }; + key { [ acute, grave ] }; +}; diff --git a/xkbdata/symbols/macintosh_vndr/se b/xkbdata/symbols/macintosh_vndr/se new file mode 100644 index 0000000..eaf5d1e --- /dev/null +++ b/xkbdata/symbols/macintosh_vndr/se @@ -0,0 +1,44 @@ +default partial alphanumeric_keys +xkb_symbols "basic" { + + // Describes the differences between a very simple en_US + // keyboard and a very simple Swedish(Sweden) keyboard. + + include "latin" + + name[Group1]= "Sweden - Mac"; + + key { [ section, degree ] }; + + key { [ 1, exclam, copyright, exclamdown ] }; + key { [ 2, quotedbl, at, oneeighth ] }; + key { [ 3, numbersign, sterling, yen ] }; + key { [ 4, currency, dollar, cent ] }; + key { [ 6, ampersand ] }; + key { [ 7, slash, bar, backslash ] }; + key { [ 8, parenleft, bracketleft, braceleft ] }; + key { [ 9, parenright, bracketright, braceright ] }; + key { [ comma, semicolon ] }; + key { [ 0, equal ] }; + key { [ plus, question ] }; + key { [ acute, grave ] }; + key { [ period, colon ] }; + key { [ minus, underscore ] }; + key { [ odiaeresis, Odiaeresis, oslash, Ooblique ] }; + key { [ adiaeresis, Adiaeresis, ae, AE ] }; + key { [ aring, Aring ] }; + key { [ diaeresis, asciicircum, asciitilde ] }; + key { [ apostrophe, asterisk, at ] }; + key { [ less, greater, bar, brokenbar ] }; + + include "kpdl(comma)" + include "eurosign(e)" + include "level3(ralt_switch)" +}; + + +partial alphanumeric_keys +xkb_symbols "nodeadkeys" { + include "macintosh_vndr/se(basic)" // for consistent naming + name[Group1]= "Sweden - Mac, no dead keys"; +}; diff --git a/xkbdata/symbols/macintosh_vndr/us b/xkbdata/symbols/macintosh_vndr/us new file mode 100644 index 0000000..58bfee5 --- /dev/null +++ b/xkbdata/symbols/macintosh_vndr/us @@ -0,0 +1,145 @@ +// symbols definition for a Macintosh "Extended" keyboard + +default xkb_symbols "extended" { + + name[Group1]= "USA"; + key { [ Escape ] }; + + key { [ grave, asciitilde ] }; + key { [ 1, exclam ] }; + key { [ 2, at ] }; + key { [ 3, numbersign ] }; + key { [ 4, dollar ] }; + key { [ 5, percent ] }; + key { [ 6, asciicircum ] }; + key { [ 7, ampersand ] }; + key { [ 8, asterisk ] }; + key { [ 9, parenleft ] }; + key { [ 0, parenright ] }; + key { [ minus, underscore ] }; + key { [ equal, plus ] }; + + key { [ q, Q ] }; + key { [ w, W ] }; + key { [ e, E ] }; + key { [ r, R ] }; + key { [ t, T ] }; + key { [ y, Y ] }; + key { [ u, U ] }; + key { [ i, I ] }; + key { [ o, O ] }; + key { [ p, P ] }; + key { [ bracketleft, braceleft ] }; + key { [ bracketright, braceright ] }; + key { [ backslash, bar ] }; + + key { [ a, A ] }; + key { [ s, S ] }; + key { [ d, D ] }; + key { [ f, F ] }; + key { [ g, G ] }; + key { [ h, H ] }; + key { [ j, J ] }; + key { [ k, K ] }; + key { [ l, L ] }; + key { [ semicolon, colon ] }; + key { [ apostrophe, quotedbl ] }; + + key { [ z, Z ] }; + key { [ x, X ] }; + key { [ c, C ] }; + key { [ v, V ] }; + key { [ b, B ] }; + key { [ n, N ] }; + key { [ m, M ] }; + key { [ comma, less ] }; + key { [ period, greater ] }; + key { [ slash, question ] }; + + key { [ space ] }; + + include "eurosign(e)" + include "keypad(overlay)" + + key { [ equal ] }; +}; + +hidden +xkb_symbols "oldmac" { + + include "macintosh_vndr/us(extended)" + + // Begin "Function" section + key { [ F1 ] }; + key { [ F2 ] }; + key { [ F3 ] }; + key { [ F4 ] }; + key { [ F5 ] }; + key { [ F6 ] }; + key { [ F7 ] }; + key { [ F8 ] }; + key { [ F9 ] }; + key { [ F10 ] }; + key { [ F11 ] }; + key { [ F12 ] }; + key { [ Print ] }; + key { [ Scroll_Lock ] }; + key { [ Pause ] }; + // End "Function" section + + // Begin "Editing" section + key { [ Insert ] }; + key { [ Home ] }; + key { [ Prior ] }; + key { [ Delete ] }; + key { [ End ] }; + key { [ Next ] }; + + key { [ Up ] }; + key { [ Left ] }; + key { [ Down ] }; + key { [ Right ] }; + // End "Editing" section + + key { [ BackSpace ] }; + key { [ Tab, ISO_Left_Tab ] }; + key { [ Return ] }; + key { [ Caps_Lock ] }; + key { [ Num_Lock, Pointer_EnableKeys ] }; + + // Begin "Modifier" section + key { [ Shift_L ] }; + key { [ Shift_R ] }; + key { [ Control_L ] }; + key { [ Control_R ] }; + key { [ Alt_L, Meta_L ] }; + key { [ Alt_R, Meta_R ] }; + key { [ Super_L ] }; + key { [ Super_R ] }; + // End "Modifier" section + + // begin modifier mappings + modifier_map Shift { Shift_L, Shift_R }; + modifier_map Lock { Caps_Lock }; + modifier_map Control{ Control_L, Control_R }; + modifier_map Mod2 { Num_Lock }; + + // Fake keys for virtual<->real modifiers mapping + key { [ ISO_Level3_Shift ] }; + key { [ Mode_switch ] }; + modifier_map Mod5 { , }; + + key { [ NoSymbol, Alt_L ] }; + modifier_map Mod1 { , }; + + key { [ NoSymbol, Meta_L ] }; + modifier_map Mod1 { }; + + key { [ NoSymbol, Super_L ] }; + modifier_map Mod4 { }; + + key { [ NoSymbol, Hyper_L ] }; + modifier_map Mod4 { }; + // end modifier mappings + +}; diff --git a/xkbdata/symbols/mao b/xkbdata/symbols/mao new file mode 100644 index 0000000..9805fce --- /dev/null +++ b/xkbdata/symbols/mao @@ -0,0 +1,22 @@ +default partial alphanumeric_keys +xkb_symbols "basic" { + + // Adds the macrons needed for the Maori language to + // a simple US keyboard layout. + + include "latin" + + name[Group1]="Maori"; + + key { [ a, A, amacron, Amacron ] }; + key { [ e, E, emacron, Emacron ] }; + key { [ i, I, imacron, Imacron ] }; + + key { [ o, O, omacron, Omacron ] }; + key { [ u, U, umacron, Umacron ] }; + + key { type[Group1]="TWO_LEVEL", + [ ISO_Level3_Shift, Multi_key ] }; + + modifier_map Mod5 { }; +}; diff --git a/xkbdata/symbols/md b/xkbdata/symbols/md new file mode 100644 index 0000000..0ceb145 --- /dev/null +++ b/xkbdata/symbols/md @@ -0,0 +1,90 @@ +default partial alphanumeric_keys +xkb_symbols "basic" { + + include "ro" + + name[Group1]="Moldavian"; +}; + + +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓ +// │ ~ │ ! │ " │ # │ ; │ % │ : │ ? │ * │ ( ̣ │ ) │ -- │ + ┃ ⌫ Back ┃ +// │ ` │ 1 │ 2 @ │ 3 │ 4 $ │ 5 € │ 6 ^ │ 7 & │ 8 │ 9 │ 0 │ - │ = ┃ space ┃ +// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫ +// ┃ ┃ Ţ Q │ Ê W │ E │ R │ T │ Y │ U │ İ │ O │ P │ Ö { │ Ü } ┃ Enter ┃ +// ┃Tab ↹ ┃ ţ q │ ê w │ e │ r │ t │ y │ u │ i │ o │ p │ ö [ │ ü ] ┃ ⏎ ┃ +// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃ +// ┃ ┃ A │ S │ D │ F │ G │ H │ J │ K │ L │Ş │I │ / ┃ ┃ +// ┃Caps ⇬ ┃ a │ s │ d │ f │ g │ h │ j │ k │ l │ş │ı' │ \ ┃ ┃ +// ┣━━━━━━━━┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫ +// ┃ │ Z │ Ç X │ C │ V │ B │ N │ M │Ä │< │> ┃ ┃ +// ┃Shift ⇧ │ z │ ç x │ c │ v │ b │ n │ m │ä │, │. ┃Shift ⇧ ┃ +// ┣━━━━━━━┳━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛ +// ┃ ┃ ┃ ┃ ␣ ⍽ ┃ ┃ ┃ ┃ +// ┃Ctrl ┃Meta ┃Alt ┃ ␣ Space ⍽ ┃AltGr ⇮┃Menu ┃Ctrl ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛ + + +// A, Ä, B, C, Ç, D, E, Ê, F, G, H, I, İ, J, K, L, M, N, O, Ö, P, R, S, Ş, T, Ţ, U, Ü, V, Y, Z. + +partial alphanumeric_keys +xkb_symbols "gag" { + + include "us(basic)" + + name[Group1]="Moldavian (Gagauz)"; + + key { [ grave, asciitilde ] }; + key { [ 1, exclam ] }; + key { [ 2, quotedbl, at ] }; + key { [ 3, numbersign ] }; + key { [ 4, semicolon, dollar ] }; + key { [ 5, percent, EuroSign, cent ] }; + key { [ 6, colon, asciicircum ] }; + key { [ 7, question, ampersand ] }; + key { [ 8, asterisk ] }; + key { [ 9, parenleft ] }; + key { [ 0, parenright ] }; + key { [ minus, underscore ] }; + key { [ equal, plus ] }; + + key { [ tcedilla, Tcedilla, q, Q ] }; + key { [ ecircumflex, Ecircumflex, w, W ] }; + key { [ e, E ] }; + key { [ r, R ] }; + key { [ t, T ] }; + key { [ y, Y ] }; + key { [ u, U ] }; + key { [ i, Iabovedot, i, I ] }; + key { [ o, O ] }; + key { [ p, P ] }; + key { [ odiaeresis, Odiaeresis, bracketleft, braceleft ] }; + key { [ udiaeresis, Udiaeresis, bracketright, braceright ] }; + + key { [ a, A ] }; + key { [ s, S ] }; + key { [ d, D ] }; + key { [ f, F ] }; + key { [ g, G ] }; + key { [ h, H ] }; + key { [ j, J ] }; + key { [ k, K ] }; + key { [ l, L ] }; + key { [ scedilla, Scedilla ] }; + key { [ idotless, I, apostrophe ] }; + + key { [ z, Z ] }; + key { [ ccedilla, Ccedilla, x, X ] }; + key { [ c, C ] }; + key { [ v, V ] }; + key { [ b, B ] }; + key { [ n, N ] }; + key { [ m, M ] }; + key { [ adiaeresis, Adiaeresis ] }; + key { [ comma, less ] }; + key { [ period, greater, slash ] }; + + key { [ backslash, bar ] }; + + include "level3(ralt_switch)" +}; diff --git a/xkbdata/symbols/me b/xkbdata/symbols/me new file mode 100644 index 0000000..d85b8f1 --- /dev/null +++ b/xkbdata/symbols/me @@ -0,0 +1,66 @@ +// Montenegro keyboard mapping +// +// Initially, a copy of Serbian variants +// + +default partial alphanumeric_keys +xkb_symbols "basic" { + include "rs(latin)" + name[Group1]= "Montenegrin"; + + key { [ any, any, zacute, Zacute ] }; // z + key { [ any, any, sacute, Sacute ] }; // s +}; + +partial alphanumeric_keys +xkb_symbols "cyrillic" { + include "rs(basic)" + name[Group1]= "Montenegrin (Cyrillic)"; +}; + +partial alphanumeric_keys +xkb_symbols "cyrillicyz" { + include "rs(yz)" + name[Group1]= "Montenegrin (Cyrillic, ZE and ZHE swapped)"; +}; + +partial alphanumeric_keys +xkb_symbols "latinunicode" { + include "rs(latinunicode)" + name[Group1]= "Montenegrin (Latin, Unicode)"; + + key { [ any, any, zacute, Zacute ] }; // z + key { [ any, any, sacute, Sacute ] }; // s +}; + +partial alphanumeric_keys +xkb_symbols "latinyz" { + include "rs(latinyz)" + name[Group1]= "Montenegrin (Latin, QWERTY)"; + + key { [ any, any, zacute, Zacute ] }; // z + key { [ any, any, sacute, Sacute ] }; // s +}; + +partial alphanumeric_keys +xkb_symbols "latinunicodeyz" { + include "rs(latinunicodeyz)" + name[Group1]= "Montenegrin (Latin, Unicode, QWERTY)"; + + key { [ any, any, zacute, Zacute ] }; // z + key { [ any, any, sacute, Sacute ] }; // s +}; + +xkb_symbols "cyrillicalternatequotes" { + include "rs(alternatequotes)" + name[Group1]= "Montenegrin (Cyrillic, with guillemets)"; +}; + +xkb_symbols "latinalternatequotes" { + include "rs(latinalternatequotes)" + name[Group1]= "Montenegrin (Latin, with guillemets)"; + + key { [ any, any, zacute, Zacute ] }; // z + key { [ any, any, sacute, Sacute ] }; // s + key { [ any, any, guillemotleft, guillemotright ] }; // < +}; diff --git a/xkbdata/symbols/mk b/xkbdata/symbols/mk new file mode 100644 index 0000000..7e168ed --- /dev/null +++ b/xkbdata/symbols/mk @@ -0,0 +1,64 @@ +// Author: Damjan Georgievski +// Revision: 1.5 + +default partial alphanumeric_keys +xkb_symbols "basic" { + name[Group1]= "Macedonian"; + + key { [ Cyrillic_ze, Cyrillic_ZE ] }; + key { [ Cyrillic_es, Cyrillic_ES ] }; + key { [ Cyrillic_a, Cyrillic_A ] }; + key { [ Cyrillic_lje, Cyrillic_LJE ] }; + key { [ Cyrillic_nje, Cyrillic_NJE ] }; + key { [ Cyrillic_tse, Cyrillic_TSE ] }; + key { [ Cyrillic_dzhe, Cyrillic_DZHE ] }; + key { [ Cyrillic_de, Cyrillic_DE ] }; + key { [ Cyrillic_ie, Cyrillic_IE ] }; + key { [ Cyrillic_ve, Cyrillic_VE ] }; + key { [ Cyrillic_ef, Cyrillic_EF ] }; + key { [ Cyrillic_te, Cyrillic_TE ] }; + key { [ Cyrillic_er, Cyrillic_ER ] }; + key { [ Cyrillic_en, Cyrillic_EN ] }; + key { [ Cyrillic_be, Cyrillic_BE ] }; + key { [ Cyrillic_ha, Cyrillic_HA ] }; + key { [ Cyrillic_ghe, Cyrillic_GHE ] }; + key { [ Macedonia_dse, Macedonia_DSE ] }; + key { [ Cyrillic_em, Cyrillic_EM ] }; + key { [ Cyrillic_je, Cyrillic_JE ] }; + key { [ Cyrillic_u, Cyrillic_U ] }; + key { [ Cyrillic_ka, Cyrillic_KA ] }; + key { [ Cyrillic_i, Cyrillic_I ] }; + key { [ Cyrillic_o, Cyrillic_O ] }; + key { [ Cyrillic_el, Cyrillic_EL ] }; + key { [ Cyrillic_che, Cyrillic_CHE ] }; + key { [ Cyrillic_pe, Cyrillic_PE ] }; + key { [ Macedonia_kje, Macedonia_KJE ] }; + key { [ Cyrillic_sha, Cyrillic_SHA ] }; + key { [ Macedonia_gje, Macedonia_GJE ] }; + key { [ Cyrillic_zhe, Cyrillic_ZHE ] }; + key { [ equal, plus ] }; + key { [ minus, underscore ] }; + key { [ dead_grave, asciitilde ] }; + key { [ 1, exclam ] }; + key { [ 2, doublelowquotemark ] }; + key { [ 3, leftdoublequotemark ] }; + key { [ 4, dollar ] }; + key { [ 5, percent ] }; + key { [ 6, asciicircum ] }; + key { [ 7, ampersand ] }; + key { [ 8, asterisk ] }; + key { [ 9, parenleft ] }; + key { [ 0, parenright ] }; + key { [ comma, semicolon ] }; + key { [ period, colon ] }; + key { [ slash, question ] }; + + include "kpdl(comma)" +}; + +partial alphanumeric_keys +xkb_symbols "nodeadkeys" { + include "mk(basic)" + name[Group1]= "Macedonian (no dead keys)"; + key { [ grave, asciitilde ] }; +}; diff --git a/xkbdata/symbols/ml b/xkbdata/symbols/ml new file mode 100644 index 0000000..766c671 --- /dev/null +++ b/xkbdata/symbols/ml @@ -0,0 +1,82 @@ +default partial alphanumeric_keys +xkb_symbols "basic" { + + include "fr(basic)" + + name[Group1]="Bambara"; + + key { [ v, V, leftdoublequotemark, leftsinglequotemark ] }; + key { [ b, B, rightdoublequotemark, rightsinglequotemark ] }; + key { [ n, N, U0272, U019D ] }; // n N ɲ Ɲ + key { [ s, S, U0161, U0160 ] }; // s S š Š + key { [ g, G, U0254, U0186 ] }; // g G ɔ Ɔ + key { [ m, M, U014B, U014A ] }; // m M ŋ Ŋ + key { [ z, Z, U017E, U017d ] }; // z Z ž Ž + key { [ e, E, U025B, U0190 ] }; // e E ɛ Ɛ +}; + +partial alphanumeric_keys +xkb_symbols "fr-oss" { + + include "fr(oss)" + + name[Group1]="French (Mali, alt.)"; + + // š Š on d replaces ë Ë + // ɲ Ɲ on j replaces ü Ü + // ŋ Ŋ on m replaces ö Ö + // ž Ž on z replaces â  + // ɛ Ɛ on r replaces ê Ê + // ɔ Ɔ on p replaces ô Ô + + key { [ d, D, U0161, U0160 ] }; // d D š Š + key { [ j, J, U0272, U019D ] }; // j J ɲ Ɲ + key { [ m, M, U014B, U014A ] }; // m M ŋ Ŋ + key { [ z, Z, U017E, U017d ] }; // z Z ž Ž + key { [ r, R, U025B, U0190 ] }; // r R ɛ Ɛ + key { [ p, P, U0254, U0186 ] }; // p P ɔ Ɔ +}; + +partial alphanumeric_keys +xkb_symbols "us-mac" { + + include "us(mac)" + + name[Group1]="English (Mali, US, Macintosh)"; + + // ž Ž on z replaces Ω ¸ + // ɛ Ɛ on a replaces å Å + // š Š on s replaces ß + // ɲ Ɲ on j replaces ∆ ½ + // ŋ Ŋ on k replaces °  + // ɔ Ɔ on o replaces ø Ø + + key { [ z, Z, U017E, U017d ] }; // z Z ž Ž + key { [ a, A, U025B, U0190 ] }; // a A ɛ Ɛ + key { [ s, S, U0161, U0160 ] }; // s S š Š + key { [ j, J, U0272, U019D ] }; // j J ɲ Ɲ + key { [ k, K, U014B, U014A ] }; // k K ŋ Ŋ + key { [ o, O, U0254, U0186 ] }; // o O ɔ Ɔ +}; + +partial alphanumeric_keys +xkb_symbols "us-intl" { + + include "us(intl)" + + name[Group1]="English (Mali, US, intl.)"; + + // ž Ž on x replaces + // š Š on s replaces ß § + // ɲ Ɲ on h replaces + // ŋ Ŋ on j replaces + // ɛ Ɛ on w replaces å Å + // ɔ Ɔ on o replaces ó Ó + + key { [ x, X, U017E, U017d ] }; // x X ž Ž + key { [ s, S, U0161, U0160 ] }; // s S š Š + key { [ h, H, U0272, U019D ] }; // h H ɲ Ɲ + key { [ j, J, U014B, U014A ] }; // j J ŋ Ŋ + key { [ w, W, U025B, U0190 ] }; // w W ɛ Ɛ + key { [ o, O, U0254, U0186 ] }; // o O ɔ Ɔ +}; diff --git a/xkbdata/symbols/mm b/xkbdata/symbols/mm new file mode 100644 index 0000000..3c40d6f --- /dev/null +++ b/xkbdata/symbols/mm @@ -0,0 +1,364 @@ +default partial alphanumeric_keys +xkb_symbols "basic" { + name[Group1]= "Burmese"; + + key { [ grave, U100E, grave, asciitilde ] }; + key { [ U1041, U100D, 1, exclam ] }; + key { [ U1042, U1052, 2, at ] }; + key { [ U1043, U100B, 3, numbersign ] }; + key { [ U1044, dollar, 4, dollar ] }; + key { [ U1045, percent, 5, percent ] }; + key { [ U1046, asciicircum, 6, asciicircum ] }; + key { [ U1047, U101B, 7, ampersand ] }; + key { [ U1048, asterisk, 8, asterisk ] }; + key { [ U1049, parenleft, 9, parenleft ] }; + key { [ U1040, parenright, 0, parenright ] }; + key { [ minus, underscore, minus, underscore ] }; + key { [ equal, plus, equal, plus ] }; + + key { [ U1006, U1008, q, Q ] }; + key { [ U1010, U101D, w, W ] }; + key { [ U1014, U1023, e, E ] }; + key { [ U1019, U104E, r, R ] }; + key { [ U1021, U1024, t, T ] }; + key { [ U1015, U104C, y, Y ] }; + key { [ U1000, U1025, u, U ] }; + key { [ U1004, U104D, i, I ] }; + key { [ U101E, U103F, o, O ] }; + key { [ U1005, U100F, p, P ] }; + key { [ U101F, U1027, bracketleft, braceleft ] }; + key { [ U1029, U102A, bracketright, braceright ] }; + + key { [ U1031, U1017, a, A ] }; + key { [ U103B, U103E, s, S ] }; + key { [ U102D, U102E, d, D ] }; + key { [ U103A, U1039, f, F ] }; + key { [ U102B, U103D, g, G ] }; + key { [ U1037, U1036, h, H ] }; + key { [ U103C, U1032, j, J ] }; + key { [ U102F, U1012, k, K ] }; + key { [ U1030, U1013, l, L ] }; + key { [ U1038, U1002, semicolon, colon ] }; + key { [ apostrophe, quotedbl ] }; + + key { [ U1016, U1007, z, Z ] }; + key { [ U1011, U100C, x, X ] }; + key { [ U1001, U1003, c, C ] }; + key { [ U101C, U1020, v, V ] }; + key { [ U1018, U101A, b, B ] }; + key { [ U100A, U1009, n, N ] }; + key { [ U102C, U1026, m, M ] }; + key { [ comma, U104A, comma, less ] }; + key { [ period, U104B, period, greater ] }; + key { [ slash, question ] }; + + key { [ U104F, backslash, backslash, bar ] }; +}; + +partial alphanumeric_keys +xkb_symbols "zawgyi" { + + name[Group1]="Burmese Zawgyi"; + include "level3(ralt_switch)" + + key { [ U1041, U100D, U100E, U106F ] }; + key { [ U1042, U1091, U106D ] }; + key { [ U1043, U100B, U106C ] }; + key { [ U1044, dollar, U104E, U1023 ] }; + key { [ U1045, percent, U1029, U102A ] }; + key { [ U1046, asciicircum ] }; + key { [ U1047, U101B, U1090 ] }; + key { [ U1048, U1002, U1062 ] }; + key { [ U1049, parenleft, U1026 ] }; + key { [ U1040, parenright ] }; + key { [ minus, underscore, U1097 ] }; + key { [ equal, plus, U106E ] }; + + key { [ U1006, U103D, U1066, U1067 ] }; + key { [ U1010, U107D, U1071, U1072 ] }; + key { [ U1014, U108F, U1077, U1096 ] }; + key { [ U1019, U107D, U107C ] }; + key { [ U1021, U108A, U1024 ] }; + key { [ U1015, U1094, U1078, U104C ] }; + key { [ U1000, U1095, U1060, U1009 ] }; + key { [ U1004, U1088, U104D, U106A ] }; + key { [ U101E, U1025, U1086 ] }; + key { [ U1005, U100F, U1065, U1070 ] }; + key { [ U101F, U1027 ] }; + key { [ U104F, U1092 ] }; + + key { [ U1031, U1017, U1008, U107A ] }; + key { [ U103A, U103D ] }; + key { [ U102D, U102E, U108E, U108C ] }; + key { [ U1039, U1064 ] }; + key { [ U102B, U103C ] }; + key { [ U1037, U1036 ] }; + key { [ U103B, U1032, U1083, U1084 ] }; + key { [ U102F, U1033, U1089 ] }; + key { [ U1030, U1034, U108D, U108B ] }; + key { [ U1038, U105A ] }; + key { [ U1012, U1013, U1075, U1076 ] }; + + key { [ U1016, U1007, U1079, U1068 ] }; + key { [ U1011, U100C, U1073, U1074 ] }; + key { [ U1001, U1003, U1061, U1063 ] }; + key { [ U101C, U1020, U1085 ] }; + key { [ U1018, U1080, U1093 ] }; + key { [ U100A, U107F, U106B, U1069 ] }; + key { [ U102C, U107E, U1081, U1082 ] }; + key { [ U101A, U101D ] }; + key { [ period, U1008 ] }; + key { [ U104B, U104A ] }; + + key { [ U104F, U1092 ] }; + + include "mm(tilde_switch)" +}; + +// The following code creates the "Tilde key" phenomenon. + +partial modifier_keys +xkb_symbols "tilde_switch" { + key { + symbols[Group1] = [ ISO_Level3_Latch, asciitilde, grave ] + }; + modifier_map Mod5 { ISO_Level3_Latch }; +}; + + +partial alphanumeric_keys +xkb_symbols "mnw" { + name[Group1]= "Mon"; + + key { [ U105D, U100E, grave, asciitilde ] }; + key { [ U1041, U100D, 1, exclam ] }; + key { [ U1042, U1052, 2, at ] }; + key { [ U1043, U100B, 3, numbersign ] }; + key { [ U1044, U1053, 4, dollar ] }; + key { [ U1045, percent, 5, percent ] }; + key { [ U1046, U1035, 6, asciicircum ] }; + key { [ U1047, U101B, 7, ampersand ] }; + key { [ U1048, U1002, 8, asterisk ] }; + key { [ U1049, parenleft, 9, parenleft ] }; + key { [ U1040, parenright, 0, parenright ] }; + key { [ minus, U0078, minus, underscore ] }; + key { [ equal, plus, equal, plus ] }; + + key { [ U1006, U105B, q, Q ] }; + key { [ U1010, U101D, w, W ] }; + key { [ U1014, U1023, e, E ] }; + key { [ U1019, U105F, r, R ] }; + key { [ U1021, U1033, t, T ] }; + key { [ U1015, U1060, y, Y ] }; + key { [ U1000, U1025, u, U ] }; + key { [ U105A, U104E, i, I ] }; + key { [ U101E, U103F, o, O ] }; + key { [ U1005, U100F, p, P ] }; + key { [ U101F, U1028, bracketleft, braceleft ] }; + key { [ U1029, U002F, bracketright, braceright ] }; + + key { [ U1031, U1017, a, A ] }; + key { [ U103B, U103E, s, S ] }; + key { [ U102D, U102E, d, D ] }; + key { [ U103A, U1039, f, F ] }; + key { [ U102B, U103D, g, G ] }; + key { [ U1034, U1036, h, H ] }; + key { [ U103C, U1032, j, J ] }; + key { [ U102F, U1012, k, K ] }; + key { [ U1030, U1013, l, L ] }; + key { [ U1038, colon, semicolon, colon ] }; + key { [ apostrophe, quotedbl ] }; + + key { [ U1016, U1007, z, Z ] }; + key { [ U1011, U100C, x, X ] }; + key { [ U1001, U1003, c, C ] }; + key { [ U101C, U1020, v, V ] }; + key { [ U1018, U1050, b, B ] }; + key { [ U100A, U1009, n, N ] }; + key { [ U102C, U1054, m, M ] }; + key { [ U101A, U105E, comma, less ] }; + key { [ U105C, U1055, period, greater ] }; + key { [ U104B, U104A ] }; + + key { [ U1051, U007C, backslash, bar ] }; +}; + +// Mon A1 layout +// by Tao Mon Lae, (tamonlae@gmail.com), 12-August-2021 +// based on Mon phonetic from A1 layout + +partial alphanumeric_keys +xkb_symbols "mnw-a1" { + name[Group1]= "Mon (A1)"; + + key { [ grave, asciitilde ] }; + key { [ U1041, exclam ] }; + key { [ U1042, at ] }; + key { [ U1043, U1053 ] }; + key { [ U1044, U1029 ] }; + key { [ U1045, percent ] }; + key { [ U1046, U1050 ] }; + key { [ U1047, U1051 ] }; + key { [ U1048, asterisk ] }; + key { [ U1049, parenleft ] }; + key { [ U1040, parenright ] }; + key { [ minus, underscore ] }; + key { [ equal, plus ] }; + + key { [ U101E, U103F ] }; + key { [ U101D, U103D ] }; + key { [ U1031, U1035 ] }; + key { [ U101B, U103C ] }; + key { [ U1010, U1011 ] }; + key { [ U101A, U103B ] }; + key { [ U102F, U1030 ] }; + key { [ U102D, U1033 ] }; + key { [ U1032, U1034 ] }; + key { [ U1015, U100F ] }; + key { [ U100D, U1028 ] }; + key { [ U100E, U1054 ] }; + + key { [ U1021, U1023 ] }; + key { [ U1005, U1006 ] }; + key { [ U1012, U1013 ] }; + key { [ U1016, U1039 ] }; + key { [ U1002, U1003 ] }; + key { [ U101F, U103E ] }; + key { [ U103A, U102E ] }; + key { [ U1000, U1001 ] }; + key { [ U101C, U1060 ] }; + key { [ U1025, U1020 ] }; + key { [ apostrophe, quotedbl ] }; + + key { [ U1007, U105B ] }; + key { [ U100B, U100C ] }; + key { [ U105A, U104E ] }; + key { [ U100A, U1009 ] }; + key { [ U1017, U1018 ] }; + key { [ U1014, U105E ] }; + key { [ U1019, U105F ] }; + key { [ U1036, U1038 ] }; + key { [ U102C, U102B ] }; + key { [ U104A, U104B ] }; + + key { [ U105C, U105D ] }; +}; + + + +partial alphanumeric_keys +xkb_symbols "shn" { + name[Group1]= "Shan"; + + key { [ grave, asciitilde, grave, asciitilde ] }; + key { [ 1, exclam, 1, exclam ] }; + key { [ 2, at, 2, at ] }; + key { [ 3, numbersign, 3, numbersign ] }; + key { [ 4, dollar, 4, percent ] }; + key { [ 6, asciicircum, 6, asciicircum ] }; + key { [ 7, ampersand, 7, ampersand ] }; + key { [ 8, asterisk, 8, asterisk ] }; + key { [ 9, parenleft, 9, parenleft ] }; + key { [ 0, parenright, 0, parenright ] }; + key { [ minus, underscore, minus, underscore ] }; + key { [ equal, plus, equal, plus ] }; + + key { [ U1078, UAA61, q, Q ] }; + key { [ U1010, U107B, w, W ] }; + key { [ U107C, UA9E3, e, E ] }; + key { [ U1019, U109E, r, R ] }; + key { [ U1022, U103C, t, T ] }; + key { [ U1015, U107F, y, Y ] }; + key { [ U1075, U1077, u, U ] }; + key { [ U1004, U101B, i, I ] }; + key { [ U101D, U101E, o, O ] }; + key { [ U1081, U1080, p, P ] }; + key { [ bracketleft, braceleft, bracketleft, braceleft ] }; + key { [ bracketright, braceright, bracketright, braceright ] }; + + key { [ U1031, U1035, a, A ] }; + key { [ U1084, U1085, s, S ] }; + key { [ U102D, U102E, d, D ] }; + key { [ U103A, U1082, f, F ] }; + key { [ U103D, U1082, g, G ] }; + key { [ U1089, U1037, h, H ] }; + key { [ U1087, U1086, j, J ] }; + key { [ U102F, U1012, k, K ] }; + key { [ U1030, U108A, l, L ] }; + key { [ U1088, U1038, semicolon, colon ] }; + key { [ apostrophe, quotedbl ] }; + + key { [ U107D, U107E, z, Z ] }; + key { [ U1011, UAA6A, x, X ] }; + key { [ U1076, UA9E0, c, C ] }; + key { [ U101C, UAA6E, v, V ] }; + key { [ U101A, U103B, b, B ] }; + key { [ U107A, U109F, n, N ] }; + key { [ U1062, U1083, m, M ] }; + key { [ comma, U104A, comma, less ] }; + key { [ period, U104B, period, greater ] }; + key { [ slash, question ] }; + key { [ backslash, bar, backslash, bar ] }; +}; + + +partial alphanumeric_keys +xkb_symbols "zgt" { + + name[Group1]="Shan (Zawgyi Tai)"; + include "level3(ralt_switch)" + + key { [ U1041, U100D, U100E, U106F ] }; + key { [ U1042, U1091, U106D ] }; + key { [ U1043, U100B, U106C ] }; + key { [ U1044, dollar, U104E, U1023 ] }; + key { [ U1045, percent, U1029, U102A ] }; + key { [ U1046, asciicircum ] }; + key { [ U1047, U101B, U1090 ] }; + key { [ U1048, U1002, U1062 ] }; + key { [ U1049, parenleft, U1026 ] }; + key { [ U1040, parenright ] }; + key { [ minus, underscore, U1097 ] }; + key { [ equal, plus, U106E ] }; + + key { [ U1006, U103D, U1066, U1067 ] }; + key { [ U1010, U107D, U1071, U1072 ] }; + key { [ U1014, U108F, U1077, U1096 ] }; + key { [ U1019, U107D, U107C ] }; + key { [ U1021, U108A, U1024 ] }; + key { [ U1015, U1094, U1078, U104C ] }; + key { [ U1000, U1095, U1060, U1009 ] }; + key { [ U1004, U1088, U104D, U106A ] }; + key { [ U101E, U1025, U1086 ] }; + key { [ U1005, U100F, U1065, U1070 ] }; + key { [ U101F, U1027 ] }; + key { [ U104F, U1092 ] }; + + key { [ U1031, U1017, U1008, U107A ] }; + key { [ U103A, U103D ] }; + key { [ U102D, U102E, U108E, U108C ] }; + key { [ U1039, U1064 ] }; + key { [ U102B, U103C ] }; + key { [ U1037, U1036 ] }; + key { [ U103B, U1032, U1083, U1084 ] }; + key { [ U102F, U1033, U1089 ] }; + key { [ U1030, U1034, U108D, U108B ] }; + key { [ U1038, U105A ] }; + key { [ U1012, U1013, U1075, U1076 ] }; + + key { [ U1016, U1007, U1079, U1068 ] }; + key { [ U1011, U100C, U1073, U1074 ] }; + key { [ U1001, U1003, U1061, U1063 ] }; + key { [ U101C, U1020, U1085 ] }; + key { [ U1018, U1080, U1093 ] }; + key { [ U100A, U107F, U106B, U1069 ] }; + key { [ U102C, U107E, U1081, U1082 ] }; + key { [ U101A, U101D ] }; + key { [ period, U1008 ] }; + key { [ U104B, U104A ] }; + + key { [ U104F, U1092 ] }; + + include "mm(tilde_switch)" +}; + diff --git a/xkbdata/symbols/mn b/xkbdata/symbols/mn new file mode 100644 index 0000000..344482e --- /dev/null +++ b/xkbdata/symbols/mn @@ -0,0 +1,79 @@ +// Based on the Mongolian standard keyboard. +// Author Sanlig Badral +// 2002/12/7 Version 1.0 + +default partial alphanumeric_keys +xkb_symbols "basic" { + + name[Group1]= "Mongolian"; + + key { [ equal, plus, degree ] }; + key { [ 1, numerosign, multiply ] }; + key { [ 2, minus, division ] }; + key { [ 3, quotedbl, plusminus ] }; + key { [ 4, U20ae, notsign ] }; // Tugrik sign + key { [ 5, colon, NoSymbol ] }; + key { [ 6, period, notequal ] }; + key { [ 7, underscore, ampersand ] }; + key { [ 8, comma, asterisk ] }; + key { [ 9, percent, bracketleft ] }; + key { [ 0, question, bracketright ] }; + key { [ Cyrillic_ie, Cyrillic_IE, X ] }; + key { [ Cyrillic_shcha, Cyrillic_SHCHA, L ] }; + + key { [ Cyrillic_ef, Cyrillic_EF, apostrophe ] }; + key { [ Cyrillic_tse, Cyrillic_TSE, grave ] }; + key { [ Cyrillic_u, Cyrillic_U, EuroSign ] }; + key { [ Cyrillic_zhe, Cyrillic_ZHE, registered ] }; + key { [ Cyrillic_e, Cyrillic_E, trademark ] }; + key { [ Cyrillic_en, Cyrillic_EN, yen ] }; + key { [ Cyrillic_ghe, Cyrillic_GHE, doublelowquotemark ] }; + key { [ Cyrillic_sha, Cyrillic_SHA, leftdoublequotemark ] }; + key { [ Cyrillic_u_straight,Cyrillic_U_straight,rightdoublequotemark] }; + key { [ Cyrillic_ze, Cyrillic_ZE, NoSymbol ] }; + key { [ Cyrillic_ka, Cyrillic_KA, braceleft ] }; + key { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, braceright ] }; + + key { [ Cyrillic_shorti, Cyrillic_SHORTI, mu ] }; + key { [ Cyrillic_yeru, Cyrillic_YERU, sterling ] }; + key { [ Cyrillic_be, Cyrillic_BE, dollar ] }; + key { [ Cyrillic_o_bar, Cyrillic_O_bar, rightdoublequotemark ] }; + key { [ Cyrillic_a, Cyrillic_A, Cyrillic_yeru ] }; + key { [ Cyrillic_ha, Cyrillic_HA, Cyrillic_YERU ] }; + key { [ Cyrillic_er, Cyrillic_ER, Cyrillic_e ] }; + key { [ Cyrillic_o, Cyrillic_O, Cyrillic_E ] }; + key { [ Cyrillic_el, Cyrillic_EL, numerosign ] }; + key { [ Cyrillic_de, Cyrillic_DE, section ] }; + key { [ Cyrillic_pe, Cyrillic_PE, ellipsis ] }; + key { [ exclam, bar, bar ] }; + + key { [ parenleft, parenright, NoSymbol ] }; + key { [ Cyrillic_ya, Cyrillic_YA, emdash ] }; + key { [ Cyrillic_che, Cyrillic_CHE, endash ] }; + key { [ Cyrillic_io, Cyrillic_IO, copyright ] }; + key { [ Cyrillic_es, Cyrillic_ES, NoSymbol ] }; + key { [ Cyrillic_em, Cyrillic_EM, NoSymbol ] }; + key { [ Cyrillic_i, Cyrillic_I, less ] }; + key { [ Cyrillic_te, Cyrillic_TE, greater ] }; + key { [ Cyrillic_softsign, Cyrillic_SOFTSIGN, guillemotleft ] }; + key { [ Cyrillic_ve, Cyrillic_VE, guillemotright ] }; + key { [ Cyrillic_yu, Cyrillic_YU, backslash ] }; + + key { [ space, space, nobreakspace ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "olpc" { + +// Contact: Walter Bender + + include "mn(basic)" + + key { [ 7, semicolon, ampersand ] }; + + key { [ backslash, bar, exclam ] }; + + include "group(olpc)" +}; diff --git a/xkbdata/symbols/mt b/xkbdata/symbols/mt new file mode 100644 index 0000000..26d1f4d --- /dev/null +++ b/xkbdata/symbols/mt @@ -0,0 +1,215 @@ +// Maltese keyboard map (based on MSA Standard DMS100) +// by Ramon Casha (ramon.casha@linux.org.mt) + +default partial alphanumeric_keys +xkb_symbols "basic" { + + include "latin" + + name[Group1]="Maltese"; + + // Copied from GB layout + key { [ 2, quotedbl, twosuperior, oneeighth ] }; + key { [ 4, dollar, EuroSign, onequarter ] }; + key { [apostrophe, at, dead_circumflex, dead_caron] }; + key { [numbersign, asciitilde, dead_grave, dead_breve ] }; + + // The following four sets are the four additional letters, with the UK + // equivalents + key { [ cabovedot, Cabovedot, grave, notsign ] }; + key { [ gabovedot, Gabovedot, bracketleft, braceleft ] }; + key { [ hstroke, Hstroke, bracketright, braceright ] }; + key { [ zabovedot, Zabovedot, backslash, bar ] }; + + // Euro symbol + key { [ 3, EuroSign, sterling ] }; + + // Long accent + key { [ 6, asciicircum, dead_circumflex, dead_circumflex ] }; + + // Normal accented vowels + key { [ e, E, egrave, Egrave ] }; + key { [ u, U, ugrave, Ugrave ] }; + key { [ i, I, igrave, Igrave ] }; + key { [ o, O, ograve, Ograve ] }; + key { [ a, A, agrave, Agrave ] }; + + include "level3(ralt_switch)" +}; + +// Maltese keyboard map (based on MSA Standard DMS100, annex A) +// by Ramon Casha (ramon.casha@linux.org.mt) + +partial alphanumeric_keys +xkb_symbols "us" { + + include "latin" + + // Describes the differences between the mt + // keyboard and a US-based physical keyboard + + name[Group1]="Maltese (US)"; + + // The following four sets are the four additional letters, with the US + // equivalents + key { [ cabovedot, Cabovedot, grave, asciitilde ] }; + key { [ gabovedot, Gabovedot, bracketleft, braceleft ] }; + key { [ hstroke, Hstroke, bracketright, braceright ] }; + key { [ zabovedot, Zabovedot, backslash, bar ] }; + key { [ zabovedot, Zabovedot, backslash, bar ] }; + + // Euro symbol + key { [ 3, EuroSign, numbersign ] }; + + // Long accent + key { [ 6, asciicircum, dead_circumflex, dead_circumflex ] }; + + // Normal accented vowels + key { [ e, E, egrave, Egrave ] }; + key { [ u, U, ugrave, Ugrave ] }; + key { [ i, I, igrave, Igrave ] }; + key { [ o, O, ograve, Ograve ] }; + key { [ a, A, agrave, Agrave ] }; + + include "level3(ralt_switch)" +}; + +// Alternative Maltese keyboard map (US-based layout using AltGr) +// by Johann A. Briffa (johann.briffa@um.edu.mt) + +partial alphanumeric_keys +xkb_symbols "alt-us" { + + include "us(basic)" + include "level3(ralt_switch)" + + name[Group1]="Maltese (US, with AltGr overrides)"; + + // Currency symbols + key { [ 3, numbersign, sterling, NoSymbol ] }; + key { [ 4, dollar, EuroSign, NoSymbol ] }; + + // Maltese characters + key { [ g, G, gabovedot, Gabovedot ] }; + key { [ h, H, hstroke, Hstroke ] }; + key { [ z, Z, zabovedot, Zabovedot ] }; + key { [ c, C, cabovedot, Cabovedot ] }; + + // Maltese accented vowels + key { [ e, E, egrave, Egrave ] }; + key { [ u, U, ugrave, Ugrave ] }; + key { [ i, I, igrave, Igrave ] }; + key { [ o, O, ograve, Ograve ] }; + key { [ a, A, agrave, Agrave ] }; + + // Other accents (dead-key) + key { [ grave, asciitilde, dead_grave, dead_tilde ] }; + key { [ 6, asciicircum, NoSymbol, dead_circumflex ] }; + key { [ apostrophe, quotedbl, dead_acute, dead_diaeresis ] }; +}; + +// Alternative Maltese keyboard map (UK-based layout using AltGr) +// by Johann A. Briffa (johann.briffa@um.edu.mt) + +partial alphanumeric_keys +xkb_symbols "alt-gb" { + + include "gb(basic)" + include "level3(ralt_switch)" + + name[Group1]="Maltese (UK, with AltGr overrides)"; + + // Currency symbols + key { [ 3, sterling, numbersign, NoSymbol ] }; + key { [ 4, dollar, EuroSign, NoSymbol ] }; + + // Maltese characters + key { [ g, G, gabovedot, Gabovedot ] }; + key { [ h, H, hstroke, Hstroke ] }; + key { [ z, Z, zabovedot, Zabovedot ] }; + key { [ c, C, cabovedot, Cabovedot ] }; + + // Maltese accented vowels + key { [ e, E, egrave, Egrave ] }; + key { [ u, U, ugrave, Ugrave ] }; + key { [ i, I, igrave, Igrave ] }; + key { [ o, O, ograve, Ograve ] }; + key { [ a, A, agrave, Agrave ] }; + + // Other accents (dead-key) + key { [ grave, notsign, dead_grave, NoSymbol ] }; + key { [ 2, quotedbl, NoSymbol, dead_diaeresis ] }; + key { [ 6, asciicircum, NoSymbol, dead_circumflex ] }; + key { [ apostrophe, at, dead_acute, NoSymbol ] }; + key { [numbersign, asciitilde, NoSymbol, dead_tilde ] }; +}; + +// Alternative Maltese keyboard map (US-based layout using AltGr) +// by Johann A. Briffa (johann.briffa@um.edu.mt) + +partial alphanumeric_keys +xkb_symbols "alt-us" { + + include "us(basic)" + include "level3(ralt_switch)" + + name[Group1]="Maltese (US, with AltGr overrides)"; + + // Currency symbols + key { [ 3, numbersign, sterling, NoSymbol ] }; + key { [ 4, dollar, EuroSign, NoSymbol ] }; + + // Maltese characters + key { [ g, G, gabovedot, Gabovedot ] }; + key { [ h, H, hstroke, Hstroke ] }; + key { [ z, Z, zabovedot, Zabovedot ] }; + key { [ c, C, cabovedot, Cabovedot ] }; + + // Maltese accented vowels + key { [ e, E, egrave, Egrave ] }; + key { [ u, U, ugrave, Ugrave ] }; + key { [ i, I, igrave, Igrave ] }; + key { [ o, O, ograve, Ograve ] }; + key { [ a, A, agrave, Agrave ] }; + + // Other accents (dead-key) + key { [ grave, asciitilde, dead_grave, dead_tilde ] }; + key { [ 6, asciicircum, NoSymbol, dead_circumflex ] }; + key { [ apostrophe, quotedbl, dead_acute, dead_diaeresis ] }; +}; + +// Alternative Maltese keyboard map (UK-based layout using AltGr) +// by Johann A. Briffa (johann.briffa@um.edu.mt) + +partial alphanumeric_keys +xkb_symbols "alt-gb" { + + include "gb(basic)" + include "level3(ralt_switch)" + + name[Group1]="Maltese (UK, with AltGr overrides)"; + + // Currency symbols + key { [ 3, sterling, numbersign, NoSymbol ] }; + key { [ 4, dollar, EuroSign, NoSymbol ] }; + + // Maltese characters + key { [ g, G, gabovedot, Gabovedot ] }; + key { [ h, H, hstroke, Hstroke ] }; + key { [ z, Z, zabovedot, Zabovedot ] }; + key { [ c, C, cabovedot, Cabovedot ] }; + + // Maltese accented vowels + key { [ e, E, egrave, Egrave ] }; + key { [ u, U, ugrave, Ugrave ] }; + key { [ i, I, igrave, Igrave ] }; + key { [ o, O, ograve, Ograve ] }; + key { [ a, A, agrave, Agrave ] }; + + // Other accents (dead-key) + key { [ grave, notsign, dead_grave, NoSymbol ] }; + key { [ 2, quotedbl, NoSymbol, dead_diaeresis ] }; + key { [ 6, asciicircum, NoSymbol, dead_circumflex ] }; + key { [ apostrophe, at, dead_acute, NoSymbol ] }; + key { [numbersign, asciitilde, NoSymbol, dead_tilde ] }; +}; diff --git a/xkbdata/symbols/mv b/xkbdata/symbols/mv new file mode 100644 index 0000000..bb5b993 --- /dev/null +++ b/xkbdata/symbols/mv @@ -0,0 +1,63 @@ +// Layout for the Thaana script (for the Dhivehi language). +default partial alphanumeric_keys +xkb_symbols "basic" { + + name[Group1]="Dhivehi"; + + key {[ grave, asciitilde ]}; + key {[ 1, exclam ]}; + key {[ 2, at ]}; + key {[ 3, numbersign ]}; + key {[ 4, dollar ]}; + key {[ 5, percent ]}; + key {[ 6, asciicircum ]}; + key {[ 7, ampersand ]}; + key {[ 8, asterisk ]}; + key {[ 9, parenleft ]}; + key {[ 0, parenright ]}; + key {[ minus, underscore ]}; + key {[ equal, plus ]}; + + key {[ 0x10007B0, 0x10007A4 ]}; + key {[ 0x1000787, 0x10007A2 ]}; + key {[ 0x10007AC, 0x10007AD ]}; + key {[ 0x1000783, 0x100079C ]}; + key {[ 0x100078C, 0x1000793 ]}; + key {[ 0x1000794, 0x10007A0 ]}; + key {[ 0x10007AA, 0x10007AB ]}; + key {[ 0x10007A8, 0x10007A9 ]}; + key {[ 0x10007AE, 0x10007AF ]}; + key {[ 0x1000795, division ]}; + key {[ bracketleft, braceleft ]}; + key {[ bracketright, braceright ]}; + + key {[ 0x10007A6, 0x10007A7 ]}; + key {[ 0x1000790, 0x1000781 ]}; + key {[ 0x100078B, 0x1000791 ]}; + key {[ 0x100078A, 0x100fdf2 ]}; + key {[ 0x100078E, 0x10007A3 ]}; + key {[ 0x1000780, 0x1000799 ]}; + key {[ 0x1000796, 0x100079B ]}; + key {[ 0x1000786, 0x100079A ]}; + key {[ 0x100078D, 0x1000785 ]}; + key {[ semicolon, colon ]}; + key {[ apostrophe, quotedbl ]}; + key {[ backslash, bar ]}; + + key {[ bar, brokenbar ]}; + key {[ 0x1000792, 0x10007A1 ]}; + key {[ multiply, 0x1000798 ]}; + key {[ 0x1000797, 0x100079D ]}; + key {[ 0x1000788, 0x10007A5 ]}; + key {[ 0x1000784, 0x100079E ]}; + key {[ 0x1000782, 0x100078F ]}; + key {[ 0x1000789, 0x100079F ]}; + key {[ Arabic_comma, less ]}; + key {[ period, greater ]}; + key {[ slash, Arabic_question_mark ]}; + + modifier_map Shift { Shift_L }; + modifier_map Lock { Caps_Lock }; + modifier_map Control{ Control_L }; + modifier_map Mod3 { Mode_switch }; +}; diff --git a/xkbdata/symbols/my b/xkbdata/symbols/my new file mode 100644 index 0000000..7d0d686 --- /dev/null +++ b/xkbdata/symbols/my @@ -0,0 +1,133 @@ +default partial alphanumeric_keys +xkb_symbols "basic" { + name[Group1]= "Malay (Jawi, Arabic Keyboard)"; + +//Numbers + + key { [ 0x1000661, exclam, 1 ] }; + key { [ 0x1000662, at, 2 ] }; + key { [ 0x1000663, numbersign, 3 ] }; + key { [ 0x1000664, dollar, 4 ] }; + key { [ 0x1000665, Arabic_percent, 5 ] }; + key { [ 0x1000666, asciicircum, 6 ] }; + key { [ 0x1000667, ampersand, 7 ] }; + key { [ 0x1000668, asterisk, 8 ] }; + key { [ 0x1000669, parenright, 9 ] }; + key { [ 0x1000660, parenleft, 0 ] }; + key { [ minus, underscore ] }; + key { [ equal, plus ] }; + +// Alphabets + + key { [ Arabic_dad, U0686 ] }; + key { [ Arabic_sad, U06A0 ] }; + key { [ Arabic_theh, U06AC ] }; + key { [ Arabic_qaf, U0640 ] }; + key { [ Arabic_feh, 0x100fef9, 0x10006a4 ] }; + key { [ Arabic_ghain, Arabic_hamzaunderalef ] }; + key { [ Arabic_ain, grave ] }; + key { [ Arabic_ha, division ] }; + key { [ Arabic_khah, multiply ] }; + key { [ U06A9, Arabic_semicolon ] }; + key { [ Arabic_jeem, less, 0x1000686 ] }; + key { [ Arabic_dal, greater ] }; + + key { [ Arabic_sheen, U06CF ] }; + key { [ Arabic_seen, U06A8 ] }; + key { [ Arabic_yeh, bracketright ] }; + key { [ Arabic_beh, bracketleft, 0x100067e ] }; + key { [ Arabic_lam, 0x100fef7 ] }; + key { [ Arabic_alef, Arabic_hamzaonalef ] }; + key { [ Arabic_teh, Arabic_tatweel ] }; + key { [ Arabic_noon, Arabic_comma ] }; + key { [ Arabic_meem, slash ] }; + key { [ U06A9, colon, 0x10006af ] }; + key { [ Arabic_tah, quotedbl ] }; + + key { [ bar, brokenbar ] }; + key { [Arabic_hamzaonyeh, asciitilde, guillemotright ] }; + key { [ Arabic_hamza, U06BD, guillemotleft ] }; + key { [Arabic_hamzaonwaw, braceright ] }; + key { [ Arabic_ra, braceleft ] }; + key { [ 0x100fefb, 0x100fef5 ] }; + key { [Arabic_alefmaksura, Arabic_maddaonalef ] }; + key { [Arabic_tehmarbuta, apostrophe ] }; + key { [ Arabic_waw, U200C, comma ] }; + key { [ Arabic_zain, period ] }; + key { [ Arabic_zah, Arabic_question_mark ] }; + +//others + + key { [ Escape ] }; + + include "level3(ralt_switch)" +}; + + +// symbol names: see /usr/X11R6/include/X11/keysymdef.h (XFree86-devel.rpm) + +partial alphanumeric_keys +xkb_symbols "phonetic" +{ + name[Group1] = "Malay (Jawi, phonetic)"; + +//Numbers + + key { [ 0x1000661, exclam, 1 ] }; + key { [ 0x1000662, Arabic_hamza, 2 ] }; + key { [ 0x1000663, Arabic_hamzaonalef, 3 ] }; + key { [ 0x1000664, Arabic_maddaonalef, 4 ] }; + key { [ 0x1000665, Arabic_hamzaunderalef, 5 ] }; + key { [ 0x1000666, Arabic_hamzaonyeh, 6 ] }; + key { [ 0x1000667, Arabic_hamzaonwaw, 7 ] }; + key { [ 0x1000668, NoSymbol, 8 ] }; + key { [ 0x1000669, parenright, 9 ] }; + key { [ 0x1000660, parenleft, 0 ] }; + key { [ minus, underscore ] }; + key { [ equal, plus ] }; + +// Alphabets + key { [ bar, brokenbar ] }; + key { [ Arabic_zain, Arabic_thal ] }; + key { [ Arabic_khah, Arabic_hah ] }; + key { [ Arabic_tcheh, UFEB9 ] }; + key { [ U06CF, Arabic_zah ] }; + key { [ Arabic_beh, Arabic_peh ] }; + key { [ Arabic_noon, U06BD ] }; + key { [ Arabic_meem, Arabic_maddaonalef ] }; + key { [ Arabic_comma, rightcaret ] }; + key { [ period, leftcaret ] }; + key { [ slash, Arabic_question_mark ] }; + + key { [ Arabic_alef, Arabic_maddaonalef ] }; + key { [ Arabic_seen, Arabic_sheen ] }; + key { [ Arabic_dal, Arabic_dad ] }; + key { [ Arabic_feh, Arabic_veh ] }; + key { [ U06AC, U06A0 ] }; + key { [ Arabic_ha, Arabic_hah ] }; + key { [ Arabic_jeem, Arabic_tcheh ] }; + key { [ Arabic_kaf, Arabic_qaf ] }; + key { [ Arabic_lam, UFEFB ] }; + key { [ Arabic_semicolon, colon ] }; + key { [ apostrophe, quotedbl ] }; + + key { [ Arabic_qaf, Arabic_veh ] }; + key { [ Arabic_waw, Arabic_shadda ] }; + key { [ Arabic_ain, Arabic_ghain ] }; + key { [ Arabic_ra, Arabic_ghain ] }; + key { [ Arabic_teh, Arabic_tehmarbuta ] }; + key { [ Arabic_yeh, Arabic_alefmaksura ] }; + key { [ Arabic_waw, Arabic_tah ] }; + key { [ Arabic_yeh, U0640 ] }; // U0640 - tatweel + key { [ Arabic_ain, U200C ] }; // U200C - ZWNJ + key { [ Arabic_veh, Arabic_teh ] }; + key { [ bracketright, braceright ] }; + key { [ bracketleft, braceleft ] }; + key { [ backslash, bar ] }; + +//others + + key { [ Escape ] }; + + include "level3(ralt_switch)" +}; diff --git a/xkbdata/symbols/nbsp b/xkbdata/symbols/nbsp new file mode 100644 index 0000000..874714c --- /dev/null +++ b/xkbdata/symbols/nbsp @@ -0,0 +1,204 @@ +// Let Space key provide No-Break Space (NBSP), Narrow No-Break Space (NNBSP), +// Zero-Width Non-Joiner (ZWNJ), and Zero-Width Joiner (ZWJ) for the desired +// levels. + + +//////////////////////////////////////// +// Only Space + +partial +xkb_symbols "none" { + key { + type[Group1]="ONE_LEVEL", + symbols[Group1]= [ space ] + }; +}; + + +//////////////////////////////////////// +// No-Break Space + +partial +xkb_symbols "level2" { + key { + type[Group1]="TWO_LEVEL", + symbols[Group1]= [ space, nobreakspace ] + }; +}; + + +// level3 & level3ns provide no-breaking spaces starting from level3 +// This is good for typographers but experience shows many users accidently +// type no-breaking spaces on the CLI (resulting in errors) +// Used by fr(latin9) and lt(std) +partial +xkb_symbols "level3" { + key { + type[Group1]="FOUR_LEVEL", + symbols[Group1]= [ space, space, nobreakspace ] + }; +}; + +// level3s kills fourth level +// Used by ca(multix) +partial +xkb_symbols "level3s" { + key { + type[Group1]="FOUR_LEVEL", + symbols[Group1]= [ space, space, nobreakspace, NoSymbol ] + }; +}; + +// for this reason pushing no-breaking spaces to level4 is the safe default nowadays +partial +xkb_symbols "level4" { + key { + type[Group1]="FOUR_LEVEL", + symbols[Group1]= [ space, space, space, nobreakspace ] + }; +}; + + +//////////////////////////////////////// +// Narrow No-Break Space + +// level3n provides narrow no-breaking space in addition to the normal one +partial +xkb_symbols "level3n" { + key { + type[Group1]="FOUR_LEVEL", + symbols[Group1]= [ space, space, nobreakspace, 0x100202F ] + }; +}; + +// level4n provides narrow no-breaking space in addition to the normal one +partial +xkb_symbols "level4n" { + key { + type[Group1]="EIGHT_LEVEL", + symbols[Group1]= [ space, space, space, nobreakspace, space, 0x100202F, NoSymbol, NoSymbol ] + }; +}; + +// level4nl provides narrow no-breaking space in addition to the normal one +// without forcing the use of level5 for mostly four-level layouts +// Used by fr(oss), be(oss)… +partial +xkb_symbols "level4nl" { + key { + type[Group1]="LOCAL_EIGHT_LEVEL", + symbols[Group1]= [ space, space, space, nobreakspace, space, 0x100202F, NoSymbol, NoSymbol ] + }; +}; + + +//////////////////////////////////////// +// Zero-Width Non-Joiner & Zero-Width Joiner +// Author: Behnam Esfahbod + +// ZWNJ and ZWJ are widely used in Persian, Kurdinsh, Pashto, Uzbek and other +// languages that use PersoArabic script. + + +// ZWNJ on level 2 +partial +xkb_symbols "zwnj2" { + key { + type[Group1]="TWO_LEVEL", + symbols[Group1]= [ space, 0x100200c ] + }; +}; + + +// ZWNJ on level 2 +// ZWJ on level 3 +partial +xkb_symbols "zwnj2zwj3" { + key { + type[Group1]="FOUR_LEVEL", + symbols[Group1]= [ space, 0x100200c, 0x100200d ] + }; +}; + + +// ZWNJ on level 2 +// ZWJ on level 3 +// NBSP on level 4 +partial +xkb_symbols "zwnj2zwj3nb4" { + key { + type[Group1]="FOUR_LEVEL", + symbols[Group1]= [ space, 0x100200c, 0x100200d, nobreakspace ] + }; +}; + +// ZWNJ on level 2 +// NBSP on level 3 +// Used by ir(ku_ara), af(basic), af(ps), af(uz), af(fa-olpc), af(ps-olpc), af(uz-olpc) +partial +xkb_symbols "zwnj2nb3" { + key { + type[Group1]="FOUR_LEVEL", + symbols[Group1]= [ space, 0x100200c, nobreakspace ] + }; +}; + + +// ZWNJ on level 2 +// NBSP on level 3 +partial +xkb_symbols "zwnj2nb3s" { + key { + type[Group1]="FOUR_LEVEL", + symbols[Group1]= [ space, 0x100200c, nobreakspace, NoSymbol ] + }; +}; + + +// ZWNJ on level 2 +// NBSP on level 3 +// ZWJ on level 4 +partial +xkb_symbols "zwnj2nb3zwj4" { + key { + type[Group1]="FOUR_LEVEL", + symbols[Group1]= [ space, 0x100200c, nobreakspace, 0x100200d ] + }; +}; + + +// ZWNJ on level 2 +// NBSP on level 3 +// NNBSP on level 4 +// Used by ir(pes) +partial +xkb_symbols "zwnj2nb3nnb4" { + key { + type[Group1]="FOUR_LEVEL", + symbols[Group1]= [ space, 0x100200c, nobreakspace, 0x100202F ] + }; +}; + + +// ZWNJ on level 3 +// ZWJ on level 4 +// Used by in(deva), in(olpc) +partial +xkb_symbols "zwnj3zwj4" { + key { + type[Group1]="FOUR_LEVEL", + symbols[Group1]= [ space, space, 0x100200c, 0x100200d ] + }; +}; + + +// NBSP on level 2 +// ZWNJ on level 3 +// Used by lk(sin_phonetic) +partial +xkb_symbols "nb2zwnj3s" { + key { + type[Group1]="FOUR_LEVEL", + symbols[Group1]= [ space, nobreakspace, 0x100200c, NoSymbol ] + }; +}; diff --git a/xkbdata/symbols/nec_vndr/jp b/xkbdata/symbols/nec_vndr/jp new file mode 100644 index 0000000..2931f3a --- /dev/null +++ b/xkbdata/symbols/nec_vndr/jp @@ -0,0 +1,161 @@ +// +//Copyright 1996, 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. +// +// symbols for a NEC PC98 keyboard +default xkb_symbols "pc98" { + + key { [ Escape ] }; + + // Alphanumeric section + key { [ 1, exclam ], [ kana_NU ] }; + key { [ 2, quotedbl ], [ kana_FU ] }; + key { [ 3, numbersign ], [ kana_A, kana_a ] }; + key { [ 4, dollar ], [ kana_U, kana_u ] }; + key { [ 5, percent ], [ kana_E, kana_e ] }; + key { [ 6, ampersand ], [ kana_O, kana_o ] }; + key { [ 7, apostrophe ], [ kana_YA, kana_ya ] }; + key { [ 8, parenleft ], [ kana_YU, kana_yu ] }; + key { [ 9, parenright ], [ kana_YO, kana_yo ] }; + key { [ 0 ], [ kana_WA, kana_WO ] }; + key { [ minus, equal ], [ kana_HO ] }; + key { [ asciicircum, grave ], [ kana_HE ] }; + key { [ backslash, bar ], [ prolongedsound ] }; + key { [ BackSpace ] }; + + key { [ Tab, ISO_Left_Tab ] }; + key { [ q, Q ], [ kana_TA ] }; + key { [ w, W ], [ kana_TE ] }; + key { [ e, E ], [ kana_I, kana_i ] }; + key { [ r, R ], [ kana_SU ] }; + key { [ t, T ], [ kana_KA ] }; + key { [ y, Y ], [ kana_N ] }; + key { [ u, U ], [ kana_NA ] }; + key { [ i, I ], [ kana_NI ] }; + key { [ o, O ], [ kana_RA ] }; + key { [ p, P ], [ kana_SE ] }; + key { [ at, asciitilde ], [ voicedsound ] }; + key { [ bracketleft, braceleft ], [ semivoicedsound, kana_openingbracket ] }; + key { [ Return ] }; + + key { [ Control_L ] }; + key { [ Caps_Lock ] }; + key { [ a, A ], [ kana_CHI ] }; + key { [ s, S ], [ kana_TO ] }; + key { [ d, D ], [ kana_SHI ] }; + key { [ f, F ], [ kana_HA ] }; + key { [ g, G ], [ kana_KI ] }; + key { [ h, H ], [ kana_KU ] }; + key { [ j, J ], [ kana_MA ] }; + key { [ k, K ], [ kana_NO ] }; + key { [ l, L ], [ kana_RI ] }; + key { [ semicolon, plus ], [ kana_RE ] }; + key { [ colon, asterisk ], [ kana_KE ] }; + key { [ bracketright, braceright ], [ kana_MU, kana_closingbracket ] }; + + key { [ Shift_L ] }; + key { [ z, Z ], [ kana_TSU, kana_tsu ] }; + key { [ x, X ], [ kana_SA ] }; + key { [ c, C ], [ kana_SO ] }; + key { [ v, V ], [ kana_HI ] }; + key { [ b, B ], [ kana_KO ] }; + key { [ n, N ], [ kana_MI ] }; + key { [ m, M ], [ kana_MO ] }; + key { [ comma, less ], [ kana_NE, kana_comma ] }; + key { [ period, greater ], [ kana_RU, kana_fullstop ] }; + key { [ slash, question ], [ kana_ME, kana_middledot ] }; + key { [ NoSymbol, underscore ], [ kana_RO ] }; +// key { [ Shift_R ] }; + + key { [ Mode_switch ] }; + key { [ Alt_L ] }; + key { [ Muhenkan ] }; + key { [ space ] }; + key { [ Henkan, Kanji ] }; + // End alphanumeric section + + // Begin "Function" section + key { [ Break ] }; + key { [ Print ] }; + key { [ F1 ] }; + key { [ F2 ] }; + key { [ F3 ] }; + key { [ F4 ] }; + key { [ F5 ] }; + key { [ F6 ] }; + key { [ F7 ] }; + key { [ F8 ] }; + key { [ F9 ] }; + key { [ F10 ] }; + key { [ F11 ] }; + key { [ F12 ] }; + key { [ F13 ] }; + key { [ F14 ] }; + key { [ F15 ] }; + // End "Function" section + + // Begin "Editing" section + key { [ Insert ] }; + key { [ Delete ] }; + key { [ Prior ] }; + key { [ Next ] }; + key { [ Up ] }; + key { [ Left ] }; + key { [ Right ] }; + key { [ Down ] }; + // End "Editing" section + + // Begin "Keypad" section + key { [ Clear, Home ] }; + key { [ Help ] }; + key { [ KP_Subtract ] }; + key { [ KP_Divide ] }; + + key { [ KP_7 ] }; + key { [ KP_8 ] }; + key { [ KP_9 ] }; + key { [ KP_Multiply ] }; + + key { [ KP_4 ] }; + key { [ KP_5 ] }; + key { [ KP_6 ] }; + key { [ KP_Add ] }; + + key { [ KP_1 ] }; + key { [ KP_2 ] }; + key { [ KP_3 ] }; + key { [ KP_Equal ] }; + + key { [ KP_0 ] }; + key { [ KP_Separator ] }; + key { [ KP_Decimal ] }; +// key { [ KP_Enter ] }; + // End "Keypad" section + + modifier_map Shift { Shift_L }; + modifier_map Lock { Caps_Lock }; + modifier_map Control{ Control_L }; + modifier_map Mod1 { Alt_L }; + modifier_map Mod2 { Mode_switch }; +}; diff --git a/xkbdata/symbols/ng b/xkbdata/symbols/ng new file mode 100644 index 0000000..2865f7b --- /dev/null +++ b/xkbdata/symbols/ng @@ -0,0 +1,113 @@ +default partial alphanumeric_keys +xkb_symbols "basic" { + + include "us" + + name[Group1]= "English (Nigeria)"; + key { [ 4, 0x010020A6, dollar, cent ] }; + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "yoruba" { + include "ng(basic)" + + name[Group1]= "Yoruba"; + + key { [ 0x01001EB9, 0x01001EB8, q, Q ] }; + key { [ 0x01001ECD, 0x01001ECC, x, X ] }; + key { [ 0x01001E63, 0x01001E62, v, V ] }; +}; + +partial alphanumeric_keys +xkb_symbols "igbo" { + include "ng(basic)" + + name[Group1]= "Igbo"; + + key { [ 0x01001ECB, 0x01001ECA, q, Q ] }; + key { [ 0x01001E45, 0x01001E44, x, X ] }; + key { [ 0x01001EE5, 0x01001EE4, semicolon, colon ] }; + key { [ 0x01001ECD, 0x01001ECC, bracketleft, braceleft ] }; +}; + +partial alphanumeric_keys +xkb_symbols "hausa" { + include "ng(basic)" + + name[Group1]= "Hausa (Nigeria)"; + + key { [ 0x01000071, 0x01000051, q, Q ] }; + key { [ udiaeresis, Udiaeresis, w, W ] }; + key { [ e, E, EuroSign, cent ] }; + key { [ 0x010001B4, 0x010001B3,bracketleft, braceleft ] }; + key { [ gcaron, Gcaron,bracketright, braceright] }; + key { [ 0x01000257, 0x0100018A, d, D ] }; + key { [ 0x01000131, 0x01000130, semicolon, colon ] }; + key { [ 0x010001DD, 0x0100018E,apostrophe, quotedbl ] }; + key { [ 0x01000272, 0x0100019D, z, Z ] }; + key { [ ntilde, Ntilde, m, M ] }; + key { [ ccedilla, Ccedilla, period, greater ] }; + key { [ scedilla, Scedilla, slash, question ] }; +}; + +partial alphanumeric_keys +xkb_symbols "olpc" { + + include "ng(basic)" + + // OLPC West Africa keyboard layout + // See: http://wiki.laptop.org/go/Image:Nigeria-B3.png + + key { [ grave, asciitilde, exclamdown, exclamdown ] }; + key { [ 1, exclam, sterling, sterling ] }; + key { [ 2, at, EuroSign, EuroSign ] }; + key { [ 3, numbersign, dollar, dollar ] }; + key { [ 4, 0x10020A6, 0x1000301, 0x1000301 ] }; // Naira, combining acute + key { [ 5, percent, 0x1000300, 0x1000300 ] }; // combining grave + key { [ 6,asciicircum, 0x100030A, 0x100030A ] }; // combining ring above + key { [ 7, ampersand, 0x1000302, 0x1000302 ] }; // combining circumflex above + key { [ 8, asterisk, 0x1000324, 0x1000324 ] }; // combining caron above + key { [ 9, parenleft, 0x1000307, 0x1000307 ] }; // combining dot above + key { [ 0, parenright, 0x1000308, 0x1000308 ] }; // combining diaeresis above + key { [ minus, underscore, 0x1000304, 0x1000304 ] }; // combining macron above + key { [ equal, plus, 0x1000303, 0x1000303 ] }; // combining tilde above + + key { [ w, W, 0x1001EB9, 0x1001EB8 ] }; // E with dot below + key { [ e, E, 0x10001DD, 0x100018E ] }; // reversed E + key { [ r, R, 0x10001B4, 0x10001B3 ] }; // Y with hook + key { [ t, T, 0x1000327, 0x1000327 ] }; // combining cedilla + key { [ y, Y, 0x1000325, 0x1000325 ] }; // combining ring below + key { [ u, U, 0x100032D, 0x100032D ] }; // combining circumflex below + key { [ i, I, 0x100032C, 0x100032C ] }; // combining caron below + key { [ o, O, 0x1000323, 0x1000323 ] }; // combining dot below + key { [ p, P, 0x1000304, 0x1000304 ] }; // combining diaeresis below + key { [ bracketleft, braceleft, 0x1000331, 0x1000331 ] }; // combining macron below + key { [bracketright, braceright, 0x1000330, 0x1000330 ] }; // combining tilde below + + key { [ a, A, Greek_iota, Greek_IOTA ] }; + key { [ s, S, 0x1001E63, 0x1001E62 ] }; // S with dot below + key { [ d, D, 0x1000257, 0x100018A ] }; // D with hook + key { [ f, F, 0x1001E0D, 0x1001E0C ] }; // D with dot below + key { [ g, G, 0x1000272, 0x100019D ] }; // N with left hook + key { [ h, H, 0x1001EE5, 0x1001EE4 ] }; // U with dot below + key { [ j, J, 0x1001ECB, 0x1001ECA ] }; // I with dot below + key { [ k, K, 0x1000199, 0x1000198 ] }; // K with hook + key { [ l, L, 0x1001E37, 0x1001E36 ] }; // L with dot below + key { [ semicolon, colon, masculine, ordfeminine ] }; + key { [ apostrophe, quotedbl, currency, currency ] }; + key { [ backslash, bar, section, section ] }; + + key { [ c, C, 0x1000254, 0x1000186 ] }; // open O + key { [ v, V, 0x100028B, 0x10001B2 ] }; // V with hook + key { [ b, B, 0x1000253, 0x1000181 ] }; // B with hook + key { [ n, N, eng, ENG ] }; + key { [ m, M, 0x1001E45, 0x1001E44 ] }; // N with dot above + key { [ comma, less, guillemotleft, guillemotleft ] }; + key { [ period, greater, guillemotright, guillemotright ] }; + key { [ slash, question, questiondown, questiondown ] }; + + key { [ multiply, division, ISO_Next_Group, ISO_Prev_Group ] }; + + include "level3(ralt_switch)" +}; diff --git a/xkbdata/symbols/nl b/xkbdata/symbols/nl new file mode 100644 index 0000000..df46fd7 --- /dev/null +++ b/xkbdata/symbols/nl @@ -0,0 +1,138 @@ +// Basic layout, based on converted file, from keytable file to xkb/symbols/ file +// with mk_xkb by root@linux.chanae.stben.be Tue Sep 30 00:53:29 MET DST 1997 +// +// Converted from the nl-latin.map of the Linux kbd package by +// Pablo Saratxaga +default partial alphanumeric_keys +xkb_symbols "basic" { + + include "latin" + + name[Group1]="Dutch"; + + key { [ 2, quotedbl, twosuperior, oneeighth ] }; + key { [ 6, ampersand, threequarters, fiveeighths ] }; + key { [ 7, underscore, sterling, seveneighths ] }; + key { [ 8, parenleft, braceleft, bracketleft ] }; + key { [ 9, parenright, braceright, bracketright ] }; + key { [ 0, apostrophe, degree, trademark ] }; + key { [ slash, question, backslash, questiondown ] }; + key { [ degree, dead_tilde, dead_cedilla, dead_ogonek ] }; + + key { [ e, E, EuroSign, cent ] }; + key { [ t, T, thorn, THORN ] }; + key { [ y, Y, ydiaeresis, yen ] }; + key { [ u, U, udiaeresis, Udiaeresis ] }; + key { [ i, I, idiaeresis, Idiaeresis ] }; + key { [ o, O, ograve, Ograve ] }; + key { [ p, P, paragraph, THORN ] }; + key { [dead_diaeresis, dead_circumflex, asciitilde, asciicircum] }; + key { [ asterisk, bar, dead_tilde, dead_macron ] }; + + key { [ a, A, aacute, Aacute ] }; + key { [ f, F, ordfeminine, ordfeminine ] }; + key { [ plus, plusminus, dead_acute, dead_doubleacute ] }; + key { [dead_acute, dead_grave, apostrophe, grave ] }; + key { [ at, section, notsign, notsign ] }; + + key { [ less, greater, dead_grave, dead_breve ] }; + key { [ v, V, leftdoublequotemark, leftsinglequotemark ] }; + key { [ b, B, rightdoublequotemark, rightsinglequotemark ] }; + key { [ n, N, ntilde, Ntilde ] }; + key { [ m, M, Greek_mu, masculine ] }; + key { [ comma, semicolon, cedilla, guillemotleft] }; + key { [ period, colon, periodcentered, guillemotright ] }; + key { [ minus, equal, hyphen, dead_abovedot] }; + + key { [bracketright, bracketleft, bar, brokenbar ] }; + + include "level3(ralt_switch)" +}; + + +// Official layout, by Benno Schulenberg , January 2007, +// based on ftp://ftp.software.ibm.com/software/globalization/keyboards/KBD143.pdf. +partial alphanumeric_keys +xkb_symbols "std" { + + name[Group1]= "Dutch (standard)"; + + key { [ at, section, notsign ] }; + key { [ 1, exclam, onesuperior ] }; + key { [ 2, quotedbl, twosuperior ] }; + key { [ 3, numbersign, threesuperior ] }; + key { [ 4, dollar, onequarter ] }; + key { [ 5, percent, onehalf ] }; + key { [ 6, ampersand, threequarters ] }; + key { [ 7, underscore, sterling ] }; + key { [ 8, parenleft, braceleft ] }; + key { [ 9, parenright, braceright ] }; + key { [ 0, apostrophe ] }; + key { [ slash, question, backslash ] }; + key { [ degree, dead_tilde, dead_cedilla ] }; + + key { [ q, Q ] }; + key { [ w, W ] }; + key { [ e, E, EuroSign ] }; + key { [ r, R, paragraph ] }; + key { [ t, T ] }; + key { [ y, Y ] }; + key { [ u, U ] }; + key { [ i, I ] }; + key { [ o, O ] }; + key { [ p, P ] }; + key { [ dead_diaeresis, dead_circumflex ] }; + key { [ asterisk, bar ] }; + + key { [ a, A ] }; + key { [ s, S, ssharp ] }; + key { [ d, D ] }; + key { [ f, F ] }; + key { [ g, G ] }; + key { [ h, H ] }; + key { [ j, J ] }; + key { [ k, K ] }; + key { [ l, L ] }; + key { [ plus, plusminus ] }; + key { [ dead_acute, dead_grave ] }; + key { [ less, greater ] }; + + key { [ bracketright, bracketleft, brokenbar ] }; + key { [ z, Z, guillemotleft ] }; + key { [ x, X, guillemotright ] }; + key { [ c, C, cent ] }; + key { [ v, V ] }; + key { [ b, B ] }; + key { [ n, N ] }; + key { [ m, M, mu ] }; + key { [ comma, semicolon ] }; + key { [ period, colon, periodcentered ] }; + key { [ minus, equal ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "us" { + include "us(euro)" + + name[Group1]= "Dutch (US)"; +}; + +// Copied from macintosh_vndr/nl +partial alphanumeric_keys +xkb_symbols "mac" { + + include "latin" + + name[Group1]= "Dutch (Macintosh)"; + + include "level3(ralt_switch)" +}; + +// EXTRAS: + +partial alphanumeric_keys + xkb_symbols "sun_type6" { + include "sun_vndr/nl(sun_type6)" +}; diff --git a/xkbdata/symbols/no b/xkbdata/symbols/no new file mode 100644 index 0000000..600cf23 --- /dev/null +++ b/xkbdata/symbols/no @@ -0,0 +1,265 @@ +default partial alphanumeric_keys +xkb_symbols "basic" { + + // Describes the differences between a very simple en_US + // keyboard and a Norwegian keyboard with dead key support + // and all of ISO-8859-1 characters available. + + include "latin(type2)" + + name[Group1]="Norwegian"; + + key { [ period, colon, ellipsis, periodcentered ] }; + key { [ minus, underscore, endash, emdash ] }; + key { [ r, R, registered, trademark ] }; + key { [ p, P, Greek_pi, Greek_PI ] }; + key { [ 5, percent, onehalf, 0x1002030 ] }; + + key { [ plus, question, plusminus, questiondown ] }; + key { [ backslash, dead_grave, dead_acute, notsign ] }; + + + key { [ oslash, Ooblique, dead_acute, dead_doubleacute ] }; + key { [ ae, AE, dead_circumflex, dead_caron] }; + key { [ bar, section, brokenbar, paragraph ] }; + + key { [apostrophe, asterisk, dead_doubleacute, multiply ] }; + key { [ less, greater, onehalf, threequarters] }; + + include "nbsp(level3n)" + include "keypad(ossmath)" + include "kpdl(comma)" + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "nodeadkeys" { + + // Modifies the basic Norwegian layout to no dead keys + + include "no(basic)" + + name[Group1]="Norwegian (no dead keys)"; + + key { [ backslash, grave, acute, ogonek ] }; + key { [ diaeresis, asciicircum, asciitilde, macron ] }; + key { [ oslash, Ooblique, acute, doubleacute ] }; + key { [ ae, AE, asciicircum, caron ] }; + key { [ comma, semicolon, cedilla, ogonek ] }; + key { [ period, colon, periodcentered, abovedot ] }; +}; + +partial alphanumeric_keys +xkb_symbols "winkeys" { + + include "no(basic)" + name[Group1]="Norwegian (Windows)"; + include "eurosign(5)" +}; + +// Norwegian Dvorak +partial alphanumeric_keys +xkb_symbols "dvorak" { + include "us(dvorak)" + + name[Group1]="Norwegian (Dvorak)"; + + key { [ bar, section, brokenbar, paragraph ] }; + + key { [ 1, exclam, exclamdown, onesuperior ] }; + key { [ 2, quotedbl, at, twosuperior ] }; + key { [ 3, numbersign, sterling, threesuperior ] }; + key { [ 4, currency, dollar, onequarter ] }; + key { [ 5, percent, onehalf, onehalf ] }; + key { [ 6, ampersand, threequarters, threequarters ] }; + key { [ 7, slash, braceleft, division ] }; + key { [ 8, parenleft, bracketleft ] }; + key { [ 9, parenright, bracketright ] }; + key { [ 0, equal, braceright ] }; + key { [ plus, question, plusminus, questiondown ] }; + key { [ backslash, grave, dead_acute, dead_grave ] }; + + key { [ aring, Aring, braceright, bracketright ] }; + key { [ comma, semicolon, dead_cedilla, cedilla ] }; + key { [ period, colon, periodcentered ] }; + key { [ p, P, thorn, THORN ] }; + key { [ y, Y, yen ] }; + key { [ f, F, ordfeminine ] }; + key { [ c, C, ccedilla, copyright ] }; + key { [ r, R, registered ] }; + key { [ apostrophe, asterisk, dead_circumflex, acute ] }; + key { [dead_diaeresis, dead_circumflex, dead_tilde, dead_caron ] }; + + key { [ e, E, EuroSign, cent ] }; + key { [ i, I, idotless, Iabovedot] }; + key { [ d, D, eth, ETH ] }; + key { [ s, S, ssharp, U1E9E ] }; + key { [ minus, underscore, hyphen, diaeresis] }; + + key { [ ae, AE, braceleft, bracketleft] }; + key { [ x, X, multiply ] }; + key { [ m, M, mu ] }; + key { [ less, greater, guillemotleft, guillemotright ] }; + + key { [ space, space, nobreakspace, nobreakspace] }; + + key { [ oslash, Ooblique, bar, backslash ] }; + + // fixed https://bugs.freedesktop.org/show_bug.cgi?id=4397 + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "smi" { + + // Northern Sami keyboards for Finland, Norway and Sweden + // + // Describes the differences between a very simple en_US + // keyboard and a Norwegian Northern Sami keyboard (with + // dead-key support) according to the spec on + // http://www.hum.uit.no/a/trond/se-lat9-no-keys.html + // Written by Børre Gaup . + + include "latin" + + name[Group1]= "Northern Saami (Norway)"; + + key { [ 1, exclam, copyright, exclamdown ] }; + key { [ 2, quotedbl, at, registered ] }; + key { [ 3, numbersign, sterling, less ] }; + key { [ 4, dollar, dollar, greater ] }; + key { [ 5, percent, U2022, U2030 ] }; + key { [ 6, ampersand, section, paragraph ] }; + key { [ 7, slash, braceleft, bar ] }; + key { [ 8, parenleft, bracketleft, braceleft ] }; + key { [ 9, parenright, bracketright, braceright ] }; + key { [ 0, equal, braceright, notequal ] }; + key { [ plus, question, division, questiondown ] }; + key { [ backslash, grave, acute, asciitilde ] }; + + key { [ aacute, Aacute, q, Q ] }; + key { [ scaron, Scaron, w, W ] }; + key { [ e, E, eacute, Eacute ] }; + key { [ r, R, registered, trademark ] }; + key { [ y, Y, yacute, Yacute ] }; + key { [ u, U, udiaeresis, Udiaeresis ] }; + key { [ i, I, idiaeresis, Idiaeresis ] }; + key { [ o, O, oe, OE ] }; + key { [ aring, Aring, acircumflex, Acircumflex ] }; + key { [ eng, ENG, quotedbl, asciicircum ] }; + + key { [ a, A, agrave, Agrave ] }; + key { [ s, S, ssharp, apostrophe ] }; + key { [ f, F, ordfeminine, ordfeminine ] }; + key { [ g, G, gcaron, Gcaron ] }; + key { [ h, H, U01E5, U01E4 ] }; + key { [ j, J, notsign, multiply ] }; + key { [ k, K, U01E9, U01E8 ] }; + key { [ l, L, degree, hyphen ] }; + key { [ oslash, Ooblique, odiaeresis, Odiaeresis ] }; + key { [ ae, AE, adiaeresis, Adiaeresis ] }; + key { [ bar, section, brokenbar, paragraph ] }; + + key { [ dstroke, Dstroke, apostrophe, asterisk ] }; + key { [ z, Z, U0292, U01B7 ] }; + key { [ ccaron, Ccaron, x, X ] }; + key { [ c, C, ccedilla, Ccedilla ] }; + key { [ v, V, lessthanequal, guillemotleft ] }; + key { [ b, B, greaterthanequal, guillemotright ] }; + key { [ n, N, leftsinglequotemark, leftdoublequotemark ] }; + key { [ m, M, rightsinglequotemark, rightdoublequotemark ] }; + key { [ comma, semicolon, singlelowquotemark, doublelowquotemark ] }; + key { [ period, colon, ellipsis, periodcentered ] }; + key { [ minus, underscore, endash, emdash ] }; + + key { type[Group1] = "FOUR_LEVEL", + [ zcaron, Zcaron, U01EF, U01EE ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "smi_nodeadkeys" { + + // Modifies the basic Norwegian layout to no dead keys + + include "no(smi)" + + name[Group1]= "Northern Saami (Norway, no dead keys)"; + + key { [ backslash, grave, acute, ogonek ] }; +}; + +// Copied from macintosh_vndr/no +partial alphanumeric_keys +xkb_symbols "mac" { + + // Describes the differences between a very simple en_US + // keyboard and a very simple Norwegian keyboard. + + include "latin(type4)" + name[Group1]= "Norwegian (Macintosh)"; + + key { [ bar, section ] }; + key { [ 3, numbersign, sterling, sterling ] }; + key { [ 4, currency, dollar, dollar ] }; + key { [ 6, ampersand, threequarters, fiveeighths ] }; + key { [ 7, slash, bar, backslash ] }; + key { [ 8, parenleft, bracketleft, braceleft ] }; + key { [ 9, parenright, bracketright, braceright ] }; + key { [ oslash, Ooblique, odiaeresis, Odiaeresis ] }; + key { [ plus, question ] }; + key { [ ae, AE ] }; + key { [ aring, Aring ] }; + key { [ dead_grave, dead_acute, acute, dead_ogonek ] }; + key { [ diaeresis, asciicircum, asciitilde, dead_macron ] }; + key { [ at, asterisk ] }; +}; + +partial alphanumeric_keys +xkb_symbols "mac_nodeadkeys" { + + // Modifies the basic Norwegian layout to no dead keys + include "no(mac)" + name[Group1]= "Norwegian (Macintosh, no dead keys)"; + + key { [ grave, acute, acute, ogonek ] }; + key { [ diaeresis, asciicircum, asciitilde, macron ] }; +}; + +partial alphanumeric_keys +xkb_symbols "colemak" { + + // Colemak layout - http://colemak.com/ + // Q W F P G J L U Y Ø Å ¨ + // A R S T D H N E I O Æ ' + // < Z X C V B K M , . - + include "no(basic)" + name[Group1]= "Norwegian (Colemak)"; + + key { [ k, K, kra, ampersand ] }; + key { [ r, R, registered, trademark ] }; + key { [ s, S, ssharp, section ] }; + key { [ t, T, thorn, THORN ] }; + key { [ d, D, eth, ETH ] }; + key { [ n, N ] }; + key { [ e, E, EuroSign, cent ] }; + key { [ i, I, rightarrow, idotless ] }; + key { [ o, O, oe, OE ] }; + key { [ f, F, dstroke, ordfeminine ] }; + key { [ p, P, Greek_pi, Greek_PI ] }; + key { [ g, G, eng, ENG ] }; + key { [ j, J ] }; + key { [ l, L, lstroke, Lstroke ] }; + key { [ u, U, downarrow, uparrow ] }; + key { [ y, Y, leftarrow, yen ] }; + key { [ oslash, Ooblique, dead_acute, dead_doubleacute ] }; +}; + +// EXTRAS: + +partial alphanumeric_keys + xkb_symbols "sun_type6" { + include "sun_vndr/no(sun_type6)" +}; diff --git a/xkbdata/symbols/nokia_vndr/rx-44 b/xkbdata/symbols/nokia_vndr/rx-44 new file mode 100644 index 0000000..d7f287a --- /dev/null +++ b/xkbdata/symbols/nokia_vndr/rx-44 @@ -0,0 +1,303 @@ +partial alphanumeric_keys +xkb_symbols "us" { + name[Group1] = "U.S. English"; + + include "nokia_vndr/rx-44(base)" + + key { [ a, A, exclam, exclam ] }; + key { [ s, S, quotedbl, quotedbl ] }; + key { [ d, D, at, at ] }; + key { [ f, F, numbersign, numbersign ] }; + key { [ g, G, backslash, backslash ] }; + key { [ h, H, slash, slash ] }; + key { [ j, J, parenleft, parenleft ] }; + key { [ k, K, parenright, parenright ] }; + key { [ l, L, asterisk, asterisk ] }; + key { [ apostrophe, question, question, question ] }; + + key { [ z, Z, yen, yen ] }; + key { [ x, X, asciicircum, asciicircum ] }; + key { [ c, C, asciitilde, asciitilde ] }; + key { [ v, V, percent, percent ] }; + key { [ b, B, ampersand, ampersand ] }; + key { [ n, N, dollar, dollar ] }; + key { [ m, M, EuroSign, EuroSign ] }; + key { [ semicolon, colon, sterling, sterling ] }; + key { [ minus, underscore, underscore, underscore ] }; + key { [ plus, equal, equal, equal ] }; + + key { [ comma, less, comma, less ] }; + key { [ period, greater, period, greater ] }; +}; + + + +partial alphanumeric_keys +xkb_symbols "fisenoda" { + name[Group1] = "Finnish/Swedish/Norwegian/Danish"; + + include "nokia_vndr/rx-44(base)" + + key { [ a, A, exclam, exclam ] }; + key { [ s, S, quotedbl, quotedbl ] }; + key { [ d, D, at, at ] }; + key { [ f, F, numbersign, numbersign ] }; + key { [ g, G, asterisk, asterisk ] }; + key { [ h, H, backslash, backslash ] }; + key { [ j, J, slash, slash ] }; + key { [ k, K, parenleft, parenleft ] }; + key { [ l, L, parenright, parenright ] }; + key { [ aring, Aring, question, question ] }; + + key { [ z, Z, EuroSign, EuroSign ] }; + key { [ x, X, asciitilde, asciitilde ] }; + key { [ c, C, percent, percent ] }; + key { [ v, V, ampersand, ampersand ] }; + key { [ b, B, plus, plus ] }; + key { [ n, N, less, less ] }; + key { [ m, M, greater, greater ] }; + key { type="EIGHT_LEVEL", [ oslash, Oslash, equal, equal, odiaeresis, Odiaeresis, equal, equal ] }; + key { type="EIGHT_LEVEL", [ ae, AE, apostrophe, apostrophe, adiaeresis, Adiaeresis, apostrophe, apostrophe ] }; + key { [ minus, underscore, underscore, underscore ] }; + + key { [ comma, semicolon, comma, semicolon ] }; + key { [ period, colon, period, colon ] }; +}; + + + +partial alphanumeric_keys +xkb_symbols "ptes" { + name[Group1] = "Portuguese/Spanish"; + + include "nokia_vndr/rx-44(base)" + + key { [ a, A, exclam, exclam ] }; + key { [ s, S, quotedbl, quotedbl ] }; + key { [ d, D, at, at ] }; + key { [ f, F, numbersign, numbersign ] }; + key { [ g, G, asterisk, asterisk ] }; + key { [ h, H, backslash, backslash ] }; + key { [ j, J, slash, slash ] }; + key { [ k, K, parenleft, parenleft ] }; + key { [ l, L, parenright, parenright ] }; + key { [ dead_acute, dead_grave, dead_diaeresis, dead_diaeresis ] }; + + key { [ z, Z, EuroSign, EuroSign ] }; + key { [ x, X, percent, percent ] }; + key { [ c, C, ampersand, ampersand ] }; + key { [ v, V, exclamdown, exclamdown ] }; + key { [ b, B, apostrophe, apostrophe ] }; + key { [ n, N, plus, plus ] }; + key { [ m, M, equal, equal ] }; + key { [ ccedilla, Ccedilla, questiondown, questiondown ] }; + key { [ ntilde, Ntilde, question, question ] }; + key { [ dead_tilde, dead_circumflex, dead_circumflex, dead_circumflex ] }; + + key { [ comma, semicolon, minus, minus ] }; + key { [ period, colon, underscore, underscore ] }; +}; + + + +partial alphanumeric_keys +xkb_symbols "fr" { + name[Group1] = "French"; + + include "nokia_vndr/rx-44(base)" + + key { [ a, A, 1, 1 ] }; + key { [ z, Z, 2, 2 ] }; + + key { [ q, Q, at, at ] }; + key { [ s, S, percent, percent ] }; + key { [ d, D, ecircumflex, Ecircumflex ] }; + key { [ f, F, eacute, Eacute ] }; + key { [ g, G, egrave, Egrave ] }; + key { [ h, H, oe, OE ] }; + key { [ j, J, parenleft, parenleft ] }; + key { [ k, K, parenright, parenright ] }; + key { [ l, L, agrave, Agrave ] }; + key { [ m, M, ugrave, Ugrave ] }; + + key { [ w, w, EuroSign, EuroSign ] }; + key { [ x, X, numbersign, numbersign ] }; + key { [ c, C, ccedilla, Ccedilla ] }; + key { [ v, V, plus, plus ] }; + key { [ b, B, equal, equal ] }; + key { [ n, N, quotedbl, quotedbl ] }; + key { [ comma, question, backslash, backslash ] }; + key { [ semicolon, period, minus, minus ] }; + key { [ colon, slash, underscore, underscore ] }; + key { [ apostrophe, apostrophe, mu, mu ] }; + + key { [ less, greater, less, greater ] }; + key { [ exclam, section, asterisk, asterisk ] }; +}; + + + +partial alphanumeric_keys +xkb_symbols "de" { + name[Group1] = "German"; + + include "nokia_vndr/rx-44(base)" + + key { [ z, Z, 6, 6 ] }; + + key { [ a, A, exclam, exclam ] }; + key { [ s, S, quotedbl, quotedbl ] }; + key { [ d, D, at, at ] }; + key { [ f, F, numbersign, numbersign ] }; + key { [ g, G, percent, percent ] }; + key { [ h, H, backslash, backslash ] }; + key { [ j, J, slash, slash ] }; + key { [ k, K, parenleft, parenleft ] }; + key { [ l, L, parenright, parenright ] }; + key { [ udiaeresis, Udiaeresis, question, question ] }; + + key { [ y, Y, EuroSign, EuroSign ] }; + key { [ x, X, asciitilde, asciitilde ] }; + key { [ c, C, asterisk, asterisk ] }; + key { [ v, V, ampersand, ampersand ] }; + key { [ b, B, plus, plus ] }; + key { [ n, N, less, less ] }; + key { [ m, M, greater, greater ] }; + key { [ odiaeresis, Odiaeresis, equal, equal ] }; + key { [ adiaeresis, Adiaeresis, apostrophe, apostrophe ] }; + key { [ minus, underscore, ssharp, U1E9E ] }; + + key { [ comma, semicolon, comma, semicolon ] }; + key { [ period, colon, period, colon ] }; +}; + + +// Levels 5-8 are Russian, levels 1-4 US English, for shortcut reasons. +partial alphanumeric_keys +xkb_symbols "ru" { + name[Group1] = "Russian"; + + include "nokia_vndr/rx-44(base)" + + key { type="EIGHT_LEVEL", [ q, Q, 1, 1, Cyrillic_shorti, Cyrillic_SHORTI, 1, 1 ] }; + key { type="EIGHT_LEVEL", [ w, W, 2, 2, Cyrillic_tse, Cyrillic_TSE, 2, 2 ] }; + key { type="EIGHT_LEVEL", [ e, E, 3, 3, Cyrillic_u, Cyrillic_U, 3, 3 ] }; + key { type="EIGHT_LEVEL", [ r, R, 4, 4, Cyrillic_ka, Cyrillic_KA, 4, 4 ] }; + key { type="EIGHT_LEVEL", [ t, T, 5, 5, Cyrillic_ie, Cyrillic_IE, 5, 5 ] }; + key { type="EIGHT_LEVEL", [ y, Y, 6, 6, Cyrillic_en, Cyrillic_EN, 6, 6 ] }; + key { type="EIGHT_LEVEL", [ u, U, 7, 7, Cyrillic_ghe, Cyrillic_GHE, 7, 7 ] }; + key { type="EIGHT_LEVEL", [ i, I, 8, 8, Cyrillic_sha, Cyrillic_SHA, 8, 8 ] }; + key { type="EIGHT_LEVEL", [ o, O, 9, 9, Cyrillic_shcha, Cyrillic_SHCHA, 9, 9 ] }; + key { type="EIGHT_LEVEL", [ p, P, 0, 0, Cyrillic_ze, Cyrillic_ZE, 0, 0 ] }; + + key { type="EIGHT_LEVEL", [ a, A, exclam, exclam, Cyrillic_ef, Cyrillic_EF, exclam, exclam ] }; + key { type="EIGHT_LEVEL", [ s, S, quotedbl, quotedbl, Cyrillic_yeru, Cyrillic_YERU, quotedbl, quotedbl ] }; + key { type="EIGHT_LEVEL", [ d, D, at, at, Cyrillic_ve, Cyrillic_VE, at, at ] }; + key { type="EIGHT_LEVEL", [ f, F, numbersign, numbersign, Cyrillic_a, Cyrillic_A, numbersign, numbersign ] }; + key { type="EIGHT_LEVEL", [ g, G, backslash, backslash, Cyrillic_pe, Cyrillic_PE, backslash, backslash ] }; + key { type="EIGHT_LEVEL", [ h, H, slash, slash, Cyrillic_er, Cyrillic_ER, slash, slash ] }; + key { type="EIGHT_LEVEL", [ j, J, parenleft, parenleft, Cyrillic_o, Cyrillic_O, parenleft, parenleft ] }; + key { type="EIGHT_LEVEL", [ k, K, parenright, parenright, Cyrillic_el, Cyrillic_EL, parenright, parenright ] }; + key { type="EIGHT_LEVEL", [ l, L, colon, colon, Cyrillic_de, Cyrillic_DE, colon, colon ] }; + key { type="EIGHT_LEVEL", [ NoSymbol, NoSymbol, semicolon, semicolon, Cyrillic_zhe, Cyrillic_ZHE, semicolon, semicolon ] }; + + key { type="EIGHT_LEVEL", [ z, Z, underscore, underscore, Cyrillic_ya, Cyrillic_YA, minus, minus ] }; + key { type="EIGHT_LEVEL", [ x, X, percent, percent, Cyrillic_che, Cyrillic_CHE, percent, percent ] }; + key { type="EIGHT_LEVEL", [ c, C, 0x1002116, 0x1002116, Cyrillic_es, Cyrillic_ES, 0x1002116, 0x1002116 ] }; + key { type="EIGHT_LEVEL", [ v, V, equal, equal, Cyrillic_em, Cyrillic_EM, equal, equal ] }; + key { type="EIGHT_LEVEL", [ b, B, ampersand, ampersand, Cyrillic_i, Cyrillic_I, ampersand, ampersand ] }; + key { type="EIGHT_LEVEL", [ n, N, asterisk, asterisk, Cyrillic_te, Cyrillic_TE, asterisk, asterisk ] }; + key { type="EIGHT_LEVEL", [ m, M, apostrophe, apostrophe, Cyrillic_softsign, Cyrillic_SOFTSIGN, apostrophe, apostrophe ] }; + key { type="EIGHT_LEVEL", [ NoSymbol, NoSymbol, minus, minus, Cyrillic_be, Cyrillic_BE, minus, minus ] }; + key { type="EIGHT_LEVEL", [ NoSymbol, NoSymbol, question, question, Cyrillic_yu, Cyrillic_YU, question, question ] }; + key { type="EIGHT_LEVEL", [ NoSymbol, NoSymbol, Cyrillic_hardsign, Cyrillic_HARDSIGN, Cyrillic_ha, Cyrillic_HA, Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; + + key { type="EIGHT_LEVEL", [ period, comma, period, comma, period, comma, period, comma ] }; + key { type="EIGHT_LEVEL", [ NoSymbol, NoSymbol, Cyrillic_io, Cyrillic_IO, Cyrillic_e, Cyrillic_E, Cyrillic_io, Cyrillic_IO ] }; +}; + + + +partial alphanumeric_keys +xkb_symbols "it" { + name[Group1] = "Italian"; + + include "nokia_vndr/rx-44(base)" + + key { [ a, A, exclam, exclam ] }; + key { [ s, S, quotedbl, quotedbl ] }; + key { [ d, D, at, at ] }; + key { [ f, F, numbersign, numbersign ] }; + key { [ g, G, asterisk, asterisk ] }; + key { [ h, H, backslash, backslash ] }; + key { [ j, J, slash, slash ] }; + key { [ k, K, parenleft, parenleft ] }; + key { [ l, L, parenright, parenright ] }; + key { [ apostrophe, question, igrave, Igrave ] }; + + key { [ z, Z, EuroSign, EuroSign ] }; + key { [ x, X, asciitilde, asciitilde ] }; + key { [ c, C, ampersand, ampersand ] }; + key { [ v, V, equal, equal ] }; + key { [ b, B, less, less ] }; + key { [ n, N, greater, greater ] }; + key { [ m, M, plus, plus ] }; + key { [ eacute, Eacute, ograve, Ograve ] }; + key { [ egrave, Egrave, agrave, Agrave ] }; + key { [ minus, underscore, ugrave, Ugrave ] }; + + key { [ comma, semicolon, comma, semicolon ] }; + key { [ period, colon, period, colon ] }; +}; + +default partial alphanumeric_keys +xkb_symbols "base" { + key { [ q, Q, 1, 1 ] }; + key { [ w, W, 2, 2 ] }; + key { [ e, E, 3, 3 ] }; + key { [ r, R, 4, 4 ] }; + key { [ t, T, 5, 5 ] }; + key { [ y, Y, 6, 6 ] }; + key { [ u, U, 7, 7 ] }; + key { [ i, I, 8, 8 ] }; + key { [ o, O, 9, 9 ] }; + key { [ p, P, 0, 0 ] }; + key { [ BackSpace, BackSpace, BackSpace, BackSpace ] }; + + // broken UI spec. + key { [ KP_Enter, KP_Enter, KP_Enter, KP_Enter ] }; + + key { [ Multi_key, Multi_key, Multi_key, Multi_key ] }; + key { [ Shift_L, Shift_L, Shift_L, Shift_L ] }; + key { [ ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Shift, ISO_Level3_Shift ] }; + key { [ space, space, space, space ] }; + key { [ Control_R, Control_R, Control_R, Control_R ] }; + key { [ Tab, Tab, Tab, Tab ] }; + + modifier_map Shift { Shift_L }; + modifier_map Mod5 { ISO_Level3_Shift }; + modifier_map Control { Control_R }; + + key { [ Return ] }; + key { [ Up ] }; + key { [ Down ] }; + key { [ Left ] }; + key { [ Right ] }; + + key { [ Escape ] }; + key { [ F1 ] }; + key { [ F2 ] }; + key { [ F3 ] }; + key { [ F4 ] }; + key { [ F5 ] }; + key { [ F6 ] }; + key { [ F7 ] }; + key { [ F8 ] }; + key { [ F9 ] }; + key { [ F10 ] }; + key { [ F11 ] }; + key { [ F12 ] }; + + // generated from the headset, must always be in the map. + key { [ XF86Phone ] }; +}; diff --git a/xkbdata/symbols/nokia_vndr/rx-51 b/xkbdata/symbols/nokia_vndr/rx-51 new file mode 100644 index 0000000..20183cb --- /dev/null +++ b/xkbdata/symbols/nokia_vndr/rx-51 @@ -0,0 +1,1388 @@ +default partial alphanumeric_keys +xkb_symbols "common" { + include "nokia_vndr/rx-51(common_keys)" + include "nokia_vndr/rx-51(modifiers)" + + key { [ BackSpace, Delete, BackSpace, Delete ] }; + + // This section should not be included by any other section. + // It's referenced only once by rule file to allow multiple layout configurations. + + // More than one layout at the same time could be set for instance as follows: + // setxkbmap -rules evdev \ + // -model nokiarx51 \ + // -option grp:ctrl_shift_toggle \ + // -layout us,cz \ + // -variant ",qwerty" + + // Notice the similarity: + // "pc+us+cz(qwerty):2+grp:XYZ" vs. + // "nokia_vndr/rx-51(common)+nokia_vndr/rx-51(us)+nokia_vndr/rx-51(cz_qwerty):2+grp:XYZ" + // where XYZ is one of xkb_symbols section usually located in file symbols/group. + + // Bear in mind that option XYZ could replace current keys configuration!!! + + // For instance using symbols/group(ctrl_shift_toggle) redefines LCTL and LFSH keys + // which may disallow opening of virtual symbol table (Multi_key). + // Fortunately the Multi_key is defined in 3rd and 4th level a ctrl_shift_toggle + // redefines first two levels only. But RX-51 has not right Ctrl nor Shift therefore + // pressing Ctrl+Shift will switch to previous layout, not to the next one. + + // For RX-51 device there is a lot of restrictions if more than one layout is + // is configured at the same time because some modifiers and special cases are + // handled by hildon layer (especially with eight-level layout): + // - settings may be done from terminal only (GUI does not and won't support it) + // - virtual symbol table is not updated according to current layout + // - for unknown reasons the eight-level layout (nordic,ru) works properly + // only if it's configured as first layout (e.g. "ru,us,cz" not "us,cz,ru") + // otherwise it's not possible to access levels 5-8 + // - Ctrl+Space related problems: + // - If eight-level layout is used as first layout one of eight-level layouts has to + // be also chosen in GUI - otherwise the Ctrl+Space "switch" is disabled + // - Ctrl+Space has no effect if only four-level layouts are chosen + // (don't forget the layout configured in GUI - despite of it's not reachable) + // - a few keys in 2nd layer could be mixed with other layouts when Ctrl+Space is "turned on" (why?) + // in case eight- and four-level layouts are configured simultaneously + // - Ctrl+Space is "turned on" by default and has to be "turned off" for four-level layouts + // in case eight- and four-level layouts are configured simultaneously + // - four-level layout on first place does not work at all when Ctrl+Space is "turned on" + // in case the 2nd, 3rd or 4th layout is eight-level layout +}; + +//////////////////////////////////////////////////////////////////////////////// + +partial alphanumeric_keys +xkb_symbols "us" { + include "nokia_vndr/rx-51(english_base)" + include "nokia_vndr/rx-51(arrows_4btns)" + + name[Group1] = "U.S. English"; +}; + + + +partial alphanumeric_keys +xkb_symbols "pl" { + include "nokia_vndr/rx-51(english_base)" + include "nokia_vndr/rx-51(arrows_4btns)" + + name[Group1] = "Polish"; +}; + + + +partial alphanumeric_keys +xkb_symbols "fise" { + include "nokia_vndr/rx-51(nordic_base)" + include "nokia_vndr/rx-51(arrows_2btns)" + + name[Group1] = "Finnish/Swedish"; + + // 2. row + key { [ odiaeresis, Odiaeresis, exclam, exclam ] }; + key { [ adiaeresis, Adiaeresis, question, question ] }; +}; + + + +partial alphanumeric_keys +xkb_symbols "dano" { + include "nokia_vndr/rx-51(nordic_base)" + include "nokia_vndr/rx-51(arrows_2btns)" + + name[Group1] = "Danish/Norwegian"; + + // 2. row + key { [ oslash, Oslash, exclam, exclam ] }; + key { [ ae, AE, question, question ] }; +}; + + + +partial alphanumeric_keys +xkb_symbols "nordic" { + include "nokia_vndr/rx-51(nordic_base)" + include "nokia_vndr/rx-51(arrows_2btns)" + + name[Group1] = "Danish/Finnish/Norwegian/Swedish"; + + key.type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC"; + + // 2. row + key { [ odiaeresis, Odiaeresis, exclam, exclam, oslash, Oslash, exclam, exclam ] }; + key { [ adiaeresis, Adiaeresis, question, question, ae, AE, question, question ] }; +}; + + + +partial alphanumeric_keys +xkb_symbols "ptes" { + include "nokia_vndr/rx-51(english_base)" + include "nokia_vndr/rx-51(arrows_2btns)" + + name[Group1] = "Portuguese/Spanish"; + + // 1. row + key { [ dead_acute, dead_acute, dead_grave, dead_grave ] }; + + // 2. row + key { [ g, G, exclamdown, exclamdown ] }; + key { [ h, H, exclam, exclam ] }; + key { [ j, J, questiondown, questiondown ] }; + key { [ k, K, question, question ] }; + key { [ l, L, dead_diaeresis, dead_diaeresis ] }; + key { [ ntilde, Ntilde, dead_tilde, dead_tilde ] }; + key { [ ccedilla, Ccedilla, dead_circumflex,dead_circumflex ] }; + + // 3. row + key { [ z, Z, parenleft, parenleft ] }; + key { [ x, X, parenright, parenright ] }; + key { [ c, C, slash, slash ] }; + key { [ v, V, quotedbl, quotedbl ] }; + key { [ b, B, apostrophe, apostrophe ] }; + key { [ n, N, colon, colon ] }; + key { [ m, M, semicolon, semicolon ] }; + key { [ period, comma, comma, comma ] }; +}; + + + +partial alphanumeric_keys +xkb_symbols "fr" { + include "nokia_vndr/rx-51(english_base)" + include "nokia_vndr/rx-51(arrows_2btns)" + + name[Group1] = "French"; + + // 1. row + key { [ a, A, 1, 1 ] }; + key { [ z, Z, 2, 2 ] }; + key { [ agrave, Agrave, ccedilla, Ccedilla ] }; + + // 2. row + key { [ q, Q, asterisk, asterisk ] }; + key { [ s, S, plus, plus ] }; + key { [ d, D, numbersign, numbersign ] }; + key { [ f, F, minus, minus ] }; + key { [ g, G, underscore, underscore ] }; + key { [ h, H, exclam, exclam ] }; + key { [ j, J, question, question ] }; + key { [ k, K, colon, colon ] }; + key { [ l, L, dead_circumflex,dead_circumflex ] }; + key { [ m, M, ugrave, Ugrave ] }; + key { [ eacute, Eacute, egrave, Egrave ] }; + + // 3. row + key { [ w, W, EuroSign, EuroSign ] }; + key { [ c, C, parenleft, parenleft ] }; + key { [ v, V, parenright, parenright ] }; + key { [ b, B, slash, slash ] }; + key { [ comma, comma, apostrophe, apostrophe ] }; + key { [ semicolon, period, period, period ] }; +}; + + + +partial alphanumeric_keys +xkb_symbols "de" { + include "nokia_vndr/rx-51(english_base)" + include "nokia_vndr/rx-51(arrows_2btns)" + + name[Group1] = "German"; + + // 1. row + key { [ z, Z, 6, 6 ] }; + key { [ udiaeresis, Udiaeresis, ssharp, U1E9E ] }; + + // 2. row + key { [ k, K, semicolon, semicolon ] }; + key { [ l, L, colon, colon ] }; + key { [ odiaeresis, Odiaeresis, exclam, exclam ] }; + key { [ adiaeresis, Adiaeresis, question, question ] }; + + // 3. row + key { [ y, Y, EuroSign, EuroSign ] }; + key { [ c, C, equal, equal ] }; + key { [ period, comma, comma, comma ] }; +}; + + + +partial alphanumeric_keys +xkb_symbols "ch" { + include "nokia_vndr/rx-51(english_base)" + include "nokia_vndr/rx-51(arrows_2btns)" + + name[Group1] = "Swiss"; + + // 1. row + key { [ z, Z, 6, 6 ] }; + key { [ udiaeresis, Udiaeresis, egrave, Egrave ] }; + + // 2. row + key { [ h, H, equal, equal ] }; + key { [ j, J, parenleft, parenleft ] }; + key { [ k, K, parenright, parenright ] }; + key { [ l, L, colon, colon ] }; + key { [ odiaeresis, Odiaeresis, eacute, Aacute ] }; + key { [ adiaeresis, Adiaeresis, agrave, Agrave ] }; + + // 3. row + key { [ y, Y, question, question ] }; + key { [ x, X, exclam, exclam ] }; + key { [ c, C, ccedilla, Ccedilla ] }; + key { [ period, comma, comma, comma ] }; +}; + + + +// Levels 5-8 are Russian, levels 1-4 US English, for shortcut reasons. +partial alphanumeric_keys +xkb_symbols "ru" { + include "nokia_vndr/rx-51(english_base)" + include "nokia_vndr/rx-51(arrows_2btns)" + + name[Group1] = "Russian"; + + key.type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC"; + + // 1. row + key { [ q, Q, 1, 1, Cyrillic_shorti, Cyrillic_SHORTI, 1, 1 ] }; + key { [ w, W, 2, 2, Cyrillic_tse, Cyrillic_TSE, 2, 2 ] }; + key { [ e, E, 3, 3, Cyrillic_u, Cyrillic_U, 3, 3 ] }; + key { [ r, R, 4, 4, Cyrillic_ka, Cyrillic_KA, 4, 4 ] }; + key { [ t, T, 5, 5, Cyrillic_ie, Cyrillic_IE, 5, 5 ] }; + key { [ y, Y, 6, 6, Cyrillic_en, Cyrillic_EN, 6, 6 ] }; + key { [ u, U, 7, 7, Cyrillic_ghe, Cyrillic_GHE, 7, 7 ] }; + key { [ i, I, 8, 8, Cyrillic_sha, Cyrillic_SHA, 8, 8 ] }; + key { [ o, O, 9, 9, Cyrillic_shcha, Cyrillic_SHCHA, 9, 9 ] }; + key { [ p, P, 0, 0, Cyrillic_ze, Cyrillic_ZE, 0, 0 ] }; + key { [ Cyrillic_ha, Cyrillic_HA, Cyrillic_hardsign, Cyrillic_HARDSIGN, Cyrillic_ha, Cyrillic_HA, Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; + + // 2. row + key { [ a, A, asterisk, asterisk, Cyrillic_ef, Cyrillic_EF, asterisk, asterisk ] }; + key { [ s, S, plus, plus, Cyrillic_yeru, Cyrillic_YERU, plus, plus ] }; + key { [ d, D, numbersign, numbersign, Cyrillic_ve, Cyrillic_VE, numbersign, numbersign ] }; + key { [ f, F, minus, minus, Cyrillic_a, Cyrillic_A, minus, minus ] }; + key { [ g, G, underscore, underscore, Cyrillic_pe, Cyrillic_PE, underscore, underscore ] }; + key { [ h, H, exclam, exclam, Cyrillic_er, Cyrillic_ER, exclam, exclam ] }; + key { [ j, J, question, question, Cyrillic_o, Cyrillic_O, question, question ] }; + key { [ k, K, semicolon, semicolon, Cyrillic_el, Cyrillic_EL, semicolon, semicolon ] }; + key { [ l, L, colon, colon, Cyrillic_de, Cyrillic_DE, colon, colon ] }; + key { [ comma, comma, comma, comma, Cyrillic_zhe, Cyrillic_ZHE, comma, comma ] }; + key { [ period, period, period, period, Cyrillic_e, Cyrillic_E, period, period ] }; + + // 3. row + key { [ z, Z, dollar, dollar, Cyrillic_ya, Cyrillic_YA, dollar, dollar ] }; + key { [ x, X, EuroSign, EuroSign, Cyrillic_che, Cyrillic_CHE, EuroSign, EuroSign ] }; + key { [ c, C, slash, slash, Cyrillic_es, Cyrillic_ES, slash, slash ] }; + key { [ v, V, parenleft, parenleft, Cyrillic_em, Cyrillic_EM, parenleft, parenleft ] }; + key { [ b, B, parenright, parenright, Cyrillic_i, Cyrillic_I, parenright, parenright ] }; + key { [ n, N, quotedbl, quotedbl, Cyrillic_te, Cyrillic_TE, quotedbl, quotedbl ] }; + key { [ m, M, apostrophe, apostrophe, Cyrillic_softsign, Cyrillic_SOFTSIGN, apostrophe, apostrophe ] }; + key { [ Cyrillic_be, Cyrillic_BE, Cyrillic_yu, Cyrillic_YU, Cyrillic_be, Cyrillic_BE, Cyrillic_yu, Cyrillic_YU ] }; +}; + + + +partial alphanumeric_keys +xkb_symbols "it" { + include "nokia_vndr/rx-51(english_base)" + include "nokia_vndr/rx-51(arrows_2btns)" + + name[Group1] = "Italian"; + + // 1. row + key { [ egrave, Egrave, eacute, Eacute ] }; + + // 2. row + key { [ h, H, semicolon, semicolon ] }; + key { [ j, J, colon, colon ] }; + key { [ k, K, exclam, exclam ] }; + key { [ l, L, question, question ] }; + key { [ ograve, Ograve, igrave, Igrave ] }; + key { [ agrave, Agrave, ugrave, Ugrave ] }; + + // 3. row + key { [ z, Z, EuroSign, EuroSign ] }; + key { [ x, X, parenleft, parenleft ] }; + key { [ c, C, parenright, parenright ] }; + key { [ period, comma, comma, comma ] }; +}; + + + +partial alphanumeric_keys +xkb_symbols "cz" { + include "nokia_vndr/rx-51(english_base)" + include "nokia_vndr/rx-51(arrows_2btns)" + + name[Group1] = "Czech"; + + // 1. row + key { [ z, Z, 6, 6 ] }; + key { [ dead_acute, dead_acute, sterling, sterling ] }; + + // 2. row + key { [ k, K, semicolon, semicolon ] }; + key { [ l, L, colon, colon ] }; + key { [ uring, Uring, EuroSign, EuroSign ] }; + key { [ dead_caron, dead_caron, dollar, dollar ] }; + + // 3. row + key { [ y, Y, equal, equal ] }; + key { [ x, X, slash, slash ] }; + key { [ c, C, backslash, backslash ] }; + key { [ v, V, apostrophe, apostrophe ] }; + key { [ b, B, quotedbl, quotedbl ] }; + key { [ n, N, exclam, exclam ] }; + key { [ m, M, question, question ] }; + key { [ period, comma, comma, comma ] }; +}; + +partial alphanumeric_keys +xkb_symbols "cz_qwerty" { + include "nokia_vndr/rx-51(cz)" + + name[Group1] = "Czech - qwerty"; + + // Do not use the layout "cz_qwerty" directly if it is the only layout and compat rules enabled. + // There is one compat rule that converts "cz_qwerty" to "pc+cz(qwerty)" which is not correct for RX-51. + // Use either the layout "cz(qwerty)" or the general "cz" with variant "qwerty". + + // 1. row + key { [ y, Y, 6, 6 ] }; + + // 3. row + key { [ z, Z, percent, percent ] }; +}; + + + +//////////////////////////////////////////////////////////////////////////////// + +partial hidden alphanumeric_keys +xkb_symbols "nordic_base" { + include "nokia_vndr/rx-51(english_base)" + + // 1. row + key { [ aring, Aring, equal, equal ] }; + + // 2. row + key { [ k, K, semicolon, semicolon ] }; + key { [ l, L, colon, colon ] }; + + // 3. row + key { [ z, Z, EuroSign, EuroSign ] }; + key { [ c, C, sterling, sterling ] }; + key { [ period, comma, comma, comma ] }; +}; + +partial hidden alphanumeric_keys +xkb_symbols "english_base" { + + // 1. row + key { [ q, Q, 1, 1 ] }; + key { [ w, W, 2, 2 ] }; + key { [ e, E, 3, 3 ] }; + key { [ r, R, 4, 4 ] }; + key { [ t, T, 5, 5 ] }; + key { [ y, Y, 6, 6 ] }; + key { [ u, U, 7, 7 ] }; + key { [ i, I, 8, 8 ] }; + key { [ o, O, 9, 9 ] }; + key { [ p, P, 0, 0 ] }; + key { [ comma, semicolon, equal, equal ] }; + + // 2. row + key { [ a, A, asterisk, asterisk ] }; + key { [ s, S, plus, plus ] }; + key { [ d, D, numbersign, numbersign ] }; + key { [ f, F, minus, minus ] }; + key { [ g, G, underscore, underscore ] }; + key { [ h, H, parenleft, parenleft ] }; + key { [ j, J, parenright, parenright ] }; + key { [ k, K, ampersand, ampersand ] }; + key { [ l, L, exclam, exclam ] }; + key { [ period, colon, question, question ] }; + + // 3. row + key { [ z, Z, sterling, sterling ] }; + key { [ x, X, dollar, dollar ] }; + key { [ c, C, EuroSign, EuroSign ] }; + key { [ v, V, slash, slash ] }; + key { [ b, B, backslash, backslash ] }; + key { [ n, N, quotedbl, quotedbl ] }; + key { [ m, M, apostrophe, apostrophe ] }; + key { [ space, space, at, at ] }; +}; + +partial hidden alphanumeric_keys +xkb_symbols "common_keys" { + // all other common keys + + key { [ BackSpace ] }; + key { [ Tab ] }; + + // broken UI spec. + key { [ KP_Enter ] }; + + key { [ Return ] }; + key { [ Escape ] }; + + key { [ F1 ] }; + key { [ F2 ] }; + key { [ F3 ] }; + key { [ F4 ] }; + key { [ F5 ] }; + key { [ F6 ] }; + + // Swap +/- keys intentionally. The VOL+/VOL- keys are located physically + // on left/right and up/down in landscape/portrait orientation. This does + // not feel natural for the user and therefore we want the VOL+/VOL- keys + // map to -/+. + // + // The only exception is an active call in portrait mode where we want to + // use the real meanings of the keys. This special case and management of + // +/- keys in general is handled in maemo-statusmenu-volume. + key { [ F8 ] }; + key { [ F7 ] }; + + key { [ F9 ] }; + key { [ F10 ] }; + key { [ F11 ] }; +}; + +partial hidden alphanumeric_keys modifier_keys +xkb_symbols "modifiers" { + // Shift switches between current level and level+1 + key { + type[Group1] = "ONE_LEVEL", + symbols[Group1] = [ Shift_L ] + }; + modifier_map Shift { Shift_L }; + + // Fn+Ctrl virtual symbol table (Multi_key) + // Ctrl+Space switches between 1st and 5th level (hardcoded in hildon) + key { + type[Group1] = "FOUR_LEVEL", + symbols[Group1] = [ Control_L, Control_L, Multi_key, Multi_key ] + }; + modifier_map Control { Control_L }; + + // Fn key (right alt) switches to 3rd level + include "level3(ralt_switch)" +}; + +partial hidden alphanumeric_keys +xkb_symbols "arrows_2btns" { + // rx-51 specific arrows mapping + // normal 2nd level must not be enumerated to allow text selection with Shift key + key { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Left, Up ] }; + key { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Right, Down ] }; +}; + +partial hidden alphanumeric_keys +xkb_symbols "arrows_4btns" { + // standard arrows mapping + // normal 2nd level must not be enumerated to allow text selection with Shift key + key { type[Group1] = "ONE_LEVEL", symbols[Group1] = [ Up ] }; + key { type[Group1] = "ONE_LEVEL", symbols[Group1] = [ Left ] }; + key { type[Group1] = "ONE_LEVEL", symbols[Group1] = [ Down ] }; + key { type[Group1] = "ONE_LEVEL", symbols[Group1] = [ Right ] }; +}; + +// author: Roman Moravcik +xkb_symbols "sk" { + include "nokia_vndr/rx-51(english_base)" + include "nokia_vndr/rx-51(arrows_2btns)" + + name[Group1] = "Slovak QWERTZ (CZ HW)"; + + // 1. row + key { [ z, Z, 6, 6 ] }; + key { [ dead_acute, dead_acute, sterling, sterling ] }; + + // 2. row + key { [ k, K, semicolon, semicolon ] }; + key { [ l, L, colon, colon ] }; + key { [ ocircumflex, adiaeresis, EuroSign, EuroSign ] }; + key { [ dead_caron, bar, dollar, dollar ] }; + + // 3. row + key { [ y, Y, equal, equal ] }; + key { [ x, X, slash, slash ] }; + key { [ c, C, backslash, backslash ] }; + key { [ v, V, apostrophe, apostrophe ] }; + key { [ b, B, quotedbl, quotedbl ] }; + key { [ n, N, exclam, exclam ] }; + key { [ m, M, question, question ] }; + key { [ period, Tab, comma, comma ] }; +}; + +xkb_symbols "sk_qwerty" { + include "nokia_vndr/rx-51(sk)" + + name[Group1] = "Slovak QWERTY (CZ hw)"; + + // 1. row + key { [ y, Y, 6, 6 ] }; + + // 3. row + key { [ z, Z, equal, equal ] }; +}; + +// author: Roman Moravcik +partial alphanumeric_keys +xkb_symbols "aren" { + include "nokia_vndr/rx-51(english_base)" + include "nokia_vndr/rx-51(arrows_4btns)" + + name[Group1] = "U.S. English"; + name[Group2] = "Arabic"; + + key { type[Group1] = "PC_FN_LEVEL2_BREAK", [ space, at, ISO_Prev_Group, at ] }; + + key.type[Group2] = "FOUR_LEVEL_SEMIALPHABETIC"; + + // 1. row + key { symbols[Group2] = [ Arabic_dad, Arabic_fatha, 0x1000661, 0x1000661 ] }; + key { symbols[Group2] = [ Arabic_sad, Arabic_fathatan, 0x1000662, 0x1000662 ] }; + key { symbols[Group2] = [ Arabic_theh, Arabic_damma, 0x1000663, 0x1000663 ] }; + key { symbols[Group2] = [ Arabic_qaf, Arabic_dammatan, 0x1000664, 0x1000664 ] }; + key { symbols[Group2] = [ Arabic_feh, 0x100fef9, 0x1000665, 0x1000665 ] }; + key { symbols[Group2] = [ Arabic_ghain, Arabic_hamzaunderalef, 0x1000666, 0x1000666 ] }; + key { symbols[Group2] = [ Arabic_ain, rightsinglequotemark, 0x1000667, 0x1000667 ] }; + key { symbols[Group2] = [ Arabic_ha, Arabic_tehmarbuta, 0x1000668, 0x1000668 ] }; + key { symbols[Group2] = [ Arabic_khah, division, 0x1000669, 0x1000669 ] }; + key { symbols[Group2] = [ Arabic_hah, multiply, 0x1000660, 0x1000660 ] }; + key { symbols[Group2] = [ Arabic_jeem, period, equal, equal ] }; + + // 2. row + key { symbols[Group2] = [ Arabic_sheen, Arabic_kasra, asterisk, asterisk ] }; + key { symbols[Group2] = [ Arabic_seen, Arabic_kasratan, plus, plus ] }; + key { symbols[Group2] = [ Arabic_yeh, Arabic_alefmaksura, numbersign, numbersign ] }; + key { symbols[Group2] = [ Arabic_beh, Arabic_hamzaonyeh, minus, minus ] }; + key { symbols[Group2] = [ Arabic_lam, 0x100fef7, underscore, underscore ] }; + key { symbols[Group2] = [ Arabic_alef, Arabic_hamzaonalef, parenright, parenright ] }; + key { symbols[Group2] = [ Arabic_teh, Arabic_tatweel, parenleft, parenleft ] }; + key { symbols[Group2] = [ Arabic_noon, Arabic_comma, ampersand, ampersand ] }; + key { symbols[Group2] = [ Arabic_meem, Arabic_semicolon, exclam, exclam ] }; + key { symbols[Group2] = [ Arabic_kaf, colon, Arabic_question_mark, Arabic_question_mark ] }; + + // 3. row + key { symbols[Group2] = [ Arabic_thal, Arabic_shadda, sterling, sterling ] }; + key { symbols[Group2] = [ Arabic_dal, Arabic_sukun, dollar, dollar ] }; + key { symbols[Group2] = [ Arabic_waw, Arabic_hamzaonwaw, EuroSign, EuroSign ] }; + key { symbols[Group2] = [ Arabic_ra, 0x100fef5, slash, slash ] }; + key { symbols[Group2] = [ Arabic_zain, 0x100fefb, backslash, backslash ] }; + key { symbols[Group2] = [ Arabic_tah, Arabic_maddaonalef, quotedbl, quotedbl ] }; + key { symbols[Group2] = [ Arabic_zah, Arabic_hamza, apostrophe, apostrophe ] }; +}; + +// author: Hessam Farhang +partial alphanumeric_keys +xkb_symbols "faen" { + include "nokia_vndr/rx-51(english_base)" + include "nokia_vndr/rx-51(arrows_4btns)" + + name[Group1] = "U.S. English"; + name[Group2] = "Persian"; + + key { type[Group1] = "PC_FN_LEVEL2_BREAK", [ space, at, ISO_Prev_Group, at ] }; + + key.type[Group2] = "FOUR_LEVEL_SEMIALPHABETIC"; + + // 1. row + key { symbols[Group2] = [ Arabic_dad, Arabic_sukun, 0x10006f1, 0x1000661 ] }; + key { symbols[Group2] = [ Arabic_sad, Arabic_dammatan, 0x10006f2, 0x1000662 ] }; + key { symbols[Group2] = [ Arabic_theh, Arabic_kasratan, 0x10006f3, 0x1000663 ] }; + key { symbols[Group2] = [ Arabic_qaf, Arabic_fathatan, 0x10006f4, 0x1000664 ] }; + key { symbols[Group2] = [ Arabic_feh, Arabic_damma, 0x10006f5, 0x1000665 ] }; + key { symbols[Group2] = [ Arabic_ghain, Arabic_kasra, 0x10006f6, 0x1000666 ] }; + key { symbols[Group2] = [ Arabic_ain, Arabic_fatha, 0x10006f7, 0x1000667 ] }; + key { symbols[Group2] = [ Arabic_heh, Arabic_shadda, 0x10006f8, 0x1000668 ] }; + key { symbols[Group2] = [ Arabic_khah, 0x10006af, 0x10006f9, 0x1000669 ] }; + key { symbols[Group2] = [ Arabic_hah, 0x1000686, 0x10006f0, 0x1000660 ] }; + key { symbols[Group2] = [ Arabic_jeem, Arabic_comma, comma, Arabic_semicolon ] }; + + // 2. row + key { symbols[Group2] = [ Arabic_sheen, Arabic_hamzaonwaw, asterisk, asterisk ] }; + key { symbols[Group2] = [ Arabic_seen, Arabic_hamzaonyeh, plus, plus ] }; + key { symbols[Group2] = [ 0x10006cc, period, numbersign, numbersign ] }; + key { symbols[Group2] = [ Arabic_beh, colon, minus, minus ] }; + key { symbols[Group2] = [ Arabic_lam, Arabic_hamzaonalef, underscore, underscore ] }; + key { symbols[Group2] = [ Arabic_alef, Arabic_maddaonalef, parenleft, parenleft ] }; + key { symbols[Group2] = [ Arabic_teh, Arabic_tehmarbuta, parenright, parenright ] }; + key { symbols[Group2] = [ Arabic_noon, guillemotright, ampersand, ampersand ] }; + key { symbols[Group2] = [ Arabic_meem, guillemotleft, exclam, exclam ] }; + key { symbols[Group2] = [ 0x10006a9, Arabic_waw, Arabic_question_mark, colon ] }; + + // 3. row + key { symbols[Group2] = [ Arabic_zah, Arabic_kaf, sterling, period ] }; + key { symbols[Group2] = [ Arabic_tah, 0x1000653, dollar, dollar ] }; + key { symbols[Group2] = [ Arabic_zain, 0x1000698, EuroSign, EuroSign ] }; + key { symbols[Group2] = [ Arabic_ra, 0x1000670, slash, slash ] }; + key { symbols[Group2] = [ Arabic_thal, 0x100200c, backslash, backslash ] }; + key { symbols[Group2] = [ Arabic_dal, 0x1000654, quotedbl, quotedbl ] }; + key { symbols[Group2] = [ 0x100067e, Arabic_hamza, apostrophe, apostrophe ] }; +}; + +// author: Jaroslav Poriz +xkb_symbols "dv" { + include "nokia_vndr/rx-51(english_base)" + include "nokia_vndr/rx-51(arrows_4btns)" + + name[Group1] = "Dvorak"; + + // 1. row + key { [ colon, semicolon, 1, 1 ] }; + key { [ w, W, 2, 2 ] }; + key { [ v, V, 3, 3 ] }; + key { [ p, P, 4, 4 ] }; + key { [ y, Y, 5, 5 ] }; + key { [ f, F, 6, 6 ] }; + key { [ g, G, 7, 7 ] }; + key { [ c, C, 8, 8 ] }; + key { [ r, R, 9, 9 ] }; + key { [ l, L, 0, 0 ] }; + key { [ period, comma, equal, equal ] }; + + // 2. row + key { [ a, A, asterisk, asterisk ] }; + key { [ o, O, plus, plus ] }; + key { [ e, E, numbersign, numbersign ] }; + key { [ u, U, minus, minus ] }; + key { [ i, I, underscore, underscore ] }; + key { [ d, D, exclam, parenleft ] }; + key { [ h, H, question, parenright ] }; + key { [ t, T, ampersand, ampersand ] }; + key { [ n, N, less, exclam ] }; + key { [ s, S, greater, question ] }; + + // 3. row + key { [ z, Z, asciitilde, asciitilde ] }; + key { [ q, Q, dollar, dollar ] }; + key { [ j, J, backslash, bar ] }; + key { [ k, K, grave, slash ] }; + key { [ x, X, parenleft, backslash ] }; + key { [ b, B, parenright, quotedbl ] }; + key { [ m, M, apostrophe, apostrophe ] }; + key { [ space, slash, at, at ] }; +}; + +// author: Porfyras +// author: Roman Moravcik +// author: Faidon Liambotis +partial alphanumeric_keys +xkb_symbols "gr" { + include "nokia_vndr/rx-51(english_base)" + include "nokia_vndr/rx-51(arrows_4btns)" + + name[Group1] = "U.S. English"; + name[Group2] = "Greek"; + + key { type[Group1] = "PC_FN_LEVEL2_BREAK", [ space, at, ISO_Prev_Group, at ] }; + + key.type[Group2] = "FOUR_LEVEL_SEMIALPHABETIC"; + + // 1. row + key { symbols[Group2] = [ period, colon, 1, 1 ] }; + key { symbols[Group2] = [ Greek_finalsmallsigma, Greek_SIGMA, 2, 2 ] }; + key { symbols[Group2] = [ Greek_epsilon, Greek_EPSILON, 3, 3 ] }; + key { symbols[Group2] = [ Greek_rho, Greek_RHO, 4, 4 ] }; + key { symbols[Group2] = [ Greek_tau, Greek_TAU, 5, 5 ] }; + key { symbols[Group2] = [ Greek_upsilon, Greek_UPSILON, 6, 6 ] }; + key { symbols[Group2] = [ Greek_theta, Greek_THETA, 7, 7 ] }; + key { symbols[Group2] = [ Greek_iota, Greek_IOTA, 8, 8 ] }; + key { symbols[Group2] = [ Greek_omicron, Greek_OMICRON, 9, 9 ] }; + key { symbols[Group2] = [ Greek_pi, Greek_PI, 0, 0 ] }; + key { symbols[Group2] = [ comma, semicolon, equal, equal ] }; + + // 2. row + key { symbols[Group2] = [ Greek_alpha, Greek_ALPHA, asterisk, asterisk ] }; + key { symbols[Group2] = [ Greek_sigma, Greek_SIGMA, plus, plus ] }; + key { symbols[Group2] = [ Greek_delta, Greek_DELTA, numbersign, numbersign ] }; + key { symbols[Group2] = [ Greek_phi, Greek_PHI, minus, minus ] }; + key { symbols[Group2] = [ Greek_gamma, Greek_GAMMA, underscore, underscore ] }; + key { symbols[Group2] = [ Greek_eta, Greek_ETA, parenleft, parenleft ] }; + key { symbols[Group2] = [ Greek_xi, Greek_XI, parenright, parenright ] }; + key { symbols[Group2] = [ Greek_kappa, Greek_KAPPA, ampersand, ampersand ] }; + key { symbols[Group2] = [ Greek_lamda, Greek_LAMDA, exclam, exclam ] }; + key { symbols[Group2] = [ dead_acute, dead_diaeresis, question, question ] }; + + // 3. row + key { symbols[Group2] = [ Greek_zeta, Greek_ZETA, sterling, sterling ] }; + key { symbols[Group2] = [ Greek_chi, Greek_CHI, dollar, dollar ] }; + key { symbols[Group2] = [ Greek_psi, Greek_PSI, EuroSign, EuroSign ] }; + key { symbols[Group2] = [ Greek_omega, Greek_OMEGA, slash, slash ] }; + key { symbols[Group2] = [ Greek_beta, Greek_BETA, backslash, backslash ] }; + key { symbols[Group2] = [ Greek_nu, Greek_NU, quotedbl, quotedbl ] }; + key { symbols[Group2] = [ Greek_mu, Greek_MU, apostrophe, apostrophe ] }; +}; + +// author: Ognian Samokovliyski +// author: Kostadin Bashev +// author: Roman Moravcik +partial alphanumeric_keys +xkb_symbols "bg_phonetic" { + include "nokia_vndr/rx-51(english_base)" + include "nokia_vndr/rx-51(arrows_4btns)" + + name[Group1] = "U.S. English"; + name[Group2] = "Bulgarian - Phonetic"; + + key { type[Group1] = "PC_FN_LEVEL2_BREAK", [ space, at, ISO_Prev_Group, at ] }; + + key.type[Group2] = "FOUR_LEVEL_SEMIALPHABETIC"; + + // 1. row + key { symbols[Group2] = [ Cyrillic_ya, Cyrillic_YA, 1, 1 ] }; + key { symbols[Group2] = [ Cyrillic_ve, Cyrillic_VE, 2, 2 ] }; + key { symbols[Group2] = [ Cyrillic_ie, Cyrillic_IE, 3, 3 ] }; + key { symbols[Group2] = [ Cyrillic_er, Cyrillic_ER, 4, 4 ] }; + key { symbols[Group2] = [ Cyrillic_te, Cyrillic_TE, 5, 5 ] }; + key { symbols[Group2] = [ Cyrillic_hardsign, Cyrillic_HARDSIGN, 6, 6 ] }; + key { symbols[Group2] = [ Cyrillic_u, Cyrillic_U, 7, 7 ] }; + key { symbols[Group2] = [ Cyrillic_i, Cyrillic_I, 8, 8 ] }; + key { symbols[Group2] = [ Cyrillic_o, Cyrillic_O, 9, 9 ] }; + key { symbols[Group2] = [ Cyrillic_pe, Cyrillic_PE, 0, 0 ] }; + key { symbols[Group2] = [ comma, semicolon, equal, equal ] }; + + // 2. row + key { symbols[Group2] = [ Cyrillic_a, Cyrillic_A, asterisk, asterisk ] }; + key { symbols[Group2] = [ Cyrillic_es, Cyrillic_ES, plus, plus ] }; + key { symbols[Group2] = [ Cyrillic_de, Cyrillic_DE, numbersign, numbersign ] }; + key { symbols[Group2] = [ Cyrillic_ef, Cyrillic_EF, minus, minus ] }; + key { symbols[Group2] = [ Cyrillic_ghe, Cyrillic_GHE, underscore, underscore ] }; + key { symbols[Group2] = [ Cyrillic_ha, Cyrillic_HA, parenleft, parenleft ] }; + key { symbols[Group2] = [ Cyrillic_shorti, Cyrillic_SHORTI, parenright, parenright ] }; + key { symbols[Group2] = [ Cyrillic_ka, Cyrillic_KA, ampersand, ampersand ] }; + key { symbols[Group2] = [ Cyrillic_el, Cyrillic_EL, exclam, exclam ] }; + key { symbols[Group2] = [ period, colon, question, question ] }; + key { symbols[Group2] = [ Cyrillic_yu, Cyrillic_YU, Up, Up ] }; + + // 3. row + key { symbols[Group2] = [ Cyrillic_ze, Cyrillic_ZE, sterling, sterling ] }; + key { symbols[Group2] = [ Cyrillic_softsign, Cyrillic_SOFTSIGN, dollar, dollar ] }; + key { symbols[Group2] = [ Cyrillic_tse, Cyrillic_TSE, EuroSign, EuroSign ] }; + key { symbols[Group2] = [ Cyrillic_zhe, Cyrillic_ZHE, slash, slash ] }; + key { symbols[Group2] = [ Cyrillic_be, Cyrillic_BE, backslash, backslash ] }; + key { symbols[Group2] = [ Cyrillic_en, Cyrillic_EN, quotedbl, quotedbl ] }; + key { symbols[Group2] = [ Cyrillic_em, Cyrillic_EM, apostrophe, apostrophe ] }; + key { symbols[Group2] = [ Cyrillic_sha, Cyrillic_SHA, Left, Left ] }; + key { symbols[Group2] = [ Cyrillic_shcha, Cyrillic_SHCHA, Down, Down ] }; + key { symbols[Group2] = [ Cyrillic_che, Cyrillic_CHE, Right, Right ] }; +}; + +// author: Nikola Kovachevski +partial alphanumeric_keys +xkb_symbols "mk" { + include "nokia_vndr/rx-51(english_base)" + include "nokia_vndr/rx-51(arrows_4btns)" + + name[Group1] = "U.S. English"; + name[Group2] = "Macedonian"; + + key { type[Group1] = "PC_FN_LEVEL2_BREAK", [ space, at, ISO_Prev_Group, at ] }; + + key.type[Group2] = "FOUR_LEVEL_SEMIALPHABETIC"; + + // 1. row + key { symbols[Group2] = [ Cyrillic_lje, Cyrillic_LJE, 1, 1 ] }; + key { symbols[Group2] = [ Cyrillic_nje, Cyrillic_NJE, 2, 2 ] }; + key { symbols[Group2] = [ Cyrillic_ie, Cyrillic_IE, 3, 3 ] }; + key { symbols[Group2] = [ Cyrillic_er, Cyrillic_ER, 4, 4 ] }; + key { symbols[Group2] = [ Cyrillic_te, Cyrillic_TE, 5, 5 ] }; + key { symbols[Group2] = [ Macedonia_dse, Macedonia_DSE, 6, 6 ] }; + key { symbols[Group2] = [ Cyrillic_u, Cyrillic_U, 7, 7 ] }; + key { symbols[Group2] = [ Cyrillic_i, Cyrillic_I, 8, 8 ] }; + key { symbols[Group2] = [ Cyrillic_o, Cyrillic_O, 9, 9 ] }; + key { symbols[Group2] = [ Cyrillic_pe, Cyrillic_PE, 0, 0 ] }; + key { symbols[Group2] = [ Cyrillic_sha, Cyrillic_SHA, equal, equal ] }; + + // 2. row + key { symbols[Group2] = [ Cyrillic_a, Cyrillic_A, asterisk, asterisk ] }; + key { symbols[Group2] = [ Cyrillic_es, Cyrillic_ES, plus, plus ] }; + key { symbols[Group2] = [ Cyrillic_de, Cyrillic_DE, numbersign, numbersign ] }; + key { symbols[Group2] = [ Cyrillic_ef, Cyrillic_EF, minus, minus ] }; + key { symbols[Group2] = [ Cyrillic_ghe, Cyrillic_GHE, underscore, underscore ] }; + key { symbols[Group2] = [ Cyrillic_ha, Cyrillic_HA, parenleft, parenleft ] }; + key { symbols[Group2] = [ Cyrillic_je, Cyrillic_JE, parenright, parenright ] }; + key { symbols[Group2] = [ Cyrillic_ka, Cyrillic_KA, ampersand, ampersand ] }; + key { symbols[Group2] = [ Cyrillic_el, Cyrillic_EL, exclam, exclam ] }; + key { symbols[Group2] = [ period, comma, question, question ] }; + key { symbols[Group2] = [ Cyrillic_che, Cyrillic_CHE, Up, Up ] }; + + // 3. row + key { symbols[Group2] = [ Cyrillic_ze, Cyrillic_ZE, colon, colon ] }; + key { symbols[Group2] = [ Cyrillic_dzhe, Cyrillic_DZHE, semicolon, semicolon ] }; + key { symbols[Group2] = [ Cyrillic_tse, Cyrillic_TSE, EuroSign, EuroSign ] }; + key { symbols[Group2] = [ Cyrillic_ve, Cyrillic_VE, slash, slash ] }; + key { symbols[Group2] = [ Cyrillic_be, Cyrillic_BE, backslash, backslash ] }; + key { symbols[Group2] = [ Cyrillic_en, Cyrillic_EN, quotedbl, quotedbl ] }; + key { symbols[Group2] = [ Cyrillic_em, Cyrillic_EM, apostrophe, apostrophe ] }; + key { symbols[Group2] = [ Macedonia_kje, Macedonia_KJE, Left, Left ] }; + key { symbols[Group2] = [ Cyrillic_zhe, Cyrillic_ZHE, Down, Down ] }; + key { symbols[Group2] = [ Macedonia_gje, Macedonia_GJE, Right, Right ] }; +}; + +// author: Roman Moravcik +partial alphanumeric_keys +xkb_symbols "ru_phonetic" { + include "nokia_vndr/rx-51(english_base)" + include "nokia_vndr/rx-51(arrows_2btns)" + + name[Group1] = "Russian - Phonetic"; + name[Group2] = "U.S. English"; + + key { type[Group1] = "PC_FN_LEVEL2_BREAK", [ space, at, ISO_Prev_Group, at ] }; + + key.type[Group2] = "FOUR_LEVEL_SEMIALPHABETIC"; + + // 1. row + key { symbols[Group1] = [ Cyrillic_ya, Cyrillic_YA, 1, 1 ] }; + key { symbols[Group1] = [ Cyrillic_ve, Cyrillic_VE, 2, 2 ] }; + key { symbols[Group1] = [ Cyrillic_ie, Cyrillic_IE, 3, 3 ] }; + key { symbols[Group1] = [ Cyrillic_er, Cyrillic_ER, 4, 4 ] }; + key { symbols[Group1] = [ Cyrillic_te, Cyrillic_TE, 5, 5 ] }; + key { symbols[Group1] = [ Cyrillic_yeru, Cyrillic_YERU, 6, 6 ] }; + key { symbols[Group1] = [ Cyrillic_u, Cyrillic_U, 7, 7 ] }; + key { symbols[Group1] = [ Cyrillic_i, Cyrillic_I, 8, 8 ] }; + key { symbols[Group1] = [ Cyrillic_o, Cyrillic_O, 9, 9 ] }; + key { symbols[Group1] = [ Cyrillic_pe, Cyrillic_PE, 0, 0 ] }; + key { symbols[Group1] = [ Cyrillic_sha, Cyrillic_SHA, Cyrillic_shcha, Cyrillic_SHCHA ] }; + + key { symbols[Group2] = [ q, Q, 1, 1 ] }; + key { symbols[Group2] = [ w, W, 2, 2 ] }; + key { symbols[Group2] = [ e, E, 3, 3 ] }; + key { symbols[Group2] = [ r, R, 4, 4 ] }; + key { symbols[Group2] = [ t, T, 5, 5 ] }; + key { symbols[Group2] = [ y, Y, 6, 6 ] }; + key { symbols[Group2] = [ u, U, 7, 7 ] }; + key { symbols[Group2] = [ i, I, 8, 8 ] }; + key { symbols[Group2] = [ o, O, 9, 9 ] }; + key { symbols[Group2] = [ p, P, 0, 0 ] }; + key { symbols[Group2] = [ Cyrillic_sha, Cyrillic_SHA, Cyrillic_shcha, Cyrillic_SHCHA ] }; + + // 2. row + key { symbols[Group1] = [ Cyrillic_a, Cyrillic_A, asterisk, asterisk ] }; + key { symbols[Group1] = [ Cyrillic_es, Cyrillic_ES, plus, plus ] }; + key { symbols[Group1] = [ Cyrillic_de, Cyrillic_DE, numbersign, numbersign ] }; + key { symbols[Group1] = [ Cyrillic_ef, Cyrillic_EF, minus, minus ] }; + key { symbols[Group1] = [ Cyrillic_ghe, Cyrillic_GHE, underscore, underscore ] }; + key { symbols[Group1] = [ Cyrillic_ha, Cyrillic_HA, exclam, exclam ] }; + key { symbols[Group1] = [ Cyrillic_shorti, Cyrillic_SHORTI, question, question ] }; + key { symbols[Group1] = [ Cyrillic_ka, Cyrillic_KA, semicolon, semicolon ] }; + key { symbols[Group1] = [ Cyrillic_el, Cyrillic_EL, colon, colon ] }; + key { symbols[Group1] = [ Cyrillic_yu, Cyrillic_YU, comma, comma ] }; + key { symbols[Group1] = [ Cyrillic_e, Cyrillic_E, period, period ] }; + + key { symbols[Group2] = [ a, A, asterisk, asterisk ] }; + key { symbols[Group2] = [ s, S, plus, plus ] }; + key { symbols[Group2] = [ d, D, numbersign, numbersign ] }; + key { symbols[Group2] = [ f, F, minus, minus ] }; + key { symbols[Group2] = [ g, G, underscore, underscore ] }; + key { symbols[Group2] = [ h, H, exclam, exclam ] }; + key { symbols[Group2] = [ j, J, question, question ] }; + key { symbols[Group2] = [ k, K, semicolon, semicolon ] }; + key { symbols[Group2] = [ l, L, colon, colon ] }; + key { symbols[Group2] = [ comma, comma, comma, comma ] }; + key { symbols[Group2] = [ period, period, period, period ] }; + + // 3. row + key { symbols[Group1] = [ Cyrillic_ze, Cyrillic_ZE, dollar, dollar ] }; + key { symbols[Group1] = [ Cyrillic_softsign, Cyrillic_SOFTSIGN, EuroSign, EuroSign ] }; + key { symbols[Group1] = [ Cyrillic_tse, Cyrillic_TSE, slash, slash ] }; + key { symbols[Group1] = [ Cyrillic_zhe, Cyrillic_ZHE, parenleft, parenleft ] }; + key { symbols[Group1] = [ Cyrillic_be, Cyrillic_BE, parenright, parenright ] }; + key { symbols[Group1] = [ Cyrillic_en, Cyrillic_EN, quotedbl, quotedbl ] }; + key { symbols[Group1] = [ Cyrillic_em, Cyrillic_EM, apostrophe, apostrophe ] }; + key { symbols[Group1] = [ Cyrillic_che, Cyrillic_CHE, Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; + + key { symbols[Group2] = [ z, Z, dollar, dollar ] }; + key { symbols[Group2] = [ x, X, EuroSign, EuroSign ] }; + key { symbols[Group2] = [ c, C, slash, slash ] }; + key { symbols[Group2] = [ v, V, parenleft, parenleft ] }; + key { symbols[Group2] = [ b, B, parenright, parenright ] }; + key { symbols[Group2] = [ n, N, quotedbl, quotedbl ] }; + key { symbols[Group2] = [ m, M, apostrophe, apostrophe ] }; + key { symbols[Group2] = [ Cyrillic_che, Cyrillic_CHE, Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; +}; + +// author: Roman Moravcik +partial alphanumeric_keys +xkb_symbols "he_phonetic" { + include "nokia_vndr/rx-51(english_base)" + include "nokia_vndr/rx-51(arrows_4btns)" + + name[Group1] = "U.S. English"; + name[Group2] = "Hebrew - Phonetic"; + + key { type[Group1] = "PC_FN_LEVEL2_BREAK", [ space, at, ISO_Prev_Group, at ] }; + + key.type[Group2] = "FOUR_LEVEL_SEMIALPHABETIC"; + + // 1. row + key { symbols[Group2] = [ hebrew_qoph, hebrew_qoph, 1, 1 ] }; + key { symbols[Group2] = [ hebrew_waw, hebrew_waw, 2, 2 ] }; + key { symbols[Group2] = [ hebrew_aleph, hebrew_aleph, 3, 3 ] }; + key { symbols[Group2] = [ hebrew_resh, hebrew_resh, 4, 4 ] }; + key { symbols[Group2] = [ hebrew_taw, hebrew_tet, 5, 5 ] }; + key { symbols[Group2] = [ hebrew_ayin, hebrew_ayin, 6, 6 ] }; + key { symbols[Group2] = [ hebrew_waw, hebrew_waw, 7, 7 ] }; + key { symbols[Group2] = [ hebrew_yod, hebrew_yod, 8, 8 ] }; + key { symbols[Group2] = [ hebrew_samech, hebrew_samech, 9, 9 ] }; + key { symbols[Group2] = [ hebrew_pe, hebrew_finalpe, 0, 0 ] }; + key { symbols[Group2] = [ comma, semicolon, equal, equal ] }; + + // 2. row + key { symbols[Group2] = [ hebrew_aleph, hebrew_aleph, asterisk, asterisk ] }; + key { symbols[Group2] = [ hebrew_shin, hebrew_shin, plus, plus ] }; + key { symbols[Group2] = [ hebrew_dalet, hebrew_dalet, numbersign, numbersign ] }; + key { symbols[Group2] = [ hebrew_pe, hebrew_finalpe, minus, minus ] }; + key { symbols[Group2] = [ hebrew_gimel, hebrew_gimel, underscore, underscore ] }; + key { symbols[Group2] = [ hebrew_he, hebrew_he, parenleft, parenleft ] }; + key { symbols[Group2] = [ hebrew_yod, hebrew_yod, parenright, parenright ] }; + key { symbols[Group2] = [ hebrew_kaph, hebrew_finalkaph, ampersand, ampersand ] }; + key { symbols[Group2] = [ hebrew_lamed, hebrew_lamed, exclam, exclam ] }; + key { symbols[Group2] = [ period, colon, question, question ] }; + + // 3. row + key { symbols[Group2] = [ hebrew_zain, hebrew_zain, sterling, sterling ] }; + key { symbols[Group2] = [ hebrew_chet, hebrew_chet, dollar, dollar ] }; + key { symbols[Group2] = [ hebrew_zade, hebrew_finalzade, EuroSign, EuroSign ] }; + key { symbols[Group2] = [ hebrew_waw, hebrew_waw, slash, slash ] }; + key { symbols[Group2] = [ hebrew_bet, hebrew_bet, backslash, backslash ] }; + key { symbols[Group2] = [ hebrew_nun, hebrew_finalnun, quotedbl, quotedbl ] }; + key { symbols[Group2] = [ hebrew_mem, hebrew_finalmem, apostrophe, apostrophe ] }; +}; + +// author: Roman Moravcik +partial alphanumeric_keys +xkb_symbols "he" { + include "nokia_vndr/rx-51(english_base)" + include "nokia_vndr/rx-51(arrows_4btns)" + + name[Group1] = "U.S. English"; + name[Group2] = "Hebrew"; + + key { type[Group1] = "PC_FN_LEVEL2_BREAK", [ space, at, ISO_Prev_Group, at ] }; + + key.type[Group2] = "FOUR_LEVEL_SEMIALPHABETIC"; + + // 1. row + key { symbols[Group2] = [ hebrew_taw, hebrew_taw, 1, 1 ] }; + key { symbols[Group2] = [ hebrew_finalzade, hebrew_finalzade, 2, 2 ] }; + key { symbols[Group2] = [ hebrew_qoph, hebrew_qoph, 3, 3 ] }; + key { symbols[Group2] = [ hebrew_resh, hebrew_resh, 4, 4 ] }; + key { symbols[Group2] = [ hebrew_aleph, hebrew_aleph, 5, 5 ] }; + key { symbols[Group2] = [ hebrew_tet, hebrew_tet, 6, 6 ] }; + key { symbols[Group2] = [ hebrew_waw, hebrew_waw, 7, 7 ] }; + key { symbols[Group2] = [ hebrew_finalnun, hebrew_finalnun, 8, 8 ] }; + key { symbols[Group2] = [ hebrew_finalmem, hebrew_finalmem, 9, 9 ] }; + key { symbols[Group2] = [ hebrew_pe, hebrew_pe, 0, 0 ] }; + key { symbols[Group2] = [ comma, semicolon, equal, equal ] }; + + // 2. row + key { symbols[Group2] = [ hebrew_shin, hebrew_shin, asterisk, asterisk ] }; + key { symbols[Group2] = [ hebrew_dalet, hebrew_dalet, plus, plus ] }; + key { symbols[Group2] = [ hebrew_gimel, hebrew_gimel, numbersign, numbersign ] }; + key { symbols[Group2] = [ hebrew_kaph, hebrew_kaph, minus, minus ] }; + key { symbols[Group2] = [ hebrew_ayin, hebrew_ayin, underscore, underscore ] }; + key { symbols[Group2] = [ hebrew_yod, hebrew_yod, parenleft, parenleft ] }; + key { symbols[Group2] = [ hebrew_chet, hebrew_chet, parenright, parenright ] }; + key { symbols[Group2] = [ hebrew_lamed, hebrew_lamed, ampersand, ampersand ] }; + key { symbols[Group2] = [ hebrew_finalkaph, period, exclam, exclam ] }; + key { symbols[Group2] = [ hebrew_finalpe, colon, question, question ] }; + + // 3. row + key { symbols[Group2] = [ hebrew_zain, hebrew_zain, sterling, sterling ] }; + key { symbols[Group2] = [ hebrew_samech, hebrew_samech, dollar, dollar ] }; + key { symbols[Group2] = [ hebrew_bet, hebrew_bet, EuroSign, EuroSign ] }; + key { symbols[Group2] = [ hebrew_he, hebrew_he, slash, slash ] }; + key { symbols[Group2] = [ hebrew_nun, hebrew_nun, backslash, backslash ] }; + key { symbols[Group2] = [ hebrew_mem, hebrew_mem, quotedbl, quotedbl ] }; + key { symbols[Group2] = [ hebrew_zade, hebrew_zade, apostrophe, apostrophe ] }; +}; + +// author: David Gegechkori +partial alphanumeric_keys +xkb_symbols "ge" { + include "nokia_vndr/rx-51(english_base)" + include "nokia_vndr/rx-51(arrows_4btns)" + + name[Group1] = "U.S. English"; + name[Group2] = "Georgian - Latin"; + + key { type[Group1] = "PC_FN_LEVEL2_BREAK", [ space, at, ISO_Prev_Group, at ] }; + + key.type[Group2] = "FOUR_LEVEL_SEMIALPHABETIC"; + + // 1. row + key { symbols[Group2] = [ 0x010010e5, Q, 1, 1 ] }; + key { symbols[Group2] = [ 0x010010ec, 0x010010ed, 2, 2 ] }; + key { symbols[Group2] = [ 0x010010d4, E, 3, 3 ] }; + key { symbols[Group2] = [ 0x010010e0, 0x010010e6, 4, 4 ] }; + key { symbols[Group2] = [ 0x010010e2, 0x010010d7, 5, 5 ] }; + key { symbols[Group2] = [ 0x010010e7, Y, 6, 6 ] }; + key { symbols[Group2] = [ 0x010010e3, U, 7, 7 ] }; + key { symbols[Group2] = [ 0x010010d8, I, 8, 8 ] }; + key { symbols[Group2] = [ 0x010010dd, O, 9, 9 ] }; + key { symbols[Group2] = [ 0x010010de, P, 0, 0 ] }; + key { symbols[Group2] = [ comma, semicolon, equal, equal ] }; + + // 2. row + key { symbols[Group2] = [ 0x010010d0, A, asterisk, asterisk ] }; + key { symbols[Group2] = [ 0x010010e1, 0x010010e8, plus, plus ] }; + key { symbols[Group2] = [ 0x010010d3, D, numbersign, numbersign ] }; + key { symbols[Group2] = [ 0x010010e4, F, minus, minus ] }; + key { symbols[Group2] = [ 0x010010d2, G, underscore, underscore ] }; + key { symbols[Group2] = [ 0x010010f0, H, parenleft, parenleft ] }; + key { symbols[Group2] = [ 0x010010ef, 0x010010df, parenright, parenright ] }; + key { symbols[Group2] = [ 0x010010d9, K, ampersand, ampersand ] }; + key { symbols[Group2] = [ 0x010010da, L, exclam, exclam ] }; + key { symbols[Group2] = [ period, colon, question, question ] }; + + // 3. row + key { symbols[Group2] = [ 0x010010d6, 0x010010eb, sterling, sterling ] }; + key { symbols[Group2] = [ 0x010010ee, X, dollar, dollar ] }; + key { symbols[Group2] = [ 0x010010ea, 0x010010e9, EuroSign, EuroSign ] }; + key { symbols[Group2] = [ 0x010010d5, V, slash, slash ] }; + key { symbols[Group2] = [ 0x010010d1, B, backslash, backslash ] }; + key { symbols[Group2] = [ 0x010010dc, N, quotedbl, quotedbl ] }; + key { symbols[Group2] = [ 0x010010db, M, apostrophe, apostrophe ] }; +}; + +// author: Eriks Jansons +partial alphanumeric_keys +xkb_symbols "lv" { + include "nokia_vndr/rx-51(english_base)" + include "nokia_vndr/rx-51(arrows_4btns)" + + name[Group1] = "U.S. English"; + name[Group2] = "Latvian"; + + key { type[Group1] = "PC_FN_LEVEL2_BREAK", [ space, at, ISO_Prev_Group, at ] }; + + key.type[Group2] = "FOUR_LEVEL_SEMIALPHABETIC"; + + // 1. row + key { symbols[Group2] = [ q, Q, 1, 1 ] }; + key { symbols[Group2] = [ w, W, 2, 2 ] }; + key { symbols[Group2] = [ emacron, Emacron, 3, 3 ] }; + key { symbols[Group2] = [ rcedilla, Rcedilla, 4, 4 ] }; + key { symbols[Group2] = [ t, T, 5, 5 ] }; + key { symbols[Group2] = [ y, Y, 6, 6 ] }; + key { symbols[Group2] = [ umacron, Umacron, 7, 7 ] }; + key { symbols[Group2] = [ imacron, Imacron, 8, 8 ] }; + key { symbols[Group2] = [ omacron, Omacron, 9, 9 ] }; + key { symbols[Group2] = [ p, P, 0, 0 ] }; + key { symbols[Group1] = [ ISO_Group_Latch, semicolon, equal, equal], + symbols[Group2] = [ comma, semicolon, equal, equal ] }; + + // 2. row + key { symbols[Group2] = [ amacron, Amacron, asterisk, asterisk ] }; + key { symbols[Group2] = [ scaron, Scaron, plus, plus ] }; + key { symbols[Group2] = [ d, D, numbersign, numbersign ] }; + key { symbols[Group2] = [ f, F, minus, minus ] }; + key { symbols[Group2] = [ gcedilla, Gcedilla, underscore, underscore ] }; + key { symbols[Group2] = [ h, H, parenleft, parenleft ] }; + key { symbols[Group2] = [ j, J, parenright, parenright ] }; + key { symbols[Group2] = [ kcedilla, Kcedilla, ampersand, ampersand ] }; + key { symbols[Group2] = [ lcedilla, Lcedilla, exclam, exclam ] }; + key { symbols[Group2] = [ period, colon, question, question ] }; + + // 3. row + key { symbols[Group2] = [ zcaron, Zcaron, sterling, sterling ] }; + key { symbols[Group2] = [ x, X, dollar, dollar ] }; + key { symbols[Group2] = [ ccaron, Ccaron, EuroSign, EuroSign ] }; + key { symbols[Group2] = [ v, V, slash, slash ] }; + key { symbols[Group2] = [ b, B, backslash, backslash ] }; + key { symbols[Group2] = [ ncedilla, Ncedilla, quotedbl, quotedbl ] }; + key { symbols[Group2] = [ m, M, apostrophe, apostrophe ] }; +}; + +// author: Aleksandar Urosevic +partial alphanumeric_keys +xkb_symbols "sr_cyrillic" { + include "nokia_vndr/rx-51(english_base)" + include "nokia_vndr/rx-51(arrows_4btns)" + + name[Group1] = "U.S. English"; + name[Group2] = "Serbian - Cyrillic"; + + key { type[Group1] = "PC_FN_LEVEL2_BREAK", [ space, at, ISO_Prev_Group, at ] }; + + key.type[Group2] = "FOUR_LEVEL_SEMIALPHABETIC"; + + // 1. row + key { symbols[Group2] = [ Cyrillic_lje, Cyrillic_LJE, 1, 1 ] }; + key { symbols[Group2] = [ Cyrillic_nje, Cyrillic_NJE, 2, 2 ] }; + key { symbols[Group2] = [ Cyrillic_ie, Cyrillic_IE, 3, 3 ] }; + key { symbols[Group2] = [ Cyrillic_er, Cyrillic_ER, 4, 4 ] }; + key { symbols[Group2] = [ Cyrillic_te, Cyrillic_TE, 5, 5 ] }; + key { symbols[Group2] = [ Cyrillic_ze, Cyrillic_ZE, 6, 6 ] }; + key { symbols[Group2] = [ Cyrillic_u, Cyrillic_U, 7, 7 ] }; + key { symbols[Group2] = [ Cyrillic_i, Cyrillic_I, 8, 8 ] }; + key { symbols[Group2] = [ Cyrillic_o, Cyrillic_O, 9, 9 ] }; + key { symbols[Group2] = [ Cyrillic_pe, Cyrillic_PE, 0, 0 ] }; + key { symbols[Group2] = [ Cyrillic_sha, Cyrillic_SHA, equal, equal ] }; + + // 2. row + key { symbols[Group2] = [ Cyrillic_a, Cyrillic_A, asterisk, asterisk ] }; + key { symbols[Group2] = [ Cyrillic_es, Cyrillic_ES, plus, plus ] }; + key { symbols[Group2] = [ Cyrillic_de, Cyrillic_DE, numbersign, numbersign ] }; + key { symbols[Group2] = [ Cyrillic_ef, Cyrillic_EF, minus, minus ] }; + key { symbols[Group2] = [ Cyrillic_ghe, Cyrillic_GHE, underscore, underscore ] }; + key { symbols[Group2] = [ Cyrillic_ha, Cyrillic_HA, parenleft, parenleft ] }; + key { symbols[Group2] = [ Cyrillic_je, Cyrillic_JE, parenright, parenright ] }; + key { symbols[Group2] = [ Cyrillic_ka, Cyrillic_KA, ampersand, ampersand ] }; + key { symbols[Group2] = [ Cyrillic_el, Cyrillic_EL, exclam, exclam ] }; + key { symbols[Group2] = [ period, comma, question, question ] }; + key { symbols[Group2] = [ Serbian_dje, Serbian_DJE, Up, Up ] }; + + // 3. row + key { symbols[Group2] = [ Cyrillic_ze, Cyrillic_ZE, colon, colon ] }; + key { symbols[Group2] = [ Cyrillic_dzhe, Cyrillic_DZHE, semicolon, semicolon ] }; + key { symbols[Group2] = [ Cyrillic_tse, Cyrillic_TSE, EuroSign, EuroSign ] }; + key { symbols[Group2] = [ Cyrillic_ve, Cyrillic_VE, slash, slash ] }; + key { symbols[Group2] = [ Cyrillic_be, Cyrillic_BE, backslash, backslash ] }; + key { symbols[Group2] = [ Cyrillic_en, Cyrillic_EN, quotedbl, quotedbl ] }; + key { symbols[Group2] = [ Cyrillic_em, Cyrillic_EM, apostrophe, apostrophe ] }; + key { symbols[Group2] = [ Cyrillic_che, Cyrillic_CHE, Left, Left ] }; + key { symbols[Group2] = [ Serbian_tshe, Serbian_TSHE, Down, Down ] }; + key { symbols[Group2] = [ Cyrillic_zhe, Cyrillic_ZHE, Right, Right ] }; +}; + +// author: Roman Moravcik +// author: Tarick +partial alphanumeric_keys +xkb_symbols "ua_phonetic" { + include "nokia_vndr/rx-51(english_base)" + include "nokia_vndr/rx-51(arrows_2btns)" + + name[Group1] = "U.S. English"; + name[Group2] = "Ukrainian - Phonetic"; + + key { type[Group1] = "PC_FN_LEVEL2_BREAK", [ space, at, ISO_Prev_Group, at ] }; + + key.type[Group2] = "FOUR_LEVEL_SEMIALPHABETIC"; + + // 1. row + key { symbols[Group1] = [ q, Q, 1, 1 ] }; + key { symbols[Group1] = [ w, W, 2, 2 ] }; + key { symbols[Group1] = [ e, E, 3, 3 ] }; + key { symbols[Group1] = [ r, R, 4, 4 ] }; + key { symbols[Group1] = [ t, T, 5, 5 ] }; + key { symbols[Group1] = [ y, Y, 6, 6 ] }; + key { symbols[Group1] = [ u, U, 7, 7 ] }; + key { symbols[Group1] = [ i, I, 8, 8 ] }; + key { symbols[Group1] = [ o, O, 9, 9 ] }; + key { symbols[Group1] = [ p, P, 0, 0 ] }; + key { symbols[Group1] = [ Cyrillic_sha, Cyrillic_SHA, Cyrillic_shcha, Cyrillic_SHCHA ] }; + + key { symbols[Group2] = [ Cyrillic_ya, Cyrillic_YA, 1, 1 ] }; + key { symbols[Group2] = [ Cyrillic_ve, Cyrillic_VE, 2, 2 ] }; + key { symbols[Group2] = [ Cyrillic_ie, Cyrillic_IE, 3, 3 ] }; + key { symbols[Group2] = [ Cyrillic_er, Cyrillic_ER, 4, 4 ] }; + key { symbols[Group2] = [ Cyrillic_te, Cyrillic_TE, 5, 5 ] }; + key { symbols[Group2] = [ Cyrillic_i, Cyrillic_I, 6, 6 ] }; + key { symbols[Group2] = [ Cyrillic_u, Cyrillic_U, 7, 7 ] }; + key { symbols[Group2] = [ Ukrainian_i, Ukrainian_I, 8, 8 ] }; + key { symbols[Group2] = [ Cyrillic_o, Cyrillic_O, 9, 9 ] }; + key { symbols[Group2] = [ Cyrillic_pe, Cyrillic_PE, 0, 0 ] }; + key { symbols[Group2] = [ Cyrillic_sha, Cyrillic_SHA, Cyrillic_shcha, Cyrillic_SHCHA ] }; + + // 2. row + key { symbols[Group1] = [ a, A, asterisk, asterisk ] }; + key { symbols[Group1] = [ s, S, plus, plus ] }; + key { symbols[Group1] = [ d, D, numbersign, numbersign ] }; + key { symbols[Group1] = [ f, F, minus, minus ] }; + key { symbols[Group1] = [ g, G, underscore, underscore ] }; + key { symbols[Group1] = [ h, H, exclam, exclam ] }; + key { symbols[Group1] = [ j, J, question, question ] }; + key { symbols[Group1] = [ k, K, semicolon, semicolon ] }; + key { symbols[Group1] = [ l, L, colon, colon ] }; + key { symbols[Group1] = [ comma, comma, comma, comma ] }; + key { symbols[Group1] = [ period, period, period, period ] }; + + key { symbols[Group2] = [ Cyrillic_a, Cyrillic_A, asterisk, asterisk ] }; + key { symbols[Group2] = [ Cyrillic_es, Cyrillic_ES, plus, plus ] }; + key { symbols[Group2] = [ Cyrillic_de, Cyrillic_DE, numbersign, numbersign ] }; + key { symbols[Group2] = [ Cyrillic_ef, Cyrillic_EF, minus, minus ] }; + key { symbols[Group2] = [ Cyrillic_ghe, Cyrillic_GHE, underscore, underscore ] }; + key { symbols[Group2] = [ Cyrillic_ha, Cyrillic_HA, exclam, exclam ] }; + key { symbols[Group2] = [ Cyrillic_shorti, Cyrillic_SHORTI, question, question ] }; + key { symbols[Group2] = [ Cyrillic_ka, Cyrillic_KA, semicolon, semicolon ] }; + key { symbols[Group2] = [ Cyrillic_el, Cyrillic_EL, colon, colon ] }; + key { symbols[Group2] = [ Cyrillic_yu, Cyrillic_YU, comma, comma ] }; + key { symbols[Group2] = [ Ukrainin_ie, Ukrainian_IE, period, period ] }; + + // 3. row + key { symbols[Group1] = [ z, Z, dollar, dollar ] }; + key { symbols[Group1] = [ x, X, EuroSign, EuroSign ] }; + key { symbols[Group1] = [ c, C, slash, slash ] }; + key { symbols[Group1] = [ v, V, parenleft, parenleft ] }; + key { symbols[Group1] = [ b, B, parenright, parenright ] }; + key { symbols[Group1] = [ n, N, quotedbl, quotedbl ] }; + key { symbols[Group1] = [ m, M, apostrophe, apostrophe ] }; + key { symbols[Group1] = [ Cyrillic_che, Cyrillic_CHE, Ukrainian_yi, Ukrainian_YI ] }; + + key { symbols[Group2] = [ Cyrillic_ze, Cyrillic_ZE, dollar, dollar ] }; + key { symbols[Group2] = [ Cyrillic_softsign, Cyrillic_SOFTSIGN, EuroSign, EuroSign ] }; + key { symbols[Group2] = [ Cyrillic_tse, Cyrillic_TSE, slash, slash ] }; + key { symbols[Group2] = [ Cyrillic_zhe, Cyrillic_ZHE, parenleft, parenleft ] }; + key { symbols[Group2] = [ Cyrillic_be, Cyrillic_BE, parenright, parenright ] }; + key { symbols[Group2] = [ Cyrillic_en, Cyrillic_EN, quotedbl, quotedbl ] }; + key { symbols[Group2] = [ Cyrillic_em, Cyrillic_EM, apostrophe, apostrophe ] }; + key { symbols[Group2] = [ Cyrillic_che, Cyrillic_CHE, Ukrainian_yi, Ukrainian_YI ] }; +}; + + +// author: Roman Moravcik +// author: Tarick +partial alphanumeric_keys +xkb_symbols "ua" { + include "nokia_vndr/rx-51(english_base)" + include "nokia_vndr/rx-51(arrows_2btns)" + + name[Group1] = "U.S. English"; + name[Group2] = "Ukrainian"; + + key { type[Group1] = "PC_FN_LEVEL2_BREAK", [ space, at, ISO_Prev_Group, at ] }; + key.type[Group2] = "FOUR_LEVEL_SEMIALPHABETIC"; + + // 1. row + key { symbols[Group1] = [ q, Q, 1, 1 ] }; + key { symbols[Group1] = [ w, W, 2, 2 ] }; + key { symbols[Group1] = [ e, E, 3, 3 ] }; + key { symbols[Group1] = [ r, R, 4, 4 ] }; + key { symbols[Group1] = [ t, T, 5, 5 ] }; + key { symbols[Group1] = [ y, Y, 6, 6 ] }; + key { symbols[Group1] = [ u, U, 7, 7 ] }; + key { symbols[Group1] = [ i, I, 8, 8 ] }; + key { symbols[Group1] = [ o, O, 9, 9 ] }; + key { symbols[Group1] = [ p, P, 0, 0 ] }; + key { symbols[Group1] = [ Cyrillic_ha, Cyrillic_HA, Ukrainian_yi, Ukrainian_YI ] }; + + key { symbols[Group2] = [ Cyrillic_shorti, Cyrillic_SHORTI, 1, 1 ] }; + key { symbols[Group2] = [ Cyrillic_tse, Cyrillic_TSE, 2, 2 ] }; + key { symbols[Group2] = [ Cyrillic_u, Cyrillic_U, 3, 3 ] }; + key { symbols[Group2] = [ Cyrillic_ka, Cyrillic_KA, 4, 4 ] }; + key { symbols[Group2] = [ Cyrillic_ie, Cyrillic_IE, 5, 5 ] }; + key { symbols[Group2] = [ Cyrillic_en, Cyrillic_EN, 6, 6 ] }; + key { symbols[Group2] = [ Cyrillic_ghe, Cyrillic_GHE, 7, 7 ] }; + key { symbols[Group2] = [ Cyrillic_sha, Cyrillic_SHA, 8, 8 ] }; + key { symbols[Group2] = [ Cyrillic_shcha, Cyrillic_SHCHA, 9, 9 ] }; + key { symbols[Group2] = [ Cyrillic_ze, Cyrillic_ZE, 0, 0 ] }; + key { symbols[Group2] = [ Cyrillic_ha, Cyrillic_HA, Ukrainian_yi, Ukrainian_YI ] }; + + // 2. row + key { symbols[Group1] = [ a, A, asterisk, asterisk ] }; + key { symbols[Group1] = [ s, S, plus, plus ] }; + key { symbols[Group1] = [ d, D, numbersign, numbersign ] }; + key { symbols[Group1] = [ f, F, minus, minus ] }; + key { symbols[Group1] = [ g, G, underscore, underscore ] }; + key { symbols[Group1] = [ h, H, exclam, exclam ] }; + key { symbols[Group1] = [ j, J, question, question ] }; + key { symbols[Group1] = [ k, K, semicolon, semicolon ] }; + key { symbols[Group1] = [ l, L, colon, colon ] }; + key { symbols[Group1] = [ comma, comma, comma, comma ] }; + key { symbols[Group1] = [ period, period, period, period ] }; + + key { symbols[Group2] = [ Cyrillic_ef, Cyrillic_EF, asterisk, asterisk ] }; + key { symbols[Group2] = [ Ukrainian_i, Ukrainian_I, plus, plus ] }; + key { symbols[Group2] = [ Cyrillic_ve, Cyrillic_VE, numbersign, numbersign ] }; + key { symbols[Group2] = [ Cyrillic_a, Cyrillic_A, minus, minus ] }; + key { symbols[Group2] = [ Cyrillic_pe, Cyrillic_PE, underscore, underscore ] }; + key { symbols[Group2] = [ Cyrillic_er, Cyrillic_ER, exclam, exclam ] }; + key { symbols[Group2] = [ Cyrillic_o, Cyrillic_O, question, question ] }; + key { symbols[Group2] = [ Cyrillic_el, Cyrillic_EL, semicolon, semicolon ] }; + key { symbols[Group2] = [ Cyrillic_de, Cyrillic_DE, colon, colon ] }; + key { symbols[Group2] = [ Cyrillic_zhe, Cyrillic_ZHE, comma, comma ] }; + key { symbols[Group2] = [ Ukrainian_ie, Ukrainian_IE, period, period ] }; + + // 3. row + key { symbols[Group1] = [ z, Z, dollar, dollar ] }; + key { symbols[Group1] = [ x, X, EuroSign, EuroSign ] }; + key { symbols[Group1] = [ c, C, slash, slash ] }; + key { symbols[Group1] = [ v, V, parenleft, parenleft ] }; + key { symbols[Group1] = [ b, B, parenright, parenright ] }; + key { symbols[Group1] = [ n, N, quotedbl, quotedbl ] }; + key { symbols[Group1] = [ m, M, apostrophe, apostrophe ] }; + key { symbols[Group1] = [ Cyrillic_be, Cyrillic_BE, Cyrillic_yu, Cyrillic_YU ] }; + + key { symbols[Group2] = [ Cyrillic_ya, Cyrillic_YA, dollar, dollar ] }; + key { symbols[Group2] = [ Cyrillic_che, Cyrillic_CHE, EuroSign, EuroSign ] }; + key { symbols[Group2] = [ Cyrillic_es, Cyrillic_ES, slash, slash ] }; + key { symbols[Group2] = [ Cyrillic_em, Cyrillic_EM, parenleft, parenleft ] }; + key { symbols[Group2] = [ Cyrillic_i, Cyrillic_I, parenright, parenright ] }; + key { symbols[Group2] = [ Cyrillic_te, Cyrillic_TE, quotedbl, quotedbl ] }; + key { symbols[Group2] = [ Cyrillic_softsign, Cyrillic_SOFTSIGN, apostrophe, apostrophe ] }; + key { symbols[Group2] = [ Cyrillic_be, Cyrillic_BE, Cyrillic_yu, Cyrillic_YU ] }; +}; + +// author: Mihai C. +// created on 2010-10-31 +partial alphanumeric_keys +xkb_symbols "ro" { + include "nokia_vndr/rx-51(english_base)" + + name[Group1] = "Romanian"; + + key { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Up, abreve ] }; + key { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Left, 0x1000219 ] }; + key { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Down, 0x100021b ] }; + key { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Right, acircumflex ] }; + + key { [ z, Z, icircumflex, Icircumflex] }; +}; + +// author: Thanawit Lertruengpanya +partial alphanumeric_keys +xkb_symbols "th" { + include "nokia_vndr/rx-51(english_base)" + include "nokia_vndr/rx-51(arrows_4btns)" + + name[Group1] = "U.S. English"; + name[Group2] = "Thai Kedmanee"; + + key { type[Group1] = "PC_FN_LEVEL2_BREAK", [ space, at, ISO_Prev_Group, at ] }; + + key.type[Group2] = "FOUR_LEVEL_SEMIALPHABETIC"; + + // 1. row + key { symbols[Group2] = [ Thai_maiyamok, Thai_leksun, Thai_lakkhangyao, plus ] }; + key { symbols[Group2] = [ Thai_saraaimaimalai, quotedbl, slash, Thai_leknung ] }; + key { symbols[Group2] = [ Thai_saraam, Thai_dochada, minus, Thai_leksong ] }; + key { symbols[Group2] = [ Thai_phophan, Thai_thonangmontho, Thai_phosamphao, Thai_leksam ] }; + key { symbols[Group2] = [ Thai_saraa, Thai_thothong, Thai_thothung, Thai_leksi ] }; + key { symbols[Group2] = [ Thai_maihanakat, Thai_nikhahit, Thai_sarau, Thai_sarauu ] }; + key { symbols[Group2] = [ Thai_saraii, Thai_maitri, Thai_saraue, Thai_baht ] }; + key { symbols[Group2] = [ Thai_rorua, Thai_nonen, Thai_khokhwai, Thai_lekha ] }; + key { symbols[Group2] = [ Thai_nonu, Thai_paiyannoi, Thai_totao, Thai_lekhok ] }; + key { symbols[Group2] = [ Thai_yoyak, Thai_yoying, Thai_chochan, Thai_lekchet ] }; + key { symbols[Group2] = [ Thai_bobaimai, Thai_thothan, Thai_khokhai, Thai_lekpaet ] }; + + // 2. row + key { symbols[Group2] = [ Thai_fofan, Thai_ru, Thai_chochang, Thai_lekkao ] }; + key { symbols[Group2] = [ Thai_hohip, Thai_khorakhang, plus, plus ] }; + key { symbols[Group2] = [ Thai_kokai, Thai_topatak, numbersign, numbersign ] }; + key { symbols[Group2] = [ Thai_dodek, Thai_sarao, minus, minus ] }; + key { symbols[Group2] = [ Thai_sarae, Thai_chochoe, underscore, underscore ] }; + key { symbols[Group2] = [ Thai_maitho, Thai_maitaikhu, Thai_ngongu, period ] }; + key { symbols[Group2] = [ Thai_maiek, Thai_maichattawa, Thai_loling, comma ] }; + key { symbols[Group2] = [ Thai_saraaa, Thai_sorusi, ampersand, ampersand ] }; + key { symbols[Group2] = [ Thai_sosua, Thai_sosala, exclam, exclam ] }; + key { symbols[Group2] = [ Thai_wowaen, Thai_soso, question, question ] }; + + // 3. row + key { symbols[Group2] = [ Thai_phophung, parenleft, Thai_moma, Thai_thophuthao ] }; + key { symbols[Group2] = [ Thai_popla, parenright, Thai_saraaimaimuan, Thai_lochula ] }; + key { symbols[Group2] = [ Thai_saraae, Thai_choching, Thai_fofa, Thai_lu ] }; + key { symbols[Group2] = [ Thai_oang, Thai_honokhuk, slash, slash ] }; + key { symbols[Group2] = [ Thai_sarai, Thai_phinthu, backslash, backslash ] }; + key { symbols[Group2] = [ Thai_sarauee, Thai_thanthakhat, Thai_khokhuat, Thai_khokhon ] }; + key { symbols[Group2] = [ Thai_thothahan, question, apostrophe, apostrophe ] }; +}; diff --git a/xkbdata/symbols/nokia_vndr/su-8w b/xkbdata/symbols/nokia_vndr/su-8w new file mode 100644 index 0000000..f2401bb --- /dev/null +++ b/xkbdata/symbols/nokia_vndr/su-8w @@ -0,0 +1,485 @@ +partial alphanumeric_keys default +xkb_symbols "no" { + name[Group1]= "Norwegian/Danish"; + + include "nokia_vndr/su-8w(base)" + + key { [ 1, exclam, dead_circumflex ] }; + key { [ 2, quotedbl, at ] }; + key { [ 3, numbersign, EuroSign ] }; + key { [ 4, currency, dollar ] }; + key { [ 5, percent, sterling ] }; + key { [ 6, ampersand ] }; + key { [ 7, slash, braceleft ] }; + key { [ 8, parenleft, bracketleft ] }; + key { [ 9, parenright, bracketright ] }; + key { [ 0, equal, braceright ] }; + key { [ plus, question ] }; + key { [ dead_acute, dead_grave, backslash ] }; + + key { [ q, Q, dead_circumflex ] }; + key { [ w, W, at ] }; + key { [ e, E, EuroSign ] }; + key { [ r, R, dollar ] }; + key { [ t, T, sterling ] }; + key { [ y, Y ] }; + key { [ u, U, braceleft ] }; + key { [ i, I, bracketleft ] }; + key { [ o, O, bracketright ] }; + key { [ p, P, braceright ] }; + key { [ aring, Aring ] }; + key { [ ssharp, U1E9E, backslash ] }; + + key { [ a, A ] }; + key { [ s, S ] }; + key { [ d, D ] }; + key { [ f, F ] }; + key { [ g, G ] }; + key { [ h, H ] }; + key { [ j, J ] }; + key { [ k, K ] }; + key { [ l, L ] }; + key { [ oslash, Ooblique ] }; + key { [ ae, AE ] }; + + key { [ z, Z ] }; + key { [ x, X ] }; + key { [ c, C ] }; + key { [ v, V ] }; + key { [ b, B ] }; + key { [ n, N ] }; + key { [ m, M ] }; + key { [ comma, semicolon, less ] }; + key { [ period, colon, greater ] }; + key { [ minus, underscore, dead_diaeresis ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "no_nodeadkeys" { + name[Group1] = "Norwegian/Danish (no dead keys)"; + + include "nokia_vndr/su-8w(no)" + + key { [ 1, exclam, asciicircum ] }; + key { [ acute, grave, backslash ] }; + key { [ q, Q, asciicircum ] }; +}; + +partial alphanumeric_keys default +xkb_symbols "dk" { + include "nokia_vndr/su-8w(no)" +}; + +partial alphanumeric_keys default +xkb_symbols "dk_nodeadkeys" { + include "nokia_vndr/su-8w(no_nodeadkeys)" +}; + + + +partial alphanumeric_keys default +xkb_symbols "de" { + name[Group1]= "German"; + include "nokia_vndr/su-8w(base)" + + key { [ 1, exclam, dead_circumflex ] }; + key { [ 2, quotedbl, at ] }; + key { [ 3, numbersign, EuroSign ] }; + key { [ 4, currency, dollar ] }; + key { [ 5, percent, sterling ] }; + key { [ 6, ampersand ] }; + key { [ 7, slash, braceleft ] }; + key { [ 8, parenleft, bracketleft ] }; + key { [ 9, parenright, bracketright ] }; + key { [ 0, equal, braceright ] }; + key { [ plus, question ] }; + key { [ dead_acute, dead_grave, backslash ] }; + + key { [ q, Q, dead_circumflex ] }; + key { [ w, W, at ] }; + key { [ e, E, EuroSign ] }; + key { [ r, R, dollar ] }; + key { [ t, T, sterling ] }; + key { [ z, Z ] }; + key { [ u, U, braceleft ] }; + key { [ i, I, bracketleft ] }; + key { [ o, O, bracketright ] }; + key { [ p, P, braceright ] }; + key { [ udiaeresis, Udiaeresis ] }; + key { [ ssharp, U1E9E, backslash ] }; + + key { [ a, A ] }; + key { [ s, S ] }; + key { [ d, D ] }; + key { [ f, F ] }; + key { [ g, G ] }; + key { [ h, H ] }; + key { [ j, J ] }; + key { [ k, K ] }; + key { [ l, L ] }; + key { [ odiaeresis, Odiaeresis ] }; + key { [ adiaeresis, Adiaeresis ] }; + + key { [ y, Y ] }; + key { [ x, X ] }; + key { [ c, C ] }; + key { [ v, V ] }; + key { [ b, B ] }; + key { [ n, N ] }; + key { [ m, M ] }; + key { [ comma, semicolon, less ] }; + key { [ period, colon, greater ] }; + // XXX Inexplicably, the diaeresis is dead on other layouts, but not + // German. Go figure. + key { [ minus, underscore, diaeresis ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "de_nodeadkeys" { + name[Group1] = "German (no dead keys)"; + + include "nokia_vndr/su-8w(de)" + + key { [ 1, exclam, asciicircum ] }; + key { [ acute, grave, backslash ] }; + key { [ q, Q, asciicircum ] }; +}; + + + +partial alphanumeric_keys default +xkb_symbols "se" { + name[Group1]= "Finnish/Swedish"; + + include "nokia_vndr/su-8w(base)" + + key { [ 1, exclam, dead_circumflex ] }; + key { [ 2, quotedbl, at ] }; + key { [ 3, numbersign, EuroSign ] }; + key { [ 4, currency, dollar ] }; + key { [ 5, percent, sterling ] }; + key { [ 6, ampersand ] }; + key { [ 7, slash, braceleft ] }; + key { [ 8, parenleft, bracketleft ] }; + key { [ 9, parenright, bracketright ] }; + key { [ 0, equal, braceright ] }; + key { [ plus, question ] }; + key { [ dead_acute, dead_grave, backslash ] }; + + key { [ q, Q, dead_circumflex ] }; + key { [ w, W, at ] }; + key { [ e, E, EuroSign ] }; + key { [ r, R, dollar ] }; + key { [ t, T, sterling ] }; + key { [ y, Y ] }; + key { [ u, U, braceleft ] }; + key { [ i, I, bracketleft ] }; + key { [ o, O, bracketright ] }; + key { [ p, P, braceright ] }; + key { [ aring, Aring ] }; + key { [ ssharp, U1E9E, backslash ] }; + + key { [ a, A ] }; + key { [ s, S ] }; + key { [ d, D ] }; + key { [ f, F ] }; + key { [ g, G ] }; + key { [ h, H ] }; + key { [ j, J ] }; + key { [ k, K ] }; + key { [ l, L ] }; + key { [ odiaeresis, Odiaeresis ] }; + key { [ adiaeresis, Adiaeresis ] }; + + key { [ z, Z ] }; + key { [ x, X ] }; + key { [ c, C ] }; + key { [ v, V ] }; + key { [ b, B ] }; + key { [ n, N ] }; + key { [ m, M ] }; + key { [ comma, semicolon, less ] }; + key { [ period, colon, greater ] }; + key { [ minus, underscore, dead_diaeresis ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "se_nodeadkeys" { + name[Group1] = "Finnish/Swedish (no dead keys)"; + + include "nokia_vndr/su-8w(se)" + + key { [ 1, exclam, asciicircum ] }; + key { [ acute, grave, backslash ] }; + key { [ q, Q, asciicircum ] }; + key { [ minus, underscore, diaeresis ] }; +}; + +partial alphanumeric_keys default +xkb_symbols "fi" { + include "nokia_vndr/su-8w(se)" +}; + +xkb_symbols "fi_nodeadkeys" { + include "nokia_vndr/su-8w(se_nodeadkeys)" +}; + + + +// Russian layout on first two levels, US layout on third and fourth. +partial alphanumeric_keys default +xkb_symbols "ru" { + name[Group1]= "Russian"; + + include "nokia_vndr/su-8w(base)" + + // XXX Would be nice if this actually generated a tilde. + key { [ Cyrillic_io, Cyrillic_IO, grave ] }; + key { [ 1, exclam, exclam, exclam ] }; + key { [ 2, at, quotedbl, at ] }; + key { [ 3, numbersign, numbersign, numbersign ] }; + key { [ 4, dollar, currency, dollar ] }; + key { [ 5, percent, percent, percent ] }; + key { [ 6, dead_circumflex, ampersand, asciicircum ] }; + key { [ 7, ampersand, slash, ampersand ] }; + key { [ 8, asterisk, parenleft, asterisk ] }; + key { [ 9, parenleft, parenright, parenleft ] }; + key { [ 0, parenright, equal, parenright ] }; + key { [ minus, underscore, plus, question ] }; + key { [ equal, plus, equal, plus ] }; + + key { [ Cyrillic_shorti, Cyrillic_SHORTI, q, Q ] }; + key { [ Cyrillic_tse, Cyrillic_TSE, w, W ] }; + key { [ Cyrillic_u, Cyrillic_U, e, E ] }; + key { [ Cyrillic_ka, Cyrillic_KA, r, R ] }; + key { [ Cyrillic_ie, Cyrillic_IE, t, T ] }; + key { [ Cyrillic_en, Cyrillic_EN, y, Y ] }; + key { [ Cyrillic_ghe, Cyrillic_GHE, u, U ] }; + key { [ Cyrillic_sha, Cyrillic_SHA, i, I ] }; + key { [ Cyrillic_shcha, Cyrillic_SHCHA, o, O ] }; + key { [ Cyrillic_ze, Cyrillic_ZE, p, P ] }; + key { [ Cyrillic_ha, Cyrillic_HA, bracketleft, braceleft ] }; + key { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, bracketright, braceright ] }; + + key { [ Cyrillic_ef, Cyrillic_EF, a, A ] }; + key { [ Cyrillic_yeru, Cyrillic_YERU, s, S ] }; + key { [ Cyrillic_ve, Cyrillic_VE, d, D ] }; + key { [ Cyrillic_a, Cyrillic_A, f, F ] }; + key { [ Cyrillic_pe, Cyrillic_PE, g, G ] }; + key { [ Cyrillic_er, Cyrillic_ER, h, H ] }; + key { [ Cyrillic_o, Cyrillic_O, j, J ] }; + key { [ Cyrillic_el, Cyrillic_EL, k, K ] }; + key { [ Cyrillic_de, Cyrillic_DE, l, L ] }; + key { [ Cyrillic_zhe, Cyrillic_ZHE, semicolon, colon ] }; + key { [ Cyrillic_e, Cyrillic_E, apostrophe, quotedbl ] }; + + key { [ Cyrillic_ya, Cyrillic_YA, z, Z ] }; + key { [ Cyrillic_che, Cyrillic_CHE, x, X ] }; + key { [ Cyrillic_es, Cyrillic_ES, c, C ] }; + key { [ Cyrillic_em, Cyrillic_EM, v, V ] }; + key { [ Cyrillic_i, Cyrillic_I, b, B ] }; + key { [ Cyrillic_te, Cyrillic_TE, n, N ] }; + key { [ Cyrillic_softsign, Cyrillic_SOFTSIGN, m, M ] }; + key { [ Cyrillic_be, Cyrillic_BE, comma, less ] }; + key { [ Cyrillic_yu, Cyrillic_YU, period, greater ] }; + key { [ slash, question, slash, question ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "ru_nodeadkeys" { + name[Group1] = "Russian - no dead keys"; + + include "nokia_vndr/su-8w(ru)" + + key { [ 6, asciicircum, ampersand, asciicircum ] }; +}; + + + +partial alphanumeric_keys default +xkb_symbols "us" { + name[Group1]= "U.S. English - International"; + + include "nokia_vndr/su-8w(base)" + + // I can't believe it's not us(intl). + key { [ 1, exclam, exclamdown ] }; + key { [ 2, at, twosuperior ] }; + key { [ 3, numbersign ] }; + key { [ 4, dollar, currency ] }; + key { [ 5, percent, EuroSign ] }; + key { [ 6, asciicircum, onequarter ] }; + key { [ 7, ampersand, onehalf ] }; + key { [ 8, asterisk, threequarters ] }; + key { [ 9, parenleft, leftsinglequotemark ] }; + key { [ 0, parenright, rightsinglequotemark ] }; + key { [ minus, underscore, yen ] }; + key { [ equal, plus, multiply ] }; + + key { [ q, Q, adiaeresis, Adiaeresis ] }; + key { [ w, W, aring, Aring ] }; + key { [ e, E, eacute, Eacute ] }; + key { [ r, R, registered ] }; + key { [ t, T, thorn, THORN ] }; + key { [ y, Y, udiaeresis, Udiaeresis ] }; + key { [ u, U, uacute, Uacute ] }; + key { [ i, I, iacute, Iacute ] }; + key { [ o, O, oacute, Oacute ] }; + key { [ p, P, odiaeresis, Odiaeresis ] }; + key { [ bracketleft, braceleft, guillemotleft ] }; + key { [ bracketright, braceright, guillemotright ] }; + + key { [ a, A, aacute, Aacute ] }; + key { [ s, S, ssharp, section ] }; + key { [ d, D, eth, ETH ] }; + key { [ f, F ] }; + key { [ g, G ] }; + key { [ h, H ] }; + key { [ j, J ] }; + key { [ k, K ] }; + key { [ l, L, oslash, Ooblique ] }; + key { [ semicolon, colon, paragraph, degree ] }; + // XXX Not entirely sure if fourth level is quotedbl or diaeresis. + // The former makes a lot more sense. + key { [ dead_acute, dead_diaeresis, apostrophe, quotedbl ] }; + + key { [ z, Z, ae, AE ] }; + key { [ x, X ] }; + key { [ c, C, copyright ] }; + key { [ v, V ] }; + key { [ b, B ] }; + key { [ n, N, ntilde, Ntilde ] }; + key { [ m, M, mu ] }; + key { [ comma, less, ccedilla, Ccedilla ] }; + key { [ period, greater ] }; + key { [ slash, question, questiondown ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "us_nodeadkeys" { + name[Group1] = "U.S. English - no dead keys"; + + include "nokia_vndr/su-8w(us_intl)" + + // XXX Not entirely sure if second level is quotedbl or diaeresis. + // The former makes a lot more sense. + key { [ apostrophe, quotedbl, dead_acute, dead_diaeresis ] }; +}; + + + +default partial alphanumeric_keys +xkb_symbols "base" { + // forked from from pc(pc105); madness. + key { [ Escape ] }; + + // the extra key on most European keyboards + key { [ less, greater, bar, brokenbar ] }; + + // these keys are common to all layouts + key { [ backslash, bar ] }; + key { [ space ] }; + + key { [ BackSpace ] }; + + key { [ Tab, ISO_Left_Tab ] }; + key { [ Return ] }; + // we don't ever generate this key, but the VKB needs it always. + key { [ KP_Enter ] }; + // generated from the headset, must always be in the map. + key { [ XF86Phone ] }; + + key { [ Caps_Lock ] }; + + key { [ Num_Lock, Pointer_EnableKeys ] }; + + key { [ Shift_L ] }; + key { [ Control_L ] }; + key { [ Alt_L, Meta_L ] }; + key { [ Super_L ] }; + + key { [ Shift_R ] }; + key { [ Control_R ] }; + key { [ Alt_R, Meta_R ] }; + key { [ Super_R ] }; + + key { [ Menu ] }; + + key { [ F1 ] }; + key { [ F2 ] }; + key { [ F3 ] }; + key { [ F4 ] }; + key { [ F5 ] }; + key { [ F6 ] }; + key { [ F7 ] }; + key { [ F8 ] }; + key { [ F9 ] }; + key { [ F11 ] }; + key { [ F10 ] }; + key { [ F12 ] }; + + // Begin modifier mappings + modifier_map Shift { Shift_L, Shift_R }; + modifier_map Lock { Caps_Lock }; + modifier_map Control{ Control_L, Control_R }; + modifier_map Mod2 { Num_Lock }; + + // Fake keys for virtual<->real modifiers mapping: + key { [ ISO_Level3_Shift ] }; + key { [ Mode_switch ] }; + modifier_map Mod5 { , }; + + key { [ NoSymbol, Alt_L ] }; + modifier_map Mod1 { , }; + + key { [ NoSymbol, Meta_L ] }; + modifier_map Mod1 { }; + + key { [ NoSymbol, Super_L ] }; + modifier_map Mod4 { }; + + key { [ NoSymbol, Hyper_L ] }; + modifier_map Mod4 { }; + // End modifier mappings + + key { [ Insert ] }; + key { [ Delete ] }; + key { [ End ] }; + key { [ Up ] }; + key { [ Left ] }; + key { [ Down ] }; + key { [ Right ] }; + + // True for all layouts (except for ru). + key { [ grave, asterisk, asciitilde ] }; + + // SU-8W uses 140 for Home, not the normal keycode. Very useful. + key { [ NoSymbol ] }; + // Ditto LWIN/RWIN and Page Up/Page Down. + key { [ none ] }; + key { [ NoSymbol ] }; + + // The LWIN & RWIN keys correspond to the 'select left' and + // 'select right' keys. + key { [ Prior ] }; + key { [ Next ] }; + + // = 140 ~ + key { [ Home ] }; + // = 138 ~ + key { [ Menu ] }; + key { [ XF86Mail ] }; + + // Power button. + key { [ Execute ] }; +}; diff --git a/xkbdata/symbols/np b/xkbdata/symbols/np new file mode 100644 index 0000000..8910e62 --- /dev/null +++ b/xkbdata/symbols/np @@ -0,0 +1,119 @@ +default partial alphanumeric_keys +xkb_symbols "basic" { + + name[Group1]= "Nepali"; + + key {[ 0x100093D, 0x100093C ]}; // ऽ ़ + key {[ 0x1000967, exclam ]}; // १ ! + key {[ 0x1000968, at ]}; // २ @ + key {[ 0x1000969, numbersign ]}; // ३ # + key {[ 0x100096A, dollar ]}; // ४ $ + key {[ 0x100096B, percent ]}; // ५ % + key {[ 0x100096C, asciicircum]}; // ६ ^ + key {[ 0x100096D, ampersand ]}; // ७ & + key {[ 0x100096e, asterisk ]}; // ८ * + key {[ 0x100096F, parenleft ]}; // ९ ( + key {[ 0x1000966, parenright ]}; // ० ) + key {[ minus, 0x1000952 ]}; // - ॒ + key {[ 0x100200D, 0x100200C ]}; // ZWJ ZWNJ + + key {[ 0x100091F, 0x1000920 ]}; // ट ठ + key {[ 0x100094C, 0x1000914 ]}; // ौ औ + key {[ 0x1000947, 0x1000948 ]}; // े ै + key {[ 0x1000930, 0x1000943 ]}; // र ृ + key {[ 0x1000924, 0x1000925 ]}; // त थ + key {[ 0x100092F, 0x100091E ]}; // य ञ + key {[ 0x1000941, 0x1000942 ]}; // ु ू + key {[ 0x100093F, 0x1000940 ]}; // ि ी + key {[ 0x100094B, 0x1000913 ]}; // ो ओ + key {[ 0x100092A, 0x100092B ]}; // प फ + key {[ 0x1000907, 0x1000908 ]}; // इ ई + key {[ 0x100090F, 0x1000910 ]}; // ए ऐ + + key {[ 0x100093E, 0x1000906 ]}; // ा आ + key {[ 0x1000938, 0x1000936 ]}; // स श + key {[ 0x1000926, 0x1000927 ]}; // द ध + key {[ 0x1000909, 0x100090A ]}; // उ ऊ + key {[ 0x1000917, 0x1000918 ]}; // ग घ + key {[ 0x1000939, 0x1000905 ]}; // ह अ + key {[ 0x100091C, 0x100091D ]}; // ज झ + key {[ 0x1000915, 0x1000916 ]}; // क ख + key {[ 0x1000932, 0x1000965 ]}; // ल ॥ + key {[ semicolon, colon ]}; // ; : + key {[ apostrophe, quotedbl ]}; // ' " + key {[ 0x1000950, 0x1000903 ]}; // ॐ ः + + key {[ 0x1000937, 0x100090B ]}; // ष ऋ + key {[ 0x1000921, 0x1000922 ]}; // ड ढ + key {[ 0x100091A, 0x100091B ]}; // च छ + key {[ 0x1000935, 0x1000901 ]}; // व ँ + key {[ 0x100092C, 0x100092D ]}; // ब भ + key {[ 0x1000928, 0x1000923 ]}; // न ण + key {[ 0x100092E, 0x1000902 ]}; // म ं + key {[ comma, 0x1000919 ]}; // , ङ + key {[ 0x1000964, period ]}; // । . + key {[ 0x100094D, question ]}; // ् ? +}; + +partial alphanumeric_keys +xkb_symbols "olpc" { + + // #HW-SPECIFIC + + // Contact: Walter Bender + + name[Group1]= "Nepali"; + + key {[ 0x100091E, 0x1000965 ]}; // NYA; double danda + key {[ 0x1000967, 0x10FFFFD ]}; // Nepali digit one; U091C+U094D+U091E + key {[ 0x1000968, 0x1000908 ]}; // Nepali digit two; + key {[ 0x1000969, 0x1000918 ]}; // Nepali digit three; + key {[ 0x100096A, 0x10FFFFC ]}; // Nepali digit four; U0926+U094D+U0927 + key {[ 0x100096B, 0x100091B ]}; // Nepali digit five + key {[ 0x100096C, 0x100091F ]}; // Nepali digit six + key {[ 0x100096D, 0x1000920 ]}; // Nepali digit seven + key {[ 0x100096e, 0x1000921 ]}; // Nepali digit eight + key {[ 0x100096F, 0x1000922 ]}; // Nepali digit nine + key {[ 0x1000966, 0x1000923 ]}; // Nepali digit zero + key {[ 0x1000914, 0x1000913 ]}; // O, AU + key {[ 0x100200C, 0x1000902 ]}; // ZERO-WIDTH-NON-JOINER (ZWNJ); SIGN ANUSVARA + key {[ 0x100094D, 0x100200D ]}; // SIGN VIRAMA; ZERO-WIDTH-JOINER (ZWJ) + + key {[ 0x10FFFFB, 0x10FFFFA ]}; // U0924+U094D+U0930; U0924+U094D+U0924 + key {[ 0x1000927, 0x10FFFF9 ]}; // DHA; U0921+U094D+U0922 + key {[ 0x100092D, 0x1000910 ]}; // BHA, AI + key {[ 0x100091A, 0x10FFFF8 ]}; // CA; U0926+U094D+U0935 + key {[ 0x1000924, 0x10FFFF7 ]}; // TA; U091F+U094D+U091F + key {[ 0x1000925, 0x10FFFF6 ]}; // THA; U0920+U094D+U0920 + key {[ 0x1000917, 0x100090A ]}; // GA, UU + key {[ 0x1000937, 0x10FFFF5 ]}; // SSA; U0915+U094D+U0937 + key {[ 0x100092F, 0x1000907 ]}; // YA, I + key {[ 0x1000909, 0x100090F ]}; // U, E + key {[ 0x10FFFF4, 0x1000943 ]}; // U0928+U094D+ZWJ; VOWEL SIGN VOCALIC R + key {[ 0x1000947, 0x1000948 ]}; // SIGN E; SIGN AI + + key {[ 0x100092C, 0x1000906 ]}; // BA, AA + key {[ 0x1000915, 0x10FFFF3 ]}; // KA; U0919+U094D+U0915 + key {[ 0x100092E, 0x10FFFF2 ]}; // MA; U0919+U094D+U0917 + key {[ 0x100093E, 0x1000901 ]}; // CANDRABINDU, VOWEL SIGN AA + key {[ 0x1000928, 0x10FFFF1 ]}; // NA; U0926+U094D+U0926 + key {[ 0x100091C, 0x100091D ]}; // JA, JHA + key {[ 0x1000935, 0x100094B ]}; // VA, VOWEL SIGN O + key {[ 0x100092A, 0x100092B ]}; // PA, PHA + key {[ 0x100093F, 0x1000940 ]}; // VOWEL SIGN I, VOWEL SIGN II + key {[ 0x1000938, 0x10FFFF0 ]}; // SA; U091F+U094D+U0920 + key {[ 0x1000941, 0x1000942 ]}; // VOWEL SIGN U, VOWEL SIGN UU + + key {[ 0x1000936, 0x10FFFEF ]}; // SHA; U0915+U094D+U0915 + key {[ 0x1000939, 0x10FFFEE ]}; // HA; U0939+U094D+U092F + key {[ 0x1000905, 0x100090B ]}; // A; U0909+U090B + key {[ 0x1000916, 0x1000950 ]}; // KHA, OM + key {[ 0x1000926, 0x100094C ]}; // DA, VOWEL SIGN AU + key {[ 0x1000932, 0x10FFFED ]}; // LA; U0926+U094D+U092F + key {[ 0x1000903, 0x10FFFEC ]}; // SIGN VISARGA; U0921+U094D+U0921 + key {[ 0x100093D, 0x1000919 ]}; // SIGN AVAGRHA; NGA + key {[ 0x1000964, 0x10FFFEB ]}; // DANDA; U0936+U094D+U0930 + key {[ 0x1000930, 0x10FFFEA ]}; // RA; U0930+U0941 + + include "group(olpc)" +}; diff --git a/xkbdata/symbols/olpc b/xkbdata/symbols/olpc new file mode 100644 index 0000000..250e2c5 --- /dev/null +++ b/xkbdata/symbols/olpc @@ -0,0 +1,21 @@ +// +// Created by Bernardo Innocenti +// +// Additional symbol definitions for the OLPC keyboards +// + +alphanumeric_keys modifier_keys +xkb_symbols "olpc" { + include "pc(pc105)" + + modifier_map Mod1 { KP_Home }; // KP_Home is the "square" game key + modifier_map Mod3 { KP_End }; // KP_End is the "tick" game key + modifier_map Mod4 { KP_Prior }; // KP_Prior is the "O" game key + modifier_map Mod5 { KP_Next }; // KP_Next is the "X" game key + + key { [ XF86Search ] }; // search key (unpopulated on olpcm, harmless) + key { [ XF86Meeting ] }; // fn+search key (unpopulated on olpcm, harmless) + key { [ XF86Start ] }; // gear key (fn+space) + key { [ XF86TaskPane ] }; // frame key (the top-right key) (unpopulated on olpcm, harmless) + key { [ XF86Messenger ] }; // overlay key (next to frame key) (unpopulated on olpcm, harmless) +}; diff --git a/xkbdata/symbols/parens b/xkbdata/symbols/parens new file mode 100644 index 0000000..3123fba --- /dev/null +++ b/xkbdata/symbols/parens @@ -0,0 +1,8 @@ +// swap parentheses and square brackets +default partial +xkb_symbols "swap_brackets" { + replace key { [ 9, bracketleft ] }; + replace key { [ 0, bracketright ] }; + replace key { [ parenleft, braceleft ] }; + replace key { [ parenright, braceright ] }; +}; diff --git a/xkbdata/symbols/pc b/xkbdata/symbols/pc new file mode 100644 index 0000000..dbe08bb --- /dev/null +++ b/xkbdata/symbols/pc @@ -0,0 +1,87 @@ +default partial alphanumeric_keys modifier_keys +xkb_symbols "pc105" { + + key { [ Escape ] }; + + // The extra key on many European keyboards: + key { [ less, greater, bar, brokenbar ] }; + + // The following keys are common to all layouts. + key { [ backslash, bar ] }; + key { [ space ] }; + + include "srvr_ctrl(fkey2vt)" + include "pc(editing)" + include "keypad(x11)" + + key { [ BackSpace, BackSpace ] }; + + key { [ Tab, ISO_Left_Tab ] }; + key { [ Return ] }; + + key { [ Caps_Lock ] }; + key { [ Num_Lock ] }; + + key { [ Shift_L ] }; + key { [ Control_L ] }; + key { [ Super_L ] }; + + key { [ Shift_R ] }; + key { [ Control_R ] }; + key { [ Super_R ] }; + key { [ Menu ] }; + + // Beginning of modifier mappings. + modifier_map Shift { Shift_L, Shift_R }; + modifier_map Lock { Caps_Lock }; + modifier_map Control{ Control_L, Control_R }; + modifier_map Mod2 { Num_Lock }; + modifier_map Mod4 { Super_L, Super_R }; + + // Fake keys for virtual<->real modifiers mapping: + key { [ ISO_Level3_Shift ] }; + key { [ Mode_switch ] }; + modifier_map Mod5 { , }; + + key { [ NoSymbol, Alt_L ] }; + include "altwin(meta_alt)" + + key { [ NoSymbol, Meta_L ] }; + modifier_map Mod1 { }; + + key { [ NoSymbol, Super_L ] }; + modifier_map Mod4 { }; + + key { [ NoSymbol, Hyper_L ] }; + modifier_map Mod4 { }; + // End of modifier mappings. + + key { [ XF86Display ] }; + key { [ XF86KbdLightOnOff ] }; + key { [ XF86KbdBrightnessDown ] }; + key { [ XF86KbdBrightnessUp ] }; +}; + +hidden partial alphanumeric_keys +xkb_symbols "editing" { + key { + type= "PC_ALT_LEVEL2", + symbols[Group1]= [ Print, Sys_Req ] + }; + key { [ Scroll_Lock ] }; + key { + type= "PC_CONTROL_LEVEL2", + symbols[Group1]= [ Pause, Break ] + }; + key { [ Insert ] }; + key { [ Home ] }; + key { [ Prior ] }; + key { [ Delete ] }; + key { [ End ] }; + key { [ Next ] }; + + key { [ Up ] }; + key { [ Left ] }; + key { [ Down ] }; + key { [ Right ] }; +}; diff --git a/xkbdata/symbols/ph b/xkbdata/symbols/ph new file mode 100644 index 0000000..c635d28 --- /dev/null +++ b/xkbdata/symbols/ph @@ -0,0 +1,994 @@ +//////////////////////////////////////////////////////////////////////////////// +// Philippines National Keyboard Layout v1.0.0 (2010-10-23) // +// http://laibcoms.com/sandbox/the-philippines-national-keyboard-layout // +// // +// Loosely based on ISO/IEC 9995-3:2009 // +// * glyphs that are not used in Philippine Languages and // +// Philippine English were not included // +// * Additions/Changes that are not part of ISO/IEC 9995-3:2009 // +// were added // +// // +// http://en.wikipedia.org/wiki/ISO/IEC_9995 // +// http://www.fileformat.info/info/unicode/char/20B1/index.htm // +// // +// By: Ubuntu Philippines LoCo Team // +// Site: http://ubuntu-ph.org // +// // +// Project Contact: JC John Sese Cuneta / 謝施洗 / ᜑᜓᜏᜈ᜔ ᜃᜓᜈᜒᜆ // +// XMPP/Jabber: jcjohn.sesecuneta@talkr.im // +// Email: jcjohn.sesecuneta@laibcoms.com // +//////////////////////////////////////////////////////////////////////////////// + +// QWERTY (Latin) version +// http://en.wikipedia.org/wiki/QWERTY +// +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━┓ +// │ ~ ̃◌ │ ! ¡ │ @ ¤ │ # £ │ $ € │ % ° │ ^ ̂◌ │ & ← │ * → │ ( ↑ │ ) ↓ │ _ ◌͠ │ + ∓ ┃ ⌫ Bak ┃ +// │ ` ̀◌ │ 1 ¹ │ 2 ² │ 3 ³ │ 4 ¼ │ 5 ½ │ 6 ¾ │ 7 ⅛ │ 8 ⅜ │ 9 ⅝ │ 0 ⅞ │ - ¬ │ = ± ┃ Space ┃ +// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┯━━━━━┩ +// ┃ ┃ Q │ W │ E Œ │ R ¶ │ T │ Y │ U │ I İ │ O Ø │ P │ { │ } │ | Ə │ +// ┃Tab ↹ ┃ q │ w │ e œ │ r ® │ t ™ │ y ¥ │ u │ i ı │ o ø │ p ₱ │ [ │ ] │ \ ə │ +// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┲━━━━┷━━━━━┪ +// ┃ ┃ A Æ │ S │ D │ F ª │ G │ H │ J │ K │ L │ : │ " ̋◌ ┃ Enter ┃ +// ┃Caps ⇬ ┃ a æ │ s § │ d │ f │ g │ h │ j │ k │ l │ ; │ ' ́◌ ┃ ⏎ ┃ +// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┻━━━━━━━━━━┫ +// ┃ ┃ ¦ │ Z » │ X · │ C ¢ │ V ‘ │ B ’ │ N Ñ │ M º │ < ̨◌ │ > ␣ │ ? ¿ ┃ ┃ +// ┃Shift ⇧┃ │ z « │ x × │ c © │ v “ │ b ” │ n ñ │ m µ │ , ̧◌ │ . … │ / ÷ ┃Shift ⇧ ┃ +// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┷━┳━━━┻━━━┳━━━━━━━┫ +// ┃ ┃Win ┃ ┃ ␣ Space Space ␣ ┃ ┃Win ┃ ┃ ┃ +// ┃Ctrl ┃Super ┃Alt ┃ ␣ Space Space ␣ ┃AltGr ⇮┃Meta ┃Menu ┃Ctrl ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹─────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┻━━━━━━━┛ +// +default partial alphanumeric_keys +xkb_symbols "basic" { + + name[Group1]= "Filipino"; + +// ISO grouping: |--------- Group1 ---------| |--------- Group2 ---------| +// Level1 Level2 Level3 Level4 +// Base Shift AltGr AltGr+Shift + + // E row; Numerals row, left side + key { [ U0060, U007E, U0300, U0303 ] }; // ` ~ ̀◌ ̃◌ (combining grave accent) (combining tilde) + key { [ U0031, U0021, U00B9, U00A1 ] }; // 1 ! ¹ ¡ + key { [ U0032, U0040, U00B2, U00A4 ] }; // 2 @ ² ¤ + key { [ U0033, U0023, U00B3, U00A3 ] }; // 3 # ³ £ + key { [ U0034, U0024, U00BC, U20AC ] }; // 4 $ ¼ € + key { [ U0035, U0025, U00BD, U00B0 ] }; // 5 % ½ ° + // E row; Numerals row, right side + key { [ U0036, U005E, U00BE, U0302 ] }; // 6 ^ ¾ ̂◌ (combining circumflex accent) + key { [ U0037, U0026, U215B, U2190 ] }; // 7 & ⅛ ← + key { [ U0038, U002A, U215C, U2192 ] }; // 8 * ⅜ → + key { [ U0039, U0028, U215D, U2191 ] }; // 9 ( ⅝ ↑ + key { [ U0030, U0029, U215E, U2193 ] }; // 0 ) ⅞ ↓ + key { [ U002D, U005F, U00AC, U0360 ] }; // - _ ¬ ◌͠ + key { [ U003D, U002B, U00B1, U2213 ] }; // = + ± ∓ + + // D row; QWERTY row, left side + key { [ U0071, U0051, VoidSymbol, VoidSymbol ] }; // q Q + key { [ U0077, U0057, VoidSymbol, VoidSymbol ] }; // w W + key { [ U0065, U0045, U0153, U0152 ] }; // e E œ Œ + key { [ U0072, U0052, U00AE, U00B6 ] }; // r R ® ¶ + key { [ U0074, U0054, U2122, VoidSymbol ] }; // t T ™ + // D row; QWERTY row, right side + key { [ U0079, U0059, U00A5, VoidSymbol ] }; // y Y ¥ + key { [ U0075, U0055, VoidSymbol, VoidSymbol ] }; // u U + key { [ U0069, U0049, U0131, U0130 ] }; // i I ı İ + key { [ U006F, U004F, U00F8, U00D8 ] }; // o O ø Ø + key { [ U0070, U0050, U20B1, VoidSymbol ] }; // p P ₱ + key { [ U005B, U007B, VoidSymbol, VoidSymbol ] }; // [ { + key { [ U005D, U007D, VoidSymbol, VoidSymbol ] }; // ] } + key { [ U005C, U007C, U0259, U018F ] }; // \ | ə Ə + + // C row; Home row, left side + key { [ U0061, U0041, U00E6, U00C6 ] }; // a A æ Æ + key { [ U0073, U0053, U00A7, VoidSymbol ] }; // s S § + key { [ U0064, U0044, VoidSymbol, VoidSymbol ] }; // d D + key { [ U0066, U0046, VoidSymbol, U00AA ] }; // f F ª + key { [ U0067, U0047, VoidSymbol, VoidSymbol ] }; // g G + // C row; Home row, right side + key { [ U0068, U0048, VoidSymbol, VoidSymbol ] }; // h H + key { [ U006A, U004A, VoidSymbol, VoidSymbol ] }; // j J + key { [ U006B, U004B, VoidSymbol, VoidSymbol ] }; // k K + key { [ U006C, U004C, VoidSymbol, VoidSymbol ] }; // l L + key { [ U003B, U003A, VoidSymbol, VoidSymbol ] }; // ; : + key { [ U0027, U0022, U0301, U030B ] }; // ' " ́◌ ̋◌ (combining acute accent) (combining double-acute accent) + + // B row; Lower row, left side + key { [ VoidSymbol, VoidSymbol, VoidSymbol, U00A6 ] }; // ¦ + key { [ U007A, U005A, U00AB, U00BB ] }; // z Z « » + key { [ U0078, U0058, U00D7, U00B7 ] }; // x X × · + key { [ U0063, U0043, U00A9, U00A2 ] }; // c C © ¢ + key { [ U0076, U0056, U201C, U2018 ] }; // v V “ ‘ + key { [ U0062, U0042, U201D, U2019 ] }; // b B ” ’ + // B row; Lower row, right side + key { [ U006E, U004E, U00F1, U00D1 ] }; // n N ñ Ñ + key { [ U006D, U004D, U00B5, U00BA ] }; // m M µ º + key { [ U002C, U003C, U0327, U0328 ] }; // , < ̧◌ ̨◌ (combining cedilla) (combining ogonek) + key { [ U002E, U003E, U2026, U2423 ] }; // . > … ␣ + key { [ U002F, U003F, U00F7, U00BF ] }; // / ? ÷ ¿ + + // A row + key { [ U0020, U0020, U0020, U0020 ] }; // (space) (space) (space) (space) + + include "level3(ralt_switch)" +}; + + +// QWERTY (Baybayin) version +// +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━┓ +// │ │ │ │ │ │ │ │ │ │ │ │ │ ◌᜔ ┃ ⌫ Bak ┃ +// │ │ │ │ │ │ │ │ │ │ │ │ │ ◌᜔ ┃ Space ┃ +// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┯━━━━━┩ +// ┃ ┃ │ │ ᜁ │ │ │ │ ᜂ │ ᜁ │ ᜂ │ │ │ │ │ +// ┃Tab ↹ ┃ │ ᜏ │ ◌ᜒ │ ᜍ │ ᜆ │ ᜌ │ ◌ᜓ │ ◌ᜒ │ ◌ᜓ │ ᜉ │ │ │ │ +// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┲━━━━┷━━━━━┪ +// ┃ ┃ │ │ │ │ │ │ │ │ │ │ ┃ Enter ┃ +// ┃Caps ⇬ ┃ ᜀ │ ᜐ │ ᜇ │ │ ᜄ │ ᜑ │ │ ᜃ │ ᜎ │ │ ┃ ⏎ ┃ +// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┻━━━━━━━━━━┫ +// ┃ ┃ │ │ │ │ │ │ ᜅ │ │ │ │ ┃ ┃ +// ┃Shift ⇧┃ │ │ │ │ │ ᜊ │ ᜈ │ ᜋ │ ᜵ │ ᜶ │ ┃Shift ⇧ ┃ +// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┷━┳━━━┻━━━┳━━━━━━━┫ +// ┃ ┃Win ┃ ┃ ␣ Space ┃ ┃Win ┃ ┃ ┃ +// ┃Ctrl ┃Super ┃Alt ┃ ␣ Space ┃AltGr ⇮┃Meta ┃Menu ┃Ctrl ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹─────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┻━━━━━━━┛ +// +partial alphanumeric_keys +xkb_symbols "qwerty-bay" { + + name[Group1]= "Filipino (QWERTY, Baybayin)"; + +// ISO grouping: |--------- Group1 ---------| |--------- Group2 ---------| +// Level1 Level2 Level3 Level4 +// Base Shift AltGr AltGr+Shift + + // E row; Numerals row, left side + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + // E row; Numerals row, right side + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ U1714, U1714, VoidSymbol, VoidSymbol ] }; // ◌᜔ (virama) ◌᜔ (virama) + + // D row; QWERTY row, left side + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ U170F, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜏ (Wa) + key { [ U1712, U1701, VoidSymbol, VoidSymbol ] }; // ◌ᜒ (e/i) ᜁ (E/I) + key { [ U170D, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜍ (Ra) + key { [ U1706, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜆ (Ta) + // D row; QWERTY row, right side + key { [ U170C, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜌ (Ya) + key { [ U1713, U1702, VoidSymbol, VoidSymbol ] }; // ◌ᜓ (o/u) ᜂ (O/U) + key { [ U1712, U1701, VoidSymbol, VoidSymbol ] }; // ◌ᜒ (e/i) ᜁ (E/I) + key { [ U1713, U1702, VoidSymbol, VoidSymbol ] }; // ◌ᜓ (o/u) ᜂ (O/U) + key { [ U1709, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜉ (Pa) + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + + // C row; Home row, left side + key { [ U1700, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜀ (A) + key { [ U1710, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜐ (Sa) + key { [ U1707, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜇ (Da) + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ U1704, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜄ (Ga) + // C row; Home row, right side + key { [ U1711, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜑ (Ha) + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ U1703, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜃ (Ka) + key { [ U170E, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜎ (La) + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + + // B row; Lower row, left side + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ U170A, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜊ (Ba) + // B row; Lower row, right side + key { [ U1708, U1705, VoidSymbol, VoidSymbol ] }; // ᜈ (Na) ᜅ (Nga) + key { [ U170B, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜋ (Ma) + key { [ U1735, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜵ (comma) + key { [ U1736, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜶ (period) + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + + // A row + key { [ U0020, U0020, U0020, U0020 ] }; // (space) (space) (space) (space) + + include "level3(ralt_switch)" +}; + + +// Capewell-Dvorak (Latin) version +// http://www.michaelcapewell.com/projects/keyboard/index.htm#The_Capewell-Dvorak_Layout +// +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━┓ +// │ ~ ̃◌ │ ! ¡ │ @ ¤ │ # £ │ $ € │ % ° │ ^ ̂◌ │ & → │ * → │ ( ↑ │ ) ↓ │ { │ } ┃ ⌫ Bak ┃ +// │ ` ̀◌ │ 1 ¹ │ 2 ² │ 3 ³ │ 4 ¼ │ 5 ½ │ 6 ¾ │ 7 ⅛ │ 8 ⅜ │ 9 ⅝ │ 0 ⅞ │ [ │ ] ┃ Space ┃ +// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┯━━━━━┩ +// ┃ ┃ " ̋◌ │ < ̨◌ │ > ␣ │ P │ Y │ Q │ F ª │ G │ R ¶ │ K │ ? ¿ │ + ∓ │ | Ə │ +// ┃Tab ↹ ┃ ' ́◌ │ , ̧◌ │ . … │ p ₱ │ y ¥ │ q │ f │ g │ r ® │ k │ / ÷ │ = ± │ \ ə │ +// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┲━━━━┷━━━━━┪ +// ┃ ┃ O Ø │ A Æ │ E Œ │ I İ │ U │ D │ H │ T │ N Ñ │ S │ _ ◌͠ ┃ Enter ┃ +// ┃Caps ⇬ ┃ o ø │ a æ │ e œ │ i ı │ u │ d │ h │ t ™ │ n ñ │ s § │ - ¬ ┃ ⏎ ┃ +// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┻━━━━━━━━━━┫ +// ┃ ┃ ¦ │ Z » │ X · │ C ¢ │ V ‘ │ J │ L │ M º │ W │ B ’ │ : ┃ ┃ +// ┃Shift ⇧┃ │ z « │ x × │ c © │ v “ │ j │ l │ m µ │ w │ b ” │ ; ┃Shift ⇧ ┃ +// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┷━┳━━━┻━━━┳━━━━━━━┫ +// ┃ ┃Win ┃ ┃ ␣ Space Space ␣ ┃ ┃Win ┃ ┃ ┃ +// ┃Ctrl ┃Super ┃Alt ┃ ␣ Space Space ␣ ┃AltGr ⇮┃Meta ┃Menu ┃Ctrl ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹─────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┻━━━━━━━┛ +// +partial alphanumeric_keys +xkb_symbols "capewell-dvorak" { + + name[Group1]= "Filipino (Capewell-Dvorak, Latin)"; + +// ISO grouping: |--------- Group1 ---------| |--------- Group2 ---------| +// Level1 Level2 Level3 Level4 +// Base Shift AltGr AltGr+Shift + + // E row; Numerals row, left side + key { [ U0060, U007E, U0300, U0303 ] }; // ` ~ ̀◌ ̃◌ (combining grave accent) (combining tilde) + key { [ U0031, U0021, U00B9, U00A1 ] }; // 1 ! ¹ ¡ + key { [ U0032, U0040, U00B2, U00A4 ] }; // 2 @ ² ¤ + key { [ U0033, U0023, U00B3, U00A3 ] }; // 3 # ³ £ + key { [ U0034, U0024, U00BC, U20AC ] }; // 4 $ ¼ € + key { [ U0035, U0025, U00BD, U00B0 ] }; // 5 % ½ ° + // E row; Numerals row, right side + key { [ U0036, U005E, U00BE, U0302 ] }; // 6 ^ ¾ ̂◌ (combining circumflex accent) + key { [ U0037, U0026, U215B, U2190 ] }; // 7 & ⅛ ← + key { [ U0038, U002A, U215C, U2192 ] }; // 8 * ⅜ → + key { [ U0039, U0028, U215D, U2191 ] }; // 9 ( ⅝ ↑ + key { [ U0030, U0029, U215E, U2193 ] }; // 0 ) ⅞ ↓ + key { [ U005B, U007B, VoidSymbol, VoidSymbol ] }; // [ { + key { [ U005D, U007D, VoidSymbol, VoidSymbol ] }; // ] } + + // D row; Upper row, left side + key { [ U0027, U0022, U0301, U030B ] }; // ' " ́◌ ̋◌ (combining acute accent) (combining double-acute accent) + key { [ U002C, U003C, U0327, U0328 ] }; // , < ̧◌ ̨◌ (combining cedilla) (combining ogonek) + key { [ U002E, U003E, U2026, U2423 ] }; // . > … ␣ + key { [ U0070, U0050, U20B1, VoidSymbol ] }; // p P ₱ + key { [ U0079, U0059, U00A5, VoidSymbol ] }; // y Y ¥ + // D row; Upper row, right side + key { [ U0071, U0051, VoidSymbol, VoidSymbol ] }; // q Q + key { [ U0066, U0046, VoidSymbol, U00AA ] }; // f F ª + key { [ U0067, U0047, VoidSymbol, VoidSymbol ] }; // g G + key { [ U0072, U0052, U00AE, U00B6 ] }; // r R ® ¶ + key { [ U006B, U004B, VoidSymbol, VoidSymbol ] }; // k K + key { [ U002F, U003F, U00F7, U00BF ] }; // / ? ÷ ¿ + key { [ U003D, U002B, U00B1, U2213 ] }; // = + ± ∓ + key { [ U005C, U007C, U0259, U018F ] }; // \ | ə Ə + + // C row; Home row, left side + key { [ U006F, U004F, U00F8, U00D8 ] }; // o O ø Ø + key { [ U0061, U0041, U00E6, U00C6 ] }; // a A æ Æ + key { [ U0065, U0045, U0153, U0152 ] }; // e E œ Œ + key { [ U0069, U0049, U0131, U0130 ] }; // i I ı İ + key { [ U0075, U0055, VoidSymbol, VoidSymbol ] }; // u U + // C row; Home row, right side + key { [ U0064, U0044, VoidSymbol, VoidSymbol ] }; // d D + key { [ U0068, U0048, VoidSymbol, VoidSymbol ] }; // h H + key { [ U0074, U0054, U2122, VoidSymbol ] }; // t T ™ + key { [ U006E, U004E, U00F1, U00D1 ] }; // n N ñ Ñ + key { [ U0073, U0053, U00A7, VoidSymbol ] }; // s S § + key { [ U002D, U005F, U00AC, U0360 ] }; // - _ ¬ ◌͠ + + // B row; Lower row, left side + key { [ VoidSymbol, VoidSymbol, VoidSymbol, U00A6 ] }; // ¦ + key { [ U007A, U005A, U00AB, U00BB ] }; // z Z « » + key { [ U0078, U0058, U00D7, U00B7 ] }; // x X × · + key { [ U0063, U0043, U00A9, U00A2 ] }; // c C © ¢ + key { [ U0076, U0056, U201C, U2018 ] }; // v V “ ‘ + key { [ U006A, U004A, VoidSymbol, VoidSymbol ] }; // j J + // B row; Lower row, right side + key { [ U006C, U004C, VoidSymbol, VoidSymbol ] }; // l L + key { [ U006D, U004D, U00B5, U00BA ] }; // m M µ º + key { [ U0077, U0057, VoidSymbol, VoidSymbol ] }; // w W + key { [ U0062, U0042, U201D, U2019 ] }; // b B ” ’ + key { [ U003B, U003A, VoidSymbol, VoidSymbol ] }; // ; : + + // A row + key { [ U0020, U0020, U0020, U0020 ] }; // (space) (space) (space) (space) + + include "level3(ralt_switch)" +}; + + +// Capewell-Dvorak (Baybayin) version +// +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━┓ +// │ │ │ │ │ │ │ │ │ │ │ │ │ ┃ ⌫ Bak ┃ +// │ │ │ │ │ │ │ │ │ │ │ │ │ ┃ Space ┃ +// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┯━━━━━┩ +// ┃ ┃ │ │ │ │ │ │ │ │ │ │ │ ◌᜔ │ │ +// ┃Tab ↹ ┃ │ ᜵ │ ᜶ │ ᜉ │ ᜌ │ │ │ ᜄ │ ᜍ │ ᜃ │ │ ◌᜔ │ │ +// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┲━━━━┷━━━━━┪ +// ┃ ┃ ᜂ │ │ ᜁ │ ᜁ │ ᜂ │ │ │ │ ᜅ │ │ ┃ Enter ┃ +// ┃Caps ⇬ ┃ ◌ᜓ │ ᜀ │ ◌ᜒ │ ◌ᜒ │ ◌ᜓ │ ᜇ │ ᜑ │ ᜆ │ ᜈ │ ᜐ │ ┃ ⏎ ┃ +// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┻━━━━━━━━━━┫ +// ┃ ┃ │ │ │ │ │ │ │ │ │ │ ┃ ┃ +// ┃Shift ⇧┃ │ │ │ │ │ │ ᜎ │ ᜋ │ ᜏ │ ᜊ │ ┃Shift ⇧ ┃ +// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┷━┳━━━┻━━━┳━━━━━━━┫ +// ┃ ┃Win ┃ ┃ ␣ Space ┃ ┃Win ┃ ┃ ┃ +// ┃Ctrl ┃Super ┃Alt ┃ ␣ Space ┃AltGr ⇮┃Meta ┃Menu ┃Ctrl ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹─────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┻━━━━━━━┛ +// +partial alphanumeric_keys +xkb_symbols "capewell-dvorak-bay" { + + name[Group1]= "Filipino (Capewell-Dvorak, Baybayin)"; + +// ISO grouping: |--------- Group1 ---------| |--------- Group2 ---------| +// Level1 Level2 Level3 Level4 +// Base Shift AltGr AltGr+Shift + + // E row; Numerals row, left side + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + // E row; Numerals row, right side + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + + // D row; QWERTY row, left side + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ U1735, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜵ (comma) + key { [ U1736, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜶ (period) + key { [ U1709, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜉ (Pa) + key { [ U170C, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜌ (Ya) + // D row; QWERTY row, right side + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ U1704, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜄ (Ga) + key { [ U170D, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜍ (Ra) + key { [ U1703, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜃ (Ka) + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ U1714, U1714, VoidSymbol, VoidSymbol ] }; // ◌᜔ (virama) ◌᜔ (virama) + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + + // C row; Home row, left side + key { [ U1713, U1702, VoidSymbol, VoidSymbol ] }; // ◌ᜓ (o/u) ᜂ (O/U) + key { [ U1700, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜀ (A) + key { [ U1712, U1701, VoidSymbol, VoidSymbol ] }; // ◌ᜒ (e/i) ᜁ (E/I) + key { [ U1712, U1701, VoidSymbol, VoidSymbol ] }; // ◌ᜒ (e/i) ᜁ (E/I) + key { [ U1713, U1702, VoidSymbol, VoidSymbol ] }; // ◌ᜓ (o/u) ᜂ (O/U) + // C row; Home row, right side + key { [ U1707, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜇ (Da) + key { [ U1711, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜑ (Ha) + key { [ U1706, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜆ (Ta) + key { [ U1708, U1705, VoidSymbol, VoidSymbol ] }; // ᜈ (Na) ᜅ (Nga) + key { [ U1710, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜐ (Sa) + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + + // B row; Lower row, left side + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + // B row; Lower row, right side + key { [ U170E, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜎ (La) + key { [ U170B, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜋ (Ma) + key { [ U170F, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜏ (Wa) + key { [ U170A, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜊ (Ba) + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + + // A row + key { [ U0020, U0020, U0020, U0020 ] }; // (space) (space) (space) (space) + + include "level3(ralt_switch)" +}; + + +// Capewell-QWERF 2006 (Latin) version +// http://www.michaelcapewell.com/projects/keyboard/index.htm#The_QWERF_Layout +// +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━┓ +// │ ~ ̃◌ │ ! ¡ │ @ ¤ │ # £ │ $ € │ % ° │ ^ ̂◌ │ & → │ * → │ ( ↑ │ ) ↓ │ _ ◌͠ │ + ∓ ┃ ⌫ Bak ┃ +// │ ` ̀◌ │ 1 ¹ │ 2 ² │ 3 ³ │ 4 ¼ │ 5 ½ │ 6 ¾ │ 7 ⅛ │ 8 ⅜ │ 9 ⅝ │ 0 ⅞ │ - ¬ │ = ± ┃ Space ┃ +// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┯━━━━━┩ +// ┃ ┃ Q │ W │ E Œ │ R ¶ │ F ª │ J │ Y │ K │ L │ : │ { │ } │ | Ə │ +// ┃Tab ↹ ┃ q │ w │ e œ │ r ® │ f │ j │ y ¥ │ k │ l │ ; │ [ │ ] │ \ ə │ +// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┲━━━━┷━━━━━┪ +// ┃ ┃ A Æ │ S │ D │ T │ G │ H │ U │ I İ │ O Ø │ P │ " ̋◌ ┃ Enter ┃ +// ┃Caps ⇬ ┃ a æ │ s § │ d │ t ™ │ g │ h │ u │ i ı │ o ø │ p ₱ │ ' ́◌ ┃ ⏎ ┃ +// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┻━━━━━━━━━━┫ +// ┃ ┃ ¦ │ Z » │ X · │ C ¢ │ V ‘ │ B ’ │ N Ñ │ M º │ < ̨◌ │ > ␣ │ ? ¿ ┃ ┃ +// ┃Shift ⇧┃ │ z « │ x × │ c © │ v “ │ b ” │ n ñ │ m µ │ , ̧◌ │ . … │ / ÷ ┃Shift ⇧ ┃ +// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┷━┳━━━┻━━━┳━━━━━━━┫ +// ┃ ┃Win ┃ ┃ ␣ Space Space ␣ ┃ ┃Win ┃ ┃ ┃ +// ┃Ctrl ┃Super ┃Alt ┃ ␣ Space Space ␣ ┃AltGr ⇮┃Meta ┃Menu ┃Ctrl ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹─────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┻━━━━━━━┛ +// +partial alphanumeric_keys +xkb_symbols "capewell-qwerf2k6" { + + name[Group1]= "Filipino (Capewell-QWERF 2006, Latin)"; + +// ISO grouping: |--------- Group1 ---------| |--------- Group2 ---------| +// Level1 Level2 Level3 Level4 +// Base Shift AltGr AltGr+Shift + + // E row; Numerals row, left side + key { [ U0060, U007E, U0300, U0303 ] }; // ` ~ ̀◌ ̃◌ (combining grave accent) (combining tilde) + key { [ U0031, U0021, U00B9, U00A1 ] }; // 1 ! ¹ ¡ + key { [ U0032, U0040, U00B2, U00A4 ] }; // 2 @ ² ¤ + key { [ U0033, U0023, U00B3, U00A3 ] }; // 3 # ³ £ + key { [ U0034, U0024, U00BC, U20AC ] }; // 4 $ ¼ € + key { [ U0035, U0025, U00BD, U00B0 ] }; // 5 % ½ ° + // E row; Numerals row, right side + key { [ U0036, U005E, U00BE, U0302 ] }; // 6 ^ ¾ ̂◌ (combining circumflex accent) + key { [ U0037, U0026, U215B, U2190 ] }; // 7 & ⅛ ← + key { [ U0038, U002A, U215C, U2192 ] }; // 8 * ⅜ → + key { [ U0039, U0028, U215D, U2191 ] }; // 9 ( ⅝ ↑ + key { [ U0030, U0029, U215E, U2193 ] }; // 0 ) ⅞ ↓ + key { [ U002D, U005F, U00AC, U0360 ] }; // - _ ¬ ◌͠ + key { [ U003D, U002B, U00B1, U2213 ] }; // = + ± ∓ + + // D row; Upper row, left side + key { [ U0071, U0051, VoidSymbol, VoidSymbol ] }; // q Q + key { [ U0077, U0057, VoidSymbol, VoidSymbol ] }; // w W + key { [ U0065, U0045, U0153, U0152 ] }; // e E œ Œ + key { [ U0072, U0052, U00AE, U00B6 ] }; // r R ® ¶ + key { [ U0066, U0046, VoidSymbol, U00AA ] }; // f F ª + // D row; Upper row, right side + key { [ U006A, U004A, VoidSymbol, VoidSymbol ] }; // j J + key { [ U0079, U0059, U00A5, VoidSymbol ] }; // y Y ¥ + key { [ U006B, U004B, VoidSymbol, VoidSymbol ] }; // k K + key { [ U006C, U004C, VoidSymbol, VoidSymbol ] }; // l L + key { [ U003B, U003A, VoidSymbol, VoidSymbol ] }; // ; : + key { [ U005B, U007B, VoidSymbol, VoidSymbol ] }; // [ { + key { [ U005D, U007D, VoidSymbol, VoidSymbol ] }; // ] } + key { [ U005C, U007C, U0259, U018F ] }; // \ | ə Ə + + // C row; Home row, left side + key { [ U0061, U0041, U00E6, U00C6 ] }; // a A æ Æ + key { [ U0073, U0053, U00A7, VoidSymbol ] }; // s S § + key { [ U0064, U0044, VoidSymbol, VoidSymbol ] }; // d D + key { [ U0074, U0054, U2122, VoidSymbol ] }; // t T ™ + key { [ U0067, U0047, VoidSymbol, VoidSymbol ] }; // g G + // C row; Home row, right side + key { [ U0068, U0048, VoidSymbol, VoidSymbol ] }; // h H + key { [ U0075, U0055, VoidSymbol, VoidSymbol ] }; // u U + key { [ U0069, U0049, U0131, U0130 ] }; // i I ı İ + key { [ U006F, U004F, U00F8, U00D8 ] }; // o O ø Ø + key { [ U0070, U0050, U20B1, VoidSymbol ] }; // p P ₱ + key { [ U0027, U0022, U0301, U030B ] }; // ' " ́◌ ̋◌ (combining acute accent) (combining double-acute accent) + + // B row; Lower row, left side + key { [ VoidSymbol, VoidSymbol, VoidSymbol, U00A6 ] }; // ¦ + key { [ U007A, U005A, U00AB, U00BB ] }; // z Z « » + key { [ U0078, U0058, U00D7, U00B7 ] }; // x X × · + key { [ U0063, U0043, U00A9, U00A2 ] }; // c C © ¢ + key { [ U0076, U0056, U201C, U2018 ] }; // v V “ ‘ + key { [ U0062, U0042, U201D, U2019 ] }; // b B ” ’ + // B row; Lower row, right side + key { [ U006E, U004E, U00F1, U00D1 ] }; // n N ñ Ñ + key { [ U006D, U004D, U00B5, U00BA ] }; // m M µ º + key { [ U002C, U003C, U0327, U0328 ] }; // , < ̧◌ ̨◌ (combining cedilla) (combining ogonek) + key { [ U002E, U003E, U2026, U2423 ] }; // . > … ␣ + key { [ U002F, U003F, U00F7, U00BF ] }; // / ? ÷ ¿ + + // A row + key { [ U0020, U0020, U0020, U0020 ] }; // (space) (space) (space) (space) + + include "level3(ralt_switch)" +}; + + +// Capewell-QWERF 2006 (Baybayin) version +// +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━┓ +// │ │ │ │ │ │ │ │ │ │ │ │ │ ◌᜔ ┃ ⌫ Bak ┃ +// │ │ │ │ │ │ │ │ │ │ │ │ │ ◌᜔ ┃ Space ┃ +// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┯━━━━━┩ +// ┃ ┃ │ │ ᜁ │ │ │ │ │ │ │ │ │ │ │ +// ┃Tab ↹ ┃ │ ᜏ │ ◌ᜒ │ ᜍ │ │ │ ᜌ │ ᜃ │ ᜎ │ │ │ │ │ +// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┲━━━━┷━━━━━┪ +// ┃ ┃ │ │ │ │ │ │ ᜂ │ ᜁ │ ᜂ │ │ ┃ Enter ┃ +// ┃Caps ⇬ ┃ ᜀ │ ᜐ │ ᜇ │ ᜆ │ ᜄ │ ᜑ │ ◌ᜓ │ ◌ᜒ │ ◌ᜓ │ ᜉ │ ┃ ⏎ ┃ +// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┻━━━━━━━━━━┫ +// ┃ ┃ │ │ │ │ │ │ ᜅ │ │ │ │ ┃ ┃ +// ┃Shift ⇧┃ │ │ │ │ │ ᜊ │ ᜈ │ ᜋ │ ᜵ │ ᜶ │ ┃Shift ⇧ ┃ +// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┷━┳━━━┻━━━┳━━━━━━━┫ +// ┃ ┃Win ┃ ┃ ␣ Space ┃ ┃Win ┃ ┃ ┃ +// ┃Ctrl ┃Super ┃Alt ┃ ␣ Space ┃AltGr ⇮┃Meta ┃Menu ┃Ctrl ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹─────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┻━━━━━━━┛ +// +partial alphanumeric_keys +xkb_symbols "capewell-qwerf2k6-bay" { + + name[Group1]= "Filipino (Capewell-QWERF 2006, Baybayin)"; + +// ISO grouping: |--------- Group1 ---------| |--------- Group2 ---------| +// Level1 Level2 Level3 Level4 +// Base Shift AltGr AltGr+Shift + + // E row; Numerals row, left side + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + // E row; Numerals row, right side + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ U1714, U1714, VoidSymbol, VoidSymbol ] }; // ◌᜔ (virama) ◌᜔ (virama) + + // D row; QWERTY row, left side + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ U170F, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜏ (Wa) + key { [ U1712, U1701, VoidSymbol, VoidSymbol ] }; // ◌ᜒ (e/i) ᜁ (E/I) + key { [ U170D, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜍ (Ra) + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + // D row; QWERTY row, right side + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ U170C, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜌ (Ya) + key { [ U1703, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜃ (Ka) + key { [ U170E, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜎ (La) + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + + // C row; Home row, left side + key { [ U1700, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜀ (A) + key { [ U1710, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜐ (Sa) + key { [ U1707, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜇ (Da) + key { [ U1706, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜆ (Ta) + key { [ U1704, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜄ (Ga) + // C row; Home row, right side + key { [ U1711, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜑ (Ha) + key { [ U1713, U1702, VoidSymbol, VoidSymbol ] }; // ◌ᜓ (o/u) ᜂ (O/U) + key { [ U1712, U1701, VoidSymbol, VoidSymbol ] }; // ◌ᜒ (e/i) ᜁ (E/I) + key { [ U1713, U1702, VoidSymbol, VoidSymbol ] }; // ◌ᜓ (o/u) ᜂ (O/U) + key { [ U1709, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜉ (Pa) + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + + // B row; Lower row, left side + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ U170A, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜊ (Ba) + // B row; Lower row, right side + key { [ U1708, U1705, VoidSymbol, VoidSymbol ] }; // ᜈ (Na) ᜅ (Nga) + key { [ U170B, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜋ (Ma) + key { [ U1735, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜵ (comma) + key { [ U1736, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜶ (period) + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + + // A row + key { [ U0020, U0020, U0020, U0020 ] }; // (space) (space) (space) (space) + + include "level3(ralt_switch)" +}; + + +// Colemak (Latin) version +// http://colemak.com +// +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━┓ +// │ ~ ̃◌ │ ! ¡ │ @ ¤ │ # £ │ $ € │ % ° │ ^ ̂◌ │ & → │ * → │ ( ↑ │ ) ↓ │ _ ◌͠ │ + ∓ ┃ ⌫ Bak ┃ +// │ ` ̀◌ │ 1 ¹ │ 2 ² │ 3 ³ │ 4 ¼ │ 5 ½ │ 6 ¾ │ 7 ⅛ │ 8 ⅜ │ 9 ⅝ │ 0 ⅞ │ - ¬ │ = ± ┃ Space ┃ +// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┯━━━━━┩ +// ┃ ┃ Q │ W │ F ª │ P │ G │ J │ L │ U │ Y │ : │ { │ } │ | Ə │ +// ┃Tab ↹ ┃ q │ w │ f │ p ₱ │ g │ j │ l │ u │ y ¥ │ ; │ [ │ ] │ \ ə │ +// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┲━━━━┷━━━━━┪ +// ┃ ┃ A Æ │ R ¶ │ S │ T │ D │ H │ N Ñ │ E Œ │ I İ │ O Ø │ " ̋◌ ┃ Enter ┃ +// ┃Caps ⇬ ┃ a æ │ r ® │ s § │ t ™ │ d │ h │ n ñ │ e œ │ i ı │ o ø │ ' ́◌ ┃ ⏎ ┃ +// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┻━━━━━━━━━━┫ +// ┃ ┃ ¦ │ Z » │ X · │ C ¢ │ V ‘ │ B ’ │ K │ M º │ < ̨◌ │ > ␣ │ ? ¿ ┃ ┃ +// ┃Shift ⇧┃ │ z « │ x × │ c © │ v “ │ b ” │ k │ m µ │ , ̧◌ │ . … │ / ÷ ┃Shift ⇧ ┃ +// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┷━┳━━━┻━━━┳━━━━━━━┫ +// ┃ ┃Win ┃ ┃ ␣ Space Space ␣ ┃ ┃Win ┃ ┃ ┃ +// ┃Ctrl ┃Super ┃Alt ┃ ␣ Space Space ␣ ┃AltGr ⇮┃Meta ┃Menu ┃Ctrl ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹─────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┻━━━━━━━┛ +// +partial alphanumeric_keys +xkb_symbols "colemak" { + + name[Group1]= "Filipino (Colemak, Latin)"; + +// ISO grouping: |--------- Group1 ---------| |--------- Group2 ---------| +// Level1 Level2 Level3 Level4 +// Base Shift AltGr AltGr+Shift + + // E row; Numerals row, left side + key { [ U0060, U007E, U0300, U0303 ] }; // ` ~ ̀◌ ̃◌ (combining grave accent) (combining tilde) + key { [ U0031, U0021, U00B9, U00A1 ] }; // 1 ! ¹ ¡ + key { [ U0032, U0040, U00B2, U00A4 ] }; // 2 @ ² ¤ + key { [ U0033, U0023, U00B3, U00A3 ] }; // 3 # ³ £ + key { [ U0034, U0024, U00BC, U20AC ] }; // 4 $ ¼ € + key { [ U0035, U0025, U00BD, U00B0 ] }; // 5 % ½ ° + // E row; Numerals row, right side + key { [ U0036, U005E, U00BE, U0302 ] }; // 6 ^ ¾ ̂◌ (combining circumflex accent) + key { [ U0037, U0026, U215B, U2190 ] }; // 7 & ⅛ ← + key { [ U0038, U002A, U215C, U2192 ] }; // 8 * ⅜ → + key { [ U0039, U0028, U215D, U2191 ] }; // 9 ( ⅝ ↑ + key { [ U0030, U0029, U215E, U2193 ] }; // 0 ) ⅞ ↓ + key { [ U002D, U005F, U00AC, U0360 ] }; // - _ ¬ ◌͠ + key { [ U003D, U002B, U00B1, U2213 ] }; // = + ± ∓ + + // D row; Upper row, left side + key { [ U0071, U0051, VoidSymbol, VoidSymbol ] }; // q Q + key { [ U0077, U0057, VoidSymbol, VoidSymbol ] }; // w W + key { [ U0066, U0046, VoidSymbol, U00AA ] }; // f F ª + key { [ U0070, U0050, U20B1, VoidSymbol ] }; // p P ₱ + key { [ U0067, U0047, VoidSymbol, VoidSymbol ] }; // g G + // D row; Upper row, right side + key { [ U006A, U004A, VoidSymbol, VoidSymbol ] }; // j J + key { [ U006C, U004C, VoidSymbol, VoidSymbol ] }; // l L + key { [ U0075, U0055, VoidSymbol, VoidSymbol ] }; // u U + key { [ U0079, U0059, U00A5, VoidSymbol ] }; // y Y ¥ + key { [ U003B, U003A, VoidSymbol, VoidSymbol ] }; // ; : + key { [ U005B, U007B, VoidSymbol, VoidSymbol ] }; // [ { + key { [ U005D, U007D, VoidSymbol, VoidSymbol ] }; // ] } + key { [ U005C, U007C, U0259, U018F ] }; // \ | ə Ə + + // C row; Home row, left side + key { [ U0061, U0041, U00E6, U00C6 ] }; // a A æ Æ + key { [ U0072, U0052, U00AE, U00B6 ] }; // r R ® ¶ + key { [ U0073, U0053, U00A7, VoidSymbol ] }; // s S § + key { [ U0074, U0054, U2122, VoidSymbol ] }; // t T ™ + key { [ U0064, U0044, VoidSymbol, VoidSymbol ] }; // d D + // C row; Home row, right side + key { [ U0068, U0048, VoidSymbol, VoidSymbol ] }; // h H + key { [ U006E, U004E, U00F1, U00D1 ] }; // n N ñ Ñ + key { [ U0065, U0045, U0153, U0152 ] }; // e E œ Œ + key { [ U0069, U0049, U0131, U0130 ] }; // i I ı İ + key { [ U006F, U004F, U00F8, U00D8 ] }; // o O ø Ø + key { [ U0027, U0022, U0301, U030B ] }; // ' " ́◌ ̋◌ (combining acute accent) (combining double-acute accent) + + // B row; Lower row, left side + key { [ VoidSymbol, VoidSymbol, VoidSymbol, U00A6 ] }; // ¦ + key { [ U007A, U005A, U00AB, U00BB ] }; // z Z « » + key { [ U0078, U0058, U00D7, U00B7 ] }; // x X × · + key { [ U0063, U0043, U00A9, U00A2 ] }; // c C © ¢ + key { [ U0076, U0056, U201C, U2018 ] }; // v V “ ‘ + key { [ U0062, U0042, U201D, U2019 ] }; // b B ” ’ + // B row; Lower row, right side + key { [ U006B, U004B, VoidSymbol, VoidSymbol ] }; // k K + key { [ U006D, U004D, U00B5, U00BA ] }; // m M µ º + key { [ U002C, U003C, U0327, U0328 ] }; // , < ̧◌ ̨◌ (combining cedilla) (combining ogonek) + key { [ U002E, U003E, U2026, U2423 ] }; // . > … ␣ + key { [ U002F, U003F, U00F7, U00BF ] }; // / ? ÷ ¿ + + // A row + key { [ U0020, U0020, U0020, U0020 ] }; // (space) (space) (space) (space) + + include "level3(ralt_switch)" +}; + + +// Colemak (Baybayin) version +// +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━┓ +// │ │ │ │ │ │ │ │ │ │ │ │ │ ◌᜔ ┃ ⌫ Bak ┃ +// │ │ │ │ │ │ │ │ │ │ │ │ │ ◌᜔ ┃ Space ┃ +// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┯━━━━━┩ +// ┃ ┃ │ │ │ │ │ │ │ ᜂ │ │ │ │ │ │ +// ┃Tab ↹ ┃ │ ᜏ │ │ ᜉ │ ᜄ │ │ ᜎ │ ◌ᜓ │ ᜌ │ │ │ │ │ +// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┲━━━━┷━━━━━┪ +// ┃ ┃ │ │ │ │ │ │ ᜅ │ ᜁ │ ᜁ │ ᜂ │ ┃ Enter ┃ +// ┃Caps ⇬ ┃ ᜀ │ ᜍ │ ᜐ │ ᜆ │ ᜇ │ ᜑ │ ᜈ │ ◌ᜒ │ ◌ᜒ │ ◌ᜓ │ ┃ ⏎ ┃ +// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┻━━━━━━━━━━┫ +// ┃ ┃ │ │ │ │ │ │ │ │ │ │ ┃ ┃ +// ┃Shift ⇧┃ │ │ │ │ │ ᜊ │ ᜃ │ ᜋ │ ᜵ │ ᜶ │ ┃Shift ⇧ ┃ +// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┷━┳━━━┻━━━┳━━━━━━━┫ +// ┃ ┃Win ┃ ┃ ␣ Space ┃ ┃Win ┃ ┃ ┃ +// ┃Ctrl ┃Super ┃Alt ┃ ␣ Space ┃AltGr ⇮┃Meta ┃Menu ┃Ctrl ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹─────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┻━━━━━━━┛ +// +partial alphanumeric_keys +xkb_symbols "colemak-bay" { + + name[Group1]= "Filipino (Colemak, Baybayin)"; + +// ISO grouping: |--------- Group1 ---------| |--------- Group2 ---------| +// Level1 Level2 Level3 Level4 +// Base Shift AltGr AltGr+Shift + + // E row; Numerals row, left side + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + // E row; Numerals row, right side + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ U1714, U1714, VoidSymbol, VoidSymbol ] }; // ◌᜔ (virama) ◌᜔ (virama) + + // D row; QWERTY row, left side + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ U170F, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜏ (Wa) + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ U1709, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜉ (Pa) + key { [ U1704, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜄ (Ga) + // D row; QWERTY row, right side + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ U170E, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜎ (La) + key { [ U1713, U1702, VoidSymbol, VoidSymbol ] }; // ◌ᜓ (o/u) ᜂ (O/U) + key { [ U170C, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜌ (Ya) + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + + // C row; Home row, left side + key { [ U1700, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜀ (A) + key { [ U170D, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜍ (Ra) + key { [ U1710, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜐ (Sa) + key { [ U1706, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜆ (Ta) + key { [ U1707, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜇ (Da) + // C row; Home row, right side + key { [ U1711, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜑ (Ha) + key { [ U1708, U1705, VoidSymbol, VoidSymbol ] }; // ᜈ (Na) ᜅ (Nga) + key { [ U1712, U1701, VoidSymbol, VoidSymbol ] }; // ◌ᜒ (e/i) ᜁ (E/I) + key { [ U1712, U1701, VoidSymbol, VoidSymbol ] }; // ◌ᜒ (e/i) ᜁ (E/I) + key { [ U1713, U1702, VoidSymbol, VoidSymbol ] }; // ◌ᜓ (o/u) ᜂ (O/U) + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + + // B row; Lower row, left side + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ U170A, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜊ (Ba) + // B row; Lower row, right side + key { [ U1703, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜃ (Ka) + key { [ U170B, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜋ (Ma) + key { [ U1735, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜵ (comma) + key { [ U1736, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜶ (period) + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + + // A row + key { [ U0020, U0020, U0020, U0020 ] }; // (space) (space) (space) (space) + + include "level3(ralt_switch)" +}; + + +// Dvorak Simplified (Latin) version +// http://en.wikipedia.org/wiki/Dvorak_Simplified_Keyboard +// +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━┓ +// │ ~ ̃◌ │ ! ¡ │ @ ¤ │ # £ │ $ € │ % ° │ ^ ̂◌ │ & → │ * → │ ( ↑ │ ) ↓ │ { │ } ┃ ⌫ Bak ┃ +// │ ` ̀◌ │ 1 ¹ │ 2 ² │ 3 ³ │ 4 ¼ │ 5 ½ │ 6 ¾ │ 7 ⅛ │ 8 ⅜ │ 9 ⅝ │ 0 ⅞ │ [ │ ] ┃ Space ┃ +// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┯━━━━━┩ +// ┃ ┃ " ̋◌ │ < ̨◌ │ > ␣ │ P │ Y │ F ª │ G │ C ¢ │ R ¶ │ L │ ? ¿ │ + ∓ │ | Ə │ +// ┃Tab ↹ ┃ ' ́◌ │ , ̧◌ │ . … │ p ₱ │ y ¥ │ f │ g │ c © │ r ® │ l │ / ÷ │ = ± │ \ ə │ +// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┲━━━━┷━━━━━┪ +// ┃ ┃ A Æ │ O Ø │ E Œ │ U │ I İ │ D │ H │ T │ N Ñ │ S │ _ ◌͠ ┃ Enter ┃ +// ┃Caps ⇬ ┃ a æ │ o ø │ e œ │ u │ i ı │ d │ h │ t ™ │ n ñ │ s § │ - ¬ ┃ ⏎ ┃ +// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┻━━━━━━━━━━┫ +// ┃ ┃ ¦ │ : │ Q │ J │ K │ X · │ B ’ │ M º │ W │ V ‘ │ Z » ┃ ┃ +// ┃Shift ⇧┃ │ ; │ q │ j │ k │ x × │ b ” │ m µ │ w │ v “ │ z « ┃Shift ⇧ ┃ +// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┷━┳━━━┻━━━┳━━━━━━━┫ +// ┃ ┃Win ┃ ┃ ␣ Space Space ␣ ┃ ┃Win ┃ ┃ ┃ +// ┃Ctrl ┃Super ┃Alt ┃ ␣ Space Space ␣ ┃AltGr ⇮┃Meta ┃Menu ┃Ctrl ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹─────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┻━━━━━━━┛ +// +partial alphanumeric_keys +xkb_symbols "dvorak" { + + name[Group1]= "Filipino (Dvorak, Latin)"; + +// ISO grouping: |--------- Group1 ---------| |--------- Group2 ---------| +// Level1 Level2 Level3 Level4 +// Base Shift AltGr AltGr+Shift + + // E row; Numerals row, left side + key { [ U0060, U007E, U0300, U0303 ] }; // ` ~ ̀◌ ̃◌ (combining grave accent) (combining tilde) + key { [ U0031, U0021, U00B9, U00A1 ] }; // 1 ! ¹ ¡ + key { [ U0032, U0040, U00B2, U00A4 ] }; // 2 @ ² ¤ + key { [ U0033, U0023, U00B3, U00A3 ] }; // 3 # ³ £ + key { [ U0034, U0024, U00BC, U20AC ] }; // 4 $ ¼ € + key { [ U0035, U0025, U00BD, U00B0 ] }; // 5 % ½ ° + // E row; Numerals row, right side + key { [ U0036, U005E, U00BE, U0302 ] }; // 6 ^ ¾ ̂◌ (combining circumflex accent) + key { [ U0037, U0026, U215B, U2190 ] }; // 7 & ⅛ ← + key { [ U0038, U002A, U215C, U2192 ] }; // 8 * ⅜ → + key { [ U0039, U0028, U215D, U2191 ] }; // 9 ( ⅝ ↑ + key { [ U0030, U0029, U215E, U2193 ] }; // 0 ) ⅞ ↓ + key { [ U005B, U007B, VoidSymbol, VoidSymbol ] }; // [ { + key { [ U005D, U007D, VoidSymbol, VoidSymbol ] }; // ] } + + // D row; Upper row, left side + key { [ U0027, U0022, U0301, U030B ] }; // ' " ́◌ ̋◌ (combining acute accent) (combining double-acute accent) + key { [ U002C, U003C, U0327, U0328 ] }; // , < ̧◌ ̨◌ (combining cedilla) (combining ogonek) + key { [ U002E, U003E, U2026, U2423 ] }; // . > … ␣ + key { [ U0070, U0050, U20B1, VoidSymbol ] }; // p P ₱ + key { [ U0079, U0059, U00A5, VoidSymbol ] }; // y Y ¥ + // D row; Upper row, right side + key { [ U0066, U0046, VoidSymbol, U00AA ] }; // f F ª + key { [ U0067, U0047, VoidSymbol, VoidSymbol ] }; // g G + key { [ U0063, U0043, U00A9, U00A2 ] }; // c C © ¢ + key { [ U0072, U0052, U00AE, U00B6 ] }; // r R ® ¶ + key { [ U006C, U004C, VoidSymbol, VoidSymbol ] }; // l L + key { [ U002F, U003F, U00F7, U00BF ] }; // / ? ÷ ¿ + key { [ U003D, U002B, U00B1, U2213 ] }; // = + ± ∓ + key { [ U005C, U007C, U0259, U018F ] }; // \ | ə Ə + + // C row; Home row, left side + key { [ U0061, U0041, U00E6, U00C6 ] }; // a A æ Æ + key { [ U006F, U004F, U00F8, U00D8 ] }; // o O ø Ø + key { [ U0065, U0045, U0153, U0152 ] }; // e E œ Œ + key { [ U0075, U0055, VoidSymbol, VoidSymbol ] }; // u U + key { [ U0069, U0049, U0131, U0130 ] }; // i I ı İ + // C row; Home row, right side + key { [ U0064, U0044, VoidSymbol, VoidSymbol ] }; // d D + key { [ U0068, U0048, VoidSymbol, VoidSymbol ] }; // h H + key { [ U0074, U0054, U2122, VoidSymbol ] }; // t T ™ + key { [ U006E, U004E, U00F1, U00D1 ] }; // n N ñ Ñ + key { [ U0073, U0053, U00A7, VoidSymbol ] }; // s S § + key { [ U002D, U005F, U00AC, U0360 ] }; // - _ ¬ ◌͠ + + // B row; Lower row, left side + key { [ VoidSymbol, VoidSymbol, VoidSymbol, U00A6 ] }; // ¦ + key { [ U003B, U003A, VoidSymbol, VoidSymbol ] }; // ; : + key { [ U0071, U0051, VoidSymbol, VoidSymbol ] }; // q Q + key { [ U006A, U004A, VoidSymbol, VoidSymbol ] }; // j J + key { [ U006B, U004B, VoidSymbol, VoidSymbol ] }; // k K + key { [ U0078, U0058, U00D7, U00B7 ] }; // x X × · + // B row; Lower row, right side + key { [ U0062, U0042, U201D, U2019 ] }; // b B ” ’ + key { [ U006D, U004D, U00B5, U00BA ] }; // m M µ º + key { [ U0077, U0057, VoidSymbol, VoidSymbol ] }; // w W + key { [ U0076, U0056, U201C, U2018 ] }; // v V “ ‘ + key { [ U007A, U005A, U00AB, U00BB ] }; // z Z « » + + // A row + key { [ U0020, U0020, U0020, U0020 ] }; // (space) (space) (space) (space) + + include "level3(ralt_switch)" +}; + + +// Dvorak Simplified (Baybayin) version +// +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━┓ +// │ │ │ │ │ │ │ │ │ │ │ │ │ ┃ ⌫ Bak ┃ +// │ │ │ │ │ │ │ │ │ │ │ │ │ ┃ Space ┃ +// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┯━━━━━┩ +// ┃ ┃ │ │ │ │ │ │ │ │ │ │ │ ◌᜔ │ │ +// ┃Tab ↹ ┃ │ ᜵ │ ᜶ │ ᜉ │ ᜌ │ │ ᜄ │ │ ᜍ │ ᜎ │ │ ◌᜔ │ │ +// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┲━━━━┷━━━━━┪ +// ┃ ┃ │ ᜂ │ ᜁ │ ᜂ │ ᜁ │ │ │ │ ᜅ │ │ ┃ Enter ┃ +// ┃Caps ⇬ ┃ ᜀ │ ◌ᜓ │ ◌ᜒ │ ◌ᜓ │ ◌ᜒ │ ᜇ │ ᜑ │ ᜆ │ ᜈ │ ᜐ │ ┃ ⏎ ┃ +// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┻━━━━━━━━━━┫ +// ┃ ┃ │ │ │ │ │ │ │ │ │ │ ┃ ┃ +// ┃Shift ⇧┃ │ │ │ │ ᜃ │ │ ᜊ │ ᜋ │ ᜏ │ │ ┃Shift ⇧ ┃ +// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┷━┳━━━┻━━━┳━━━━━━━┫ +// ┃ ┃Win ┃ ┃ ␣ Space ┃ ┃Win ┃ ┃ ┃ +// ┃Ctrl ┃Super ┃Alt ┃ ␣ Space ┃AltGr ⇮┃Meta ┃Menu ┃Ctrl ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹─────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┻━━━━━━━┛ +// +partial alphanumeric_keys +xkb_symbols "dvorak-bay" { + + name[Group1]= "Filipino (Dvorak, Baybayin)"; + +// ISO grouping: |--------- Group1 ---------| |--------- Group2 ---------| +// Level1 Level2 Level3 Level4 +// Base Shift AltGr AltGr+Shift + + // E row; Numerals row, left side + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + // E row; Numerals row, right side + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + + // D row; QWERTY row, left side + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ U1735, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜵ (comma) + key { [ U1736, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜶ (period) + key { [ U1709, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜉ (Pa) + key { [ U170C, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜌ (Ya) + // D row; QWERTY row, right side + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ U1704, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜄ (Ga) + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ U170D, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜍ (Ra) + key { [ U170E, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜎ (La) + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ U1714, U1714, VoidSymbol, VoidSymbol ] }; // ◌᜔ (virama) ◌᜔ (virama) + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + + // C row; Home row, left side + key { [ U1700, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜀ (A) + key { [ U1713, U1702, VoidSymbol, VoidSymbol ] }; // ◌ᜓ (o/u) ᜂ (O/U) + key { [ U1712, U1701, VoidSymbol, VoidSymbol ] }; // ◌ᜒ (e/i) ᜁ (E/I) + key { [ U1713, U1702, VoidSymbol, VoidSymbol ] }; // ◌ᜓ (o/u) ᜂ (O/U) + key { [ U1712, U1701, VoidSymbol, VoidSymbol ] }; // ◌ᜒ (e/i) ᜁ (E/I) + // C row; Home row, right side + key { [ U1707, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜇ (Da) + key { [ U1711, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜑ (Ha) + key { [ U1706, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜆ (Ta) + key { [ U1708, U1705, VoidSymbol, VoidSymbol ] }; // ᜈ (Na) ᜅ (Nga) + key { [ U1710, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜐ (Sa) + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + + // B row; Lower row, left side + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ U1703, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜃ (Ka) + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + // B row; Lower row, right side + key { [ U170A, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜊ (Ba) + key { [ U170B, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜋ (Ma) + key { [ U170F, VoidSymbol, VoidSymbol, VoidSymbol ] }; // ᜏ (Wa) + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + key { [ VoidSymbol, VoidSymbol, VoidSymbol, VoidSymbol ] }; // + + // A row + key { [ U0020, U0020, U0020, U0020 ] }; // (space) (space) (space) (space) + + include "level3(ralt_switch)" +}; + + +// +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━┓ +// │ │ │ │ │ │ │ │ │ │ │ │ │ ┃ ⌫ Bak ┃ +// │ │ │ │ │ │ │ │ │ │ │ │ │ ┃ Space ┃ +// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┯━━━━━┩ +// ┃ ┃ │ │ │ │ │ │ │ │ │ │ │ │ │ +// ┃Tab ↹ ┃ │ │ │ │ │ │ │ │ │ │ │ │ │ +// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┲━━━━┷━━━━━┪ +// ┃ ┃ │ │ │ │ │ │ │ │ │ │ ┃ Enter ┃ +// ┃Caps ⇬ ┃ │ │ │ │ │ │ │ │ │ │ ┃ ⏎ ┃ +// ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┻━━━━━━━━━━┫ +// ┃ ┃ │ │ │ │ │ │ │ │ │ │ ┃ ┃ +// ┃Shift ⇧┃ │ │ │ │ │ │ │ │ │ │ ┃Shift ⇧ ┃ +// ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┷━┳━━━┻━━━┳━━━━━━━┫ +// ┃ ┃Win ┃ ┃ ␣ Space Space ␣ ┃ ┃Win ┃ ┃ ┃ +// ┃Ctrl ┃Super ┃Alt ┃ ␣ Space Space ␣ ┃AltGr ⇮┃Meta ┃Menu ┃Ctrl ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹─────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┻━━━━━━━┛ +// diff --git a/xkbdata/symbols/pk b/xkbdata/symbols/pk new file mode 100644 index 0000000..aae14ac --- /dev/null +++ b/xkbdata/symbols/pk @@ -0,0 +1,449 @@ +// Urdu keymap +// Developed by: +// Zaeem Arshad +// Last update: 2004-03-12 +// Notice: +// Alt-key combinations are yet to be put in. The unavailable keys are +// those which do not have a corresponding glyph in Unicode. + +default partial alphanumeric_keys +xkb_symbols "urd-phonetic" { + + name[Group1]= "Urdu (Pakistan)"; + + key { [ 0x100064b , 0x100007E, 0x100200C ] }; + key { [ 0x1000031 , 0x1000021 ] }; + key { [ 0x1000032 , 0x1000040 ] }; + key { [ 0x1000033 , 0x1000023 ] }; + key { [ 0x1000034 , 0x1000024 ] }; + key { [ 0x1000035 , 0x1000025 ] }; + key { [ 0x1000036 , 0x100005E ] }; + key { [ 0x1000037 , 0x1000026 ] }; + key { [ 0x1000038 , 0x100002A ] }; + key { [ 0x1000039 , 0x1000029 ] }; + key { [ 0x1000030 , 0x1000028 ] }; + key { [ 0x100002D , 0x100005F ] }; + key { [ 0x100003D , 0x100002B ] }; + key { [ 0x1000642 , 0x1000652, 0x100200D ] }; + key { [ 0x1000648 , 0x1000624, 0x100200C ] }; + key { [ 0x1000639 , 0x1000670 ] }; + key { [ 0x1000631 , 0x1000691 ] }; + key { [ 0x100062a , 0x1000679 ] }; + key { [ 0x10006d2 , 0x100064E ] }; + key { [ 0x1000621 , 0x1000626 ] }; + key { [ 0x10006cc , 0x1000650 ] }; + key { [ 0x10006c1 , 0x10006c3 ] }; + key { [ 0x100067e , 0x100064f ] }; + key { [ 0x100005d , 0x100007D ] }; + key { [ 0x100005b , 0x100007B ] }; + + key { [ 0x1000627 , 0x1000622 ] }; + key { [ 0x1000633 , 0x1000635 ] }; + key { [ 0x100062f , 0x1000688 ] }; + key { [ 0x1000641 , 0x1000651 ] }; + key { [ 0x10006af , 0x100063a ] }; + key { [ 0x100062D , 0x10006BE ] }; + key { [ 0x100062c , 0x1000636 ] }; + key { [ 0x10006a9 , 0x100062e ] }; + key { [ 0x1000644 , 0x1000654 ] }; + key { [ 0x100061b , 0x100003a ] }; + key { [ 0x1000027 , 0x1000022 ] }; + key { [ 0x100005C , 0x100007C ] }; + + key { [ bar , brokenbar ] }; + key { [ 0x1000632 , 0x1000630, 0x100200E ] }; + key { [ 0x1000634 , 0x1000698, 0x100202A ] }; + key { [ 0x1000686 , 0x100062b, 0x100202D ] }; + key { [ 0x1000637 , 0x1000638, 0x100202C ] }; + key { [ 0x1000628 , 0x100002e, 0x100202E ] }; + key { [ 0x1000646 , 0x10006ba, 0x100202B ] }; + key { [ 0x1000645 , 0x1000658, 0x100200F ] }; + key { [ 0x100060c , 0x100003c ] }; + key { [ 0x10006d4 , 0x100003E ] }; + key { [ 0x100002f , 0x100061f ] }; + +// key { [ Mode_switch, Multi_key ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "urd-crulp" { + + name[Group1]= "Urdu (Pakistan, CRULP)"; +// www.crulp.org phonetic v1.1 + + key { [ 0x100007E , 0x100064B ] }; + key { [ 0x10006F1 , 0x1000031, 0x1000021 ] }; + key { [ 0x10006F2 , 0x1000032, 0x1000040 ] }; + key { [ 0x10006F3 , 0x1000033, 0x1000023 ] }; + key { [ 0x10006F4 , 0x1000034 ] }; + key { [ 0x10006F5 , 0x1000035, 0x100066A ] }; + key { [ 0x10006F6 , 0x1000036 ] }; + key { [ 0x10006F7 , 0x1000037, 0x1000026 ] }; + key { [ 0x10006F8 , 0x1000038, 0x100002A ] }; + key { [ 0x10006F9 , 0x1000039, 0x1000029 ] }; + key { [ 0x10006F0 , 0x1000030, 0x1000028 ] }; + + key { [ 0x100002D , 0x100005F ] }; + key { [ 0x100003D , 0x100002B ] }; + key { [ 0x1000642 , 0x1000652 ] }; + key { [ 0x1000648 , 0x1000651, 0x1000602 ] }; + key { [ 0x1000639 , 0x1000670, 0x1000656 ] }; + key { [ 0x1000631 , 0x1000691, 0x1000613 ] }; + key { [ 0x100062a , 0x1000679, 0x1000614 ] }; + key { [ 0x10006d2 , 0x100064E, 0x1000601 ] }; + key { [ 0x1000621 , 0x1000626, 0x1000654 ] }; + key { [ 0x10006cc , 0x1000650, 0x1000611 ] }; + key { [ 0x10006c1 , 0x10006c3 ] }; + key { [ 0x100067e , 0x100064f, 0x1000657 ] }; + key { [ 0x100005d , 0x100007D ] }; + key { [ 0x100005b , 0x100007B ] }; + + key { [ 0x1000627 , 0x1000622, 0x100FDF2 ] }; + key { [ 0x1000633 , 0x1000635, 0x1000610 ] }; + key { [ 0x100062f , 0x1000688, 0x100FDFA ] }; + key { [ 0x1000641 , 0x1000651 ] }; + key { [ 0x10006af , 0x100063a ] }; + key { [ 0x100062D , 0x10006BE, 0x1000612 ] }; + key { [ 0x100062c , 0x1000636, 0x100FDFB ] }; + key { [ 0x10006a9 , 0x100062e ] }; + key { [ 0x1000644 , 0x1000654 ] }; + key { [ 0x100061b , 0x100003a ] }; + key { [ 0x1000027 , 0x1000022 ] }; + key { [ 0x100005C , 0x100007C ] }; + + key { [ bar , brokenbar ] }; + key { [ 0x1000632 , 0x1000630, 0x100060F ] }; + key { [ 0x1000634 , 0x1000698, 0x100060E ] }; + key { [ 0x1000686 , 0x100062b, 0x1000603 ] }; + key { [ 0x1000637 , 0x1000638 ] }; + key { [ 0x1000628 , 0x100002e, 0x100FDFD ] }; + key { [ 0x1000646 , 0x10006ba, 0x1000600 ] }; + key { [ 0x1000645 , 0x1000658 ] }; + key { [ 0x100060c , 0x100003c, 0x100003C ] }; + key { [ 0x10006d4 , 0x100066B, 0x100003E ] }; + key { [ 0x100002f , 0x100061F ] }; + +// key { [ Mode_switch, Multi_key ] }; + + include "level3(ralt_switch)" +}; + + +partial alphanumeric_keys +xkb_symbols "urd-nla" { + name[Group1]= "Urdu (Pakistan, NLA)"; +// www.nla.gov.pk + + key { [ 0x1000060 , 0x100007E, 0x100200C ] }; + key { [ 0x1000031 , 0x1000021 ] }; + key { [ 0x1000032 , 0x1000040 ] }; + key { [ 0x1000033 , 0x1000023 ] }; + key { [ 0x1000034 , 0x1000024 ] }; + key { [ 0x1000035 , 0x100066A ] }; + key { [ 0x1000036 , 0x100005E ] }; + key { [ 0x1000037 , 0x10006D6 ] }; + key { [ 0x1000038 , 0x100066D ] }; + key { [ 0x1000039 , 0x1000029 ] }; + key { [ 0x1000030 , 0x1000028 ] }; + key { [ 0x100002D , 0x100005F ] }; + key { [ 0x100003D , 0x100002B ] }; + key { [ 0x1000637 , 0x1000638, 0x100200D ] }; + key { [ 0x1000635 , 0x1000636, 0x100200C ] }; + key { [ 0x10006BE , 0x1000630 ] }; + key { [ 0x100062F , 0x1000688 ] }; + key { [ 0x1000679 , 0x100062B ] }; + key { [ 0x100067E , 0x1000651 ] }; + key { [ 0x100062A , 0x10006C3 ] }; + key { [ 0x1000628 , 0x1000640 ] }; + key { [ 0x100062C , 0x1000686 ] }; + key { [ 0x100062D , 0x100062E ] }; + key { [ 0x100005d , 0x100007D ] }; + key { [ 0x100005b , 0x100007B ] }; + + key { [ 0x1000645 , 0x1000698 ] }; + key { [ 0x1000648 , 0x1000632 ] }; + key { [ 0x1000631 , 0x1000691 ] }; + key { [ 0x1000646 , 0x10006BA ] }; + key { [ 0x1000644 , 0x10006C2 ] }; + key { [ 0x10006C1 , 0x1000621 ] }; + key { [ 0x1000627 , 0x1000622 ] }; + key { [ 0x10006a9 , 0x10006AF ] }; + key { [ 0x10006CC , 0x100064A ] }; + key { [ 0x100061b , 0x100003a ] }; + key { [ 0x1000027 , 0x1000022 ] }; + key { [ 0x100005C , 0x100007C ] }; + + key { [ bar , brokenbar ] }; + key { [ 0x1000642 , 0x100200D, 0x100200E ] }; + key { [ 0x1000641 , 0x100200C, 0x100202A ] }; + key { [ 0x10006D2 , 0x10006D3, 0x100202D ] }; + key { [ 0x1000633 , 0x100200E, 0x100202C ] }; + key { [ 0x1000634 , 0x1000624, 0x100202E ] }; + key { [ 0x100063A , 0x1000626, 0x100202B ] }; + key { [ 0x1000639 , 0x100200F, 0x100200F ] }; + key { [ 0x100060c , 0x100003E ] }; + key { [ 0x10006d4 , 0x100003C ] }; + key { [ 0x100002F , 0x100061f ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "snd" { + name[Group1]= "Sindhi"; +// www.bhurgri.com + + key { [ 0x1002019, 0x1002018 ] }; + key { [ 1, exclam, 0x1000610 ] }; + key { [ 2, 0x1000670, 0x1000611 ] }; + key { [ 3, 0x1000621, 0x1000613 ] }; + key { [ 4, 0x1000621, 0x1000612 ] }; + key { [ 5, 0x1000621, 0x1002026 ] }; + key { [ 6, 0x1000621, 0x1002022 ] }; + key { [ 7, 0x10006FD ] }; + key { [ 8, asterisk ] }; + key { [ 9, parenright ] }; + key { [ 0, parenleft ] }; + key { [ 0x100068F, 0x100005F, 0x100002D ] }; + key { [ 0x100068C, plus, 0x100003D ] }; + key { [ 0x100068D, 0x100067A, 0x100007C ] }; + + key { [ 0x1000642, 0x100064E, 0x100064B ] }; + key { [ 0x1000635, 0x1000636, 0x100FDFA ] }; + key { [ 0x100064A, 0x1000650, 0x1000656 ] }; + key { [ 0x1000631, 0x1000699, 0x100FDE6 ] }; + key { [ 0x100062A, 0x100067D, 0x1000629 ] }; + key { [ 0x100067F, 0x100062B, 0x100FDE5 ] }; + key { [ 0x1000639, 0x100063A, 0x100FDE3 ] }; + key { [ 0x10006B3, 0x10006BE, 0x100FDE4 ] }; + key { [ 0x1000648, 0x100064F, 0x1000657 ] }; + key { [ 0x100067E, 0x10006A6 ] }; + key { [ 0x1000687, 0x1000683 ] }; + key { [ 0x1000686, 0x1000684 ] }; + + key { [ 0x1000627, 0x1000622, 0x1000649 ] }; + key { [ 0x1000633, 0x1000634 ] }; + key { [ 0x100062F, 0x100068A ] }; + key { [ 0x1000641, 0x10006A6 ] }; + key { [ 0x10006AF, 0x10006AF ] }; + key { [ 0x1000647, 0x100062D, 0x10006C1 ] }; + key { [ 0x100062C, 0x100062C, 0x100FDFB ] }; + key { [ 0x10006AA, 0x10006E1 ] }; + key { [ 0x1000644, 0x100003A ] }; + key { [ 0x10006A9, 0x100061B ] }; + key { [ 0x10006B1, 0x1000640 ] }; + + key { [ 0x1000632, 0x1000630, 0x1000652 ] }; + key { [ 0x100062E, 0x1000651, 0x100200C ] }; + key { [ 0x1000637, 0x1000638, 0x100200D ] }; + key { [ 0x1000680, 0x1000621, 0x1000624 ] }; + key { [ 0x1000628, 0x100067B, 0x100FDE1 ] }; + key { [ 0x1000646, 0x10006BB, 0x100200E ] }; + key { [ 0x1000645, 0x10006FE, 0x100FDF4 ] }; + key { [ 0x100060C, 0x100201C, 0x100200F ] }; + key { [ period, 0x100201D, 0x10006D4 ] }; + key { [ 0x1000626, Arabic_question_mark, 0x100002F ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "ara" { + name[Group1]= "Arabic (Pakistan)"; + +// NOTES: +// +// there is also combined shadda diacritis in AltGr position of simple +// diacritics fatha, fathatan, damma, dammatan, kasra and kasratan +// should a third state be added to Group2 ? +// +// How is this different from ara(basic)? --bernie + + key { [ 0x100064d , 0x100064b ] }; + key { [ 0x10006F1 , 0x1000021 ] }; + key { [ 0x10006F2 , 0x1000003 ] }; + key { [ 0x10006F3 , 0x100002f ] }; + key { [ 0x10006F4 , 0x1000626 ] }; + key { [ 0x10006F5 , 0x1000003 ] }; + key { [ 0x10006F6 , 0x10006d6 ] }; + key { [ 0x10006F7 , 0x1000654 ] }; + key { [ 0x10006F8 , 0x100064c ] }; + key { [ 0x10006F9 , 0x1000029 ] }; + key { [ 0x10006F0 , 0x1000028 ] }; + key { [ 0x1000623 , 0x1000651 ] }; + key { [ 0x1000624 , 0x1000622 ] }; + key { [ 0x1000642 , 0x1000652 ] }; + key { [ 0x1000648 , 0x10000a3 ] }; + key { [ 0x1000639 , 0x10000a5 ] }; + key { [ 0x1000631 , 0x1000691 ] }; + key { [ 0x100062a , 0x1000679 ] }; + key { [ 0x10006d2 , 0x1000601 ] }; + key { [ 0x1000621 , 0x100060c ] }; + key { [ 0x10006cc , 0x1000670 ] }; + key { [ 0x10006c1 , 0x10006c3 ] }; + key { [ 0x100067e , 0x100064f ] }; + key { [ 0x100005d , 0x1000670 ] }; + key { [ 0x100005b , 0x1000670 ] }; + + key { [ 0x1000627 , 0x1000653 ] }; + key { [ 0x1000633 , 0x1000635 ] }; + key { [ 0x100062f , 0x1000688 ] }; + key { [ 0x1000641 , 0x1000003 ] }; + key { [ 0x10006af , 0x100063a ] }; + key { [ 0x10006be , 0x100062d ] }; + key { [ 0x100062c , 0x1000636 ] }; + key { [ 0x10006a9 , 0x100062e ] }; + key { [ 0x1000644 , 0x1000613 ] }; + key { [ 0x100061b , 0x100003a ] }; + key { [ 0x1000670 , 0x1000022 ] }; + key { [ 0x100060e , 0x1000614 ] }; + + key { [ bar , brokenbar ] }; + key { [ 0x1000632 , 0x1000630 ] }; + key { [ 0x1000634 , 0x1000698 ] }; + key { [ 0x1000686 , 0x100062b ] }; + key { [ 0x1000637 , 0x1000638 ] }; + key { [ 0x1000628 , 0x1000612 ] }; + key { [ 0x1000646 , 0x10006ba ] }; + key { [ 0x1000645 , 0x1000003 ] }; + key { [ 0x100060c , 0x1000650 ] }; + key { [ 0x10006d4 , 0x100064e ] }; + key { [ 0x1000003 , 0x100061f ] }; +}; + +partial alphanumeric_keys +xkb_symbols "olpc" { + +// #HW-SPECIFIC + +// Contact: Walter Bender + + include "pk(ara)" + + name[Group1]= "Urdu (Pakistan)"; + + // Keys '~' - '=' + key { [ 0x1000654, 0x100064B ] }; + key { [ 0x10006F1, 0x1000603 ] }; + key { [ 0x10006F2, 0x1000602 ] }; + key { [ 0x10006F3, 0x1000601 ] }; + key { [ 0x10006F4, 0x1000600 ] }; + key { [ 0x10006F5, 0x100060F ] }; + key { [ 0x10006F6, 0x100060E ] }; + key { [ 0x10006F7, 0x1000614 ] }; + key { [ 0x10006F8, 0x1000612 ] }; + key { [ 0x10006F9, 0x1000611 ] }; + key { [ 0x10006F0, 0x1000613 ] }; + key { [ minus, 0x1000610 ] }; + key { [ equal, plus ] }; + + //Keys 'Q' - ']' + key { [ 0x1000642, 0x1000652 ] }; + key { [ 0x1000648, 0x1000651 ] }; + key { [ 0x1000639, 0x1000670 ] }; + key { [ 0x1000631, 0x1000691 ] }; + key { [ 0x100062A, 0x1000679 ] }; + key { [ 0x10006D2, 0x100064E ] }; + key { [ 0x1000621, 0x1000626 ] }; + key { [ 0x10006CC, 0x1000650 ] }; + key { [ 0x10006C1, 0x10006C3 ] }; + key { [ 0x100067E, 0x100064F ] }; + key { [ 0x100FDFD, 0x100FDFA ] }; + key { [ 0x100FDF2, 0x100FDFB ] }; + + // Keys 'A' - ''' + key { [ 0x1000627, 0x1000622 ] }; + key { [ 0x1000633, 0x1000635 ] }; + key { [ 0x100062F, 0x1000688 ] }; + key { [ 0x1000641 ] }; //shift key not available + key { [ 0x10006AF, 0x100063A ] }; + key { [ 0x100062D, 0x10006BE ] }; + key { [ 0x100062C, 0x1000636 ] }; + key { [ 0x10006A9, 0x100062E ] }; + key { [ 0x1000644, 0x1000656 ] }; + key { [ 0x100061B, colon ] }; + key { [ apostrophe, quotedbl ] }; + + key { [ backslash, bar ] }; + key { [ space ] }; + + // Keys: 'Z' - '/' + key { [ 0x1000632, 0x1000622 ] }; + key { [ 0x1000634, 0x1000635 ] }; + key { [ 0x1000686, 0x1000688 ] }; + key { [ 0x1000637 ] }; //shift key unavailable + key { [ 0x1000628, 0x100063A ] }; + key { [ 0x1000646, 0x10006BE ] }; + key { [ 0x1000645, 0x1000636 ] }; + key { [ 0x100060C, 0x100062E ] }; + key { [ 0x10006D4, 0x1000656 ] }; + key { [ slash, 0x100061F ] }; + + include "group(olpc)" +}; + +// EXTRAS: + +// Navees, a phonetic keyboard layout for Urdu +// https://saadatm.github.io/navees +partial alphanumeric_keys +xkb_symbols "urd-navees" { + name[Group1]= "Urdu (Pakistan, Navees)"; + + key {[ U0060, U064B, U007E ]}; // GRAVE ACCENT, ARABIC FATHATAN, TILDE + key {[ U06F1, U0031, U0021 ]}; // EXTENDED ARABIC-INDIC DIGIT ONE, DIGIT ONE, EXCLAMATION MARK + key {[ U06F2, U0032, U0040 ]}; // EXTENDED ARABIC-INDIC DIGIT TWO, DIGIT TWO, COMMERCIAL AT + key {[ U06F3, U0033, U0023 ]}; // EXTENDED ARABIC-INDIC DIGIT THREE, DIGIT THREE, NUMBER SIGN + key {[ U06F4, U0034, U0024 ]}; // EXTENDED ARABIC-INDIC DIGIT FOUR, DIGIT FOUR, DOLLAR SIGN + key {[ U06F5, U0035, U066A ]}; // EXTENDED ARABIC-INDIC DIGIT FIVE, DIGIT FIVE, ARABIC PERCENT SIGN + key {[ U06F6, U0036, U005E ]}; // EXTENDED ARABIC-INDIC DIGIT SIX, DIGIT SIX, CIRCUMFLEX ACCENT + key {[ U06F7, U0037, U0026 ]}; // EXTENDED ARABIC-INDIC DIGIT SEVEN, DIGIT SEVEN, AMPERSAND + key {[ U06F8, U0038, U002A ]}; // EXTENDED ARABIC-INDIC DIGIT EIGHT, DIGIT EIGHT, ASTERISK + key {[ U06F9, U0039, U0029 ]}; // EXTENDED ARABIC-INDIC DIGIT NINE, DIGIT NINE, RIGHT PARENTHESIS + key {[ U06F0, U0030, U0028 ]}; // EXTENDED ARABIC-INDIC DIGIT ZERO, DIGIT ZERO, LEFT PARENTHESIS + key {[ U002D, U005F, VoidSymbol ]}; // HYPHEN-MINUS, LOW LINE + key {[ U003D, U002B, VoidSymbol ]}; // EQUALS SIGN, PLUS SIGN + + key {[ U0642, U0652, VoidSymbol ]}; // ARABIC LETTER QAF, ARABIC SUKUN + key {[ U0648, U0651, U0624 ]}; // ARABIC LETTER WAW, ARABIC SHADDA, ARABIC LETTER WAW WITH HAMZA ABOVE + key {[ U0639, U0670, U0656 ]}; // ARABIC LETTER AIN, ARABIC LETTER SUPERSCRIPT ALEF, ARABIC SUBSCRIPT ALEF + key {[ U0631, U0691, U0613 ]}; // ARABIC LETTER REH, ARABIC LETTER RREH, ARABIC SIGN RADI ALLAHOU ANHU + key {[ U062A, U0679, U0614 ]}; // ARABIC LETTER TEH, ARABIC LETTER TTEH, ARABIC SIGN TAKHALLUS + key {[ U06D2, U064E, U06D3 ]}; // ARABIC LETTER YEH BARREE, ARABIC FATHA, ARABIC LETTER YEH BARREE WITH HAMZA ABOVE + key {[ U0621, U0626, U0654 ]}; // ARABIC LETTER HAMZA, ARABIC LETTER YEH WITH HAMZA ABOVE, ARABIC HAMZA ABOVE + key {[ U06CC, U0650, U0611 ]}; // ARABIC LETTER FARSI YEH, ARABIC KASRA, ARABIC SIGN ALAYHE ASSALLAM + key {[ U06C1, U06C3, U06C2 ]}; // ARABIC LETTER HEH GOAL, ARABIC LETTER TEH MARBUTA GOAL, ARABIC LETTER HEH GOAL WITH HAMZA ABOVE + key {[ U067E, U064F, U0657 ]}; // ARABIC LETTER PEH, ARABIC DAMMA, ARABIC INVERTED DAMMA + key {[ U005D, U007D, U200E ]}; // RIGHT SQUARE BRACKET, RIGHT CURLY BRACKET, LEFT-TO-RIGHT MARK + key {[ U005B, U007B, U200F ]}; // LEFT SQUARE BRACKET, LEFT CURLY BRACKET, RIGHT-TO-LEFT MARK + key {[ U005C, U007C, U200D ]}; // REVERSE SOLIDUS, VERTICAL LINE, ZERO WIDTH JOINER + + key {[ U0627, U0622, U0623 ]}; // ARABIC LETTER ALEF, ARABIC LETTER ALEF WITH MADDA ABOVE, ARABIC LETTER ALEF WITH HAMZA ABOVE + key {[ U0633, U0635, U0610 ]}; // ARABIC LETTER SEEN, ARABIC LETTER SAD, ARABIC SIGN SALLALLAHOU ALAYHE WASSALLAM + key {[ U062F, U0688, UFDFA ]}; // ARABIC LETTER DAL, ARABIC LETTER DDAL, ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM + key {[ U0641, VoidSymbol, U0602 ]}; // ARABIC LETTER FEH, VoidSymbol, ARABIC FOOTNOTE MARKER + key {[ U06AF, U063A, VoidSymbol ]}; // ARABIC LETTER GAF, ARABIC LETTER GHAIN + key {[ U062D, U06BE, U0612 ]}; // ARABIC LETTER HAH, ARABIC LETTER HEH DOACHASHMEE, ARABIC SIGN RAHMATULLAH ALAYHE + key {[ U062C, U0636, UFDFB ]}; // ARABIC LETTER JEEM, ARABIC LETTER DAD, ARABIC LIGATURE JALLAJALALOUHOU + key {[ U06A9, U062E, U0601 ]}; // ARABIC LETTER KEHEH, ARABIC LETTER KHAH, ARABIC SIGN SANAH + key {[ U0644, VoidSymbol, VoidSymbol ]}; // ARABIC LETTER LAM + key {[ U061B, U003A, VoidSymbol ]}; // ARABIC SEMICOLON, COLON + key {[ U0027, U0022, VoidSymbol ]}; // APOSTROPHE, QUOTATION MARK + + key {[ U0632, U0630, U060F ]}; // ARABIC LETTER ZAIN, ARABIC LETTER THAL, ARABIC SIGN MISRA + key {[ U0634, U0698, U060E ]}; // ARABIC LETTER SHEEN, ARABIC LETTER JEH, ARABIC POETIC VERSE SIGN + key {[ U0686, U062B, U0603 ]}; // ARABIC LETTER TCHEH, ARABIC LETTER THEH, ARABIC SIGN SAFHA + key {[ U0637, U0638, VoidSymbol ]}; // ARABIC LETTER TAH, ARABIC LETTER ZAH + key {[ U0628, VoidSymbol, UFDFD ]}; // ARABIC LETTER BEH, VoidSymbol, ARABIC LIGATURE BISMILLAH AR-RAHMAN AR-RAHEEM + key {[ U0646, U06BA, U0600 ]}; // ARABIC LETTER NOON, ARABIC LETTER NOON GHUNNA, ARABIC NUMBER SIGN + key {[ U0645, U0658, VoidSymbol ]}; // ARABIC LETTER MEEM, ARABIC MARK NOON GHUNNA + key {[ U060C, U060D, U003C ]}; // ARABIC COMMA, ARABIC DATE SEPARATOR, GREATER-THAN SIGN + key {[ U06D4, U066B, U003E ]}; // ARABIC FULL STOP, ARABIC DECIMAL SEPARATOR, LESS-THAN SIGN + key {[ U002F, U061F, VoidSymbol ]}; // SOLIDUS, ARABIC QUESTION MARK + + include "nbsp(zwnj2)" + + include "level3(ralt_switch)" +}; diff --git a/xkbdata/symbols/pl b/xkbdata/symbols/pl new file mode 100644 index 0000000..bf4f8fb --- /dev/null +++ b/xkbdata/symbols/pl @@ -0,0 +1,586 @@ +default partial alphanumeric_keys +xkb_symbols "basic" { + + // Visualisation and description: http://podziemie.net/xkb/pl + // Contact: Michał Górny + + include "latin" + + name[Group1]="Polish"; + + key { [ 1, exclam, notequal, exclamdown ] }; + key { [ 2, at, twosuperior, questiondown ] }; + key { [ 4, dollar, cent, onequarter ] }; + key { [ 5, percent, EuroSign, U2030 ] }; + key { [ 6, asciicircum, onehalf, logicaland ] }; + key { [ 7, ampersand, section, U2248 ] }; + key { [ 8, asterisk, periodcentered, threequarters ] }; + key { [ 9, parenleft, guillemotleft, plusminus ] }; + key { [ 0, parenright, guillemotright, degree ] }; + key { [ minus, underscore, endash, emdash ] }; + + key { [ q, Q, Greek_pi, Greek_OMEGA ] }; + key { [ w, W, oe, OE ] }; + key { [ e, E, eogonek, Eogonek ] }; + key { [ r, R, copyright, registered ] }; + key { [ t, T, ssharp, trademark ] }; + key { [ i, I, rightarrow, U2194 ] }; + key { [ o, O, oacute, Oacute ] }; + + key { [ a, A, aogonek, Aogonek ] }; + key { [ s, S, sacute, Sacute ] }; + key { [ f, F, ae, AE ] }; + key { [ h, H, rightsinglequotemark, U2022 ] }; + key { [ j, J, schwa, SCHWA ] }; + key { [ k, K, ellipsis, dead_stroke ] }; + key { [ grave, asciitilde, notsign, logicalor ] }; + + key { [ z, Z, zabovedot, Zabovedot ] }; + key { [ x, X, zacute, Zacute ] }; + key { [ c, C, cacute, Cacute ] }; + key { [ v, V, doublelowquotemark, leftsinglequotemark ] }; + key { [ b, B, rightdoublequotemark, leftdoublequotemark ] }; + key { [ n, N, nacute, Nacute ] }; + key { [ m, M, mu, infinity ] }; + key { [ comma, less, lessthanequal, multiply ] }; + key { [ period, greater, greaterthanequal, division ] }; + + key { [ space, space, nobreakspace, nobreakspace ] }; + + include "kpdl(comma)" + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "legacy" { + + include "latin" + + name[Group1]="Polish (legacy)"; + + key { [ e, E, eogonek, Eogonek ] }; + key { [ u, U, EuroSign, cent ] }; + key { [ o, O, oacute, Oacute ] }; + + key { [ a, A, aogonek, Aogonek ] }; + key { [ s, S, sacute, Sacute ] }; + + key { [ z, Z, zabovedot, Zabovedot ] }; + key { [ x, X, zacute, Zacute ] }; + key { [ c, C, cacute, Cacute ] }; + key { [ v, V, doublelowquotemark, leftsinglequotemark ] }; + key { [ b, B, rightdoublequotemark, leftdoublequotemark ] }; + key { [ n, N, nacute, Nacute ] }; + + include "kpdl(comma)" + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "lefty" { + // 2020 by Simon Zelazny. + // Places Ó, Ł, and Ń under the left typing hand. + // For description and rationale, see: https://pzel.name/pl-lefty.html + include "pl(basic)" + + name[Group1]="Polish (lefty)"; + key { [ q, Q, oacute, Oacute ] }; + key { [ w, W, lstroke, Lstroke ] }; + key { [ d, D, nacute, Nacute ] }; +}; + + +partial alphanumeric_keys +xkb_symbols "qwertz" { + + include "latin(type3)" + + name[Group1]="Polish (QWERTZ)"; + + key { [ 1, exclam, asciitilde, exclamdown ] }; + key { [ 2, quotedbl, dead_caron, oneeighth ] }; + key { [ 3, numbersign, dead_circumflex, sterling ] }; + key { [ 4, dollar, dead_breve, dollar ] }; + key { [ 5, percent, degree, threeeighths ] }; + key { [ 6, ampersand, dead_ogonek, fiveeighths ] }; + key { [ 7, slash, dead_grave, seveneighths ] }; + key { [ 8, parenleft, dead_abovedot, trademark ] }; + key { [ 9, parenright, dead_acute, plusminus ] }; + key { [ 0, equal, dead_doubleacute, degree ] }; + key { [ plus, question, dead_diaeresis, questiondown ] }; + key { [apostrophe, asterisk, dead_cedilla, dead_ogonek ] }; + + key { [ q, Q ] }; + key { [ w, W ] }; + key { [ e, E, EuroSign, cent ] }; + key { [ zabovedot, nacute, division, dead_abovering ] }; + key { [ sacute, cacute, multiply, dead_macron ] }; + + key { [ s, S, dstroke, section ] }; + key { [ d, D, Dstroke, ETH ] }; + key { [ f, F ] }; + key { [ k, K, kra, ampersand ] }; + key { [ l, L, lstroke, Lstroke ] }; + key { [ lstroke, Lstroke, dollar, dead_doubleacute ] }; + key { [ aogonek, eogonek, ssharp, dead_caron ] }; + key { [ abovedot, dead_ogonek, notsign, notsign ] }; + + key { [ oacute, zacute, dead_grave, dead_breve ] }; + key { [ c, C, cent, copyright ] }; + key { [ minus, underscore, dead_belowdot, dead_abovedot ] }; + + include "kpdl(comma)" + + include "level3(ralt_switch)" +}; + +// Polish Dvorak keymaps +// by Rafal Rzepecki + +// The base keymap "pl" places Polish quotes on quotemark key and +// moves the dead symbols from there to "1/!" key. If you are used to common +// dead keys placement, you could use "pl_altquotes"; in this layout +// dead keys remain in the old place, whereas Polish quotes are placed on the +// "1/!" key. If you do not use Polish quotes at all, you can use "pl_basic" map. + +// Basic Polish keymap (without Polish quotes) +partial alphanumeric_keys +xkb_symbols "dvorak" { + include "us(dvorak)" + + name[Group1] = "Polish (Dvorak)"; + + key { [ c, C, cacute, Cacute ] }; + key { [ l, L, lstroke, Lstroke ] }; + key { [ a, A, aogonek, Aogonek ] }; + key { [ o, O, oacute, Oacute ] }; + key { [ e, E, eogonek, Eogonek ] }; + key { [ n, N, nacute, Nacute ] }; + key { [ s, S, sacute, Sacute ] }; + key { [ v, V, zacute, Zacute ] }; + key { [ z, Z, zabovedot, Zabovedot ] }; + + include "kpdl(comma)" + + include "level3(ralt_switch)" +}; + +// Default Polish keymap with Polish quotes on quotemark key +partial alphanumeric_keys +xkb_symbols "dvorak_quotes" { + include "pl(dvorak)" + + name[Group1] = "Polish (Dvorak, with Polish quotes on quotemark key)"; + + key { [ apostrophe, quotedbl, doublelowquotemark, rightdoublequotemark ] }; + + // Dead symbols moved to this key + key { [ 1, exclam, dead_acute, dead_diaeresis ] }; +}; + +// Polish keymap with Polish quotes on key "1/!" +partial alphanumeric_keys +xkb_symbols "dvorak_altquotes" { + include "pl(dvorak)" + + name[Group1] = "Polish (Dvorak, with Polish quotes on key 1)"; + + key { [ 1, exclam, doublelowquotemark, rightdoublequotemark ] }; +}; + +// Polish programmer Dvorak keymap by Michal Nazarewicz +// based on programmer Dvorak by Roland Kaufmann +// and Polish Dvorak keymaps by Rafal Rzepecki { [ ampersand, percent, doublelowquotemark, rightdoublequotemark ] }; + + // symbols row, right side + + // upper row, left side + + // upper row, right side + key { [ c, C, cacute, Cacute ] }; + key { [ l, L, lstroke, Lstroke ] }; + + // home row, left side + key { [ a, A, aogonek, Aogonek ], type[Group1] = "EIGHT_LEVEL_ALPHABETIC" }; + key { [ o, O, oacute, Oacute ] }; + key { [ e, E, eogonek, Eogonek ] }; + + // home row, right side + key { [ n, N, nacute, Nacute ] }; + key { [ s, S, sacute, Sacute ] }; + + // lower row, left side + key { [ j, J, doublelowquotemark, rightdoublequotemark ] }; + key { [ k, K, leftdoublequotemark, leftsinglequotemark ] }; + key { [ x, X, zacute, Zacute ] }; + + // lower row, right side + key { [ b, B, rightdoublequotemark, rightsinglequotemark ] }; + key { [ v, V, zacute, Zacute ] }; + key { [ z, Z, zabovedot, Zabovedot ] }; + + include "kpdl(comma)" + + include "level3(ralt_switch)" +}; + +// Silesian keyboard layout by Grzegorz Kulik +// and Przemysław Buczkowski . +// See http://poslunsku.eu/2012/07/slonsko-slabikorzowo-klawiatura-na-windows-i-ubuntu/ +// for a description. + +partial alphanumeric_keys +xkb_symbols "szl" { + + include "latin" + + name[Group1]="Silesian"; + + key { [ q, Q ] }; + key { [ w, W ] }; + key { [ e, E, atilde, Atilde ] }; + key { [ o, O, ocircumflex, Ocircumflex ] }; + key { [ u, U, omacron, Omacron ] }; + key { [ p, P, otilde, Otilde ] }; + + key { [ a, A, U014F, U014E ] }; + key { [ s, S, sacute, Sacute ] }; + key { [ f, F ] }; + + key { [ z, Z, zabovedot, Zabovedot ] }; + key { [ x, X, zacute, Zacute ] }; + key { [ c, C, cacute, Cacute ] }; + key { [ v, V, doublelowquotemark, leftsinglequotemark ] }; + key { [ b, B, rightdoublequotemark, leftdoublequotemark ] }; + key { [ n, N, nacute, Nacute ] }; + + include "kpdl(comma)" + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "csb" { + + include "latin" + + name[Group1]="Kashubian"; + + key { [ q, Q ] }; + key { [ w, W ] }; + key { [ e, E, eacute, Eacute ] }; + key { [ r, R, ediaeresis, Ediaeresis ] }; + key { [ y, Y, EuroSign, cent ] }; + key { [ u, U, ugrave, Ugrave ] }; + key { [ i, I, ograve, Ograve ] }; + key { [ o, O, oacute, Oacute ] }; + key { [ p, P, ocircumflex, Ocircumflex ] }; + + key { [ a, A, aogonek, Aogonek ] }; + key { [ s, S, atilde, Atilde ] }; + key { [ f, F ] }; + key { [ l, L, lstroke, Lstroke ] }; + + key { [ z, Z, zabovedot, Zabovedot ] }; + key { [ v, V, doublelowquotemark, leftsinglequotemark ] }; + key { [ b, B, rightdoublequotemark, leftdoublequotemark ] }; + key { [ n, N, nacute, Nacute ] }; + + include "kpdl(comma)" + + include "level3(ralt_switch)" +}; + +// Russian Polish-phonetic Dvorak +// by Adrian Dziubek +// +// This layout aims to enable Polish Dvorak users to type with Russian +// Cyrillic alphabet by using the sound correspondence between Polish and +// Russian languages. +// +// This keyboard should be intuitive. Please let me know, if my intuition +// lets You down. +// +// The guidelines used: +// - no Cyrillic symbols are placed on punctuation symbols, +// - visual similarities are ignored if there is a sound correspondence: +// no Cyrillic_es on c, no Cyrillic_er on p, no Cyrillic_ha on x etc., +// - the Latin symbols that have close sound correspondence (as read in Polish) +// to Cyrillic symbols (as read in Russian) are mapped respectively: +// * j -> Cyrillic_shorti, +// * k -> Cyrillic_ka, +// * b -> Cyrillic_be, +// * m -> Cyrillic_em, +// * w -> Cyrillic_ve, +// * z -> Cyrillic_ze +// * a -> Cyrillic_a, +// * o -> Cyrillic_o, +// * u -> Cyrillic_u, +// * i -> Cyrillic_i, +// * d -> Cyrillic_de, +// * h -> Cyrillic_ha, +// * t -> Cyrillic_te, +// * n -> Cyrillic_en, +// * s -> Cyrillic_es, +// * p -> Cyrillic_pe, +// * y -> Cyrillic_yeru, +// * f -> Cyrillic_ef, +// * g -> Cyrillic_ghe, +// * c -> Cyrillic_tse, +// * r -> Cyrillic_er, +// * l -> Cyrillic_el, +// - ...and little more distant: +// * AltGr + s (sacute) -> Cyrillic_sha, +// * AltGr + z (zabovedot) -> Cyrillic_zhe, +// * AltGr + c (cacute) -> Cyrillic_che, +// - the soft versions of Russian vowels are accessible through AltGr + vowel: +// * AltGr + a -> Cyrillic_ya, +// * AltGr + o -> Cyrillic_io, +// * AltGr + u -> Cyrillic_yu, +// - ...except for Cyrillic_ie which is more frequently used than Cyrillic_e: +// * AltGr + e -> Cyrillic_e, +// * e -> Cyrillic_ie, +// - q is also mapped to Cyrillic_ya, following the US phonetic keyboard +// choice, as Cyrillic_ya and Cyrillic_a are both often used: +// * q -> Cyrillic_ya, +// - the soft and hard symbols that have no Polish counterparts are mapped +// to rarely used in Polish x character: +// * x -> Cyrillic_softsign +// * AltGr + x -> Cyrillic_hardsign, +// - the soft sign is additionally available as AltGr + consonant combination +// for every consonant that can be softened or separated by soft sign: +// * AltGr + l -> Cyrillic_softsign, +// * AltGr + d -> Cyrillic_softsign, +// * AltGr + n -> Cyrillic_softsign, +// * AltGr + r -> Cyrillic_softsign, +// * AltGr + t -> Cyrillic_softsign, +// * AltGr + p -> Cyrillic_softsign, +// - ...and also because of visual similarity under level3 b: +// * AltGr + b -> Cyrillic_softsign, +// * Shift + AltGr + b -> Cyrillic_hardsign, +// - the Cyrillic_shcha symbol is placed under AltGr + w (visual similarity): +// * AltGr + w -> Cyrillic_shcha +// - v, also rarely unused in Polish is mapped like w: +// * v -> Cyrillic_ve, +// +partial alphanumeric_keys +xkb_symbols "ru_phonetic_dvorak" { + include "us(dvorak)" + + name[Group1] = "Russian (Poland, phonetic Dvorak)"; + + // lower row + key { [ Cyrillic_ya, Cyrillic_YA ] }; + key { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; + key { [ Cyrillic_ka, Cyrillic_KA ] }; + key { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; + key { [ Cyrillic_be, Cyrillic_BE, Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; + key { [ Cyrillic_em, Cyrillic_EM ] }; + key { [ Cyrillic_ve, Cyrillic_VE, Cyrillic_shcha, Cyrillic_SHCHA ] }; + key { [ Cyrillic_ve, Cyrillic_VE, Cyrillic_shcha, Cyrillic_SHCHA ] }; + key { [ Cyrillic_ze, Cyrillic_ZE, Cyrillic_zhe, Cyrillic_ZHE ] }; + // home row + key { [ Cyrillic_a, Cyrillic_A, Cyrillic_ya, Cyrillic_YA ] }; + key { [ Cyrillic_o, Cyrillic_O, Cyrillic_io, Cyrillic_IO ] }; + key { [ Cyrillic_ie, Cyrillic_IE, Cyrillic_e, Cyrillic_E ] }; + key { [ Cyrillic_u, Cyrillic_U, Cyrillic_yu, Cyrillic_YU ] }; + key { [ Cyrillic_i, Cyrillic_I ] }; + key { [ Cyrillic_de, Cyrillic_DE, Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; + key { [ Cyrillic_ha, Cyrillic_HA ] }; + key { [ Cyrillic_te, Cyrillic_TE, Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; + key { [ Cyrillic_en, Cyrillic_EN, Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; + key { [ Cyrillic_es, Cyrillic_ES, Cyrillic_sha, Cyrillic_SHA ] }; + // upper row + key { [ Cyrillic_pe, Cyrillic_PE, Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; + key { [ Cyrillic_yeru, Cyrillic_YERU ] }; + key { [ Cyrillic_ef, Cyrillic_EF ] }; + key { [ Cyrillic_ghe, Cyrillic_GHE ] }; + key { [ Cyrillic_tse, Cyrillic_TSE, Cyrillic_che, Cyrillic_CHE ] }; + key { [ Cyrillic_er, Cyrillic_ER, Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; + key { [ Cyrillic_el, Cyrillic_EL, Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; + + include "kpdl(comma)" + + include "level3(ralt_switch)" +}; + +// EXTRAS: + +// A Polish keymap with a comprehensive set of quotes, dashes, and dead accents +// +// See http://marcinwolinski.pl/keyboard/ for a description. +// +// ┌────┐ +// │ 2 4│ 2 = Shift, 4 = Level3 + Shift +// │ 1 3│ 1 = Normal, 3 = Level3 +// └────┘ +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓ +// │ ~ ~ │ ! ' │ @ " │ # ˝ │ $ ¸ │ % ˇ │ ^ ^ │ & ˘ │ * ˙ │ ( ̣ │ ) ° │ _ ¯ │ + ˛ ┃ ⌫ Back ┃ +// │ ` ` │ 1 ¡ │ 2 © │ 3 • │ 4 § │ 5 € │ 6 ¢ │ 7 − │ 8 × │ 9 ÷ │ 0 ° │ - – │ = — ┃ space ┃ +// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫ +// ┃ ┃ Q │ W │ E Ę │ R │ T │ Y │ U │ I │ O Ó │ P │ { « │ } » ┃ Enter ┃ +// ┃Tab ↹ ┃ q │ w │ e ę │ r │ t │ y │ u │ i │ o ó │ p │ [ ‹ │ ] › ┃ ⏎ ┃ +// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃ +// ┃ ┃ A Ą │ S Ś │ D │ F │ G │ H │ J │ K │ L Ł │ : “ │ " ” │ | ¶ ┃ ┃ +// ┃Caps ⇬ ┃ a ą │ s ś │ d │ f │ g │ h │ j │ k │ l ł │ ; ‘ │ ' ’ │ \ ┃ ┃ +// ┣━━━━━━━━┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫ +// ┃ │ Z Ż │ X Ź │ C Ć │ V │ B │ N Ń │ M │ < „ │ > · │ ? ¿ ┃ ┃ +// ┃Shift ⇧ │ z ż │ x ź │ c ć │ v │ b │ n ń │ m │ , ‚ │ . … │ / ⁄ ┃Shift ⇧ ┃ +// ┣━━━━━━━┳━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛ +// ┃ ┃ ┃ ┃ ␣ ⍽ ┃ ┃ ┃ ┃ +// ┃Ctrl ┃Meta ┃Alt ┃ ␣ Space ⍽ ┃AltGr ⇮┃Menu ┃Ctrl ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛ + +partial alphanumeric_keys +xkb_symbols "intl" { + + include "latin(intl)" + + name[Group1]="Polish (intl., with dead keys)"; + + key { [ e, E, eogonek, Eogonek ] }; + key { [ o, O, oacute, Oacute ] }; + + key { [ a, A, aogonek, Aogonek ] }; + key { [ s, S, sacute, Sacute ] }; + key { [ l, L, lstroke, Lstroke ] }; + + key { [ z, Z, zabovedot, Zabovedot ] }; + key { [ x, X, zacute, Zacute ] }; + key { [ c, C, cacute, Cacute ] }; + key { [ n, N, nacute, Nacute ] }; + + include "kpdl(comma)" + + include "level3(ralt_switch)" +}; + +// Polish Colemak +// by Tomek Piotrowski +// +partial alphanumeric_keys +xkb_symbols "colemak" { + include "us(colemak)" + name[Group1]= "Polish (Colemak)"; + + key { [ z, Z, zabovedot, Zabovedot ] }; + key { [ x, X, zacute, Zacute ] }; + key { [ c, C, cacute, Cacute ] }; + key { [ a, A, aogonek, Aogonek ] }; + key { [ s, S, sacute, Sacute ] }; + key { [ n, N, nacute, Nacute ] }; + key { [ e, E, eogonek, Eogonek ] }; + key { [ o, O, oacute, Oacute ] }; + key { [ q, Q, ae, AE ] }; + key { [ w, W, dead_circumflex, asciitilde ] }; + key { [ f, F, ssharp, 0x1001e9e ] }; + key { [ l, L, lstroke, Lstroke ] }; + + include "level3(ralt_switch)" +}; + +// Colemak-DH (ISO), Polish variant, https://colemakmods.github.io/mod-dh/ +// +partial alphanumeric_keys +xkb_symbols "colemak_dh" { + include "us(colemak_dh)" + name[Group1]= "Polish (Colemak-DH)"; + + key { [ z, Z, zabovedot, Zabovedot ] }; + key { [ x, X, zacute, Zacute ] }; + key { [ c, C, cacute, Cacute ] }; + key { [ backslash, bar, bar, brokenbar ] }; + key { [ a, A, aogonek, Aogonek ] }; + key { [ s, S, sacute, Sacute ] }; + key { [ n, N, nacute, Nacute ] }; + key { [ e, E, eogonek, Eogonek ] }; + key { [ o, O, oacute, Oacute ] }; + key { [ q, Q, ae, AE ] }; + key { [ w, W, dead_circumflex, asciitilde ] }; + key { [ f, F, ssharp, 0x1001e9e ] }; + key { [ l, L, lstroke, Lstroke ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "sun_type6" { + include "sun_vndr/pl(sun_type6)" +}; + +//Glagolica +partial alphanumeric_keys +xkb_symbols "glagolica" +{ + name[Group1] = "Polish (Glagolica)"; + + key { [ U2C21, U2C23, any, any ] };//q/Q/Ⱑ/Ⱓ + key { [ U2C02, U2C19, any, any ] };//w/W/Ⰲ/Ⱉ/ + key { [ U2C05, U2C27, U2C24, U2C25 ] };//e/E/Ⰵ/Ⱗ/Ⱔ/Ⱕ + key { [ U2C13, U2C13, any, any ] };//r/R/Ⱃ/Ⱃ + key { [ U2C15, U2C15, any, any ] };//t/T/Ⱅ/Ⱅ + key { [ U2C09, U2C0A, U2C20, any ] };//y/Y/Ⰹ/Ⰺ/Ⱐ + key { [ U2C16, U2C16, any, any ] };//u/U/Ⱆ/ + key { [ U2C0B, U2C09, any, any ] };//i/I/Ⰻ/Ⰹ + key { [ U2C11, U2C19, U2C41, any ] };//o/O/Ⱁ/Ⱉ/ⱁ + key { [ U2C12, U2C1A, any, any ] };//p/P/Ⱂ/Ⱊ + key { [ U2C1E, U2C26, any, any ] };//[/{/Ⱎ/Ⱖ + key { [ U2C1B, U2C29, any, any ] };//]/}/Ⱋ/Ⱙ + key { [ U2C00, U2C00, U2C28, U2C29 ] };//a/A/Ⰰ/Ⰰ/Ⱘ/Ⱙ + key { [ U2C14, U2C1E, any, any ] };//[/{/Ⱄ/Ⱎ + key { [ U2C04, U2C04, any, any ] };//d/D/Ⰴ/Ⰴ + key { [ U2C17, U2C2A, any, any ] };//f/F/Ⱇ/Ⱚ + key { [ U2C03, U2C03, any, any ] };//g/G/Ⰳ/Ⰳ + key { [ U2C18, U2C18, any, any ] };//h/H/Ⱈ/Ⱈ + key { [ U2C0A, U2C0A, any, any ] };//j/J/Ⰺ/Ⰺ + key { [ U2C0D, U2C0D, any, any ] };//k/K/Ⰽ/Ⰽ + key { [ U2C0E, U2C0E, any, any ] };//l/L/Ⰾ/Ⰾ + key { [ U2C0C, any, any, any ] };//\/|/Ⰼ + key { [ U2C28, U2C24, any, any ] };//;/:/Ⱘ/Ⱔ + key { [ U2C06, any, any, any ] };//'/"/Ⰶ + key { [ U2C08, U2C07, any, any ] };//z/Z/Ⰸ/Ⰷ + key { [ U2C20, U2C1F, any, any ] };//x/X/Ⱐ/Ⱏ + key { [ U2C1C, U2C1D, any, any] };//c/C/Ⱌ/Ⱍ + key { [ U2C02, U2C2B, any, any ] };//v/V/Ⰲ/Ⱛ + key { [ U2C01, U2C01, any, any ] };//b/B/Ⰱ/Ⰱ + key { [ U2C10, U2C10, any, any ] };//n/N/Ⱀ/Ⱀ + key { [ U2C0F, U2C0F, any, any ] };//m/M/Ⰿ/Ⰿ + + include "kpdl(comma)" + + include "level3(ralt_switch)" +}; diff --git a/xkbdata/symbols/pt b/xkbdata/symbols/pt new file mode 100644 index 0000000..06d752e --- /dev/null +++ b/xkbdata/symbols/pt @@ -0,0 +1,217 @@ +default partial alphanumeric_keys +xkb_symbols "basic" { + + include "latin(type4)" + name[Group1]="Portuguese"; + + key { [ backslash, bar, notsign, notsign ] }; + key { [ 3, numbersign, sterling, sterling ] }; + key { [ 4, dollar, section, dollar ] }; + key { [ apostrophe, question, backslash, questiondown ] }; + key { [ guillemotleft, guillemotright, dead_cedilla, dead_ogonek ] }; + + key { [ plus, asterisk, dead_diaeresis, dead_abovering ] }; + key { [ dead_acute, dead_grave, dead_tilde, dead_macron ] }; + key { [ dead_tilde, dead_circumflex, dead_grave, dead_breve ] }; + + key { [ ccedilla, Ccedilla, dead_acute, dead_doubleacute ] }; + key { [ masculine, ordfeminine,dead_circumflex, dead_caron ] }; + + key { [ less, greater, backslash, backslash ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "nodeadkeys" { + + include "pt(basic)" + name[Group1]="Portuguese (no dead keys)"; + + key { [ guillemotleft, guillemotright, cedilla, ogonek ] }; + key { [ plus, asterisk, quotedbl, quotedbl ] }; + key { [ acute, grave ] }; + key { [ asciitilde, asciicircum ] }; + key { [ ccedilla, Ccedilla, acute, doubleacute ] }; + key { [ masculine, ordfeminine, asciicircum, caron ] }; + key { [ minus, underscore, dead_belowdot, abovedot ] }; +}; + +// Layout variant for Mac, by Ricardo Cabral . +partial alphanumeric_keys +xkb_symbols "mac" { + + include "pt(basic)" + name[Group1]= "Portuguese (Macintosh)"; + + key { [ grave, asciitilde, notsign, notsign ] }; + key { [ 6, ampersand, threequarters, fiveeighths ] }; + key { [ 8, parenleft, bracketleft, braceleft ] }; + key { [ 9, parenright, bracketright, braceright ] }; + key { [ plus, asterisk, dead_diaeresis ] }; + key { [ masculine, ordfeminine ] }; + key { [ backslash, bar, dead_grave, dead_breve ] }; + key { [ dead_tilde, dead_circumflex ] }; +}; + +partial alphanumeric_keys +xkb_symbols "mac_nodeadkeys" { + + include "pt(mac)" + name[Group1]= "Portuguese (Macintosh, no dead keys)"; + + key { [ plus, asterisk, quotedbl, quotedbl ] }; + key { [ acute, grave ] }; + key { [ asciitilde, asciicircum ] }; +}; + + +// +// Portuguese Nativo layout. +// A Dvorak-inspired layout designed for the Portuguese language. +// +// Ari Caldeira 2005-07-19 +// +partial alphanumeric_keys +xkb_symbols "nativo" { + + name[Group1]="Portuguese (Nativo)"; + + key { [ plus, asterisk, dead_diaeresis, plusminus ] }; + key { [ 1, exclam, onesuperior, exclamdown ] }; + key { [ 2, quotedbl, at, twosuperior ] }; + key { [ 3, numbersign, sterling, threesuperior ] }; + key { [ 4, dollar, section, onequarter ] }; + key { [ 5, percent, cent, 0x01002030 ] }; + key { [ 6, ampersand, notsign, diaeresis ] }; + key { [ 7, slash, braceleft, 0x0100032D ] }; + key { [ 8, parenleft, bracketleft, 0x01000331 ] }; + key { [ 9, parenright, bracketright, dead_horn ] }; + key { [ 0, equal, braceright, dead_hook ] }; + key { [ masculine, ordfeminine, dead_ogonek, 0x01000326 ] }; + key { [ less, greater, dead_cedilla, dead_abovering ] }; + + key { [ apostrophe, question, degree, questiondown ] }; + key { [ comma, semicolon, 0x01000329, 0x01000315 ] }; + key { [ period, colon, 0x01002022, periodcentered ] }; + key { [ h, H, paragraph, paragraph ] }; + key { [ x, X, multiply, division ] }; + key { [ w, W, ubreve, Ubreve ] }; + key { [ l, L, lstroke, Lstroke ] }; + key { [ t, T, trademark, trademark ] }; + key { [ c, C, copyright, copyright ] }; + key { [ p, P, thorn, THORN ] }; + key { [ dead_tilde, dead_circumflex, dead_caron, dead_doubleacute ] }; + key { [ minus, underscore, 0x01002015, 0x01000336 ] }; + + key { [ i, I, idotless, Iabovedot ] }; + key { [ e, E, EuroSign, EuroSign ] }; + key { [ a, A, ae, AE ] }; + key { [ o, O, oe, OE ] }; + key { [ u, U, oslash, Ooblique ] }; + key { [ m, M, mu, mu ] }; + key { [ d, D, eth, ETH ] }; + key { [ s, S, ssharp, 0x01001E9E ] }; + key { [ r, R, registered, registered ] }; + key { [ n, N, eng, ENG ] }; + key { [ dead_acute, dead_grave, dead_macron, dead_breve ] }; + key { [ backslash, bar, dead_belowdot, dead_abovedot ] }; + + key { [ guillemotleft, guillemotright, 0x01002039, 0x0100203A ] }; + key { [ y, Y, yen, yen ] }; + key { [ ccedilla, Ccedilla ] }; + key { [ j, J, 0x01000292, 0x010001B7 ] }; + key { [ b, B, apostrophe, quotedbl ] }; + key { [ k, K, currency, brokenbar ] }; + key { [ q, Q, 0x01000259, 0x0100018F ] }; + key { [ v, V, doublelowquotemark, singlelowquotemark ] }; + key { [ g, G, leftdoublequotemark, leftsinglequotemark ] }; + key { [ f, F, rightdoublequotemark, rightsinglequotemark ] }; + key { [ z, Z, 0x0100201F, 0x0100201B ] }; + + key { [ space, space, nobreakspace, nobreakspace ] }; + + include "level3(ralt_switch)" +}; + +// +// Portuguese Nativo layout for US keyboards (lacking an LSGT key). +// +// Ari Caldeira 2005-07-19 +// +partial alphanumeric_keys +xkb_symbols "nativo-us" { + + include "pt(nativo)" + name[Group1]="Portuguese (Nativo for US keyboards)"; + + key { [ y, Y, ccedilla, Ccedilla ] }; + key { [ guillemotleft, guillemotright, 0x01002039, 0x0100203A ] }; +}; + +// +// Portuguese Nativo layout for typing Esperanto. +// +// Ari Caldeira 2005-07-19 +// +partial alphanumeric_keys +xkb_symbols "nativo-epo" { + + include "pt(nativo)" + name[Group1]="Esperanto (Portugal, Nativo)"; + + key { [ h, H, hcircumflex, Hcircumflex ] }; + key { [ ccircumflex, Ccircumflex, x, X ] }; + key { [ ubreve, Ubreve, w, W ] }; + + key { [ jcircumflex, Jcircumflex, y, Y ] }; + key { [ scircumflex, Scircumflex, ccedilla, Ccedilla ] }; + key { [ gcircumflex, Gcircumflex, q, Q ] }; +}; + +// EXTRAS: + +partial alphanumeric_keys + xkb_symbols "sun_type6" { + include "sun_vndr/pt(sun_type6)" +}; + +// +// Portuguese Colemak layout. +// +partial alphanumeric_keys +xkb_symbols "colemak" { + include "pt(basic)" + + name[Group1]="Portuguese (Colemak)"; + + key { [ q, Q, at, Greek_OMEGA ] }; + key { [ w, W, lstroke, Lstroke ] }; + key { [ f, F, dstroke, ordfeminine ] }; + key { [ p, P, thorn, THORN ] }; + key { [ g, G, eng, ENG ] }; + key { [ j, J, dead_hook, dead_horn ] }; + key { [ l, L, lstroke, Lstroke ] }; + key { [ u, U, downarrow, uparrow ] }; + key { [ y, Y, leftarrow, yen ] }; + key { [ ccedilla, Ccedilla, dead_acute, dead_doubleacute ] }; + + key { [ a, A, ae, AE ] }; + key { [ r, R, paragraph, registered ] }; + key { [ s, S, ssharp, section ] }; + key { [ t, T, tslash, Tslash ] }; + key { [ d, D, eth, ETH ] }; + key { [ h, H, hstroke, Hstroke ] }; + key { [ n, N, n, N ] }; + key { [ e, E, EuroSign, cent ] }; + key { [ i, I, rightarrow, idotless ] }; + key { [ o, O, oslash, Ooblique ] }; + + key { [ z, Z, guillemotleft, less ] }; + key { [ x, X, guillemotright, greater ] }; + key { [ c, C, cent, copyright ] }; + key { [ k, K, kra, ampersand ] }; + key { [ m, M, mu, masculine ] }; + + key { [ BackSpace, BackSpace, BackSpace, BackSpace ] }; +}; diff --git a/xkbdata/symbols/ro b/xkbdata/symbols/ro new file mode 100644 index 0000000..86a5ce9 --- /dev/null +++ b/xkbdata/symbols/ro @@ -0,0 +1,213 @@ +// +// Complete set of Romanian keyboards as described in the new Romanian standard +// SR 13392:2004 adopted in December 2004 by ASRO, "Asociatia de Standardizare +// din Romania". +// +// The default mapping is the Programmers layout (also known as RO_US) because +// of the lack of Romanian hardware keyboards. The primary standard layout is +// implemented as the "std" variant. +// +// Diacritics with cedillas, as in ISO-8859-2, are no longer supported. This +// error has been corrected in ISO-889-16 through using commabelow accents. +// Pre-Vista MS compatible layout ("winkeys" variant) generates commabelow +// accents too now. +// +// Created by Cristian Gafton, (C) 2000 +// Modified by Marius Andreiana, (C) 2001 +// Completed by Dumitru Moldovan, (C) 2001, 2004-2008, 2020 + + +default partial alphanumeric_keys +xkb_symbols "basic" { +// This RO_US/Programmers layout, although the secondary layout in the +// Romanian standard, has always been the "de facto" standard in the +// Linux/Unix world. It is implemented here as the default layout and it's +// fully compatible with an US keyboard (Euro on AltGr+5 does not count). + + include "us" + + name[Group1]="Romanian"; + + key { [ 1, exclam, dead_tilde ] }; + key { [ 2, at, dead_caron ] }; + key { [ 3, numbersign, dead_circumflex ] }; + key { [ 4, dollar, dead_breve ] }; + key { [ 5, percent, dead_abovering ] }; + key { [ 6, asciicircum, dead_ogonek ] }; + key { [ 7, ampersand, dead_grave ] }; + key { [ 8, asterisk, dead_abovedot ] }; + key { [ 9, parenleft, dead_acute ] }; + key { [ 0, parenright, dead_doubleacute ] }; + key { [ minus, underscore, dead_diaeresis, endash ] }; + key { [ equal, plus, dead_cedilla, plusminus ] }; + key { [ q, Q, acircumflex, Acircumflex ] }; + key { [ w, W, ssharp, U1e9e ] }; + key { [ e, E, EuroSign ] }; + key { [ t, T, U021b, U021a ] }; + key { [ i, I, icircumflex, Icircumflex ] }; + key { [ p, P, section ] }; + key { [ bracketleft, braceleft, doublelowquotemark ] }; + key { [ bracketright, braceright, rightdoublequotemark ] }; + key { [ a, A, abreve, Abreve ] }; + key { [ s, S, U0219, U0218 ] }; + key { [ d, D, dstroke, Dstroke ] }; + key { [ l, L, lstroke, Lstroke ] }; + key { [ backslash, bar ] }; + key { [ c, C, copyright ] }; + key { [ comma, less, guillemotleft ] }; + key { [ period, greater, guillemotright ] }; + + key { [ KP_Delete, KP_Decimal, KP_Separator, KP_Separator ] }; + + include "level3(ralt_switch)" +}; + + +partial alphanumeric_keys +xkb_symbols "std" { + // Primary layout in the new Romanian standard. + // Implemented here as a variant because of the lack of hardware + // Romanian keyboards and because of the predilection of Romanian + // X users towards the secondary layout from the new standard. + + include "us" + + name[Group1]="Romanian (standard)"; + + key { [ doublelowquotemark, rightdoublequotemark, grave, asciitilde ] }; + key { [ 1, exclam, dead_tilde ] }; + key { [ 2, at, dead_caron ] }; + key { [ 3, numbersign, dead_circumflex ] }; + key { [ 4, dollar, dead_breve ] }; + key { [ 5, percent, dead_abovering ] }; + key { [ 6, asciicircum, dead_ogonek ] }; + key { [ 7, ampersand, dead_grave ] }; + key { [ 8, asterisk, dead_abovedot ] }; + key { [ 9, parenleft, dead_acute ] }; + key { [ 0, parenright, dead_doubleacute ] }; + key { [ minus, underscore, dead_diaeresis, endash ] }; + key { [ equal, plus, dead_cedilla, plusminus ] }; + key { [ e, E, EuroSign ] }; + key { [ p, P, section ] }; + key { [ abreve, Abreve, bracketleft, braceleft ] }; + key { [ icircumflex, Icircumflex, bracketright, braceright ] }; + key { [ acircumflex, Acircumflex, backslash, bar ] }; + key { [ s, S, ssharp, U1e9e ] }; + key { [ d, D, dstroke, Dstroke ] }; + key { [ l, L, lstroke, Lstroke ] }; + key { [ U0219, U0218, semicolon, colon ] }; + key { [ U021b, U021a, apostrophe, quotedbl ] }; + key { [ backslash, bar ] }; + key { [ c, C, copyright ] }; + key { [ comma, semicolon, less, guillemotleft ] }; + key { [ period, colon, greater, guillemotright ] }; + + key { [ KP_Delete, KP_Separator, KP_Decimal, KP_Decimal ] }; + + include "level3(ralt_switch)" +}; + + +partial alphanumeric_keys +xkb_symbols "winkeys" { + // Romanian (Legacy) QWERTZ keyboard layout, as available on Windows 10, + // but with the correct commabelow accents and the Euro sign on AltGr+e. + // Some Romanian hardware keyboards are still built like this. + // Older Romanian hardware keyboards might be slightly different. + // Created by Manfred Pohler, (C) 2003 + // Updated by Dumitru Moldovan, (C) 2020 + + include "us" + + name[Group1]="Romanian (Windows)"; + + key { [ bracketright, bracketleft ] }; + key { [ 1, exclam, asciitilde ] }; + key { [ 2, quotedbl, dead_caron ] }; + key { [ 3, numbersign, dead_circumflex ] }; + key { [ 4, currency, dead_breve ] }; + key { [ 5, percent, dead_abovering ] }; + key { [ 6, ampersand, dead_ogonek ] }; + key { [ 7, slash, dead_grave ] }; + key { [ 8, parenleft, dead_abovedot ] }; + key { [ 9, parenright, dead_acute ] }; + key { [ 0, equal, dead_doubleacute ] }; + key { [ plus, question, dead_diaeresis ] }; + key { [ apostrophe, asterisk, dead_cedilla ] }; + key { [ q, Q, backslash ] }; + key { [ w, W, bar ] }; + key { [ e, E, EuroSign ] }; + key { [ z, Z ] }; + key { [ abreve, Abreve, division ] }; + key { [ icircumflex, Icircumflex, multiply ] }; + key { [ s, S, dstroke ] }; + key { [ d, D, Dstroke ] }; + key { [ k, K, lstroke ] }; + key { [ l, L, Lstroke ] }; + key { [ U0219, U0218, dollar ] }; + key { [ U021b, U021a, ssharp ] }; + key { [ acircumflex, Acircumflex ] }; + key { [ less, greater ] }; + key { [ y, Y ] }; + key { [ v, V, at ] }; + key { [ b, B, braceleft ] }; + key { [ n, N, braceright ] }; + key { [ m, M, section ] }; + key { [ comma, semicolon, less ] }; + key { [ period, colon, greater ] }; + key { [ minus, underscore ] }; + + key { [ KP_Delete, KP_Separator, KP_Decimal, KP_Decimal ] }; + + include "level3(ralt_switch)" +}; + + +// EXTRAS: + + +partial +xkb_symbols "crh_dobruja" { + // Romania-specific Crimean Tatar (Crimean Turkish) Q layout. + // This layout is not yet standard. Common Alt-Q and F layouts are now also + // available right next to this layout in the new language-centric UI. + // Reşat SABIQ , 2009, 2011 + // Özgür Qarahan , 2009 + + include "ua(crh)" + + name[Group1]="Crimean Tatar (Dobruja Q)"; + + key { [ w, W, abreve, Abreve ] }; + key { [ t, T, U021b, U021a ] }; + key { [ p, P, section ] }; + key { [ s, S, U0219, U0218 ] }; + key { [ ibreve, Ibreve, j, J ] }; + key { [ m, M, trademark, masculine ] }; +}; + + +partial alphanumeric_keys +xkb_symbols "ergonomic" { + // This layout is optimized for fast touch-typing in Romanian on a + // US keyboard, and works by swapping out symbols infrequently used + // in written Romanian (q,w,y,k) in favor of native ones, thus reducing + // the need to use modifier keys. + // Created by Gabriel Somlo, (C) 2011 + + include "ro(basic)" + + name[Group1]="Romanian (ergonomic Touchtype)"; + + key { [ abreve, Abreve, q, Q ] }; + key { [ U0219, U0218, w, W ] }; + key { [ U021b, U021a, y, Y ] }; + key { [ a, A, acircumflex, Acircumflex ] }; + key { [ icircumflex, Icircumflex, k, K ] }; +}; + + +partial alphanumeric_keys +xkb_symbols "sun_type6" { + include "sun_vndr/ro(sun_type6)" +}; diff --git a/xkbdata/symbols/rs b/xkbdata/symbols/rs new file mode 100644 index 0000000..87ad38f --- /dev/null +++ b/xkbdata/symbols/rs @@ -0,0 +1,329 @@ +// Bosnian, Croatian, Serbian and Slovenian XKB keyboard mappings. +// +// Derived from "Danube" D.2 from 2003-05-12, +// which is available at http://srpski.org/dunav/. +// +// Original authors: +// Danilo Segan (Данило Шеган) +// Chusslove Illich (Часлав Илић) +// +// Danilo Segan : +// - Modified for inclusion in XFree86. +// - Further modifications on 2005-08-18 to support Bosnian, +// Croatian and Slovenian in xkeyboard-config. + +default partial alphanumeric_keys +xkb_symbols "basic" { + + name[Group1]= "Serbian"; + + include "rs(cyrlevel3)" + include "rs(common)" + include "rs(cyralpha)" + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "latin" { + + name[Group1]= "Serbian (Latin)"; + + include "latin(type3)" + include "rs(latalpha)" + include "rs(latlevel3)" + include "rs(common)" + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "yz" { + + include "rs(basic)" + name[Group1]= "Serbian (Cyrillic, ZE and ZHE swapped)"; + + key { [ Cyrillic_zhe, Cyrillic_ZHE ] }; // y + key { [ Cyrillic_ze, Cyrillic_ZE ] }; // z +}; + +hidden partial alphanumeric_keys +xkb_symbols "common" { + // "Common" keys: keys that are the same + // for both latin and cyrillic keyboards. + + key { [ grave, asciitilde ] }; + key { [ 1, exclam ] }; + key { [ 2, quotedbl ] }; + key { [ 3, numbersign ] }; + key { [ 4, dollar ] }; + key { [ 5, percent ] }; + key { [ 6, ampersand ] }; + key { [ 7, slash ] }; + key { [ 8, parenleft ] }; + key { [ 9, parenright ] }; + key { [ 0, equal ] }; + key { [ apostrophe, question ] }; + key { [ plus, asterisk ] }; + + key { [ comma, semicolon ] }; + key { [ period, colon ] }; + key { [ minus, underscore ] }; + + include "kpdl(comma)" +}; + +hidden partial alphanumeric_keys +xkb_symbols "cyralpha" { + + key { [ Cyrillic_lje, Cyrillic_LJE ] }; // q + key { [ Cyrillic_nje, Cyrillic_NJE ] }; // w + key { [ Cyrillic_ie, Cyrillic_IE ] }; // e + key { [ Cyrillic_er, Cyrillic_ER ] }; // r + key { [ Cyrillic_te, Cyrillic_TE ] }; // t + key { [ Cyrillic_ze, Cyrillic_ZE ] }; // y + key { [ Cyrillic_u, Cyrillic_U ] }; // u + key { [ Cyrillic_i, Cyrillic_I ] }; // i + key { [ Cyrillic_o, Cyrillic_O ] }; // o + key { [ Cyrillic_pe, Cyrillic_PE ] }; // p + key { [ Cyrillic_sha, Cyrillic_SHA ] }; // [ { + key { [ Serbian_dje, Serbian_DJE ] }; // ] } + + key { [ Cyrillic_a, Cyrillic_A ] }; // a + key { [ Cyrillic_es, Cyrillic_ES ] }; // s + key { [ Cyrillic_de, Cyrillic_DE ] }; // d + key { [ Cyrillic_ef, Cyrillic_EF ] }; // f + key { [ Cyrillic_ghe, Cyrillic_GHE ] }; // g + key { [ Cyrillic_ha, Cyrillic_HA ] }; // h + key { [ Cyrillic_je, Cyrillic_JE ] }; // j + key { [ Cyrillic_ka, Cyrillic_KA ] }; // k + key { [ Cyrillic_el, Cyrillic_EL ] }; // l + key { [ Cyrillic_che, Cyrillic_CHE ] }; // ; : + key { [ Serbian_tshe, Serbian_TSHE ] }; // ' " + key { [ Cyrillic_zhe, Cyrillic_ZHE ] }; // \ | + + key { [ Cyrillic_zhe, Cyrillic_ZHE ] }; // z + key { [ Cyrillic_dzhe, Cyrillic_DZHE ] }; // x + key { [ Cyrillic_tse, Cyrillic_TSE ] }; // c + key { [ Cyrillic_ve, Cyrillic_VE ] }; // v + key { [ Cyrillic_be, Cyrillic_BE ] }; // b + key { [ Cyrillic_en, Cyrillic_EN ] }; // n + key { [ Cyrillic_em, Cyrillic_EM ] }; // m +}; + + +hidden partial alphanumeric_keys +xkb_symbols "latalpha" { + + key { [ scaron, Scaron ] }; // [ { + key { [ dstroke, Dstroke ] }; // ] } + + key { [ ccaron, Ccaron ] }; // ; : + key { [ cacute, Cacute ] }; // ' " + key { [ zcaron, Zcaron ] }; // \ | +}; + +hidden partial alphanumeric_keys +xkb_symbols "twoletter" { + + // Letters which are written in latin transcription with two characters. + key { type[Group1] = "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC", + [ U1C9, U1C8, any, U1C7 ] }; // q + key { type[Group1] = "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC", + [ U1CC, U1CB, any, U1CA ] }; // w + key { type[Group1] = "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC", + [ U1C6, U1C5, any, U1C4 ] }; // x + + // Also replace letter Y with Zcaron, since Y is of no use any longer. + key { [ zcaron, Zcaron ] }; // z +}; + +hidden partial alphanumeric_keys +xkb_symbols "latlevel3" { + key { [ any, any, notsign, notsign ] }; // ` ~ + key { [ any, any, dead_tilde, asciitilde ] }; // 1 ! + key { [ any, any, dead_caron, caron ] }; // 2 @ + key { [ any, any, dead_circumflex, asciicircum ] }; // 3 # + key { [ any, any, dead_breve, breve ] }; // 4 $ + key { [ any, any, dead_abovering, degree ] }; // 5 % + key { [ any, any, dead_ogonek, ogonek ] }; // 6 ^ + key { [ any, any, dead_grave, grave ] }; // 7 & + key { [ any, any, dead_abovedot, abovedot ] }; // 8 * + key { [ any, any, dead_acute, apostrophe ] }; // 9 ( + key { [ any, any, dead_doubleacute, doubleacute ] }; // 0 ) + key { [ any, any, dead_diaeresis, diaeresis ] }; // - _ + key { [ any, any, dead_cedilla, cedilla ] }; // = + + + key { [ any, any, backslash, Greek_OMEGA ] }; // q + key { [ any, any, bar, Lstroke ] }; // w + key { [ any, any, EuroSign, EuroSign ] }; // e + key { [ any, any, paragraph, registered ] }; // r + key { type[Group1] = "FOUR_LEVEL_ALPHABETIC", + [ any, any, tslash, Tslash ] }; // t + key { [ any, any, leftarrow, yen ] }; // y + key { [ any, any, downarrow, uparrow ] }; // u + key { [ any, any, rightarrow, idotless ] }; // i + key { type[Group1] = "FOUR_LEVEL_ALPHABETIC", + [ any, any, oslash, Ooblique ] }; // o + key { type[Group1] = "FOUR_LEVEL_ALPHABETIC", + [ any, any, thorn, THORN ] }; // p + key { [ any, any, division, dead_abovering ] }; // [ + key { [ any, any, multiply, dead_macron ] }; // ] + + key { type[Group1] = "FOUR_LEVEL_ALPHABETIC", + [ any, any, ae, AE ] }; // a + key { [ any, any, doublelowquotemark, guillemotright ] }; // s + key { [ any, any, leftdoublequotemark, guillemotleft ] }; // d + key { [ any, any, bracketleft, ordfeminine ] }; // f + key { [ any, any, bracketright, ENG ] }; // g + key { type[Group1] = "FOUR_LEVEL_ALPHABETIC", + [ any, any, hstroke, Hstroke ] }; // h + key { [ any, any, lstroke, ampersand ] }; // k + key { [ any, any, lstroke, Lstroke ] }; // l + key { [ any, any, dead_acute, dead_doubleacute ] }; // ; + key { [ any, any, ssharp, dead_caron ] }; // ' + key { [ any, any, currency, dead_breve ] }; // \ + + key { [ any, any, leftsinglequotemark, guillemotright ] }; // z + key { [ any, any, rightsinglequotemark,guillemotleft ] }; // x + key { [ any, any, cent, copyright ] }; // c + key { [ any, any, at, grave ] }; // v + key { [ any, any, braceleft, apostrophe ] }; // b + key { [ any, any, braceright, braceright ] }; // n + key { [ any, any, section, masculine ] }; // m + key { [ any, any, less, multiply ] }; // , < + key { [ any, any, greater, division ] }; // . > + key { [ any, any, emdash, endash ] }; // / ? +}; + +hidden partial alphanumeric_keys +xkb_symbols "cyrlevel3" { + key { [ any, any, degree, notsign ] }; // ` ~ + key { [ any, any, dead_circumflex ] }; // 3 # + key { [ any, any, dead_grave ] }; // 7 & + key { [ any, any, dead_doublegrave ] }; // 8 * + key { [ any, any, dead_acute ] }; // 9 ( + key { [ any, any, dead_invertedbreve ] }; // 0 ) + key { [ any, any, dead_macron ] }; // - _ + + key { [ any, any, backslash ] }; // q + key { [ any, any, bar ] }; // w + key { [ any, any, EuroSign, sterling ] }; // e + key { [ any, any, paragraph, registered ] }; // r + key { [ any, any, ellipsis ] }; // t + key { [ any, any, leftarrow, yen ] }; // y + key { [ any, any, downarrow, uparrow ] }; // u + key { [ any, any, rightarrow ] }; // i + key { [ any, any, section ] }; // o + key { [ any, any, division ] }; // [ + key { [ any, any, multiply ] }; // ] + + key { [ any, any, doublelowquotemark, guillemotright ] }; // s + key { [ any, any, leftdoublequotemark, guillemotleft ] }; // d + key { [ any, any, bracketleft ] }; // f + key { [ any, any, bracketright ] }; // g + key { [ any, any, currency ] }; // \ + + key { [ any, any, leftsinglequotemark ] }; // z + key { [ any, any, rightsinglequotemark ] }; // x + key { [ any, any, cent, copyright ] }; // c + key { [ any, any, at ] }; // v + key { [ any, any, braceleft ] }; // b + key { [ any, any, braceright ] }; // n + key { [ any, any, asciicircum ] }; // m + key { [ any, any, less ] }; // , < + key { [ any, any, greater ] }; // . > + key { [ any, any, emdash, endash ] }; // / ? +}; + +partial alphanumeric_keys +xkb_symbols "latinunicode" { + // This mapping supports the Unicode characters 0x1c4-0x1cc (dz, lj, and nj + // as single character). You get the title form with AltGr+Shift. + + include "rs(latin)" + name[Group1]= "Serbian (Latin, Unicode)"; + + include "rs(twoletter)" +}; + +partial alphanumeric_keys +xkb_symbols "latinyz" { + // For those who insist on using "english-position" Z and Y. + + include "rs(latin)" + name[Group1]= "Serbian (Latin, QWERTY)"; + + key { [ y, Y ] }; // y + key { [ z, Z ] }; // z +}; + +partial alphanumeric_keys +xkb_symbols "latinunicodeyz" { + // Unicode, ZHE and Z swapped. + + include "rs(latinunicode)" + name[Group1]= "Serbian (Latin, Unicode, QWERTY)"; + + key { [ zcaron, Zcaron ] }; // y + key { [ z, Z ] }; // z +}; + +xkb_symbols "alternatequotes" { + // Another acceptable »pair of quotes« for Serbian. + + include "rs(basic)" + name[Group1]= "Serbian (Cyrillic, with guillemets)"; + + key { [ any, any, guillemotright ] }; // s + key { [ any, any, guillemotleft ] }; // d +}; + +xkb_symbols "latinalternatequotes" { + // Another acceptable »pair of quotes« for Serbian. + + include "rs(latin)" + name[Group1]= "Serbian (Latin, with guillemets)"; + + key { [ any, any, guillemotright ] }; // s + key { [ any, any, guillemotleft ] }; // d +}; + +xkb_symbols "rue" { + // Layout for Pannonian Rusyn (spoken mainly in Serbia and Croatia + // by the Rusyn people), based on Serbian Cyrillic layout. + // Authors: + // Ljubomir J. Papuga (Любомир Я. Папуґа) + // Mihajlo Hornjak + + include "rs(basic)" + name[Group1]= "Pannonian Rusyn"; + + key { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; // ` + + key { [ Cyrillic_ya, Cyrillic_YA ] }; // q + key { [ Ukrainian_ie, Ukrainian_IE ] }; // w + key { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; // ] + + key { [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] }; // g + key { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; // j + key { [ Cyrillic_ghe, Cyrillic_GHE ] }; // ' + + key { [ Cyrillic_yu, Cyrillic_YU ] }; // z + key { [ Ukrainian_yi, Ukrainian_YI ] }; // x +}; + +// EXTRAS: + +xkb_symbols "combiningkeys" { + // Raw combining characters instead of dead keys, + // especially good for post-accenting texts. + + include "rs(basic)" + name[Group1]= "Serbian (combining accents instead of dead keys)"; + + key { [ any, any, U0302, dead_circumflex ] }; // 3, U0302 = COMBINING CIRCUMFLEX ACCENT + key { [ any, any, U0300 ] }; // 7, U0300 = COMBINING GRAVE ACCENT + key { [ any, any, U030F ] }; // 8, U030F = COMBINING DOUBLE GRAVE ACCENT + key { [ any, any, U0301 ] }; // 9, U0301 = COMBINING ACUTE ACCENT + key { [ any, any, U0311 ] }; // 0, U0311 = COMBINING INVERTED BREVE + key { [ any, any, U0304 ] }; // -, U0304 = COMBINING MACRON +}; diff --git a/xkbdata/symbols/ru b/xkbdata/symbols/ru new file mode 100644 index 0000000..bc9a885 --- /dev/null +++ b/xkbdata/symbols/ru @@ -0,0 +1,1108 @@ +// Keyboard layouts for Russia. +// AEN +// 2001/12/23 by Leon Kanter +// 2005/12/09 Valery Inozemtsev +// 2018/07/15 @a13 (a.k.a. @dbvvmpg) and Stepanenko Andrey + +// Windows layout +default partial alphanumeric_keys +xkb_symbols "winkeys" { + + include "ru(common)" + name[Group1]= "Russian"; + + key { [ 3, numerosign ] }; + key { [ 4, semicolon ] }; + key { [ 5, percent ] }; + key { [ 6, colon ] }; + key { [ 7, question ] }; + key { [ 8, asterisk, U20BD ] }; + + key { [ period, comma ] }; + key { [ backslash, slash ] }; +}; + +hidden partial alphanumeric_keys +xkb_symbols "common" { + + key { [ 1, exclam ] }; + key { [ 2, quotedbl ] }; + key { [ 3, numbersign ] }; + key { [ 4, asterisk ] }; + key { [ 5, colon ] }; + key { [ 6, comma ] }; + key { [ 7, period ] }; + key { [ 8, semicolon ] }; + key { [ 9, parenleft ] }; + key { [ 0, parenright ] }; + key { [ minus, underscore ] }; + key { [ equal, plus ] }; + key { [ backslash, bar ] }; + + key { [ slash, question ] }; + key { [ slash, bar ] }; + + key { [ Cyrillic_io, Cyrillic_IO ] }; + key { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; + key { [ Cyrillic_tse, Cyrillic_TSE ] }; + key { [ Cyrillic_u, Cyrillic_U ] }; + key { [ Cyrillic_ka, Cyrillic_KA ] }; + key { [ Cyrillic_ie, Cyrillic_IE ] }; + key { [ Cyrillic_en, Cyrillic_EN ] }; + key { [ Cyrillic_ghe, Cyrillic_GHE ] }; + key { [ Cyrillic_sha, Cyrillic_SHA ] }; + key { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; + key { [ Cyrillic_ze, Cyrillic_ZE ] }; + key { [ Cyrillic_ha, Cyrillic_HA ] }; + key { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; + + key { [ Cyrillic_ef, Cyrillic_EF ] }; + key { [ Cyrillic_yeru, Cyrillic_YERU ] }; + key { [ Cyrillic_ve, Cyrillic_VE ] }; + key { [ Cyrillic_a, Cyrillic_A ] }; + key { [ Cyrillic_pe, Cyrillic_PE ] }; + key { [ Cyrillic_er, Cyrillic_ER ] }; + key { [ Cyrillic_o, Cyrillic_O ] }; + key { [ Cyrillic_el, Cyrillic_EL ] }; + key { [ Cyrillic_de, Cyrillic_DE ] }; + key { [ Cyrillic_zhe, Cyrillic_ZHE ] }; + key { [ Cyrillic_e, Cyrillic_E ] }; + + key { [ Cyrillic_ya, Cyrillic_YA ] }; + key { [ Cyrillic_che, Cyrillic_CHE ] }; + key { [ Cyrillic_es, Cyrillic_ES ] }; + key { [ Cyrillic_em, Cyrillic_EM ] }; + key { [ Cyrillic_i, Cyrillic_I ] }; + key { [ Cyrillic_te, Cyrillic_TE ] }; + key { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; + key { [ Cyrillic_be, Cyrillic_BE ] }; + key { [ Cyrillic_yu, Cyrillic_YU ] }; + + include "kpdl(comma)" +}; + +partial alphanumeric_keys +xkb_symbols "legacy" { + + include "ru(common)" + name[Group1]= "Russian (legacy)"; +}; + +partial alphanumeric_keys +xkb_symbols "olpc" { + + include "ru(common)" + + key { [ 0x01000451, 0x01000401, grave ] }; // Ñ‘, Ð + key { [ 3, numbersign, 0x01002116 ] }; // â„– + key { [ 4, dollar, semicolon ] }; + key { [ 6, asciicircum, colon ] }; + key { [ 7, ampersand ] }; + key { [ 9, parenleft, acute ] }; + key { [ backslash, bar, slash ] }; + + include "group(olpc)" +}; + +partial alphanumeric_keys +xkb_symbols "typewriter" { + + include "ru(common)" + name[Group1]= "Russian (typewriter)"; + + key { [ bar, plus ] }; + key { [ numerosign, 1 ] }; + key { [ minus, 2 ] }; + key { [ slash, 3 ] }; + key { [ quotedbl, 4 ] }; + key { [ colon, 5 ] }; + key { [ comma, 6 ] }; + key { [ period, 7 ] }; + key { [ underscore, 8 ] }; + key { [ question, 9 ] }; + key { [ percent, 0 ] }; + key { [ exclam, equal ] }; + key { [ semicolon, backslash ] }; + + key { [ parenright, parenleft ] }; + + key { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; + key { [ Cyrillic_io, Cyrillic_IO ] }; +}; + +partial alphanumeric_keys +xkb_symbols "typewriter-legacy" { + + include "ru(common)" + name[Group1]= "Russian (typewriter, legacy)"; + + key { [ apostrophe, quotedbl ] }; + key { [ exclam, 1 ] }; + key { [ numerosign, 2 ] }; + key { [ slash, 3 ] }; + key { [ semicolon, 4 ] }; + key { [ colon, 5 ] }; + key { [ comma, 6 ] }; + key { [ period, 7 ] }; + key { [ underscore, 8 ] }; + key { [ question, 9 ] }; + key { [ percent, 0 ] }; + + key { [ parenleft, parenright ] }; + + key { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; + key { [ Cyrillic_io, Cyrillic_IO ] }; +}; + +partial alphanumeric_keys +xkb_symbols "gost-6431-75-48" { + + include "ru(typewriter)" + name[Group1]= "Russian (GOST 6431-75)"; + + key { [ section, asciitilde ] }; + key { [ parenleft, 1 ] }; + key { [ parenright, 2 ] }; + key { [ minus, 3 ] }; + key { [ slash, 4 ] }; + key { [ quotedbl, 5 ] }; + key { [ colon, 6 ] }; + key { [ comma, 7 ] }; + key { [ period, 8 ] }; + key { [ underscore, 9 ] }; + key { [ question, 0 ] }; + key { [ percent, plus ] }; + key { [ exclam, equal ] }; + + key { [ semicolon, numerosign ] }; + + key { [ emdash, endash ] }; +}; + +partial alphanumeric_keys +xkb_symbols "gost-14289-88" { + + include "ru(typewriter)" + name[Group1]= "Russian (GOST 14289-88)"; + + key { [ backslash, asterisk, asciitilde, section ] }; + key { [ parenleft, 1, less, guillemotleft ] }; + key { [ parenright, 2, at, guillemotright ] }; + key { [ minus, 3, numbersign, numerosign ] }; + key { [ slash, 4, U20BD, dollar ] }; // ruble + key { [ quotedbl, 5, greater ] }; + key { [ colon, 6, asciicircum ] }; + key { [ comma, 7, ampersand ] }; + key { [ period, 8, apostrophe, dead_acute ] }; + key { [ underscore, 9, braceleft, U201E ] }; + key { [ question, 0, braceright, U201F ] }; + key { [ percent, plus, bracketleft, plusminus ] }; + key { [ exclam, equal, bracketright ] }; + + key { [ semicolon, bar, grave ] }; + + key { [ emdash, endash ] }; +}; + +partial alphanumeric_keys +xkb_symbols "phonetic" { + + name[Group1]= "Russian (phonetic)"; + + key { [ 1, exclam ] }; + key { [ 2, at ] }; + key { [ 3, Cyrillic_io ] }; + key { [ 4, Cyrillic_IO ] }; + key { [ 5, Cyrillic_hardsign ] }; + key { [ 6, Cyrillic_HARDSIGN ] }; + key { [ 7, ampersand ] }; + key { [ 8, asterisk ] }; + key { [ 9, parenleft ] }; + key { [ 0, parenright ] }; + key { [ minus, underscore ] }; + + key { [ period, greater ] }; + key { [ slash, question ] }; + key { [ comma, less ] }; + key { [ semicolon, colon ] }; + key { [ apostrophe, quotedbl ] }; + key { [ bar, brokenbar ] }; + + key { [ Cyrillic_yu, Cyrillic_YU ] }; + key { [ Cyrillic_ya, Cyrillic_YA ] }; + key { [ Cyrillic_ze, Cyrillic_ZE ] }; + key { [ Cyrillic_es, Cyrillic_ES ] }; + key { [ Cyrillic_a, Cyrillic_A ] }; + key { [ Cyrillic_ve, Cyrillic_VE ] }; + key { [ Cyrillic_tse, Cyrillic_TSE ] }; + key { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; + key { [ Cyrillic_de, Cyrillic_DE ] }; + key { [ Cyrillic_ie, Cyrillic_IE ] }; + key { [ Cyrillic_zhe, Cyrillic_ZHE ] }; + key { [ Cyrillic_ef, Cyrillic_EF ] }; + key { [ Cyrillic_te, Cyrillic_TE ] }; + key { [ Cyrillic_er, Cyrillic_ER ] }; + key { [ Cyrillic_en, Cyrillic_EN ] }; + key { [ Cyrillic_be, Cyrillic_BE ] }; + key { [ Cyrillic_ha, Cyrillic_HA ] }; + key { [ Cyrillic_ghe, Cyrillic_GHE ] }; + key { [ Cyrillic_yeru, Cyrillic_YERU ] }; + key { [ Cyrillic_em, Cyrillic_EM ] }; + key { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; + key { [ Cyrillic_u, Cyrillic_U ] }; + key { [ Cyrillic_ka, Cyrillic_KA ] }; + key { [ Cyrillic_i, Cyrillic_I ] }; + key { [ Cyrillic_o, Cyrillic_O ] }; + key { [ Cyrillic_el, Cyrillic_EL ] }; + key { [ Cyrillic_pe, Cyrillic_PE ] }; + + key { [ Cyrillic_sha, Cyrillic_SHA ] }; + key { [ Cyrillic_che, Cyrillic_CHE ] }; + key { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; + key { [ Cyrillic_e, Cyrillic_E ] }; +}; + +partial alphanumeric_keys +xkb_symbols "phonetic_winkeys" { + + include "ru(phonetic)" + name[Group1]= "Russian (phonetic, Windows)"; + + key { [ Cyrillic_ha, Cyrillic_HA ] }; + key { [ Cyrillic_che, Cyrillic_CHE ] }; + key { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; +}; + +partial alphanumeric_keys +xkb_symbols "phonetic_YAZHERTY" { + include "ru(phonetic_winkeys)" + name[Group1]= "Russian (phonetic, YAZHERTY)"; + key { [ Cyrillic_zhe, Cyrillic_ZHE ] }; + key { [ Cyrillic_ve, Cyrillic_VE ] }; +}; + + +partial alphanumeric_keys +xkb_symbols "tt" { + + include "ru(winkeys)" + name[Group1]= "Tatar"; + + key.type[group1]="FOUR_LEVEL"; + + key { [ Cyrillic_shha, Cyrillic_SHHA, Cyrillic_io, Cyrillic_IO ] }; + key { [ Cyrillic_o_bar, Cyrillic_O_bar, Cyrillic_tse, Cyrillic_TSE ] }; + key { [ Cyrillic_schwa, Cyrillic_SCHWA, Cyrillic_shcha, Cyrillic_SHCHA ] }; + key { [ Cyrillic_u_straight, Cyrillic_U_straight, Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; + key { [ Cyrillic_en_descender, Cyrillic_EN_descender, Cyrillic_zhe, Cyrillic_ZHE ] }; + key { [ Cyrillic_zhe_descender, Cyrillic_ZHE_descender, Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "os_legacy" { + + include "ru(common)" + name[Group1]= "Ossetian (legacy)"; + + key { [ Cyrillic_e, Cyrillic_E ] }; + key { [ Cyrillic_o, Cyrillic_O, Cyrillic_io, Cyrillic_IO ] }; + key { [ 0x010004D5, 0x010004D4 ] }; +}; + +partial alphanumeric_keys +xkb_symbols "os_winkeys" { + + include "ru(winkeys)" + name[Group1]= "Ossetian (Windows)"; + + key { [ Cyrillic_e, Cyrillic_E ] }; + key { [ Cyrillic_o, Cyrillic_O, Cyrillic_io, Cyrillic_IO ] }; + key { [ 0x010004D5, 0x010004D4 ] }; +}; + +partial alphanumeric_keys +xkb_symbols "cv" { + + include "ru(winkeys)" + name[Group1]= "Chuvash"; + + key.type[group1]="FOUR_LEVEL"; + + key { [ Cyrillic_u, Cyrillic_U, 0x010004f3, 0x010004f2 ] }; + key { [ Cyrillic_ie, Cyrillic_IE, 0x010004d7, 0x010004d6 ] }; + key { [ Cyrillic_a, Cyrillic_A, 0x010004d1, 0x010004d0 ] }; + key { [ Cyrillic_es, Cyrillic_ES, 0x010004ab, 0x010004aa ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "udm" { + + include "ru(winkeys)" + name[Group1]= "Udmurt"; + + key.type[group1]="FOUR_LEVEL"; + + key { [ question, exclam, 1, 1 ] }; + key { [ parenleft, quotedbl, 2, 2 ] }; + key { [ parenright, numerosign, 3, 3 ] }; + key { [ colon, semicolon, 4, 4 ] }; + key { [ asterisk, percent, 5, 5 ] }; + key { [ 0x010004dd, 0x010004dc, 6, 6 ] }; + key { [ 0x010004e7, 0x010004e6, 7, 7 ] }; + key { [ 0x010004f5, 0x010004f4, 8, 8 ] }; + key { [ 0x010004e5, 0x010004e4, 9, 9 ] }; + key { [ 0x010004df, 0x010004de, 0, 0 ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "cv_latin" { + + include "us(alt-intl)" + name[Group1]= "Chuvash (Latin)"; + + key.type[group1]="FOUR_LEVEL"; + + key { [ q, Q, 0x01000161, 0x01000160 ] }; + key { [ w, W, udiaeresis, Udiaeresis ] }; + key { [ e, E, 0x01000115, 0x01000114 ] }; + key { [ u, U, udiaeresis, Udiaeresis ] }; + key { [ i, I, 0x0100012d, 0x0100012c ] }; + key { [ o, O, odiaeresis, Odiaeresis ] }; + key { [ a, A, abreve, Abreve ] }; + key { [ s, S, scedilla, Scedilla ] }; + key { [ g, G, gbreve, Gbreve ] }; + key { [ j, J, 0x01000131, 0x01000130 ] }; + key { [ c, C, ccedilla, Ccedilla ] }; + + include "level3(ralt_switch)" +}; + +// Komi language layout +// Vlad Shakhov +// last changes 2007/10/23 +partial alphanumeric_keys +xkb_symbols "kom" { + + include "ru(winkeys)" + name[Group1]= "Komi"; + + key.type[group1]="FOUR_LEVEL_ALPHABETIC"; + + // cyrilllic o with diaeresis + key { [ Cyrillic_o, Cyrillic_O, U04E7, U04E6 ] }; + + // hard I as additional key for soft Cyrillic_I + key { [ Cyrillic_i, Cyrillic_I, Ukrainian_i, Ukrainian_I ] }; + + include "level3(ralt_switch)" +}; + +// Yakut language layout +// 2008/04/23 Yakov Aleksandrov +// 2008/04/23 Anatoliy Zhozhikov +// 2008/04/23 Aleksandr Varlamov +partial alphanumeric_keys +xkb_symbols "sah" { + + include "ru(winkeys)" + name[Group1]= "Yakut"; + + key.type[group1]="FOUR_LEVEL_ALPHABETIC"; + + key { [ Cyrillic_io, Cyrillic_IO, U04EB, U04EA ] }; + key { [ Cyrillic_shorti, Cyrillic_SHORTI, U048B, U048A ] }; + key { [ Cyrillic_u, Cyrillic_U, Cyrillic_u_straight, Cyrillic_U_straight ] }; + key { [ Cyrillic_ka, Cyrillic_KA, U04C4, U04C3 ] }; + key { [ Cyrillic_en, Cyrillic_EN, U04A5, U04A4 ] }; + key { [ Cyrillic_ghe, Cyrillic_GHE, U0495, U0494 ] }; + key { [ Cyrillic_ze, Cyrillic_ZE, U04E1, U04E0 ] }; + key { [ Cyrillic_ha, Cyrillic_HA, Cyrillic_shha, Cyrillic_SHHA ] }; + key { [ Cyrillic_o, Cyrillic_O, Cyrillic_o_bar, Cyrillic_O_bar ] }; + key { [ Cyrillic_zhe, Cyrillic_ZHE, U0461, U0460 ] }; + key { [ Cyrillic_che, Cyrillic_CHE, Cyrillic_u_macron, Cyrillic_U_macron ] }; + key { [ Cyrillic_em, Cyrillic_EM, U04C8, U04C7 ] }; + key { [ Cyrillic_i, Cyrillic_I, Cyrillic_i_macron, Cyrillic_I_macron ] }; + + include "level3(ralt_switch)" +}; + + +//Kalmyk language layout +//based on the Kalmyk language layout: http://soft.oyrat.org/ +//Nikolay Korneev +//Toli Miron +partial alphanumeric_keys +xkb_symbols "xal" { + + include "ru(winkeys)" + name[Group1]= "Kalmyk"; + + key.type[group1]="FOUR_LEVEL"; + + key { [ question, exclam, 1 ] }; + key { [ numerosign, quotedbl, 2 ] }; + key { [ Cyrillic_u_straight, Cyrillic_U_straight, 3 ] }; + key { [ Cyrillic_schwa, Cyrillic_SCHWA, 4 ] }; + key { [ asterisk, percent, 5 ] }; + key { [ Cyrillic_en_descender, Cyrillic_EN_descender, 6 ] }; + key { [ Cyrillic_o_bar, Cyrillic_O_bar, 7 ] }; + key { [ Cyrillic_shha, Cyrillic_SHHA, 8 ] }; + key { [ Cyrillic_zhe_descender, Cyrillic_ZHE_descender, 9 ] }; + key { [ semicolon, colon, 0 ] }; + + key { [ parenleft, parenright, Cyrillic_io, Cyrillic_IO ] }; + + key { [ Cyrillic_tse, Cyrillic_TSE, dollar ] }; + key { [ Cyrillic_u, Cyrillic_U, EuroSign ] }; + key { [ Cyrillic_ka, Cyrillic_KA, registered ] }; + key { [ Cyrillic_ie, Cyrillic_IE, trademark ] }; + key { [ Cyrillic_ha, Cyrillic_HA, bracketleft ] }; + key { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, bracketright ] }; + key { [ Cyrillic_e, Cyrillic_E, apostrophe ] }; + key { [ Cyrillic_es, Cyrillic_ES, copyright ] }; + key { [ Cyrillic_be, Cyrillic_BE, less ] }; + key { [ Cyrillic_yu, Cyrillic_YU, greater ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "dos" { + + include "ru(common)" + name[Group1]= "Russian (DOS)"; + + key { [ parenright, parenleft ] }; + key { [ 4, currency ] }; + key { [ 9, question ] }; + key { [ 0, percent ] }; + + key { [ Cyrillic_io, Cyrillic_IO ] }; +}; + +partial alphanumeric_keys +xkb_symbols "bak" { + + include "ru(winkeys)" + name[Group1]= "Bashkirian"; + + key.type[group1]="FOUR_LEVEL"; + + key { [ Cyrillic_schwa, Cyrillic_SCHWA, Cyrillic_io, Cyrillic_IO ] }; + key { [ exclam, quotedbl, 1, 1 ] }; + key { [ Cyrillic_o_bar, Cyrillic_O_bar, 2, 2 ] }; + key { [ 0x010004a1, 0x010004a0, 3, 3 ] }; + key { [ Cyrillic_ghe_bar, Cyrillic_GHE_bar, 4, 4 ] }; + key { [ 0x010004ab, 0x010004aa, 5, 5 ] }; + key { [ colon, semicolon, 6, 6 ] }; + key { [ 0x01000499, 0x01000498, 7, 7 ] }; + key { [ Cyrillic_shha, Cyrillic_SHHA, 8, 8 ] }; + key { [ question, parenleft, 9, 9 ] }; + key { [ numerosign, parenright, 0, 0 ] }; + key { [ minus, percent, minus, underscore ] }; + key { [ Cyrillic_u_straight, Cyrillic_U_straight, equal, plus ] }; + key { [ Cyrillic_en_descender, Cyrillic_EN_descender, backslash, slash ] }; + + include "level3(ralt_switch)" +}; + +// Serbian characters are added as third-level symbols to Russian keyboard layout. +partial alphanumeric_keys +xkb_symbols "srp" { + + include "ru(common)" + name[Group1]= "Serbian (Russia)"; + + key { [ 3, numerosign ] }; + key { [ 4, semicolon ] }; + key { [ 5, percent ] }; + key { [ 6, colon ] }; + key { [ 7, question ] }; + key { [ 8, asterisk ] }; + key { [ period, comma ] }; + key { [ backslash, slash ] }; + key { [ Cyrillic_shorti, Cyrillic_SHORTI, U458, U408 ] }; + key { [ Cyrillic_en, Cyrillic_EN, U45A, U40A ] }; + key { [ Cyrillic_el, Cyrillic_EL, U459, U409 ] }; + key { [ Cyrillic_de, Cyrillic_DE, U45F, U40F ] }; + key { [ Cyrillic_zhe, Cyrillic_ZHE, U452, U402 ] }; + key { [ Cyrillic_che, Cyrillic_CHE, U45B, U40B ] }; + + include "level3(ralt_switch)" +}; + +// Mari language layout +// http://www.marlamuter.com/ +// Last edit by Viatcheslav Kileev (slavakileev@yandex.ru) +partial alphanumeric_keys +xkb_symbols "chm" { + + include "ru(winkeys)" + name[Group1]= "Mari"; + + key.type[group1]="FOUR_LEVEL_ALPHABETIC"; + + key { [ Cyrillic_a, Cyrillic_A, U04D3, U04D2 ] }; + key { [ Cyrillic_u, Cyrillic_U, U04F1, U04F0 ] }; + key { [ Cyrillic_yeru, Cyrillic_YERU, U04F9, U04F8 ] }; + key { [ Cyrillic_en, Cyrillic_EN, U04A5, U04A4 ] }; + key { [ Cyrillic_o, Cyrillic_O, U04E7, U04E6 ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "phonetic_azerty" { + + include "level3(ralt_switch)" + + name[Group1]= "Russian (phonetic, AZERTY)"; + + key { [ ampersand, 1, onesuperior, exclamdown ] }; + key { [ eacute, 2, asciitilde, oneeighth ] }; + key { [ quotedbl, 3, numbersign, sterling ] }; + key { [apostrophe, 4, braceleft, dollar ] }; + key { [ parenleft, 5, bracketleft, threeeighths ] }; + key { [ minus, 6, bar, fiveeighths ] }; + key { [ egrave, 7, grave, seveneighths ] }; + key { [underscore, 8, backslash, trademark ] }; + key { [ ccedilla, 9, asciicircum, plusminus ] }; + key { [ agrave, 0, at, degree ] }; + key { [parenright, degree, bracketright, questiondown ] }; + key { [ equal, plus, braceright, dead_ogonek ] }; + + key { [ comma, question, acute, doubleacute ] }; + key { [ semicolon, period, U2022, multiply ] }; // bullet + key { [ colon, slash, periodcentered, division ] }; + key { [ exclam, section, dead_belowdot, dead_abovedot ] }; + + key { [ ugrave, percent, asciicircum, caron ] }; + key { [ bar, brokenbar ] }; + + key { [ Cyrillic_yu, Cyrillic_YU ] }; + key { [ Cyrillic_ya, Cyrillic_YA ] }; // Q + key { [ Cyrillic_ze, Cyrillic_ZE ] }; // Z + key { [ Cyrillic_es, Cyrillic_ES ] }; + key { [ Cyrillic_a, Cyrillic_A ] }; + key { [ Cyrillic_ve, Cyrillic_VE ] }; // W + key { [ Cyrillic_tse, Cyrillic_TSE ] }; + key { [Cyrillic_softsign,Cyrillic_SOFTSIGN ] }; + key { [ Cyrillic_de, Cyrillic_DE ] }; + key { [ Cyrillic_ie, Cyrillic_IE ] }; + key { [ Cyrillic_zhe, Cyrillic_ZHE ] }; + key { [ Cyrillic_ef, Cyrillic_EF ] }; + key { [ Cyrillic_te, Cyrillic_TE ] }; + key { [ Cyrillic_er, Cyrillic_ER ] }; + key { [ Cyrillic_en, Cyrillic_EN ] }; + key { [ Cyrillic_be, Cyrillic_BE ] }; + key { [ Cyrillic_ha, Cyrillic_HA ] }; + key { [ Cyrillic_ghe, Cyrillic_GHE ] }; + key { [ Cyrillic_yeru, Cyrillic_YERU ] }; + key { [ Cyrillic_em, Cyrillic_EM ] }; // M + key { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; + key { [ Cyrillic_u, Cyrillic_U ] }; + key { [ Cyrillic_ka, Cyrillic_KA ] }; + key { [ Cyrillic_i, Cyrillic_I ] }; + key { [ Cyrillic_o, Cyrillic_O ] }; + key { [ Cyrillic_el, Cyrillic_EL ] }; + key { [ Cyrillic_pe, Cyrillic_PE ] }; + + key { [ Cyrillic_sha, Cyrillic_SHA ] }; + key { [ Cyrillic_che, Cyrillic_CHE ] }; + key { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; + key { [ Cyrillic_e, Cyrillic_E ] }; +}; + +// Russian dvorak phonetic layout +// Oleg Zalizniak +partial alphanumeric_keys +xkb_symbols "phonetic_dvorak" { + include "level3(ralt_switch)" + + name[Group1]= "Russian (phonetic, Dvorak)"; + + key { [ Cyrillic_yu, Cyrillic_YU ] }; + + key { [ 1, exclam ] }; + key { [ 2, at ] }; + key { [ 3, Cyrillic_io ] }; + key { [ 4, Cyrillic_IO ] }; + key { [ 5, Cyrillic_hardsign ] }; + key { [ 6, Cyrillic_HARDSIGN ] }; + key { [ 7, ampersand ] }; + key { [ 8, asterisk ] }; + key { [ 9, parenleft ] }; + key { [ 0, parenright ] }; + key { [ Cyrillic_sha, Cyrillic_SHA ] }; + key { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; + key { [ Cyrillic_e, Cyrillic_E ] }; + + key { [ apostrophe, quotedbl, dead_acute, dead_diaeresis ] }; + key { [ comma, less, dead_cedilla, dead_caron ] }; + key { [ period, greater, dead_abovedot, periodcentered ] }; + key { [ Cyrillic_pe, Cyrillic_PE ] }; + key { [ Cyrillic_yeru, Cyrillic_YERU ] }; + key { [ Cyrillic_ef, Cyrillic_EF ] }; + key { [ Cyrillic_ghe, Cyrillic_GHE ] }; + key { [ Cyrillic_tse, Cyrillic_TSE ] }; + key { [ Cyrillic_er, Cyrillic_ER ] }; + key { [ Cyrillic_el, Cyrillic_EL ] }; + key { [ slash, question ] }; + key { [ Cyrillic_che, Cyrillic_CHE ] }; + + key { [ Cyrillic_a, Cyrillic_A ] }; + key { [ Cyrillic_o, Cyrillic_O ] }; + key { [ Cyrillic_ie, Cyrillic_IE ] }; + key { [ Cyrillic_u, Cyrillic_U ] }; + key { [ Cyrillic_i, Cyrillic_I ] }; + key { [ Cyrillic_de, Cyrillic_DE ] }; + key { [ Cyrillic_ha, Cyrillic_HA ] }; + key { [ Cyrillic_te, Cyrillic_TE ] }; + key { [ Cyrillic_en, Cyrillic_EN ] }; + key { [ Cyrillic_es, Cyrillic_ES ] }; + key { [ minus, underscore ] }; + + key { [ semicolon, colon, dead_ogonek, dead_doubleacute ] }; + key { [ Cyrillic_ya, Cyrillic_YA ] }; + key { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; + key { [ Cyrillic_ka, Cyrillic_KA ] }; + key { [Cyrillic_softsign,Cyrillic_SOFTSIGN ] }; + key { [ Cyrillic_be, Cyrillic_BE ] }; + key { [ Cyrillic_em, Cyrillic_EM ] }; + key { [ Cyrillic_ve, Cyrillic_VE ] }; + key { [ Cyrillic_zhe, Cyrillic_ZHE ] }; + key { [ Cyrillic_ze, Cyrillic_ZE ] }; +}; + +partial alphanumeric_keys +xkb_symbols "phonetic_fr" { + + include "fr" + include "ru(phonetic_azerty)" + + name[Group1]= "Russian (phonetic, French)"; +}; + +// EXTRAS: + +// Rulemak, Colemak based Russian phonetic layout +// contact: Geert Hendrickx +// http://forum.colemak.com/viewtopic.php?id=519 +// +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓ +// │ Ё ``│ ! ˝ │ @ │ № │ $ │ % │ ^ ¯ │ & │ * ₴ │ ( │ ) │ _ — │ Ъ + ┃ ⌫ ┃ +// │ ё ` │ 1 ´ │ 2 ¨ │ 3 # │ 4 ¢ │ 5 € │ 6 ˘ │ 7 │ 8 ₽ │ 9 [ │ 0 ] │ - – │ ъ = ┃Backspace┃ +// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫ +// ┃ ┃ Я Ѣ │ Ж Ѵ │ Ф Ѳ │ П │ Г Ґ │ й Ј │ Л Љ │ У Ў │ Ы Ї │ Ю : │ Ш { │ Щ } ┃ Enter ┃ +// ┃ Tab ↹ ┃ я ѣ │ ж ѵ │ ф ѳ │ п │ г ґ │ й ј │ л љ │ у ў │ ы ї │ ю ; │ ш « │ щ » ┃ ⏎ ┃ +// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃ +// ┃ ⌫ Back ┃ А │ Р │ С │ Т Ћ │ Д Ђ │ Ч Џ │ Н Њ │ Е Є │ И І │ О │ Ь " │ Э | ┃ ┃ +// ┃ space ┃ а │ р │ с │ т ћ │ д ђ │ ч џ │ н њ │ е є │ и і │ о │ ь ' │ э \ ┃ ┃ +// ┣━━━━━━━━┻━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┲━━━┷━━━━━┻━━━━━━┫ +// ┃ ┃ З Ѕ │ Х │ Ц │ В │ Б Ѓ │ К Ќ │ М │ ; │ : │ ? Ӏ ┃ ┃ +// ┃ Shift ⇧ ┃ з ѕ │ х │ ц │ в │ б ѓ │ к ќ │ м │ , < │ . > │ / ӏ ┃ Shift ⇧ ┃ +// ┣━━━━━━━┳━━┻━━━━┳┷━━━━━┷┱────┴─────┴─────┴─────┴─────┴─────┴┲━━━━┷━━┳━━┻━━━━┳━━━━━━━┳━━━┛ +// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ +// ┃ Ctrl ┃ Meta ┃ Alt ┃ Space ┃AltGr ⇮┃ Menu ┃ Ctrl ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛ + +partial alphanumeric_keys +xkb_symbols "rulemak" { + + name[Group1]= "Russian (Rulemak, phonetic Colemak)"; + + key { [ Cyrillic_io, Cyrillic_IO, U0300, U030F ] }; // Combining grave, double grave + key { [ 1, exclam, U0301, U030B ] }; // Combining acute, double acute + key { [ 2, at, U0308 ] }; // Combining diaeresis + key { [ 3, numerosign, numbersign ] }; + key { [ 4, dollar, cent ] }; + key { [ 5, percent, EuroSign ] }; + key { [ 6, asciicircum, U0306, U0304 ] }; // Combining breve, macron + key { [ 7, ampersand ] }; + key { [ 8, asterisk, U20BD, U20B4 ] }; // ruble, hryvnia + key { [ 9, parenleft, bracketleft ] }; + key { [ 0, parenright, bracketright ] }; + key { [ minus, underscore, endash, emdash ] }; + key { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, equal, plus ] }; + + key { [ Cyrillic_ya, Cyrillic_YA, U0463, U0462 ] }; // yat + key { [ Cyrillic_zhe, Cyrillic_ZHE, U0475, U0474 ] }; // izhitsa + key { [ Cyrillic_ef, Cyrillic_EF, U0473, U0472 ] }; // fita + key { [ Cyrillic_pe, Cyrillic_PE ] }; + key { [ Cyrillic_ghe, Cyrillic_GHE, Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] }; + key { [ Cyrillic_shorti, Cyrillic_SHORTI, Cyrillic_je, Cyrillic_JE ] }; + key { [ Cyrillic_el, Cyrillic_EL, Cyrillic_lje, Cyrillic_LJE ] }; + key { [ Cyrillic_u, Cyrillic_U, Byelorussian_shortu, Byelorussian_SHORTU ] }; + key { [ Cyrillic_yeru, Cyrillic_YERU, Ukrainian_yi, Ukrainian_YI ] }; + key { [ Cyrillic_yu, Cyrillic_YU, semicolon, colon ] }; + key { [ Cyrillic_sha, Cyrillic_SHA, guillemotleft, braceleft ] }; + key { [ Cyrillic_shcha, Cyrillic_SHCHA, guillemotright, braceright ] }; + key { [ Cyrillic_e, Cyrillic_E, backslash, bar ] }; + + key { [ Cyrillic_a, Cyrillic_A ] }; + key { [ Cyrillic_er, Cyrillic_ER ] }; + key { [ Cyrillic_es, Cyrillic_ES ] }; + key { [ Cyrillic_te, Cyrillic_TE, Serbian_tshe, Serbian_TSHE ] }; + key { [ Cyrillic_de, Cyrillic_DE, Serbian_dje, Serbian_DJE ] }; + key { [ Cyrillic_che, Cyrillic_CHE, Cyrillic_dzhe, Cyrillic_DZHE ] }; + key { [ Cyrillic_en, Cyrillic_EN, Cyrillic_nje, Cyrillic_NJE ] }; + key { [ Cyrillic_ie, Cyrillic_IE, Ukrainian_ie, Ukrainian_IE ] }; + key { [ Cyrillic_i, Cyrillic_I, Ukrainian_i, Ukrainian_I ] }; + key { [ Cyrillic_o, Cyrillic_O ] }; + key { [ Cyrillic_softsign, Cyrillic_SOFTSIGN, apostrophe, quotedbl ] }; + + key { [ Cyrillic_ze, Cyrillic_ZE, Macedonia_dse, Macedonia_DSE ] }; + key { [ Cyrillic_ha, Cyrillic_HA ] }; + key { [ Cyrillic_tse, Cyrillic_TSE ] }; + key { [ Cyrillic_ve, Cyrillic_VE ] }; + key { [ Cyrillic_be, Cyrillic_BE, Macedonia_gje, Macedonia_GJE ] }; + key { [ Cyrillic_ka, Cyrillic_KA, Macedonia_kje, Macedonia_KJE ] }; + key { [ Cyrillic_em, Cyrillic_EM ] }; + key { [ comma, semicolon, less ] }; + key { [ period, colon, greater ] }; + key { [ slash, question, U04CF, U04C0 ] }; // palochka + + key { [ equal, plus, multiply, division ] }; + + include "level3(ralt_switch)" + include "capslock(backspace)" + include "nbsp(level4)" +}; + +// Church Slavonic language layout +// based on the Russian standard keyboard +// by Aleksandr Andreev and Yuri Shardt +// last changes 2010/08/01; contact +partial alphanumeric_keys +xkb_symbols "chu" { + + name[Group1]= "Church Slavonic"; + + key { [ Ukrainian_yi, Ukrainian_YI, U0482, U20DD ] }; // ї Ї ҂ e.g: а⃝ where the last is a combining ten thousands sign + key { [ U0461, U0460, U047D, U047C ] }; // ѡ Ѡ ѽ Ѽ + key { [ Ukrainian_ie, Ukrainian_IE, U0465, U0464 ] }; // є Є ѥ Ѥ + key { [ U046F, U046E, U0469, U0468 ] }; // ѯ Ѯ ѩ Ѩ + key { [ U0471, U0470, U046D, U046C ] }; // ѱ Ѱ ѭ Ѭ + key { [ U0473, U0472, UA657, UA656 ] }; // ѳ Ѳ iotified A + key { [ U0475, U0474, U0477, U0476 ] }; // ѵ Ѵ ѷ Ѷ + key { [ U047B, U047A, UA64D, UA64C ] }; // ѻ Ѻ ꙍ Ꙍ + key { [ U047F, U047E, U046B, U046A ] }; // ѿ Ѿ ѫ Ѫ + key { [ Macedonia_dse, Macedonia_DSE, parenleft, asterisk ] }; // ѕ Ѕ ( * + key { [ Cyrillic_u, Cyrillic_U, parenright, U0488]}; // у У ) NB: for digraph Ouk, use Cyrillic_o + Cyrillic_u + key { [ U0483, U0486, U0487, U005F ] }; // а҃ а҆ а҇, _ (titlo, psili, pokrytie, underscore) + key { [ U0301, U0300, U0484, UA67E ] }; // а̀ а́ а҄ ꙾ (oxia, varia, kamora, kavyka) + + key { [ Cyrillic_shorti, Cyrillic_SHORTI, Ukrainian_i ] }; + key { [ Cyrillic_tse, Cyrillic_TSE, U2DF0 ] }; + key { [ UA64B, UA64A, U2DF9 ] }; // Cyrillic monograph Uk (not U)! + key { [ Cyrillic_ka, Cyrillic_KA, U2DE6 ] }; + key { [ Cyrillic_ie, Cyrillic_IE, U2DF7 ] }; + key { [ Cyrillic_en, Cyrillic_EN, U2DE9 ] }; + key { [ Cyrillic_ghe, Cyrillic_GHE, U2DE2 ] }; + key { [ Cyrillic_sha, Cyrillic_SHA, U2DF2 ] }; + key { [ Cyrillic_shcha, Cyrillic_SHCHA, U2DF3 ] }; + key { [ Cyrillic_ze, Cyrillic_ZE, U2DE5 ] }; + key { [ Cyrillic_ha, Cyrillic_HA, U2DEF ] }; + key { [Cyrillic_hardsign,Cyrillic_HARDSIGN, UA67D ] }; // Payerok + key { [ backslash, slash, colon, question ] }; // \ / : ? NB: for Slavonic question, use semicolon + + key { [ Cyrillic_ef, Cyrillic_EF ] }; + key { [ Cyrillic_yeru, Cyrillic_YERU ] }; + key { [ Cyrillic_ve, Cyrillic_VE, U2DE1 ] }; + key { [ Cyrillic_a, Cyrillic_A, U2DF6 ] }; + key { [ Cyrillic_pe, Cyrillic_PE, U2DEB ] }; + key { [ Cyrillic_er, Cyrillic_ER, U2DEC ] }; + key { [ Cyrillic_o, Cyrillic_O, U2DEA ] }; + key { [ Cyrillic_el, Cyrillic_EL, U2DE7 ] }; + key { [ Cyrillic_de, Cyrillic_DE, U2DE3 ] }; + key { [ Cyrillic_zhe, Cyrillic_ZHE, U2DE4 ] }; + key { [ U0463, U0462, U2DFA ] }; // Yat + + key { [ U0467, U0466, U2DFD ] }; // Small Yus + key { [ Cyrillic_che, Cyrillic_CHE, U2DF1 ] }; + key { [ Cyrillic_es, Cyrillic_ES, U2DED ] }; + key { [ Cyrillic_em, Cyrillic_EM, U2DE8 ] }; + key { [ Cyrillic_i, Cyrillic_I ] }; + key { [ Cyrillic_te, Cyrillic_TE, U2DEE ] }; + key { [Cyrillic_softsign,Cyrillic_SOFTSIGN ] }; + key { [ Cyrillic_be, Cyrillic_BE, U2DE0 ] }; + key { [ Cyrillic_yu, Cyrillic_YU, U2DFB ] }; + key { [ period, comma, semicolon, exclam ] }; +}; + + +// RUU (Russian-Ukrainian United keyboard layout). +// This is a modified Russian standard keyboard, with the third level containing +// Ukrainian and Belorusian alphabetic letters and commonly used Unicode symbols. +// For a description see http://wiki.opennet.ru/RUU [in Russian]. +// Vasyĺ V. Vercynśkyj +// last changes 2011/05/11 +// +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓ +// │ ' ~ │ ! ≈ │ " ∞ │ № ₴ │ ; € │ % ‰ │ : ≤ │ ? ≥ │ * × │ ( { │ ) } │ _ – │ + ± ┃ ⌫ ┃ +// │ ’ ́ │ 1 ÷ │ 2 ¤ │ 3 § │ 4 $ │ 5 ° │ 6 < │ 7 > │ 8 • │ 9 [ │ 0 ] │ - — │ = ≠ ┃Backspace┃ +// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫ +// ┃ ┃ Й │ Ц │ У Ў │ К │ Е Ё │ Н │ Г Ґ │ Ш │ Щ │ З │ Х │ Ъ Ї ┃ Enter ┃ +// ┃ Tab ↹ ┃ й │ ц │ у ў │ к ® │ е ё │ н │ г ґ │ ш │ щ │ з │ х │ ъ ї ┃ ⏎ ┃ +// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃ +// ┃ Caps ┃ Ф │ Ы І │ В │ А │ П │ Р │ О │ Л │ Д │ Ж │ Э Є │ | ¦ ┃ ┃ +// ┃ Lock ⇬ ┃ ф │ ы і │ в │ а │ п │ р │ о │ л │ д │ ж │ э є │ / \ ┃ ┃ +// ┣━━━━━━━━┻━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┲━━━┷━━━━━┻━━━━━━┫ +// ┃ ┃ Я │ Ч │ С │ М │ И │ Т │ Ь │ Б „ │ Ю “ │ , … ┃ ┃ +// ┃ Shift ⇧ ┃ я │ ч │ с © │ м │ и │ т ™ │ ь µ │ б « │ ю » │ . / ┃ Shift ⇧ ┃ +// ┣━━━━━━━┳━━┻━━━━┳┷━━━━━┷┱────┴─────┴─────┴─────┴─────┴─────┴┲━━━━┷━━┳━━┻━━━━┳━━━━━━━┳━━━┛ +// ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ +// ┃ Ctrl ┃ Meta ┃ Alt ┃ Space ┃AltGr ⇮┃ Menu ┃ Ctrl ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛ +partial alphanumeric_keys +xkb_symbols "ruu" { + + include "ru(common)" + name[Group1]= "Russian (with Ukrainian-Belorussian layout)"; + + key { [ U2019, apostrophe, U0301, asciitilde ] }; // Apostrophe and Stress symbol + key { [ 1, exclam, division, U2248 ] }; // Division Sign and Almost Equal To + key { [ 2, quotedbl, currency, infinity ] }; + key { [ 3, numerosign, section, U20B4 ] }; // Paragraph and Hryvnia sign + key { [ 4, semicolon, dollar, EuroSign ] }; + key { [ 5, percent, degree, permille ] }; + key { [ 6, colon, less, lessthanequal ] }; + key { [ 7, question, greater, greaterthanequal ] }; + key { [ 8, asterisk,enfilledcircbullet,multiply ] }; + key { [ 9, parenleft, bracketleft, braceleft ] }; + key { [ 0, parenright, bracketright, braceright ] }; + key { [ minus, underscore, emdash, endash ] }; + key { [ equal, plus, notequal, plusminus ] }; + + key { [ Cyrillic_u, Cyrillic_U, Byelorussian_shortu, Byelorussian_SHORTU ] }; + key { [ Cyrillic_ka, Cyrillic_KA, registered ] }; + key { [ Cyrillic_ie, Cyrillic_IE, Cyrillic_io, Cyrillic_IO ] }; + key { [ Cyrillic_ghe, Cyrillic_GHE, Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] }; + key { [ Cyrillic_ze, Cyrillic_ZE, paragraph ] }; + key { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, Ukrainian_yi, Ukrainian_YI ] }; + + key { [ Cyrillic_yeru, Cyrillic_YERU, Ukrainian_i, Ukrainian_I ] }; + key { [ Cyrillic_e, Cyrillic_E, Ukrainian_ie, Ukrainian_IE ] }; + key { [ slash, bar, backslash, brokenbar ] }; + + key { [ Cyrillic_es, Cyrillic_ES, copyright ] }; + key { [ Cyrillic_te, Cyrillic_TE, trademark ] }; + key { [ Cyrillic_softsign, Cyrillic_SOFTSIGN, mu ] }; + key { [ Cyrillic_be, Cyrillic_BE, guillemotleft, doublelowquotemark ] }; + key { [ Cyrillic_yu, Cyrillic_YU, guillemotright, leftdoublequotemark ] }; + key { [ period, comma, slash, ellipsis ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys + xkb_symbols "sun_type6" { + include "sun_vndr/ru(sun_type6)" +}; + +// Apple layout +partial alphanumeric_keys +xkb_symbols "mac" { + + include "ru(common)" + name[Group1]= "Russian (Macintosh)"; + + key { [ less, greater ] }; + key { [ 2, quotedbl ] }; + key { [ 3, numerosign ] }; + key { [ 4, percent ] }; + key { [ 5, colon ] }; + key { [ 6, comma ] }; + key { [ 7, period ] }; + key { [ 8, semicolon ] }; + key { [ bracketright, bracketleft ] }; + key { [ Cyrillic_io, Cyrillic_IO ] }; + + key { [ Cyrillic_er, Cyrillic_ER, U20BD ] }; + + include "level3(ralt_switch)" +}; + +// eng: Russian-based polyglot and reactionary keyboard layout +// This keyboard layout covers Russian in Petrine 1708 and Bolshevik 1918 variant spelling, Ukrainian, Belorussian, Serbian in its modern and Slavenoserbian variants, and Bulgarian and Slavomacedonian in pre-1945 and post-1945 spelling, +// in short all in any dominion prevailing Cyrillic orthographies of modern secular Slavic literary languages, even with dictionary accentuation marks, +// but also the most-widespread Church Slavonic spellings, that is all Church-Slavonic in so far as variants can be replaced without loss of meaning – not to speak of Interslavic. +// Furthermore, it suffices Romanian Cyrillic, Moldovan Cyrillic, Abkhazian excluding the more clumsy obsoleted forms unlikely to find devotees, Tajik, all Turkic and Mongolic Cyrillic alphabets +// and virtually all overlooked languages in Cyrillic reigns at least by combining characters, taking advantage of eight key levels. +// This is withal a pan-Cyrillic keyboard layout, or a comprehensive Cyrillic keyboard layout, an universal Cyrillic keyboard layout, a generic Cyrillic keyboard layout. +// +// rus: Многоязыковая и реакціонная клавіатурная разкладка основана на русскихъ +// Сія разкладка покрываетъ русскій въ петровскомъ правописаніи 1708-го года и большевицкомъ 1918-го, украинскій, бѣлорусскій въ современномъ и славяносербскомъ видѣ, и булгарскій и славомацедонскій въ писаніи до и послѣ 1945-го года, +// короче всѣ въ какомъ-либо державствѣ преобладающія правописанія, то есть весь церкославянскій, поскольку какъ разные виды буквъ можно возмѣщать безъ потери значенія — не говоря о междуславянскомъ. +// Свѣрхъ этого, она подходитъ къ румынской кириллицѣ, къ молдавской кириллицѣ, къ абхазскому за изключеніемъ неуклюжихъ устарѣлыхъ образовъ, у которыхъ невѣроятно что они вообще найдутъ поклонниковъ, къ таджикскому, къ всѣмъ тюрксимъ и монголскимъ кириллицамъ, +// и по сути дѣла всѣмъ упущеннымъ языкамъ въ кириллическихъ правленіяхъ хотя бы соединящими сѵмволами, извлѣкая выгоду изъ восьми уровней клавишъ. +// Тѣмъ всѣмъ сё всекириллическая клавіатурная разкладка, или всеобъемлющая кириллическая разкладка, или универсальная кириллическая разкладка клавіатуры. +// +// srp: Многојезиков и реакционаран распоред тастера основан на рускима +// Овај распоред покрива руски у петровском правопису 1708-е године и бољшевичком 1918-е године, украјински, белоруски, српски у сувременом и славеносрпском виду, те бугарски и славомакедонски у писању до и после 1945-е године, +// укратко све у некој држави преовлађујуће правописе, то је читав црквенословенски, пошто је могуће разне видове слова замењивати без губитка значења — не говорећи о меџусловенском. +// Поврх овог, он одговара к румунској ћирилици, к молдавској ћирилици, к абхаскоме с изузетком гломазних застарелих ликова, уз које није вероватно да они најђу поклонике, к таџичкоме, к свим туркијским и монголским ћирилицима, +// те у спровођењу свим испуштеним језицима у ћириличким господарствима бар са спајајућим симболима, искориштавајући осам ступњева тастера. +// Тиме свим ово је свећирилички тастатуран распоред, или свеобухватан ћирилички распоред тастера, или свеопшти ћирилички тастатуран распоред. +partial alphanumeric_keys +xkb_symbols "prxn" { + + name[Group1]= "Russian (Polyglot and Reactionary)"; + + key.type[Group1]="EIGHT_LEVEL"; + key { [ U2019, apostrophe, U0301, U0300, U2053, U2015, U02BC, asciitilde ] }; // Typographic Apostrophe, Apostrophe, Combining Acute, Combining Grave, Swung Dash, Quotation Dash, Modifier Letter Apostrophe, Tilde + key { [ 1, exclam, U0304, U0306, U0308, U0311, U0307, U0313 ] }; // 1, !, Combining Macron, Combining Breve, Combining Diaresis, Combining Inverted Breve, Combining Dot Above, Combining Comma Above + key { [ 2,quotedbl,numerosign, U20BF, U20B8, U20AE, U00A3, U20B9 ] }; // 2 " № ₿ ₸ ₮ £ ₹ + key { [ 3, section, U20B4, currency, U20BD, U20AA, U20BC, U20BE ] }; // 3 § ₴ ¤ ₽ ₪ ₼ ₾ + key { [ 4, semicolon, dollar, EuroSign, U0482, U20DD, U0488, U0489 ] }; // 4 ; $ € Thousands Sign, Combining Enclosing Circle, Combining Hundred Thousands, Combining Millions + key { [ 5, percent, degree, permille, UA670, UA671, UA672, UA66F ] }; // 5, %, °, ‰, Combinining Ten Millions, Combining Hundred Millions, Combining Thousand Millions, Combining Vzmet + key { [ 6, colon, U0335, U0336, U0483, U0487, UFE2E, UFE2F ] }; // 6, :, Combining Short Stroke Overlay, Combining Long Stroke Overlay, Combining Titlo, Combining Pokrytie, Combining Titlo Left Half, Combining Titlo Right Half + key { [ 7, question, U030B, U030F, U030C, U0303, U032C, U0360 ] }; // 7, ?, Combining Double Acute, Combining Double Grave, Combining Caron/Háček, Combining Tilde, Combining Caron/Háček Below, Combining Double Tilde + key { [ 8, asterisk, U0331, U0332, U0333, U032F, U032D, U032E ] }; // 8, *, Combining Macron Below, Combining Low Line, Combining Double Low Line, Combining Inverted Breve Below, Combining Circumflex Accent, Combining Breve Below + key { [ 9,parenleft, bracketleft, braceleft, U035F, U035D, U035E, U035C ] }; // 9 ( [ { Combining Double Macron Below, Combining Double Breve, Combining Double Macron, Combining Double Breve Below + key { [ 0,parenright,bracketright, braceright, U27E8, U27E9, U04A7, U04A6 ] }; // 0 ) ] } ⟨⟩ ҧ Ҧ + key { [ minus, underscore, emdash, endash, U2011,hyphen, U2010, U2212 ] }; // Hyphen-Minus, Underscore, Em Dash, En Dash, Non-Breaking-Hyphen, Soft Hyphen, Hyphen, Minus Sign + key { [ equal, plus,notequal, U2248, U04FF, U04FE, U050D, U050C ] }; // = + ≠ ≈ ӿ Ӿ ԍ Ԍ + + key { [ Cyrillic_shorti, Cyrillic_SHORTI, Cyrillic_je, Cyrillic_JE, U04CF, U04C0, U030A, U0325 ] }; // й Й ј Ј ӏ Ӏ, Combining Ring Above and Below + key { [ Cyrillic_tse, Cyrillic_TSE, U04B5, U04B4, Cyrillic_u_straight, Cyrillic_U_straight, U051B, U051A ] }; // ц Ц ҵ Ҵ ү Ү ԛ Ԛ + key { [ Cyrillic_u, Cyrillic_U, Byelorussian_shortu, Byelorussian_SHORTU, Cyrillic_u_straight_bar,Cyrillic_U_straight_bar, Byelorussian_shortu, Byelorussian_SHORTU ] }; // у У ў Ў ұ Ұ ў Ў + key { [ Cyrillic_ka, Cyrillic_KA, Cyrillic_ka_descender, Cyrillic_KA_descender, U049F, U049E, U046F, U046E ] }; // к К Қ қ ҟ Ҟ ѯ Ѯ + key { [ Cyrillic_ie, Cyrillic_IE, Cyrillic_io, Cyrillic_IO, U0463, U0462, UA653, UA652 ] }; // е Е ё Ё ѣ Ѣ ꙓ Ꙓ + key { [ Cyrillic_en, Cyrillic_EN, Cyrillic_nje, Cyrillic_NJE, Cyrillic_en_descender, Cyrillic_EN_descender, U04C8, U04C7 ] }; // н Н њ Њ ң Ң ӈ Ӈ + key { [ Cyrillic_ghe, Cyrillic_GHE, Ukrainian_ghe_with_upturn,Ukrainian_GHE_WITH_UPTURN, Cyrillic_ghe_bar, Cyrillic_GHE_bar, U04F7, U04F6 ] }; // г Г Ґ ґ ғ Ғ ӷ Ӷ + key { [ Cyrillic_sha, Cyrillic_SHA, U04A1, U04A0, U04AB, U04AA, UA67D, UA67F ] }; // ш Ш ҡ Ҡ ҫ Ҫ Combining Payerok Payerok + key { [ Cyrillic_shcha, Cyrillic_SHCHA, U0505, U0504, UA68D, UA68C, U050F, U050E ] }; // щ Щ ԅ Ԅ ꚍ Ꚍ ԏ Ԏ + key { [ Cyrillic_ze, Cyrillic_ZE, U04E1, U04E0, U0499, U0498, U0507, U0506 ] }; // з З ӡ Ӡ ҙ Ҙ ԇ Ԇ + key { [ Cyrillic_ha, Cyrillic_HA, Cyrillic_shha, Cyrillic_SHHA, Cyrillic_ha_descender, Cyrillic_HA_descender, U04FD, U04FC ] }; // х Х һ Һ ҳ Ҳ ӽ Ӽ + key { [Cyrillic_hardsign,Cyrillic_HARDSIGN, Ukrainian_yi, Ukrainian_YI, Macedonia_dse, Macedonia_DSE, U033E, U2E2F ] }; // ъ Ъ ї Ї ѕ Ѕ, Combining Yerok, Yerok + + key { [ Cyrillic_ef, Cyrillic_EF, U0473, U0472, U04C4, U04C3, U04FB, U04FA ] }; // ф Ф ѳ Ѳ ӄ Ӄ ӻ Ӻ + key { [ Cyrillic_yeru, Cyrillic_YERU, Ukrainian_i, Ukrainian_I, U04D5, U04D4, U04A9, U04A8 ] }; // ы Ы і І ӕ Ӕ ҩ Ҩ + key { [ Cyrillic_ve, Cyrillic_VE, U051D, U051C, U0529, U0528, U0527, U0526 ] }; // в В ԝ Ԝ ԩ Ԩ ԧ Ԧ + key { [ Cyrillic_a, Cyrillic_A, Cyrillic_schwa, Cyrillic_SCHWA, UA657, UA656, UA655, UA654 ] }; // а А ә Ә ꙗ Ꙗ ꙕ Ꙕ + key { [ Cyrillic_pe, Cyrillic_PE, U0525, U0524, U0471, U0470, UA65F, UA65E ] }; // п П ԥ Ԥ ѱ Ѱ ꙟ Ꙟ + key { [ Cyrillic_er, Cyrillic_ER, U0481, U0480, U048F, U048E, U0521, U0520 ] }; // р Р ҁ Ҁ ҏ Ҏ ԡ Ԡ + key { [ Cyrillic_o, Cyrillic_O, Cyrillic_o_bar, Cyrillic_O_bar, U047B, U047A, U0461, U0460 ] }; // о О ө Ө ѻ Ѻ ѡ Ѡ + key { [ Cyrillic_el, Cyrillic_EL, Cyrillic_lje, Cyrillic_LJE, U04C6, U04C5, U052F, U052E ] }; // л Л љ Љ ӆ Ӆ ԯ Ԯ + key { [ Cyrillic_de, Cyrillic_DE, Cyrillic_dzhe, Cyrillic_DZHE, U04BD, U04BC, U04BF, U04BE ] }; // д Д џ Џ ҽ Ҽ ҿ Ҿ + key { [ Cyrillic_zhe, Cyrillic_ZHE, Serbian_dje, Serbian_DJE, Cyrillic_zhe_descender, Cyrillic_ZHE_descender, U04C2, U04C1 ] }; // ж Ж ђ Ђ Җ җ ӂ Ӂ + key { [ Cyrillic_e, Cyrillic_E, Ukrainian_ie, Ukrainian_IE, U0465, U0464, U04CA, U04C9 ] }; // э Э є Є ѥ Ѥ ӊ Ӊ + key { [ slash, bar, backslash, U260E, UA65B, UA65A, U0513, U0512 ] }; // / | \ ☎ ꙛ Ꙛ ԓ Ԓ + + key { [ U0495, U0494, U0501, U0500, U0503, U0502, U0509, U0508 ] }; // ҕ Ҕ ԁ Ԁ ԃ Ԃ ԉ Ԉ + key { [ Cyrillic_ya, Cyrillic_YA, U0469, U0468, U0467, U0466, UA657, UA656 ] }; // я Я ѩ Ѩ ѧ Ѧ ꙗ Ꙗ + key { [ Cyrillic_che, Cyrillic_CHE, Serbian_tshe, Serbian_TSHE, Cyrillic_che_descender, Cyrillic_CHE_descender, U2016, U00A6 ] }; // ч Ч ћ Ћ ҷ Ҷ ‖ ¦ + key { [ Cyrillic_es, Cyrillic_ES, U046D, U046C, U046B, U046A, U04F7, U04F6 ] }; // с С ѭ Ѭ ѫ Ѫ ӷ Ӷ + key { [ Cyrillic_em, Cyrillic_EM, multiply, division, U22C5, U2219, U04CE, U04CD ] }; // м М × ÷ ⋅ ∙ ӎ Ӎ + key { [ Cyrillic_i, Cyrillic_I, U0475, U0474, U048B, U048A, periodcentered, U261B ] }; // и И ѵ Ѵ ҋ Ҋ · ☛ + key { [ Cyrillic_te, Cyrillic_TE, U04AD, U04AC, U051F, U051E, Cyrillic_che_vertstroke, Cyrillic_CHE_vertstroke ] }; // т Т ҭ Ҭ ԟ Ԟ ҹ Ҹ + key { [Cyrillic_softsign,Cyrillic_SOFTSIGN, U04A5, U04A4, UA64F, UA64E, U048D, U048C ] }; // ь Ь ҥ Ҥ ꙏ Ꙏ ҍ Ҍ + key { [ Cyrillic_be, Cyrillic_BE, guillemotleft, doublelowquotemark, singlelowquotemark, U2039, U0523, U0522 ] }; // б Б « „ ‚ ‹ ԣ Ԣ + key { [ Cyrillic_yu, Cyrillic_YU, guillemotright, leftdoublequotemark, leftsinglequotemark, U203A, rightdoublequotemark, rightsinglequotemark]}; // ю Ю » “ ‘ › ” ’ + key { [ period, comma, ellipsis, enfilledcircbullet, U04CC, U04CB, UA649, UA648 ] }; // . , … • ӌ Ӌ ꙉ Ꙉ + +// eng: Maps Right Alt for reaching the third level +// rus: Составляетъ правую Alt для достиженія третьяго уровня +// srp: Саставља десни Alt за достизање трећег ступња + include "level3(ralt_switch)" + +// eng: Maps for reaching the fifth level +// rus: Составляетъ для достиженія пятаго уровня +// srp: Саставља за достизање петег ступња + + include "level5(caps_switch)" + +// eng: Offers pressing both shift keys for capslock +// rus: Предоставляетъ нажатие обѣихъ клавишъ Shift для защелкиванія прописности буквъ +// srp: Ставља на располагање притискивање обију тастера Shift за учвршћивање верзала + include "shift(both_shiftlock)" + +// eng: Makes return comma instead of dot, as the comma is decimal separator in Cyrillic written languages +// rus: Дѣлаетъ что отдаетъ запятую вмѣсто точки, такъ какъ запятая десятичный раздѣлитель въ языкахъ пишемыхъ кириллицей +// srp: Ради да враћа зарез уместо точке, будући да зарез је десетни разделитељ у језицима који се пишу ћирилицом + include "kpdl(comma)" + +// eng: Bug notice: One has to set lv5:rwin_switch_lock or one of the other level 5 locks for the caps switch to work! +// rus: Приходится ставить lv5:rwin_switch_lock либо одинъ изъ другихъ затворовъ пятаго уровня, чтобы работалъ переключатель Caps! +// srp: Потребно да се ставља lv5:rwin_switch_lock или једна из других брава петег ступња, да би шљакао пребацивач Caps! +// https://bugs.freedesktop.org/show_bug.cgi?id=102189 +}; + + +partial alphanumeric_keys +xkb_symbols "unipunct" { + +// Раскладка представляет собой обычную русскую раскладку, в которой некоторые редко используемые буквы +// убрали на третий уровень, и поставили все пунктуационные знаки на то же место, где они стоят на +// US раскладке (+ добавлен знак номера, который отсутствует в US раскладке, но часто нужен в RU). + +// ru(unipunct): +// `~ 1! 2@ 3#3№ 4$ 5% 6^ 7& 8* 9( 0) -_ =+ +// хХ бБ уУюЮ кК еЕэЭ нН гГ шШщЩ жЖ зЗ [{ ]} \| +// фФ ыЫ вВ аА пП рР оОёЁ лЛ дД ;: '" //" +// яЯ чЧцЦ сС мМ иИйЙ тТ ьЬъЪ ,< .> /? + + include "us(basic)" + name[Group1]= "Russian (with US punctuation)"; + + // Единственный символ, который отсутствует на US раскладке - № + key { [ 3, numbersign, 3, numerosign ] }; + + key { [ Cyrillic_ha, Cyrillic_HA ] }; + key { [ Cyrillic_be, Cyrillic_BE ] }; + key { [ Cyrillic_u, Cyrillic_U, Cyrillic_yu, Cyrillic_YU ] }; + key { [ Cyrillic_ka, Cyrillic_KA ] }; + key { [ Cyrillic_ie, Cyrillic_IE, Cyrillic_e, Cyrillic_E ] }; + key { [ Cyrillic_en, Cyrillic_EN ] }; + key { [ Cyrillic_ghe, Cyrillic_GHE ] }; + key { [ Cyrillic_sha, Cyrillic_SHA, Cyrillic_shcha, Cyrillic_SHCHA ] }; + key { [ Cyrillic_zhe, Cyrillic_ZHE ] }; + key { [ Cyrillic_ze, Cyrillic_ZE ] }; + + key { [ Cyrillic_ef, Cyrillic_EF ] }; + key { [ Cyrillic_yeru, Cyrillic_YERU ] }; + key { [ Cyrillic_ve, Cyrillic_VE ] }; + key { [ Cyrillic_a, Cyrillic_A ] }; + key { [ Cyrillic_pe, Cyrillic_PE ] }; + key { [ Cyrillic_er, Cyrillic_ER ] }; + key { [ Cyrillic_o, Cyrillic_O, Cyrillic_io, Cyrillic_IO ] }; + key { [ Cyrillic_el, Cyrillic_EL ] }; + key { [ Cyrillic_de, Cyrillic_DE ] }; + + key { [ Cyrillic_ya, Cyrillic_YA ] }; + key { [ Cyrillic_che, Cyrillic_CHE, Cyrillic_tse, Cyrillic_TSE ] }; + key { [ Cyrillic_es, Cyrillic_ES ] }; + key { [ Cyrillic_em, Cyrillic_EM ] }; + key { [ Cyrillic_i, Cyrillic_I, Cyrillic_shorti, Cyrillic_SHORTI ] }; + key { [ Cyrillic_te, Cyrillic_TE ] }; + key { [ Cyrillic_softsign, Cyrillic_SOFTSIGN, Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; +}; + +partial alphanumeric_keys +xkb_symbols "phonetic_mac" { + + include "ru(phonetic_winkeys)" + name[Group1]= "Russian (phonetic Macintosh)"; + + key { [ Cyrillic_ie, Cyrillic_IE, Cyrillic_io, Cyrillic_IO ] }; + key { [ Cyrillic_sha, Cyrillic_SHA ] }; + key { [ Cyrillic_ve, Cyrillic_VE ] }; + key { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; + key { [ Cyrillic_yu, Cyrillic_YU ] }; + key { [ Cyrillic_zhe, Cyrillic_ZHE ] }; + key { [ 3, numbersign, numerosign ] }; + key { [ 4, dollar, U20BD ] }; // ruble + key { [ 5, percent ] }; + key { [ 6, caret ] }; + key { [ Cyrillic_softsign, Cyrillic_SOFTSIGN, minus, underscore ] }; + key { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, equal, plus ] }; + + include "level3(ralt_switch)" +}; diff --git a/xkbdata/symbols/rupeesign b/xkbdata/symbols/rupeesign new file mode 100644 index 0000000..efde69c --- /dev/null +++ b/xkbdata/symbols/rupeesign @@ -0,0 +1,5 @@ +// keyboards having the RupeeSign on the 4 key +partial +xkb_symbols "4" { + key { [ NoSymbol, NoSymbol, U20B9 ] }; +}; diff --git a/xkbdata/symbols/se b/xkbdata/symbols/se new file mode 100644 index 0000000..aa737bd --- /dev/null +++ b/xkbdata/symbols/se @@ -0,0 +1,407 @@ +default partial alphanumeric_keys +xkb_symbols "basic" { + include "latin(type2)" + include "se(se)" +}; + +partial alphanumeric_keys +xkb_symbols "se" { + + name[Group1]="Swedish"; + + key { [ 5, percent, EuroSign, cent ] }; + key { [ plus, question, backslash, questiondown ] }; + key { [dead_acute, dead_grave, plusminus, notsign ] }; + + + key { [odiaeresis, Odiaeresis, oslash, Ooblique ] }; + key { [adiaeresis, Adiaeresis, ae, AE ] }; + key { [ section, onehalf, paragraph, threequarters] }; + + key { [apostrophe, asterisk, acute, multiply ] }; + + key { [ space, space, space, nobreakspace ] }; + + key { [ less, greater, bar, brokenbar ] }; + include "kpdl(comma)" + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "nodeadkeys" { + + // Modifies the basic Swedish layout to eliminate all dead keys + + include "latin(type2)" + include "latin(type2_nodeadkeys)" + include "se(se)" + + name[Group1]="Swedish (no dead keys)"; + + key { [ acute, grave, plusminus, notsign ] }; +}; + +// Swedish Dvorak +partial alphanumeric_keys +xkb_symbols "dvorak" { + + include "se(basic)" + + name[Group1]="Swedish (Dvorak)"; + + key { [ aring, Aring, backslash ] }; + key { [ adiaeresis, Adiaeresis, braceleft, bracketleft ] }; + key { [ odiaeresis, Odiaeresis, braceright, bracketright ] }; + key { [ p, P, thorn, THORN ] }; + key { [ y, Y, leftarrow, yen ] }; + key { [ f, F, dstroke, ordfeminine ] }; + key { [ g, G, eng, ENG ] }; + key { [ c, C, copyright, copyright ] }; + key { [ r, R, registered, registered ] }; + key { [ l, L, lstroke, Lstroke ] }; + key { [ comma, semicolon, dead_cedilla, dead_ogonek ] }; + key { [ dead_diaeresis, dead_circumflex, dead_tilde, asciicircum ] }; + + key { [ a, A, ae, AE ] }; + key { [ o, O, oe, OE ] }; + key { [ e, E, EuroSign, cent ] }; + key { [ u, U, downarrow, uparrow ] }; + key { [ i, I, rightarrow, idotless ] }; + key { [ d, D, eth, ETH ] }; + key { [ h, H, hstroke, Hstroke ] }; + key { [ t, T, tslash, Tslash ] }; + key { [ n, N ] }; + key { [ s, S, ssharp, section ] }; + key { [ minus, underscore, dead_belowdot, dead_abovedot ] }; + + key { [ period, colon, periodcentered, dead_abovedot ] }; + key { [ q, Q, at, Greek_OMEGA ] }; + key { [ j, J ] }; + key { [ k, K, kra, ampersand ] }; + key { [ x, X, guillemotright, greater ] }; + key { [ b, B, rightdoublequotemark, apostrophe ] }; + key { [ m, M, mu, masculine ] }; + key { [ w, W, lstroke, Lstroke ] }; + key { [ v, V, leftdoublequotemark, grave ] }; + key { [ z, Z, guillemotleft, less ] }; +}; + +// Ivan Popov, 2005-07-17 +// phonetic layout for Russian cyrillic letters +// on Swedish (latin type2) keyboards + +// level3 modifier is a shortcut to the "se" meaning of the keys where +// we place cyrillic letters, handy for accessing the corresponding +// punctuation marks. +// It is important to have access to punctuation marks, and the rest of +// alphabetical keys are added for being consequent so that the users +// can expect the level3 modifier to give what the key label shows. + +partial alphanumeric_keys +xkb_symbols "rus" { + include "se(basic)" + + name[Group1]="Russian (Sweden, phonetic)"; + key.type[group1]="ALPHABETIC"; + + key { [ Cyrillic_io, Cyrillic_IO ] }; + key { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; + + key { [ Cyrillic_ya, Cyrillic_YA ] }; + key { [ Cyrillic_ve, Cyrillic_VE ] }; + key { [ Cyrillic_ie, Cyrillic_IE ] }; + key { [ Cyrillic_er, Cyrillic_ER ] }; + key { [ Cyrillic_te, Cyrillic_TE ] }; + key { [ Cyrillic_yeru, Cyrillic_YERU ] }; + key { [ Cyrillic_u, Cyrillic_U ] }; + key { [ Cyrillic_i, Cyrillic_I ] }; + key { [ Cyrillic_o, Cyrillic_O ] }; + key { [ Cyrillic_pe, Cyrillic_PE ] }; + key { [ Cyrillic_e, Cyrillic_E ] }; + + key { [ Cyrillic_a, Cyrillic_A ] }; + key { [ Cyrillic_es, Cyrillic_ES ] }; + key { [ Cyrillic_de, Cyrillic_DE ] }; + key { [ Cyrillic_ef, Cyrillic_EF ] }; + key { [ Cyrillic_ghe, Cyrillic_GHE ] }; + key { [ Cyrillic_ha, Cyrillic_HA ] }; + key { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; + key { [ Cyrillic_ka, Cyrillic_KA ] }; + key { [ Cyrillic_el, Cyrillic_EL ] }; + key { [ Cyrillic_sha, Cyrillic_SHA ] }; + key { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; + key { [ Cyrillic_yu, Cyrillic_YU ] }; + + key { [ Cyrillic_che, Cyrillic_CHE ] }; + key { [ Cyrillic_ze, Cyrillic_ZE ] }; + key { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; + key { [ Cyrillic_tse, Cyrillic_TSE ] }; + key { [ Cyrillic_zhe, Cyrillic_ZHE ] }; + key { [ Cyrillic_be, Cyrillic_BE ] }; + key { [ Cyrillic_en, Cyrillic_EN ] }; + key { [ Cyrillic_em, Cyrillic_EM ] }; +}; + +partial alphanumeric_keys +xkb_symbols "rus_nodeadkeys" { + + include "se(nodeadkeys)" + include "se(rus)" + + name[Group1]="Russian (Sweden, phonetic, no dead keys)"; + + key { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; +}; + +xkb_symbols "smi" { + include "fi(smi)" + name[Group1]= "Northern Saami (Sweden)"; +}; + +// Copied from macintosh_vndr/se +partial alphanumeric_keys +xkb_symbols "mac" { + + // Describes the differences between a very simple en_US + // keyboard and a very simple Swedish(Sweden) keyboard. + + include "latin" + name[Group1]= "Swedish (Macintosh)"; + + key { [ section, degree ] }; + key { [ 1, exclam, copyright, exclamdown ] }; + key { [ 2, quotedbl, at, oneeighth ] }; + key { [ 3, numbersign, sterling, yen ] }; + key { [ 4, currency, dollar, cent ] }; + key { [ 6, ampersand ] }; + key { [ 7, slash, bar, backslash ] }; + key { [ 8, parenleft, bracketleft, braceleft ] }; + key { [ 9, parenright, bracketright, braceright ] }; + key { [ 0, equal ] }; + key { [ plus, question ] }; + key { [ acute, grave ] }; + key { [ aring, Aring ] }; + key { [ diaeresis, asciicircum, asciitilde ] }; + key { [ odiaeresis, Odiaeresis, oslash, Ooblique ] }; + key { [ adiaeresis, Adiaeresis, ae, AE ] }; + key { [ apostrophe, asterisk, at ] }; + key { [ comma, semicolon ] }; + key { [ period, colon ] }; + key { [ minus, underscore ] }; + + include "kpdl(comma)" + include "level3(ralt_switch)" +}; + +// Svdvorak +// This version of Dvorak follows danish and norwegian style in hope for a +// Scandinavian standard. +partial alphanumeric_keys +xkb_symbols "svdvorak" { + + include "se(basic)" + + name[Group1]="Swedish (Svdvorak)"; + + key { [ aring, Aring, braceleft ] }; + key { [ comma, semicolon, bracketleft ] }; + key { [ period, colon, bracketright ] }; + key { [ p, P, braceright ] }; + key { [ y, Y ] }; + key { [ f, F ] }; + key { [ g, G ] }; + key { [ c, C ] }; + key { [ r, R ] }; + key { [ l, L ] }; + key { [ apostrophe, asterisk ] }; + + key { [ a, A ] }; + key { [ o, O, parenleft ] }; + key { [ e, E, parenright ] }; + key { [ u, U ] }; + key { [ i, I ] }; + key { [ d, D ] }; + key { [ h, H ] }; + key { [ t, T ] }; + key { [ n, N ] }; + key { [ s, S, ssharp, U1E9E ] }; + key { [ minus, underscore ] }; + key { [ less, greater, bar ] }; + + key { [ odiaeresis, Odiaeresis ] }; + key { [ adiaeresis, Adiaeresis ] }; + key { [ q, Q ] }; + key { [ j, J ] }; + key { [ k, K ] }; + key { [ x, X ] }; + key { [ b, B ] }; + key { [ m, M ] }; + key { [ w, W ] }; + key { [ v, V ] }; + key { [ z, Z ] }; +}; + +partial alphanumeric_keys +xkb_symbols "swl" { + +// +// Swedish Sign Language +// ISO_639-3 language code: swl +// (called “svenskt teckenspråk” in swedish) +// +// Author: Saašha Metsärantala saasha@acc.umu.se +// +// A sans-serif font is available at +// http://www.acc.umu.se/home/saasha/typsnitt/swl_sans.ttf +// + + include "se(basic)" + + name[Group1]="Swedish Sign Language"; + + key { [ 0x110c925, 0x110c95f, 0x110c940, 0x110c99a ] }; + key { [ 0x110c96b, 0x110c933, 0x110c920, 0x110c98e ] }; + key { [ 0x110c949, 0x110c94b, 0x110c921, 0x110c99f ] }; + key { [ 0x110c923, 0x110c92d, 0x110c95c, 0x110c96e ] }; + key { [ 0x110c93b, 0x110c927, 0x110c908, 0x110c9a6 ] }; + key { [ 0x110c93a, 0x110c94c, 0x110c93e, 0x110c9a7 ] }; + key { [ 0x110c95b, 0x110c93f, 0x110c907, 0x110c992 ] }; + key { [ 0x110c973, 0x110c924, 0x110c93c, 0x110c9a4 ] }; + key { [ 0x110c972, 0x110c945, 0x110c91a, 0x110c99c ] }; + key { [ 0x110c979, 0x110c929, 0x110c916, 0x110c999 ] }; + key { [ 0x110c976, 0x110c975, 0x110c917, 0x110c994 ] }; + key { [ 0x110c95a, 0x110c926, 0x110c918, 0x110c996 ] }; + key { [ 0x110c96f, 0x110c932, 0x110c915, 0x110c998 ] }; + key { [ 0x110c942, 0x110c922, 0x110c913, 0x110c9a2 ] }; + key { [ 0x110c985, 0x110c94e, 0x110c914, 0x110c97a ] }; + key { [ 0x110c928, 0x110c948, 0x110c919, 0x110c9a5 ] }; + key { [ 0x110c970, 0x110c92b, 0x110c905, 0x110c991 ] }; + key { [ 0x110c92e, 0x110c944, 0x110c904, VoidSymbol ] }; + key { [ 0x110c96c, 0x110c92a, 0x110c900, 0x110c9a1 ] }; + key { [ 0x110c971, 0x110c930, 0x110c903, 0x110c99e ] }; + key { [ 0x110c987, 0x110c947, 0x110c90c, 0x110c96d ] }; + key { [ 0x110c986, 0x110c92c, 0x110c91b, 0x110c993 ] }; + key { [ 0x110c939, 0x110c94a, 0x110c911, 0x110c995 ] }; + key { [ 0x110c952, 0x110c943, 0x110c912, 0x110c99b ] }; + key { [ 0x110c978, 0x110c977, 0x110c95e, 0x110c9a3 ] }; + key { [ 0x110c951, 0x110c931, 0x110c91e, 0x110c997 ] }; + key { [ 0x110c90e, 0x110c946, 0x110c906, 0x110c9a0 ] }; + key { [ 0x110c91f, 0x110c961, 0x110c91c, VoidSymbol ] }; + key { [ 0x110c93d, 0x110c92f, 0x110c902, VoidSymbol ] }; + key { [ 0x110c953, 0x110c936, 0x110c988, 0x110c962 ] }; + key { [ 0x110c954, 0x110c957, 0x110c97d, 0x110c963 ] }; + key { [ 0x110c934, 0x110c937, 0x110c97e, 0x110c983 ] }; + key { [ 0x110c955, 0x110c958, 0x110c98a, 0x110c984 ] }; + key { [ 0x110c935, 0x110c938, 0x110c97f, 0x110c966 ] }; + key { [ 0x110c956, 0x110c959, 0x110c980, 0x110c967 ] }; + key { [ 0x110c960, 0x110c969, 0x110c982, 0x110c96a ] }; + key { [ 0x110c97c, 0x110c90b, 0x110c989, 0x110c964 ] }; + key { [ 0x110c97b, 0x110c90a, 0x110c98b, 0x110c965 ] }; + key { [ 0x110c974, 0x110c909, 0x110c98c, 0x110c968 ] }; +}; + +partial alphanumeric_keys +xkb_symbols "us" { + include "us" + + name[Group1]="Swedish (US)"; + + key { [ NoSymbol, NoSymbol, odiaeresis, Odiaeresis ] }; + key { [ NoSymbol, NoSymbol, adiaeresis, Adiaeresis ] }; + key { [ NoSymbol, NoSymbol, aring, Aring ] }; + + include "level3(ralt_switch)" +}; + +// EXTRAS: + +partial alphanumeric_keys + xkb_symbols "sun_type6" { + include "sun_vndr/se(sun_type6)" +}; + +partial alphanumeric_keys +xkb_symbols "dvorak_a5" { + + include "se(basic)" + + name[Group1]="Swedish (Dvorak A5)"; + + key { [ dead_acute, dead_grave, plusminus, none ] }; + + key { [ aring, Aring, braceleft, none ] }; + key { [ adiaeresis, Adiaeresis, braceright, none ] }; + key { [ odiaeresis, Odiaeresis, bracketleft, none ] }; + key { [ p, P, bracketright, none ] }; + key { [ y, Y, dollar, none ] }; + key { [ f, F, quotedbl, none ] }; + key { [ g, G, question, none ] }; + key { [ c, C, ampersand, none ] }; + key { [ r, R, less, none ] }; + key { [ l, L, greater, none ] }; + key { [ comma, semicolon, dead_cedilla, none ] }; + key { [ dead_diaeresis, dead_circumflex, dead_tilde, asciicircum ] }; + + key { [ a, A, semicolon, none ] }; + key { [ o, O, slash, none ] }; + key { [ e, E, parenleft, none ] }; + key { [ u, U, parenright, none ] }; + key { [ i, I, bar, none ] }; + key { [ d, D, numbersign, none ] }; + key { [ h, H, asciicircum, none ] }; + key { [ t, T, numbersign, none ] }; + key { [ n, N, quotedbl, none ] }; + key { [ s, S, asciitilde, none ] }; + key { [ minus, underscore, grave, none ] }; + + key { [ period, colon, colon, none ] }; + key { [ q, Q, equal, none ] }; + key { [ j, J, at, none ] }; + key { [ k, K, exclam, none ] }; + key { [ x, X, backslash, none ] }; + key { [ b, B, percent, none ] }; + key { [ m, M, grave, none ] }; + key { [ w, W, lstroke, none ] }; + key { [ v, V, leftdoublequotemark, none ] }; + key { [ z, Z, guillemotleft, none ] }; + + key { [ apostrophe, asterisk, asterisk, none ] }; +}; + +partial alphanumeric_keys +xkb_symbols "ovd" { + + // Adds combining ogonek (U0328) to the basic Swedish layout to facilitate + // typing of Ą ą Ę ę Į į Ų ų Y̨ y̨ Ą̊ ą̊. + // The character replaces which is considered dispensable + // since ä and ö have their own keys. is still available + // via + Å. + + include "se(basic)" + + name[Group1]="Elfdalian (Swedish, with combining ogonek)"; + + key { [ U0328, dead_circumflex, dead_tilde, dead_caron ] }; +}; + +// us_dvorak +// Author Thomas Lundqvist http://tlundqvist.org/sv_dvorak/ + +partial alphanumeric_keys +xkb_symbols "us_dvorak" { + include "us(dvorak-intl)" + name[Group1]="Swedish (Dvorak, intl.)"; + + key { [ apostrophe, asciitilde, grave, dead_tilde ] }; + key { [ 2, quotedbl, at ] }; + key { [ 6, asciicircum, dead_circumflex ] }; + key { [ aring, Aring, dead_acute ] }; + key { [ minus, underscore, bar, dead_macron ] }; + key { [ adiaeresis, Adiaeresis, dead_grave, dead_ogonek ] }; + key { [ odiaeresis, Odiaeresis, dead_diaeresis, dead_belowdot ] }; + key { [ semicolon, colon, backslash ] }; + + include "kpdl(comma)" + include "level3(ralt_switch)" +}; diff --git a/xkbdata/symbols/sgi_vndr/jp b/xkbdata/symbols/sgi_vndr/jp new file mode 100644 index 0000000..f60c802 --- /dev/null +++ b/xkbdata/symbols/sgi_vndr/jp @@ -0,0 +1,44 @@ +xkb_symbols "jp106" { + + name[group1]="Japan/ASCII"; + + key { [ Zenkaku_Hankaku ] }; + key { [ 1, exclam ] }; + key { [ 2, quotedbl ] }; + key { [ 3, numbersign ] }; + key { [ 4, dollar ] }; + key { [ 5, percent ] }; + key { [ 6, ampersand ] }; + key { [ 7, apostrophe ] }; + key { [ 8, parenleft ] }; + key { [ 9, parenright ] }; + key { [ 0, asciitilde ] }; + key { [ minus, equal ] }; + key { [ asciicircum, overbar ] }; + key { [ yen, bar ] }; + + // keys and - are identical to US/ASCII keyboard + key { [ at, grave ] }; + key { [ bracketleft, braceleft ] }; + + key { [ Eisu_Shift, Caps_Lock ] }; + // keys - are identical to US/ASCII keyboard + key { [ semicolon, plus ] }; + key { [ colon, asterisk ] }; + key { [ bracketright, braceright ] }; + + // keys and - are identical to US/ASCII keyboard + key { [ backslash, underscore ] }; + + key { [ Muhenkan ] }; + key { [ Kanji ] }; + key { [ Hiragana_Katakana ] }; +}; + +xkb_symbols "alternate106" { + key { [ 0, overbar ] }; + key { [ asciicircum, asciitilde] }; + key { [ backslash, bar ] }; + key { [ underbar, underscore ] }; + augment "sgi/jp(jp106)" +}; diff --git a/xkbdata/symbols/sharp_vndr/sl-c3x00 b/xkbdata/symbols/sharp_vndr/sl-c3x00 new file mode 100644 index 0000000..3d4e339 --- /dev/null +++ b/xkbdata/symbols/sharp_vndr/sl-c3x00 @@ -0,0 +1,71 @@ +// $NetBSD: sl-c3x00,v 1.1 2009/12/13 04:54:51 nonaka Exp $ +// $OpenBSD: zaurus,v 1.2 2008/03/05 17:24:55 matthieu Exp $ + +default partial alphanumeric_keys +xkb_symbols "basic" { + name[Group1]= "Sharp SL-C3x00"; + + key { [ 1, exclam ] }; + key { [ 2, quotedbl ] }; + key { [ 3, numbersign ] }; + key { [ 4, dollar ] }; + key { [ 5, percent ] }; + key { [ 6, ampersand ] }; + key { [ 7, apostrophe ] }; + key { [ 8, parenleft ] }; + key { [ 9, parenright ] }; + key { [ 0, asciitilde ] }; + key { type="CTRL+ALT", + symbols[Group1]= [ BackSpace, Terminate_Server ] }; + + key { [ q, Q ] }; + key { [ w, W, asciicircum ] }; + key { [ e, E, equal ] }; + key { [ r, R, plus ] }; + key { [ t, T, bracketleft ] }; + key { [ y, Y, bracketright ] }; + key { [ u, U, braceleft ] }; + key { [ i, I, braceright ] }; + key { [ o, O ] }; + key { [ p, P ] }; + + key { [ Tab, ISO_Left_Tab, Caps_Lock ] }; + + key { [ a, A ] }; + key { [ s, S ] }; + key { [ d, D, grave ] }; + key { [ f, F, backslash ] }; + key { [ g, G, semicolon ] }; + key { [ h, H, colon ] }; + key { [ j, J, asterisk ] }; + key { [ k, K, yen ] }; + key { [ l, L, bar ] }; + + key { [ Shift_L ] }; + key { [ z, Z ] }; + key { [ x, X, SunCut ] }; + key { [ c, C, SunCopy ] }; + key { [ v, V, SunPaste ] }; + key { [ b, B, underscore ] }; + key { [ n, N ] }; + key { [ m, M ] }; + key { [ Shift_R ] }; + key { [ Return ] }; + + key { [ ISO_Level3_Shift ] }; + + key { [ Control_L ] }; + key { [ minus, minus, at ] }; + key { [ space ] }; + key { [ comma, slash, less ] }; + key { [ period, question, greater ] }; + + key { [ Up, Up, Prior ] }; + key { [ Left, Left, Home ] }; + key { [ Down, Down, Next ] }; + key { [ Right, Right, End ] }; + + key { [ Escape ] }; + + include "level3(ralt_switch)" +}; diff --git a/xkbdata/symbols/sharp_vndr/ws003sh b/xkbdata/symbols/sharp_vndr/ws003sh new file mode 100644 index 0000000..8b4b96e --- /dev/null +++ b/xkbdata/symbols/sharp_vndr/ws003sh @@ -0,0 +1,70 @@ +// $NetBSD: ws003sh,v 1.1 2010/05/15 15:33:30 nonaka Exp $ + +default partial alphanumeric_keys +xkb_symbols "basic" { + name[Group1]= "Sharp WS003SH"; + + key { [ 1, exclam ] }; + key { [ 2, quotedbl ] }; + key { [ 3, numbersign ] }; + key { [ 4, dollar ] }; + key { [ 5, percent ] }; + key { [ 6, ampersand ] }; + key { [ 7, apostrophe, grave ] }; + key { [ 8, parenleft, braceleft ] }; + key { [ 9, parenright, braceright ] }; + key { [ 0 ] }; + key { [ minus, equal, backslash ] }; + key { [ BackSpace, BackSpace, Delete ] }; + + key { [ q, Q ] }; + key { [ w, W, asciicircum ] }; + key { [ e, E, asciitilde ] }; + key { [ r, R, bar ] }; + key { [ t, T ] }; + key { [ y, Y ] }; + key { [ u, U, bracketleft ] }; + key { [ i, I, bracketright ] }; + key { [ o, O, underscore ] }; + key { [ p, P, at ] }; + + key { [ Tab, Tab, Escape ] }; + + key { [ a, A ] }; + key { [ s, S ] }; + key { [ d, D ] }; + key { [ f, F ] }; + key { [ g, G ] }; + key { [ h, H ] }; + key { [ j, J ] }; + key { [ k, K, plus ] }; + key { [ l, L, asterisk ] }; + + key { [ Shift_L ] }; + key { [ z, Z ] }; + key { [ x, X ] }; + key { [ c, C ] }; + key { [ v, V ] }; + key { [ b, B ] }; + key { [ n, N ] }; + key { [ m, M ] }; + key { [ comma, semicolon, less ] }; + key { [ period, colon, greater ] }; + key { [ slash, question ] }; + key { [ Shift_R ] }; + key { [ Return ] }; + + key { [ ISO_Level3_Shift ] }; + + key { [ Control_L ] }; + key { [ space ] }; + + key { [ Up, Up, Prior ] }; + key { [ Left, Left, Home ] }; + key { [ Down, Down, Next ] }; + key { [ Right, Right, End ] }; + + key { [ Escape ] }; + + include "level3(ralt_switch)" +}; diff --git a/xkbdata/symbols/sharp_vndr/ws007sh b/xkbdata/symbols/sharp_vndr/ws007sh new file mode 100644 index 0000000..6bbfdd4 --- /dev/null +++ b/xkbdata/symbols/sharp_vndr/ws007sh @@ -0,0 +1,70 @@ +// $NetBSD: ws007sh,v 1.1 2010/05/15 15:33:30 nonaka Exp $ + +default partial alphanumeric_keys +xkb_symbols "basic" { + name[Group1]= "Sharp WS007SH"; + + key { [ 1, exclam ] }; + key { [ 2, quotedbl ] }; + key { [ 3, numbersign ] }; + key { [ 4, dollar ] }; + key { [ 5, percent ] }; + key { [ 6, ampersand ] }; + key { [ 7, apostrophe, grave ] }; + key { [ 8, parenleft, braceleft ] }; + key { [ 9, parenright, braceright ] }; + key { [ 0 ] }; + key { [ minus, equal, backslash ] }; + key { [ BackSpace, BackSpace, Delete ] }; + + key { [ q, Q ] }; + key { [ w, W, asciicircum ] }; + key { [ e, E, asciitilde ] }; + key { [ r, R, bar ] }; + key { [ t, T ] }; + key { [ y, Y ] }; + key { [ u, U, bracketleft ] }; + key { [ i, I, bracketright ] }; + key { [ o, O, underscore ] }; + key { [ p, P, at ] }; + + key { [ Tab, Tab, Escape ] }; + + key { [ a, A ] }; + key { [ s, S ] }; + key { [ d, D ] }; + key { [ f, F ] }; + key { [ g, G ] }; + key { [ h, H ] }; + key { [ j, J ] }; + key { [ k, K, plus ] }; + key { [ l, L, asterisk ] }; + + key { [ Shift_L ] }; + key { [ z, Z ] }; + key { [ x, X ] }; + key { [ c, C ] }; + key { [ v, V ] }; + key { [ b, B ] }; + key { [ n, N ] }; + key { [ m, M ] }; + key { [ comma, semicolon, less ] }; + key { [ period, colon, greater ] }; + key { [ slash, question ] }; + key { [ Shift_R ] }; + key { [ Return ] }; + + key { [ ISO_Level3_Shift ] }; + + key { [ Control_L ] }; + key { [ space ] }; + + key { [ Up, Up, Prior ] }; + key { [ Left, Left, Home ] }; + key { [ Down, Down, Next ] }; + key { [ Right, Right, End ] }; + + key { [ Escape ] }; + + include "level3(ralt_switch)" +}; diff --git a/xkbdata/symbols/sharp_vndr/ws011sh b/xkbdata/symbols/sharp_vndr/ws011sh new file mode 100644 index 0000000..44b13b8 --- /dev/null +++ b/xkbdata/symbols/sharp_vndr/ws011sh @@ -0,0 +1,75 @@ +// $NetBSD: ws011sh,v 1.2 2010/05/30 10:10:20 nonaka Exp $ + +default partial alphanumeric_keys +xkb_symbols "basic" { + name[Group1]= "Sharp WS011SH"; + + key { + type[Group1] = "THREE_LEVEL", + symbols[Group1] = [ Zenkaku_Hankaku, Zenkaku_Hankaku, exclam ] + }; + + key { [ q, Q, quotedbl ] }; + key { [ w, W, numbersign ] }; + key { [ e, E, dollar ] }; + key { [ r, R, percent ] }; + key { [ t, T, ampersand ] }; + key { [ y, Y, 1 ] }; + key { [ u, U, 2 ] }; + key { [ i, I, 3 ] }; + key { [ o, O, underscore ] }; + key { [ p, P, at ] }; + key { [ BackSpace, BackSpace, Delete ] }; + + key { [ Tab, Tab, Escape ] }; + key { [ a, A, bracketleft ] }; + key { [ s, S, apostrophe ] }; + key { [ d, D, parenleft ] }; + key { [ f, F, parenright ] }; + key { [ g, G, asterisk ] }; + key { [ h, H, 4 ] }; + key { [ j, J, 5 ] }; + key { [ k, K, 6 ] }; + key { [ l, L, plus ] }; + key { [ minus, equal, backslash ] }; + key { [ grave, braceleft, braceright ] }; + + key { [ Shift_L ] }; + key { [ z, Z, bracketright ] }; + key { [ x, X, asciicircum ] }; + key { [ c, C, asciitilde ] }; + key { [ v, V, bar ] }; + key { [ b, B, 7 ] }; + key { [ n, N, 8 ] }; + key { [ m, M, 9 ] }; + key { [ comma, less, semicolon ] }; + key { [ period, greater, colon ] }; + key { [ slash, question, 0 ] }; + key { [ Shift_R ] }; + key { [ Return ] }; + + key { [ ISO_Level3_Shift ] }; + + key { [ Control_L ] }; + key { [ space ] }; + + key { [ Up, Up, Prior ] }; + key { [ Left, Left, Home ] }; + key { [ Down, Down, Next ] }; + key { [ Right, Right, End ] }; + + key { [ Escape ] }; + + key { [ 1 ] }; + key { [ 2 ] }; + key { [ 3 ] }; + key { [ 4 ] }; + key { [ 5 ] }; + key { [ 6 ] }; + key { [ 7 ] }; + key { [ 8 ] }; + key { [ 9 ] }; + key { [ 0 ] }; + + include "level3(ralt_switch)" +}; diff --git a/xkbdata/symbols/sharp_vndr/ws020sh b/xkbdata/symbols/sharp_vndr/ws020sh new file mode 100644 index 0000000..294fb60 --- /dev/null +++ b/xkbdata/symbols/sharp_vndr/ws020sh @@ -0,0 +1,64 @@ +// $NetBSD: ws020sh,v 1.1 2010/05/25 13:12:51 nonaka Exp $ + +default partial alphanumeric_keys +xkb_symbols "basic" { + name[Group1]= "Sharp WS020SH"; + + key { + type[Group1]="THREE_LEVEL", + symbols[Group1]= [ Zenkaku_Hankaku, Zenkaku_Hankaku, exclam ] + }; + + key { [ q, Q, quotedbl ] }; + key { [ w, W, numbersign ] }; + key { [ e, E, dollar ] }; + key { [ r, R, percent ] }; + key { [ t, T, ampersand ] }; + key { [ y, Y, underscore ] }; + key { [ u, U, 1 ] }; + key { [ i, I, 2 ] }; + key { [ o, O, 3 ] }; + key { [ p, P, at ] }; + key { [ BackSpace, BackSpace, Delete ] }; + + key { [ Tab, Tab, Escape ] }; + key { [ a, A, bracketleft ] }; + key { [ s, S, apostrophe ] }; + key { [ d, D, parenleft ] }; + key { [ f, F, parenright ] }; + key { [ g, G, asterisk ] }; + key { [ h, H, 4 ] }; + key { [ j, J, 5 ] }; + key { [ k, K, 6 ] }; + key { [ l, L, plus ] }; + key { [ minus, equal, backslash ] }; + key { [ grave, braceleft, braceright ] }; + + key { [ Shift_L ] }; + key { [ z, Z, bracketright ] }; + key { [ x, X, asciicircum ] }; + key { [ c, C, asciitilde ] }; + key { [ v, V, bar ] }; + key { [ b, B, 7 ] }; + key { [ n, N, 8 ] }; + key { [ m, M, 9 ] }; + key { [ comma, less, semicolon ] }; + key { [ period, greater, colon ] }; + key { [ slash, question, 0 ] }; + key { [ Shift_R ] }; + key { [ Return ] }; + + key { [ ISO_Level3_Shift ] }; + + key { [ Control_L ] }; + key { [ space ] }; + + key { [ Up, Up, Prior ] }; + key { [ Left, Left, Home ] }; + key { [ Down, Down, Next ] }; + key { [ Right, Right, End ] }; + + key { [ Escape ] }; + + include "level3(ralt_switch)" +}; diff --git a/xkbdata/symbols/shift b/xkbdata/symbols/shift new file mode 100644 index 0000000..8f90223 --- /dev/null +++ b/xkbdata/symbols/shift @@ -0,0 +1,87 @@ +// Cancel CapsLock when a Shift key is pressed. +partial modifier_keys +xkb_symbols "breaks_caps" { + key { + type = "ALPHABETIC", + actions [Group1] = [ + SetMods(modifiers=Shift), + SetMods(modifiers=Shift+Lock,clearLocks) + ] + }; + key { + type = "ALPHABETIC", + actions [Group1] = [ + SetMods(modifiers=Shift), + SetMods(modifiers=Shift+Lock,clearLocks) + ] + }; +}; + + +// Toggle CapsLock when pressed together with the other Shift key. +partial modifier_keys +xkb_symbols "lshift_both_capslock" { + key { + type[Group1]="TWO_LEVEL", + symbols[Group1] = [ Shift_L, Caps_Lock ] + }; +}; +// Toggle CapsLock when pressed together with the other Shift key. +partial modifier_keys +xkb_symbols "rshift_both_capslock" { + key { + type[Group1]="TWO_LEVEL", + symbols[Group1] = [ Shift_R, Caps_Lock ] + }; +}; +partial modifier_keys +xkb_symbols "both_capslock" { + include "shift(lshift_both_capslock)" + include "shift(rshift_both_capslock)" +}; + + +// Set CapsLock when pressed with the other Shift key, release it when pressed alone. +partial modifier_keys +xkb_symbols "lshift_both_capslock_cancel" { + key { + type[Group1]="ALPHABETIC", + symbols[Group1] = [ Shift_L, Caps_Lock ] + }; +}; +// Set CapsLock when pressed with the other Shift key, release it when pressed alone. +partial modifier_keys +xkb_symbols "rshift_both_capslock_cancel" { + key { + type[Group1]="ALPHABETIC", + symbols[Group1] = [ Shift_R, Caps_Lock ] + }; +}; +partial modifier_keys +xkb_symbols "both_capslock_cancel" { + include "shift(lshift_both_capslock_cancel)" + include "shift(rshift_both_capslock_cancel)" +}; + + +// Toggle ShiftLock when pressed together with the other Shift key. +partial modifier_keys +xkb_symbols "lshift_both_shiftlock" { + key { + type[Group1]="TWO_LEVEL", + symbols[Group1] = [ Shift_L, Shift_Lock ] + }; +}; +// Toggle ShiftLock when pressed together with the other Shift key. +partial modifier_keys +xkb_symbols "rshift_both_shiftlock" { + key { + type[Group1]="TWO_LEVEL", + symbols[Group1] = [ Shift_R, Shift_Lock ] + }; +}; +partial modifier_keys +xkb_symbols "both_shiftlock" { + include "shift(lshift_both_shiftlock)" + include "shift(rshift_both_shiftlock)" +}; diff --git a/xkbdata/symbols/si b/xkbdata/symbols/si new file mode 100644 index 0000000..d67dff2 --- /dev/null +++ b/xkbdata/symbols/si @@ -0,0 +1,29 @@ +default partial alphanumeric_keys +xkb_symbols "basic" { + + include "rs(latin)" + + name[Group1]="Slovenian"; + + key { type[Group1]="TWO_LEVEL", [ cedilla, diaeresis ] }; +}; + +partial alphanumeric_keys +xkb_symbols "us" { + + include "rs(latinyz)" + + name[Group1]= "Slovenian (US)"; + + key { type[Group1]="TWO_LEVEL", [ cedilla, diaeresis ] }; +}; + +partial alphanumeric_keys +xkb_symbols "alternatequotes" { + + include "rs(latinalternatequotes)" + + name[Group1]= "Slovenian (with guillemets)"; + + key { type[Group1]="TWO_LEVEL", [ cedilla, diaeresis ] }; +}; diff --git a/xkbdata/symbols/sk b/xkbdata/symbols/sk new file mode 100644 index 0000000..d4a08cf --- /dev/null +++ b/xkbdata/symbols/sk @@ -0,0 +1,151 @@ +default partial alphanumeric_keys +xkb_symbols "basic" { + + // This layout conforms to a new Slovak compromise standard + // designed to satisfy most Unix, Windows and Mac users. + // 2001 by Kamil Toman + + include "latin" + name[Group1] = "Slovak"; + + key { [ semicolon, dead_abovering, grave, asciitilde ] }; + key { [ plus, 1, exclam, dead_tilde ] }; + key { [ lcaron, 2, at, dead_caron ] }; + key { [ scaron, 3, numbersign, dead_circumflex ] }; + key { [ ccaron, 4, dollar, dead_breve ] }; + key { [ tcaron, 5, percent, dead_abovering]}; + key { [ zcaron, 6, asciicircum, dead_ogonek ] }; + key { [ yacute, 7, ampersand, dead_grave ] }; + key { [ aacute, 8, asterisk, dead_abovedot] }; + key { [ iacute, 9, braceleft, dead_acute ] }; + key { [ eacute, 0, braceright, dead_doubleacute ] }; + key { [ equal, percent, NoSymbol, dead_diaeresis]}; + key { [dead_acute, dead_caron, dead_macron, dead_cedilla ] }; + + key { [ q, Q, backslash, NoSymbol ] }; + key { [ w, W, bar, Nosymbol ] }; + key { [ e, E, EuroSign, NoSymbol ] }; + key { [ r, R, NoSymbol, NoSymbol ] }; + key { [ t, T, NoSymbol, NoSymbol ] }; + key { [ z, Z, NoSymbol, NoSymbol ] }; + key { [ u, U, NoSymbol, NoSymbol ] }; + key { [ i, I, NoSymbol, NoSymbol ] }; + key { [ o, O, NoSymbol, NoSymbol ] }; + key { [ p, P, NoSymbol, NoSymbol ] }; + + key { [ uacute, slash, bracketleft, division ] }; + key { [adiaeresis, parenleft, bracketright, multiply ] }; + + key { [ a, A, asciitilde, NoSymbol ] }; + key { [ s, S, dstroke, NoSymbol ] }; + key { [ d, D, Dstroke, NoSymbol ] }; + key { [ f, F, bracketleft, NoSymbol ] }; + key { [ g, G, bracketright, NoSymbol ] }; + key { [ h, H, grave, NoSymbol ] }; + key { [ j, J, apostrophe, NoSymbol ] }; + key { [ k, K, lstroke, NoSymbol ] }; + key { [ l, L, Lstroke, NoSymbol ] }; + + key { [ocircumflex, quotedbl, dollar, NoSymbol ] }; + key { [ section, exclam, apostrophe, ssharp ] }; + key { [ EuroSign, dead_diaeresis, NoSymbol, NoSymbol ] }; + key { [ ncaron, parenright, backslash, bar ] }; + + key { [ backslash, bar, slash, NoSymbol ] }; + key { [ y, Y, degree, NoSymbol ] }; + key { [ x, X, numbersign, Nosymbol ] }; + key { [ c, C, ampersand, NoSymbol ] }; + key { [ v, V, at, NoSymbol ] }; + key { [ b, B, braceleft, NoSymbol ] }; + key { [ n, N, braceright, NoSymbol ] }; + key { [ m, M, asciicircum, NoSymbol ] }; + key { [ comma, question, less, NoSymbol ] }; + key { [ period, colon, greater, NoSymbol ] }; + key { [ minus, underscore, asterisk, NoSymbol ] }; + + key { [ space, space, nobreakspace, nobreakspace ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys alternate_group +xkb_symbols "acc" { + + // This layout is usually used as the second group, it contains + // accented characters only, no 'latin' set. + // 2017 by Pavol Babinčák + + // Based on cz(ucw). Slovak letter frequency is used if a letter can be + // used with multiple diacritic symbols. Other accented letters of Slovak + // and Czech language end up on surrounding unused keys. + + name[Group1] = "Slovak (ACC layout, only accented letters)"; + + key { [zcaron, Zcaron ] }; + key { [ccaron, Ccaron ] }; + key { [ncaron, Ncaron ] }; + + key { [aacute, Aacute ] }; + key { [scaron, Scaron ] }; + key { [dcaron, Dcaron ] }; + key { [ecaron, Ecaron ] }; + key { [rcaron, Rcaron ] }; + key { [uring, Uring ] }; + key { [oacute, Oacute ] }; + key { [lcaron, Lcaron ] }; + + key { [adiaeresis, Adiaeresis ] }; + key { [eacute, Eacute ] }; + key { [racute, Racute ] }; + key { [tcaron, Tcaron ] }; + key { [yacute, Yacute ] }; + key { [uacute, Uacute ] }; + key { [iacute, Iacute ] }; + key { [ocircumflex, Ocircumflex ] }; + key { [lacute, Lacute ] }; + + key { [dead_acute, dead_caron ] }; +}; + +xkb_symbols "bksl" { + + // Use instead of (useful for keyboards without key). + + include "sk(basic)" + name[Group1] = "Slovak (extended backslash)"; + + key { [ backslash, bar, slash, parenright ] }; + key { [ backslash, parenleft, slash, NoSymbol ] }; +}; + +partial alphanumeric_keys +xkb_symbols "qwerty" { + + // This layout works exactly as the basic Slovak one with the exception + // of the 'Z' and 'Y' keys, which are in Qwerty style (i.e. swapped). + // 2001 by Kamil Toman + + include "sk(basic)" + name[Group1] = "Slovak (QWERTY)"; + + key { [ z, Z, degree, NoSymbol ] }; + key { [ y, Y, NoSymbol, NoSymbol ] }; +}; + +xkb_symbols "qwerty_bksl" { + + // Use instead of (useful for keyboards without key). + + include "sk(qwerty)" + name[Group1] = "Slovak (QWERTY, extended backslash)"; + + key { [ backslash, bar, slash, parenright ] }; + key { [ backslash, parenleft, slash, NoSymbol ] }; +}; + +// EXTRAS: + +partial alphanumeric_keys + xkb_symbols "sun_type6" { + include "sun_vndr/sk(sun_type6)" +}; diff --git a/xkbdata/symbols/sn b/xkbdata/symbols/sn new file mode 100644 index 0000000..1e25f8d --- /dev/null +++ b/xkbdata/symbols/sn @@ -0,0 +1,42 @@ +default partial alphanumeric_keys +xkb_symbols "basic" { + + include "latin" + + name[Group1]="Wolof"; + + key { [ ampersand, 1, bar, NoSymbol ] }; + key { [ eacute, 2, asciitilde, Eacute ] }; + key { [ quotedbl, 3, numbersign, cedilla ] }; + key { [apostrophe, 4, braceleft, acute ] }; + key { [ parenleft, 5, bracketleft, diaeresis ] }; + key { [ minus, 6, bar, brokenbar ] }; + key { [ egrave, 7, dead_grave, Egrave ] }; + key { [underscore, 8, backslash, macron ] }; + key { [ ccedilla, 9, asciicircum, Ccedilla ] }; + key { [ agrave, 0, at, Agrave ] }; + key { [parenright, degree, bracketright, ydiaeresis ] }; + key { [ equal, plus, braceright,threequarters ] }; + + key { [ a, A, ae, AE ] }; + key { [ z, Z, guillemotleft, less ] }; + key { [ e, E, EuroSign, cent ] }; + key { [ eng, ENG, bracketleft, bracketright ] }; + key { [ dollar, sterling, currency, ecircumflex ] }; + + key { [ q, Q, at, Greek_OMEGA ] }; + key { [ m, M, mu, masculine ] }; + key { [ ntilde, Ntilde, acute, dead_acute ] }; + key { [twosuperior, percent, notsign, notsign ] }; + + key { [ mu, sterling, grave, dead_grave ] }; + key { [ w, W, lstroke, Lstroke ] }; + key { [ comma, question, questiondown, NoSymbol ] }; + key { [ semicolon, period, U2022, multiply ] }; // bullet + key { [ colon, slash, periodcentered, division ] }; + key { [ exclam, section, exclamdown, NoSymbol ] }; + + key { [ less, greater, bar, NoSymbol ] }; + + include "level3(ralt_switch)" +}; diff --git a/xkbdata/symbols/sony_vndr/us b/xkbdata/symbols/sony_vndr/us new file mode 100644 index 0000000..69102bf --- /dev/null +++ b/xkbdata/symbols/sony_vndr/us @@ -0,0 +1,89 @@ +// +//Copyright 1996, 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. +// +// US/ASCII layout for a nwp5461 keyboard +xkb_symbols "nwp5461" { + include "us(basic)" + + key { [ Alt_L, Meta_L ] }; + key { [ Shift_R ] }; + key { [ NoSymbol ] }; + + // Begin "Function" section + key { [ F1 ] }; + key { [ F2 ] }; + key { [ F3 ] }; + key { [ F4 ] }; + key { [ F5 ] }; + key { [ F6 ] }; + key { [ F7 ] }; + key { [ F8 ] }; + key { [ F9 ] }; + key { [ F10 ] }; + key { [ F11 ] }; + key { [ F12 ] }; + key { [ Help ] }; + key { [ Cancel ] }; + key { [ Select ] }; + key { [ Execute ] }; + key { [ Delete ] }; + key { [ Left ] }; + key { [ Right ] }; + key { [ Up ] }; + key { [ Down ] }; + key { [ Prior ] }; + key { [ Next ] }; + key { [ Insert ] }; + key { [ Clear ] }; + // End "Function" section + + // Begin "Keypad" section + key { [ KP_Multiply ] }; + key { [ KP_Divide ] }; + key { [ KP_Add ] }; + + key { [ KP_7 ] }; + key { [ KP_8 ] }; + key { [ KP_9 ] }; + key { [ KP_Subtract ] }; + + key { [ KP_4 ] }; + key { [ KP_5 ] }; + key { [ KP_6 ] }; + key { [ KP_Separator ] }; + + key { [ KP_1 ] }; + key { [ KP_2 ] }; + key { [ KP_3 ] }; + key { [ KP_Enter ] }; + + key { [ KP_0 ] }; + key { [ KP_Decimal ] }; + key { [ KP_Tab ] }; + // End "Keypad" section + + modifier_map Shift { Shift_R }; + modifier_map Mod3 { Alt_L }; +}; diff --git a/xkbdata/symbols/srvr_ctrl b/xkbdata/symbols/srvr_ctrl new file mode 100644 index 0000000..6fa0d00 --- /dev/null +++ b/xkbdata/symbols/srvr_ctrl @@ -0,0 +1,109 @@ +// Actions which control the server's behavior. + +partial keypad_keys function_keys +xkb_symbols "xfree86" { + include "keypad(operators)" + include "srvr_ctrl(fkey2vt)" +}; + +partial function_keys +xkb_symbols "fkey2vt" { + + key { + type="CTRL+ALT", + symbols[Group1]= [ F1, F1, F1, F1, XF86_Switch_VT_1 ] + }; + + key { + type="CTRL+ALT", + symbols[Group1]= [ F2, F2, F2, F2, XF86_Switch_VT_2 ] + }; + + key { + type="CTRL+ALT", + symbols[Group1]= [ F3, F3, F3, F3, XF86_Switch_VT_3 ] + }; + + key { + type="CTRL+ALT", + symbols[Group1]= [ F4, F4, F4, F4, XF86_Switch_VT_4 ] + }; + + key { + type="CTRL+ALT", + symbols[Group1]= [ F5, F5, F5, F5, XF86_Switch_VT_5 ] + }; + + key { + type="CTRL+ALT", + symbols[Group1]= [ F6, F6, F6, F6, XF86_Switch_VT_6 ] + }; + + key { + type="CTRL+ALT", + symbols[Group1]= [ F7, F7, F7, F7, XF86_Switch_VT_7 ] + }; + + key { + type="CTRL+ALT", + symbols[Group1]= [ F8, F8, F8, F8, XF86_Switch_VT_8 ] + }; + + key { + type="CTRL+ALT", + symbols[Group1]= [ F9, F9, F9, F9, XF86_Switch_VT_9 ] + }; + + key { + type="CTRL+ALT", + symbols[Group1]= [ F10, F10, F10, F10, XF86_Switch_VT_10 ] + }; + + key { + type="CTRL+ALT", + symbols[Group1]= [ F11, F11, F11, F11, XF86_Switch_VT_11 ] + }; + + key { + type="CTRL+ALT", + symbols[Group1]= [ F12, F12, F12, F12, XF86_Switch_VT_12 ] + }; +}; + +partial function_keys keypad_keys +xkb_symbols "no_srvr_keys" { + + key.type="TWO_LEVEL"; + + key { [ F1, F1 ] }; + key { [ F2, F2 ] }; + key { [ F3, F3 ] }; + key { [ F4, F4 ] }; + key { [ F5, F5 ] }; + key { [ F6, F6 ] }; + key { [ F7, F7 ] }; + key { [ F8, F8 ] }; + key { [ F9, F9 ] }; + key { [ F10, F10 ] }; + key { [ F11, F11 ] }; + key { [ F12, F12 ] }; + + key { [ KP_Divide, KP_Divide ] }; + key { [ KP_Multiply, KP_Multiply ] }; + key { [ KP_Subtract, KP_Subtract ] }; + key { [ KP_Add, KP_Add ] }; +}; + +partial function_keys +xkb_symbols "grab_debug" { + + key { + type="CTRL+ALT", + symbols[Group1]= [ F11, F11, F11, F11, XF86LogGrabInfo ] + }; + + key { + type="CTRL+ALT", + symbols[Group1]= [ F12, F12, F12, F12, XF86LogWindowTree ] + }; +}; diff --git a/xkbdata/symbols/sun_vndr/ara b/xkbdata/symbols/sun_vndr/ara new file mode 100644 index 0000000..53ad917 --- /dev/null +++ b/xkbdata/symbols/sun_vndr/ara @@ -0,0 +1,131 @@ +// +// Copyright (c) 2010, 2012, Oracle and/or its affiliates. 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, and/or sell copies of the Software, and to permit persons +// to whom the Software is furnished to do so, provided that the above +// copyright notice(s) and this permission notice appear in all copies of +// the Software and that both the above copyright notice(s) and this +// permission notice appear in supporting documentation. +// +// 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 +// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR 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. +// +// Except as contained in this notice, the name of a copyright holder +// shall not be used in advertising or otherwise to promote the sale, use +// or other dealings in this Software without prior written authorization +// of the copyright holder. +// + +default partial alphanumeric_keys +xkb_symbols "sun_type6" { + + name[Group1]= "Arabic (Sun Type 6/7)"; + + include "sun_vndr/us(sun_type6)" + + key { [ Arabic_thal, Arabic_shadda, grave, asciitilde ] }; + key { [ 0x1000661, exclam, 1, exclam ] }; + key { [ 0x1000662, at, 2, at ] }; + key { [ 0x1000663, numbersign, 3, numbersign ] }; + key { [ 0x1000664, dollar, 4, dollar ] }; + key { [ 0x1000665, percent, 5, percent ] }; + key { [ 0x1000666, asciicircum, 6, asciicircum ] }; + key { [ 0x1000667, ampersand, 7, ampersand ] }; + key { [ 0x1000668, asterisk, 8, asterisk ] }; + key { [ 0x1000669, parenright, 9, parenright ] }; + key { [ 0x1000660, parenleft, 0, parenleft ] }; + key { [ minus, underscore, minus, underscore ] }; + key { [ equal, plus, equal, plus ] }; + + key { [ Arabic_dad, Arabic_fatha, q, Q ] }; + key { [ Arabic_sad, Arabic_fathatan, w, W ] }; + key { [ Arabic_theh, Arabic_damma, e, E ] }; + key { [ Arabic_qaf, Arabic_dammatan, r, R ] }; + key { [ Arabic_feh, 0x100fef9, t, T ] }; + key { [ Arabic_ghain, Arabic_hamzaunderalef, y, Y ] }; + key { [ Arabic_ain, grave, u, U ] }; + key { [ Arabic_ha, division, i, I ] }; + key { [ Arabic_khah, multiply, o, O ] }; + key { [ Arabic_hah, Arabic_semicolon, p, P ] }; + key { [ Arabic_jeem, greater, bracketleft, braceleft ] }; + key { [ Arabic_dal, less, bracketright, braceright ] }; + + key { [ Arabic_sheen, Arabic_kasra, a, A ] }; + key { [ Arabic_seen, Arabic_kasratan, s, S ] }; + key { [ Arabic_yeh, bracketright, d, D ] }; + key { [ Arabic_beh, bracketleft, f, F ] }; + key { [ Arabic_lam, 0x100fef7, g, G ] }; + key { [ Arabic_alef, Arabic_hamzaonalef, h, H ] }; + key { [ Arabic_teh, Arabic_tatweel, j, J ] }; + key { [ Arabic_noon, Arabic_comma, k, K ] }; + key { [ Arabic_meem, slash, l, L ] }; + key { [ Arabic_kaf, colon, semicolon, colon ] }; + key { [ Arabic_tah, quotedbl, apostrophe, quotedbl ] }; + key { [ backslash, bar, backslash, bar ] }; + + key { [ bar, brokenbar, bar, brokenbar ] }; + key { [ Arabic_hamzaonyeh, asciitilde, z, Z ] }; + key { [ Arabic_hamza, Arabic_sukun, x, X ] }; + key { [ Arabic_hamzaonwaw, braceright, c, C ] }; + key { [ Arabic_ra, braceleft, v, V ] }; + key { [ 0x100fefb, 0x100fef5, b, B ] }; + key { [ Arabic_alefmaksura, Arabic_maddaonalef, n, N ] }; + key { [ Arabic_tehmarbuta, apostrophe, m, M ] }; + key { [ Arabic_waw, comma, comma, less ] }; + key { [ Arabic_zain, period, period, greater ] }; + key { [ Arabic_zah, Arabic_question_mark, slash, question ] }; + + include "level3(ralt_switch)" + +}; + +partial alphanumeric_keys + xkb_symbols "basic" { + include "sun_vndr/ara(sun_type6)" +}; + +partial alphanumeric_keys + xkb_symbols "qwerty" { + include "ara(qwerty)" +}; + +partial alphanumeric_keys + xkb_symbols "azerty" { + include "ara(azerty)" +}; + +partial alphanumeric_keys + xkb_symbols "digits" { + include "ara(digits)" +}; + +partial alphanumeric_keys + xkb_symbols "qwerty_digits" { + include "ara(qwerty_digits)" +}; + +partial alphanumeric_keys + xkb_symbols "azerty_digits" { + include "ara(azerty_digits)" +}; + +partial alphanumeric_keys + xkb_symbols "buckwalter" { + include "ara(buckwalter)" +}; + +partial alphanumeric_keys + xkb_symbols "olpc" { + include "ara(olpc)" +}; diff --git a/xkbdata/symbols/sun_vndr/be b/xkbdata/symbols/sun_vndr/be new file mode 100644 index 0000000..c7c4cd3 --- /dev/null +++ b/xkbdata/symbols/sun_vndr/be @@ -0,0 +1,127 @@ +// +// Copyright (c) 2010, 2012, Oracle and/or its affiliates. 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, and/or sell copies of the Software, and to permit persons +// to whom the Software is furnished to do so, provided that the above +// copyright notice(s) and this permission notice appear in all copies of +// the Software and that both the above copyright notice(s) and this +// permission notice appear in supporting documentation. +// +// 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 +// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR 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. +// +// Except as contained in this notice, the name of a copyright holder +// shall not be used in advertising or otherwise to promote the sale, use +// or other dealings in this Software without prior written authorization +// of the copyright holder. +// + +default partial alphanumeric_keys +xkb_symbols "sun_type6" { + + name[Group1]="Belgium (Sun Type 6/7)"; + + include "sun_vndr/us(sun_type6)" + + key { [twosuperior, threesuperior ] }; + key { [ ampersand, 1, bar ] }; + key { [ eacute, 2, at ] }; + key { [ quotedbl, 3, numbersign ] }; + key { [apostrophe, 4 ] }; + key { [ parenleft, 5 ] }; + key { [ section, 6, asciicircum ] }; + key { [ egrave, 7 ] }; + key { [ exclam, 8 ] }; + key { [ ccedilla, 9, braceleft ] }; + key { [ agrave, 0, braceright ] }; + key { [parenright, degree ] }; + key { [ minus, underscore ] }; + + key { [ a, A ] }; + key { [ z, Z ] }; + key { [ e, E, EuroSign ] }; + key { [ o, O ] }; + key { [dead_circumflex, dead_diaeresis, bracketleft ] }; + key { [ dollar, asterisk, bracketright ] }; + + key { [ q, Q ] }; + key { [ m, M ] }; + key { [ ugrave, percent, dead_acute ] }; + key { [ mu, sterling, dead_grave ] }; + + key { [ less, greater, backslash ] }; + key { [ w, W ] }; + key { [ comma, question ] }; + key { [ semicolon, period ] }; + key { [ colon, slash ] }; + key { [ equal, plus, dead_tilde ] }; + + include "level3(ralt_switch)" + +}; + +partial alphanumeric_keys + xkb_symbols "basic" { + include "sun_vndr/be(sun_type6)" +}; + +partial alphanumeric_keys + xkb_symbols "oss" { + include "be(oss)" +}; + +partial alphanumeric_keys + xkb_symbols "oss_frbe" { + include "be(oss_frbe)" +}; + +partial alphanumeric_keys + xkb_symbols "oss_latin9" { + include "be(oss_latin9)" +}; + +partial alphanumeric_keys + xkb_symbols "oss_Sundeadkeys" { + include "be(oss_sundeadkeys)" +}; + +partial alphanumeric_keys + xkb_symbols "oss_sundeadkeys" { + include "be(oss_sundeadkeys)" +}; + +partial alphanumeric_keys + xkb_symbols "iso-alternate" { + include "be(iso-alternate)" +}; + +partial alphanumeric_keys + xkb_symbols "Sundeadkeys" { + include "be(sundeadkeys)" +}; + +partial alphanumeric_keys + xkb_symbols "sundeadkeys" { + include "be(sundeadkeys)" +}; + +partial alphanumeric_keys + xkb_symbols "nodeadkeys" { + include "be(nodeadkeys)" +}; + +partial alphanumeric_keys + xkb_symbols "wang" { + include "be(wang)" +}; diff --git a/xkbdata/symbols/sun_vndr/br b/xkbdata/symbols/sun_vndr/br new file mode 100644 index 0000000..1efb71a --- /dev/null +++ b/xkbdata/symbols/sun_vndr/br @@ -0,0 +1,121 @@ +// +// Copyright (c) 2010, 2012, Oracle and/or its affiliates. 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, and/or sell copies of the Software, and to permit persons +// to whom the Software is furnished to do so, provided that the above +// copyright notice(s) and this permission notice appear in all copies of +// the Software and that both the above copyright notice(s) and this +// permission notice appear in supporting documentation. +// +// 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 +// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR 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. +// +// Except as contained in this notice, the name of a copyright holder +// shall not be used in advertising or otherwise to promote the sale, use +// or other dealings in this Software without prior written authorization +// of the copyright holder. +// + +default partial alphanumeric_keys +xkb_symbols "sun_type6" { + + name[Group1]= "Portuguese (Brazil, Sun Type 6/7)"; + + include "sun_vndr/us(sun_type6)" + + key { [ apostrophe, quotedbl, notsign ] }; + key { [ 1, exclam, onesuperior, exclamdown ] }; + key { [ 2, at, twosuperior, onehalf ] }; + key { [ 3, numbersign, threesuperior, threequarters ] }; + key { [ 4, dollar, sterling, onequarter ] }; + key { [ 5, percent, cent ] }; + key { [ 6, dead_diaeresis, notsign, diaeresis ] }; + key { [ 7, ampersand, braceleft ] }; + key { [ 8, asterisk, bracketleft ] }; + key { [ 9, parenleft, bracketright ] }; + key { [ 0, parenright, braceright ] }; + key { [ minus, underscore, backslash ] }; + key { [ equal, plus, section ] }; + + key { [ e, E, EuroSign ] }; + key { [ r, R, registered ] }; + key { [ dead_acute, dead_grave, acute, grave ] }; + key { [ bracketleft, braceleft, ordfeminine ] }; + + key { [ ccedilla, Ccedilla, exclamdown ] }; + key { [ dead_tilde, dead_circumflex, asciitilde, asciicircum ] }; + key { [ bracketright, braceright, masculine ] }; + key { [ bracketright, braceright, masculine ] }; + + key { [ slash, bar, degree ] }; + key { [ z, Z, guillemotleft ] }; + key { [ x, X, guillemotright ] }; + key { [ c, C, copyright ] }; + key { [ m, M, mu ] }; + key { [ comma, less, question ] }; + key { [ period, greater, questiondown ] }; + key { [ semicolon, colon ] }; + key { [ slash, question, degree, questiondown ] }; + + key { [ KP_Decimal ] }; + key { [ KP_Delete, comma ] }; + + include "level3(ralt_switch)" + +}; + +partial alphanumeric_keys + xkb_symbols "basic" { + include "sun_vndr/br(sun_type6)" +}; + +partial alphanumeric_keys + xkb_symbols "abnt2" { + include "br(abnt2)" +}; + +partial alphanumeric_keys + xkb_symbols "nodeadkeys" { + include "br(nodeadkeys)" +}; + +partial alphanumeric_keys + xkb_symbols "thinkpad" { + include "br(thinkpad)" +}; + +partial alphanumeric_keys + xkb_symbols "olpc" { + include "br(olpc)" +}; + +partial alphanumeric_keys + xkb_symbols "dvorak" { + include "br(dvorak)" +}; + +partial alphanumeric_keys + xkb_symbols "nativo" { + include "br(nativo)" +}; + +partial alphanumeric_keys + xkb_symbols "nativo-us" { + include "br(nativo-us)" +}; + +partial alphanumeric_keys + xkb_symbols "nativo-epo" { + include "br(nativo-epo)" +}; diff --git a/xkbdata/symbols/sun_vndr/ca b/xkbdata/symbols/sun_vndr/ca new file mode 100644 index 0000000..7e5a666 --- /dev/null +++ b/xkbdata/symbols/sun_vndr/ca @@ -0,0 +1,132 @@ +// +// Copyright (c) 2010, 2012, Oracle and/or its affiliates. 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, and/or sell copies of the Software, and to permit persons +// to whom the Software is furnished to do so, provided that the above +// copyright notice(s) and this permission notice appear in all copies of +// the Software and that both the above copyright notice(s) and this +// permission notice appear in supporting documentation. +// +// 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 +// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR 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. +// +// Except as contained in this notice, the name of a copyright holder +// shall not be used in advertising or otherwise to promote the sale, use +// or other dealings in this Software without prior written authorization +// of the copyright holder. +// + +default alphanumeric_keys +xkb_symbols "sun_type6" { + + name[Group1]="Multilingual (Canada, Sun Type 6/7)"; + + include "sun_vndr/us(sun_type6)" + + key { [ slash, bar, backslash ]}; + key { [ 1, exclam, plusminus ]}; + key { [ 2, at ]}; + key { [ 3, numbersign, sterling ]}; + key { [ 4, dollar, cent ]}; + key { [ 5, percent, currency ]}; + key { [ 6, question, notsign ]}; + key { [ 7, ampersand, braceleft ]}; + key { [ 8, asterisk, braceright ]}; + key { [ 9, parenleft, bracketleft ]}; + key { [ 0, parenright, bracketright ]}; + key { [ minus, underscore, onehalf ]}; + key { [ equal, plus, notsign ]}; + + key { [ e, E, EuroSign ]}; + key { [ o, O, section ]}; + key { [ p, P, paragraph ]}; + key { [ dead_circumflex, dead_diaeresis, dead_grave ]}; + key { [ ccedilla, Ccedilla, asciitilde ]}; + + key { [ semicolon, colon, degree ]}; + key { [ egrave, Egrave, braceleft ]}; + key { [ agrave, Agrave, braceright ]}; + key { [ agrave, Agrave, braceright ]}; + + key { [ uacute, Uacute ]}; + key { [ z, Z, guillemotleft ]}; + key { [ x, X, guillemotright ]}; + key { [ m, M, mu ]}; + key { [ comma, apostrophe, less ]}; + key { [ period, quotedbl, greater ]}; + key { [ eacute, Eacute, grave ]}; + + include "level3(ralt_switch)" + +}; + +alphanumeric_keys + xkb_symbols "basic" { + include "sun_vndr/ca(sun_type6)" +}; + +partial alphanumeric_keys + xkb_symbols "fr" { + include "ca(fr)" +}; + +partial alphanumeric_keys + xkb_symbols "fr-dvorak" { + include "ca(fr-dvorak)" +}; + +partial alphanumeric_keys + xkb_symbols "fr-legacy" { + include "ca(fr-legacy)" +}; + +partial alphanumeric_keys + xkb_symbols "multi" { + include "ca(multi)" +}; + +partial alphanumeric_keys + xkb_symbols "multi-2gr" { + include "ca(multi-2gr)" +}; + +partial alphanumeric_keys + xkb_symbols "ike" { + include "ca(ike)" +}; + +partial alphanumeric_keys + xkb_symbols "multix" { + include "ca(multix)" +}; + +partial alphanumeric_keys + xkb_symbols "olpc" { + include "ca(olpc)" +}; + +partial alphanumeric_keys + xkb_symbols "eng" { + include "ca(eng)" +}; + +partial alphanumeric_keys + xkb_symbols "kut" { + include "ca(kut)" +}; + +partial alphanumeric_keys + xkb_symbols "shs" { + include "ca(shs)" +}; diff --git a/xkbdata/symbols/sun_vndr/ch b/xkbdata/symbols/sun_vndr/ch new file mode 100644 index 0000000..b736f6d --- /dev/null +++ b/xkbdata/symbols/sun_vndr/ch @@ -0,0 +1,168 @@ +// +// Copyright (c) 2010, 2012, Oracle and/or its affiliates. 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, and/or sell copies of the Software, and to permit persons +// to whom the Software is furnished to do so, provided that the above +// copyright notice(s) and this permission notice appear in all copies of +// the Software and that both the above copyright notice(s) and this +// permission notice appear in supporting documentation. +// +// 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 +// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR 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. +// +// Except as contained in this notice, the name of a copyright holder +// shall not be used in advertising or otherwise to promote the sale, use +// or other dealings in this Software without prior written authorization +// of the copyright holder. +// + +default partial alphanumeric_keys +xkb_symbols "sun_type6_de" { + + name[Group1]= "German (Switzerland, Sun Type 6/7)"; + + include "sun_vndr/us(sun_type6)" + + key { [ section, degree ] }; + key { [ 1, plus, bar ] }; + key { [ 2, quotedbl, at ] }; + key { [ 3, asterisk, numbersign ] }; + key { [ 4, ccedilla, asciicircum ] }; + key { [ 5, percent, asciitilde ] }; + key { [ 6, ampersand, notsign ] }; + key { [ 7, slash, brokenbar ] }; + key { [ 8, parenleft, cent ] }; + key { [ 9, parenright ] }; + key { [ 0, equal, grave ] }; + key { [ apostrophe, question, dead_acute ] }; + key { [ dead_circumflex, dead_grave, dead_tilde ] }; + + key { [ e, E, EuroSign ] }; + key { [ z, Z ] }; + key { [ udiaeresis, egrave, bracketleft ] }; + key { [ dead_diaeresis, exclam, bracketright ] }; + + key { [ odiaeresis, eacute ] }; + key { [ adiaeresis, agrave, braceleft ] }; + key { [ dollar, sterling, braceright ] }; + + key { [ less, greater, backslash ] }; + key { [ y, Y ] }; + key { [ comma, semicolon ] }; + key { [ period, colon ] }; + key { [ minus, underscore ] }; + + include "level3(ralt_switch)" + +}; + +partial alphanumeric_keys +xkb_symbols "sun_type6_fr" { + + name[Group1]= "French (Switzerland, Sun Type 6/7)"; + + include "sun_vndr/us(sun_type6)" + + key { [ section, degree ] }; + key { [ 1, plus, bar ] }; + key { [ 2, quotedbl, at ] }; + key { [ 3, asterisk, numbersign ] }; + key { [ 4, ccedilla, asciicircum ] }; + key { [ 5, percent, asciitilde ] }; + key { [ 6, ampersand, notsign ] }; + key { [ 7, slash, brokenbar ] }; + key { [ 8, parenleft, cent ] }; + key { [ 9, parenright ] }; + key { [ 0, equal, grave ] }; + key { [ apostrophe, question, dead_acute ] }; + key { [ dead_circumflex, dead_grave, dead_tilde ] }; + + key { [ e, E, EuroSign ] }; + key { [ z, Z ] }; + key { [ egrave, udiaeresis, bracketleft ] }; + key { [ dead_diaeresis, exclam, bracketright ] }; + + key { [ eacute, odiaeresis ] }; + key { [ agrave, adiaeresis, braceleft ] }; + key { [ dollar, sterling, braceright ] }; + + key { [ less, greater, backslash ] }; + key { [ y, Y ] }; + key { [ comma, semicolon ] }; + key { [ period, colon ] }; + key { [ minus, underscore ] }; + + include "level3(ralt_switch)" + +}; + +partial alphanumeric_keys + xkb_symbols "basic" { + include "sun_vndr/ch(sun_type6_de)" +}; + +partial alphanumeric_keys + xkb_symbols "legacy" { + include "ch(legacy)" +}; + +partial alphanumeric_keys + xkb_symbols "de" { + include "ch(de)" +}; + +partial alphanumeric_keys + xkb_symbols "de_Sundeadkeys" { + include "ch(de)" +}; + +partial alphanumeric_keys + xkb_symbols "de_sundeadkeys" { + include "ch(de)" +}; + +partial alphanumeric_keys + xkb_symbols "de_nodeadkeys" { + include "ch(de_nodeadkeys)" +}; + +partial alphanumeric_keys + xkb_symbols "fr" { + include "ch(fr)" +}; + +partial alphanumeric_keys + xkb_symbols "fr_Sundeadkeys" { + include "ch(fr)" +}; + +partial alphanumeric_keys + xkb_symbols "fr_sundeadkeys" { + include "ch(fr)" +}; + +partial alphanumeric_keys + xkb_symbols "fr_nodeadkeys" { + include "ch(fr_nodeadkeys)" +}; + +partial alphanumeric_keys + xkb_symbols "de_mac" { + include "ch(de_mac)" +}; + +partial alphanumeric_keys + xkb_symbols "fr_mac" { + include "ch(fr_mac)" +}; diff --git a/xkbdata/symbols/sun_vndr/cz b/xkbdata/symbols/sun_vndr/cz new file mode 100644 index 0000000..0048342 --- /dev/null +++ b/xkbdata/symbols/sun_vndr/cz @@ -0,0 +1,111 @@ +// +// Copyright (c) 2010, 2012, Oracle and/or its affiliates. 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, and/or sell copies of the Software, and to permit persons +// to whom the Software is furnished to do so, provided that the above +// copyright notice(s) and this permission notice appear in all copies of +// the Software and that both the above copyright notice(s) and this +// permission notice appear in supporting documentation. +// +// 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 +// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR 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. +// +// Except as contained in this notice, the name of a copyright holder +// shall not be used in advertising or otherwise to promote the sale, use +// or other dealings in this Software without prior written authorization +// of the copyright holder. +// + + +default partial alphanumeric_keys +xkb_symbols "sun_type6" { + + name[Group1]="Czech (Sun Type 6/7"; + + include "sun_vndr/us(sun_type6)" + + key { [ semicolon, dead_abovering, grave, asciitilde ] }; + key { [ plus, 1, exclam, asciitilde ] }; + key { [ ecaron, 2, at, dead_caron ] }; + key { [ scaron, 3, numbersign, dead_circumflex ] }; + key { [ ccaron, 4, dollar, dead_breve ] }; + key { [ rcaron, 5, percent, dead_abovering ] }; + key { [ zcaron, 6, asciicircum, dead_ogonek ] }; + key { [ yacute, 7, ampersand, grave ] }; + key { [ aacute, 8, asterisk, dead_abovedot ] }; + key { [ iacute, 9, parenleft, dead_acute ] }; + key { [ eacute, 0, parenright, dead_doubleacute ] }; + key { [ equal, percent, dead_diaeresis, backslash ] }; + key { [ dead_acute, dead_caron, dead_cedilla, minus ] }; + + key { [ q, Q, backslash ] }; + key { [ w, W, bar ] }; + key { [ e, E, EuroSign ] }; + key { [ z, Z ] }; + key { [ uacute, slash, division ] }; + key { [parenright, parenleft, multiply ] }; + + key { [ s, S, dstroke ] }; + key { [ d, D, Dstroke ] }; + key { [ f, F, bracketleft ] }; + key { [ g, G, bracketright ] }; + key { [ k, K, lstroke ] }; + key { [ l, L, Lstroke ] }; + key { [ uring, quotedbl, dollar ] }; + key { [ section, exclam, ssharp, currency ] }; + key { [ dead_diaeresis, apostrophe, backslash, bar ] }; + + key { [ backslash, asterisk, slash, brokenbar ] }; + key { [ y, Y, less ] }; + key { [ x, X, greater, numbersign ] }; + key { [ v, V, at ] }; + key { [ b, B, braceleft ] }; + key { [ n, N, braceright ] }; + key { [ comma, question, less ] }; + key { [ period, colon, greater ] }; + key { [ minus, underscore ] }; + + include "level3(ralt_switch)" + +}; + +partial alphanumeric_keys + xkb_symbols "basic" { + include "sun_vndr/cz(sun_type6)" +}; + +partial alphanumeric_keys + xkb_symbols "bksl" { + include "cz(bksl)" +}; + +partial alphanumeric_keys + xkb_symbols "qwerty" { + include "cz(qwerty)" +}; + +partial alphanumeric_keys + xkb_symbols "qwerty_bksl" { + include "cz(qwerty_bksl)" +}; + +partial alphanumeric_keys + xkb_symbols "ucw" { + include "cz(ucw)" +}; + +partial alphanumeric_keys + xkb_symbols "dvorak-ucw" { + include "cz(dvorak-ucw)" +}; diff --git a/xkbdata/symbols/sun_vndr/de b/xkbdata/symbols/sun_vndr/de new file mode 100644 index 0000000..97417fd --- /dev/null +++ b/xkbdata/symbols/sun_vndr/de @@ -0,0 +1,176 @@ +// +// Copyright (c) 2010, 2012, Oracle and/or its affiliates. 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, and/or sell copies of the Software, and to permit persons +// to whom the Software is furnished to do so, provided that the above +// copyright notice(s) and this permission notice appear in all copies of +// the Software and that both the above copyright notice(s) and this +// permission notice appear in supporting documentation. +// +// 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 +// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR 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. +// +// Except as contained in this notice, the name of a copyright holder +// shall not be used in advertising or otherwise to promote the sale, use +// or other dealings in this Software without prior written authorization +// of the copyright holder. +// + +default partial alphanumeric_keys +xkb_symbols "sun_type6" { + + name[Group1]="German (Sun Type 6/7)"; + + include "sun_vndr/us(sun_type6)" + + key { [ asciicircum, degree ] }; + key { [ 2, quotedbl, twosuperior ] }; + key { [ 3, section, threesuperior ] }; + key { [ 4, dollar ] }; + key { [ 6, ampersand, section ] }; + key { [ 7, slash, braceleft ] }; + key { [ 8, parenleft, bracketleft ] }; + key { [ 9, parenright, bracketright ] }; + key { [ 0, equal, braceright ] }; + key { [ ssharp, question, backslash ] }; + key { [ dead_acute, dead_grave ] }; + key { [ q, Q, at ] }; + key { [ e, E, EuroSign ] }; + key { [ z, Z ] }; + key { [ udiaeresis, Udiaeresis ] }; + key { [ plus, asterisk, asciitilde ] }; + key { [ odiaeresis, Odiaeresis ] }; + key { [ adiaeresis, Adiaeresis ] }; + key { [ y, Y ] }; + key { [ m, M, mu ] }; + key { [ comma, semicolon ] }; + key { [ period, colon ] }; + key { [ minus, underscore ] }; + key { [ numbersign, apostrophe, grave ] }; + key { [ less, greater, bar ] }; + + include "level3(ralt_switch)" + include "kpdl(comma)" + +}; + +partial alphanumeric_keys + xkb_symbols "basic" { + include "sun_vndr/de(sun_type6)" +}; + +partial alphanumeric_keys + xkb_symbols "legacy" { + include "de(legacy)" +}; + +partial alphanumeric_keys + xkb_symbols "nodeadkeys" { + include "de(nodeadkeys)" +}; + +partial alphanumeric_keys + xkb_symbols "deadgraveacute" { + include "de(deadgraveacute)" +}; + +partial alphanumeric_keys + xkb_symbols "deadacute" { + include "de(deadacute)" +}; + +partial alphanumeric_keys + xkb_symbols "ro" { + include "de(ro)" +}; + +partial alphanumeric_keys + xkb_symbols "ro_nodeadkeys" { + include "de(ro_nodeadkeys)" +}; + +partial alphanumeric_keys + xkb_symbols "dvorak" { + include "de(dvorak)" +}; + +partial alphanumeric_keys + xkb_symbols "Sundeadkeys" { + include "de(basic)" +}; + +partial alphanumeric_keys + xkb_symbols "sundeadkeys" { + include "de(basic)" +}; + +partial alphanumeric_keys + xkb_symbols "neo_base" { + include "de(neo_base)" +}; + +partial alphanumeric_keys + xkb_symbols "adnw" { + include "de(adnw)" +}; + +partial alphanumeric_keys + xkb_symbols "adnw_base" { + include "de(adnw_base)" +}; + +partial alphanumeric_keys + xkb_symbols "neo" { + include "de(neo)" +}; + +partial alphanumeric_keys + xkb_symbols "mac" { + include "de(mac)" +}; + +partial alphanumeric_keys + xkb_symbols "mac_nodeadkeys" { + include "de(mac_nodeadkeys)" +}; + +partial alphanumeric_keys + xkb_symbols "dsb" { + include "de(dsb)" +}; + +partial alphanumeric_keys + xkb_symbols "dsb_qwertz" { + include "de(dsb_qwertz)" +}; + +partial alphanumeric_keys + xkb_symbols "qwerty" { + include "de(qwerty)" +}; + +partial alphanumeric_keys + xkb_symbols "ru" { + include "de(ru)" +}; + +partial alphanumeric_keys + xkb_symbols "us" { + include "de(us)" +}; + +partial alphanumeric_keys + xkb_symbols "hu" { + include "de(hu)" +}; diff --git a/xkbdata/symbols/sun_vndr/dk b/xkbdata/symbols/sun_vndr/dk new file mode 100644 index 0000000..2f5be08 --- /dev/null +++ b/xkbdata/symbols/sun_vndr/dk @@ -0,0 +1,88 @@ +// +// Copyright (c) 2010, 2012, Oracle and/or its affiliates. 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, and/or sell copies of the Software, and to permit persons +// to whom the Software is furnished to do so, provided that the above +// copyright notice(s) and this permission notice appear in all copies of +// the Software and that both the above copyright notice(s) and this +// permission notice appear in supporting documentation. +// +// 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 +// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR 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. +// +// Except as contained in this notice, the name of a copyright holder +// shall not be used in advertising or otherwise to promote the sale, use +// or other dealings in this Software without prior written authorization +// of the copyright holder. +// + +default partial alphanumeric_keys +xkb_symbols "sun_type6" { + + name[Group1]="Danish (Sun Type 6/7)"; + + include "sun_vndr/us(sun_type6)" + + key { [ onehalf, section ] }; + key { [ 2, quotedbl, at ] }; + key { [ 3, numbersign, sterling ] }; + key { [ 4, currency, dollar ] }; + key { [ 5, percent, asciitilde ] }; + key { [ 6, ampersand, asciicircum ] }; + key { [ 7, slash, braceleft ] }; + key { [ 8, parenleft, bracketleft ] }; + key { [ 9, parenright, bracketright ] }; + key { [ 0, equal, braceright ] }; + key { [ plus, question ] }; + key { [ dead_acute, dead_grave, bar ] }; + key { [ e, E, EuroSign ] }; + key { [ aring, Aring ] }; + key { [ dead_diaeresis, dead_circumflex, dead_tilde ] }; + key { [ apostrophe, asterisk, grave ] }; + key { [ ae, AE ] }; + key { [ oslash, Ooblique ] }; + key { [ comma, semicolon ] }; + key { [ period, colon ] }; + key { [ minus, underscore ] }; + key { [ less, greater, backslash ] }; + + include "level3(ralt_switch)" + include "kpdl(comma)" + +}; + +partial alphanumeric_keys + xkb_symbols "basic" { + include "sun_vndr/dk(sun_type6)" +}; + +partial alphanumeric_keys + xkb_symbols "nodeadkeys" { + include "dk(nodeadkeys)" +}; + +partial alphanumeric_keys + xkb_symbols "mac" { + include "dk(mac)" +}; + +partial alphanumeric_keys + xkb_symbols "mac_nodeadkeys" { + include "dk(mac_nodeadkeys)" +}; + +partial alphanumeric_keys + xkb_symbols "dvorak" { + include "dk(dvorak)" +}; diff --git a/xkbdata/symbols/sun_vndr/ee b/xkbdata/symbols/sun_vndr/ee new file mode 100644 index 0000000..36c3729 --- /dev/null +++ b/xkbdata/symbols/sun_vndr/ee @@ -0,0 +1,111 @@ +// +// Copyright (c) 2009, 2012, Oracle and/or its affiliates. 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, and/or sell copies of the Software, and to permit persons +// to whom the Software is furnished to do so, provided that the above +// copyright notice(s) and this permission notice appear in all copies of +// the Software and that both the above copyright notice(s) and this +// permission notice appear in supporting documentation. +// +// 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 +// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR 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. +// +// Except as contained in this notice, the name of a copyright holder +// shall not be used in advertising or otherwise to promote the sale, use +// or other dealings in this Software without prior written authorization +// of the copyright holder. +// + +default alphanumeric_keys +xkb_symbols "sun_type6" { + + name[Group1]="Estonian (Sun Type 6/7)"; + + include "sun_vndr/us(sun_type6)" + + key { [ dead_caron, dead_tilde, notsign, notsign ] }; + key { [ 1, exclam, onesuperior, exclamdown ] }; + key { [ 2, quotedbl, at, oneeighth ] }; + key { [ 3, numbersign, sterling, sterling ] }; + key { [ 4, currency, dollar, dollar ] }; + key { [ 5, percent, onehalf, threeeighths ] }; + key { [ 6, ampersand, notsign, fiveeighths ] }; + key { [ 7, slash, braceleft, seveneighths ] }; + key { [ 8, parenleft, bracketleft, trademark ] }; + key { [ 9, parenright, bracketright, plusminus ] }; + key { [ 0, equal, braceright, degree ] }; + key { [ plus, question, backslash, questiondown ] }; + key { [ dead_acute, dead_grave, grave, apostrophe ] }; + + key { [ q, Q, at, Greek_OMEGA ] }; + key { [ w, W, U017F, section ] }; + key { [ e, E, EuroSign, cent ] }; + key { [ r, R, paragraph, registered ] }; + key { [ t, T, tslash, Tslash ] }; + key { [ y, Y, leftarrow, yen ] }; + key { [ u, U, downarrow, uparrow ] }; + key { [ i, I, rightarrow, idotless ] }; + key { [ o, O, oslash, Ooblique ] }; + key { [ p, P, thorn, THORN ] }; + key { [ udiaeresis, Udiaeresis, dead_diaeresis,dead_abovering ] }; + key { [ otilde, Otilde, section, dead_macron ] }; + + key { [ a, A, ae, AE ] }; + key { [ s, S, ssharp, U1E9E ] }; + key { [ d, D, eth, ETH ] }; + key { [ f, F, dstroke, ordfeminine ] }; + key { [ g, G, eng, ENG ] }; + key { [ h, H, hstroke, Hstroke ] }; + key { [ j, J, j, J ] }; + key { [ k, K, kra, ampersand ] }; + key { [ l, L, lstroke, Lstroke ] }; + key { [ odiaeresis, Odiaeresis, dead_acute, dead_doubleacute ] }; + key { [ adiaeresis, Adiaeresis, asciicircum, dead_caron ] }; + key { [ backslash, bar, degree, brokenbar ] }; + + key { [ apostrophe, asterisk, onehalf, dead_breve ] }; + key { [ z, Z, zcaron, Zcaron ] }; + key { [ x, X, guillemotright, greater ] }; + key { [ c, C, cent, copyright ] }; + key { [ v, V, leftdoublequotemark, leftsinglequotemark ] }; + key { [ b, B, rightdoublequotemark, rightsinglequotemark ] }; + key { [ n, N, ncedilla, Ncedilla ] }; + key { [ m, M, mu, masculine ] }; + key { [ comma, semicolon, less, multiply ] }; + key { [ period, colon, greater, division ] }; + key { [ minus, underscore, dead_belowdot, dead_abovedot ] }; + + include "level3(ralt_switch)" + +}; + +partial alphanumeric_keys + xkb_symbols "basic" { + include "sun_vndr/ee(sun_type6)" +}; + +partial alphanumeric_keys + xkb_symbols "nodeadkeys" { + include "ee(nodeadkeys)" +}; + +partial alphanumeric_keys + xkb_symbols "dvorak" { + include "ee(dvorak)" +}; + +partial alphanumeric_keys + xkb_symbols "us" { + include "ee(us)" +}; diff --git a/xkbdata/symbols/sun_vndr/es b/xkbdata/symbols/sun_vndr/es new file mode 100644 index 0000000..f301131 --- /dev/null +++ b/xkbdata/symbols/sun_vndr/es @@ -0,0 +1,117 @@ +// +// Copyright (c) 2010, 2012, Oracle and/or its affiliates. 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, and/or sell copies of the Software, and to permit persons +// to whom the Software is furnished to do so, provided that the above +// copyright notice(s) and this permission notice appear in all copies of +// the Software and that both the above copyright notice(s) and this +// permission notice appear in supporting documentation. +// +// 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 +// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR 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. +// +// Except as contained in this notice, the name of a copyright holder +// shall not be used in advertising or otherwise to promote the sale, use +// or other dealings in this Software without prior written authorization +// of the copyright holder. +// + +default partial alphanumeric_keys +xkb_symbols "sun_type6" { + + name[Group1]="Spanish (Sun Type 6/7)"; + + include "sun_vndr/us(sun_type6)" + + key { [ masculine, ordfeminine, backslash ] }; + key { [ less, greater ] }; + key { [ 1, exclam, bar ] }; + key { [ 2, quotedbl, at ] }; + key { [ 3, periodcentered, numbersign ] }; + key { [ 4, dollar, asciicircum ] }; + key { [ 5, percent, asciitilde ] }; + key { [ 6, ampersand, notsign ] }; + key { [ 7, slash ] }; + key { [ 8, parenleft ] }; + key { [ 9, parenright ] }; + key { [ 0, equal ] }; + key { [ apostrophe, question, grave ] }; + key { [ exclamdown, questiondown ] }; + key { [ e, E, EuroSign ] }; + key { [ dead_grave, dead_circumflex, bracketleft ] }; + key { [ plus, asterisk, bracketright ] }; + key { [ ntilde, Ntilde ] }; + key { [ dead_acute, dead_diaeresis, braceleft ] }; + key { [ ccedilla, Ccedilla, braceright ] }; + key { [ comma, semicolon ] }; + key { [ period, colon ] }; + key { [ minus, underscore ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys + xkb_symbols "basic" { + include "sun_vndr/es(sun_type6)" +}; + +partial alphanumeric_keys + xkb_symbols "Sundeadkeys" { + include "es(basic)" +}; + +partial alphanumeric_keys + xkb_symbols "sundeadkeys" { + include "es(basic)" +}; + +partial alphanumeric_keys + xkb_symbols "nodeadkeys" { + include "es(nodeadkeys)" +}; + +partial alphanumeric_keys + xkb_symbols "dvorak" { + include "es(dvorak)" +}; + +partial alphanumeric_keys + xkb_symbols "cat" { + include "es(cat)" +}; + +partial alphanumeric_keys + xkb_symbols "ast" { + include "es(ast)" +}; + +partial alphanumeric_keys + xkb_symbols "mac" { + include "es(mac)" +}; + +partial alphanumeric_keys + xkb_symbols "olpc" { + include "es(olpc)" +}; + +partial alphanumeric_keys + xkb_symbols "deadtilde" { + include "es(deadtilde)" +}; + +partial alphanumeric_keys + xkb_symbols "olpc2" { + include "es(olpc2)" +}; diff --git a/xkbdata/symbols/sun_vndr/fi b/xkbdata/symbols/sun_vndr/fi new file mode 100644 index 0000000..0fefe60 --- /dev/null +++ b/xkbdata/symbols/sun_vndr/fi @@ -0,0 +1,108 @@ +// +// Copyright (c) 2010, 2012, Oracle and/or its affiliates. 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, and/or sell copies of the Software, and to permit persons +// to whom the Software is furnished to do so, provided that the above +// copyright notice(s) and this permission notice appear in all copies of +// the Software and that both the above copyright notice(s) and this +// permission notice appear in supporting documentation. +// +// 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 +// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR 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. +// +// Except as contained in this notice, the name of a copyright holder +// shall not be used in advertising or otherwise to promote the sale, use +// or other dealings in this Software without prior written authorization +// of the copyright holder. +// + +default partial alphanumeric_keys +xkb_symbols "sun_type6" { + + include "sun_vndr/us(sun_type6)" + + name[Group1]="Finnish (Sun Type 6/7)"; + + key { [ section, onehalf ] }; + key { [ 1, exclam ] }; + key { [ 2, quotedbl, at ] }; + key { [ 3, numbersign, sterling ] }; + key { [ 4, currency, dollar ] }; + key { [ 5, percent ] }; + key { [ 6, ampersand ] }; + key { [ 7, slash, braceleft ] }; + key { [ 8, parenleft, bracketleft ] }; + key { [ 9, parenright, bracketright ] }; + key { [ 0, equal, braceright ] }; + key { [ plus, question, backslash ] }; + key { [ dead_acute, dead_grave ] }; + key { [ e, E, EuroSign ] }; + key { [ aring, Aring ] }; + key { [ dead_diaeresis, asciicircum, asciitilde ] }; + key { [ odiaeresis, Odiaeresis ] }; + key { [ adiaeresis, Adiaeresis ] }; + key { [ apostrophe, asterisk, grave ] }; + key { [ less, greater, bar ] }; + key { [ comma, semicolon ] }; + key { [ period, colon ] }; + key { [ minus, underscore ] }; + + include "level3(ralt_switch)" + include "kpdl(comma)" +}; + +partial alphanumeric_keys +xkb_symbols "basic" { + include "sun_vndr/fi(sun_type6)" +}; + +partial alphanumeric_keys +xkb_symbols "kotoistus" { + include "fi(kotoistus)" +}; + +partial alphanumeric_keys +xkb_symbols "winkeys" { + include "fi(winkeys)" +}; + +partial alphanumeric_keys +xkb_symbols "classic" { + include "fi(fi)" +}; + +partial alphanumeric_keys +xkb_symbols "nodeadkeys" { + include "fi(nodeadkeys)" +}; + +partial alphanumeric_keys +xkb_symbols "smi" { + include "fi(smi)" +}; + +partial alphanumeric_keys +xkb_symbols "mac" { + include "fi(mac)" +}; + +partial alphanumeric_keys +xkb_symbols "das" { + include "fi(das)" +}; + +partial alphanumeric_keys +xkb_symbols "fidvorak" { + include "fi(fidvorak)" +}; diff --git a/xkbdata/symbols/sun_vndr/fr b/xkbdata/symbols/sun_vndr/fr new file mode 100644 index 0000000..9a78f14 --- /dev/null +++ b/xkbdata/symbols/sun_vndr/fr @@ -0,0 +1,175 @@ +// +// Copyright (c) 2010, 2012, Oracle and/or its affiliates. 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, and/or sell copies of the Software, and to permit persons +// to whom the Software is furnished to do so, provided that the above +// copyright notice(s) and this permission notice appear in all copies of +// the Software and that both the above copyright notice(s) and this +// permission notice appear in supporting documentation. +// +// 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 +// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR 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. +// +// Except as contained in this notice, the name of a copyright holder +// shall not be used in advertising or otherwise to promote the sale, use +// or other dealings in this Software without prior written authorization +// of the copyright holder. +// + +default partial alphanumeric_keys +xkb_symbols "sun_type6" { + + name[Group1]="French (Sun Type 6/7)"; + + include "sun_vndr/us(sun_type6)" + + key { [ twosuperior ] }; + key { [ ampersand, 1 ] }; + key { [ eacute, 2, asciitilde ] }; + key { [ quotedbl, 3, numbersign ] }; + key { [ apostrophe, 4, braceleft ] }; + key { [ parenleft, 5, bracketleft ] }; + key { [ minus, 6, bar ] }; + key { [ egrave, 7, grave ] }; + key { [ underscore, 8, backslash ] }; + key { [ ccedilla, 9, asciicircum ] }; + key { [ agrave, 0, at ] }; + key { [ parenright, degree, bracketright ] }; + key { [ equal, plus, braceright ] }; + + key { [ a, A ] }; + key { [ z, Z ] }; + key { [ e, E, EuroSign ] }; + key { [ dead_circumflex, dead_diaeresis ] }; + key { [ dollar, sterling, currency ] }; + + key { [ q, Q ] }; + key { [ m, M ] }; + key { [ ugrave, percent ] }; + key { [ asterisk, mu ] }; + + key { [ less, greater ] }; + key { [ w, W ] }; + key { [ comma, question ] }; + key { [ semicolon, period ] }; + key { [ colon, slash ] }; + key { [ exclam, section ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys + xkb_symbols "basic" { + include "sun_vndr/fr(sun_type6)" +}; + +partial alphanumeric_keys + xkb_symbols "olpc" { + include "fr(olpc)" +}; + +partial alphanumeric_keys + xkb_symbols "Sundeadkeys" { + include "fr(basic)" +}; + +partial alphanumeric_keys + xkb_symbols "sundeadkeys" { + include "fr(basic)" +}; + +partial alphanumeric_keys + xkb_symbols "nodeadkeys" { + include "fr(nodeadkeys)" +}; + +partial alphanumeric_keys + xkb_symbols "oss" { + include "fr(oss)" +}; + +partial alphanumeric_keys + xkb_symbols "oss_latin9" { + include "fr(oss_latin9)" +}; + +partial alphanumeric_keys + xkb_symbols "oss_Sundeadkeys" { + include "fr(oss)" +}; + +partial alphanumeric_keys + xkb_symbols "oss_sundeadkeys" { + include "fr(oss)" +}; + +partial alphanumeric_keys + xkb_symbols "oss_nodeadkeys" { + include "fr(oss_nodeadkeys)" +}; + +partial alphanumeric_keys + xkb_symbols "latin9" { + include "fr(latin9)" +}; + +partial alphanumeric_keys + xkb_symbols "latin9_Sundeadkeys" { + include "fr(latin9)" +}; + +partial alphanumeric_keys + xkb_symbols "latin9_sundeadkeys" { + include "fr(latin9)" +}; + +partial alphanumeric_keys + xkb_symbols "latin9_nodeadkeys" { + include "fr(latin9_nodeadkeys)" +}; + +partial alphanumeric_keys + xkb_symbols "bepo" { + include "fr(bepo)" +}; + +partial alphanumeric_keys + xkb_symbols "bepo_latin9" { + include "fr(bepo_latin9)" +}; + +partial alphanumeric_keys + xkb_symbols "dvorak" { + include "fr(dvorak)" +}; + +partial alphanumeric_keys + xkb_symbols "bre" { + include "fr(bre)" +}; + +partial alphanumeric_keys + xkb_symbols "oci" { + include "fr(oci)" +}; + +partial alphanumeric_keys + xkb_symbols "mac" { + include "fr(mac)" +}; + +partial alphanumeric_keys + xkb_symbols "geo" { + include "fr(geo)" +}; diff --git a/xkbdata/symbols/sun_vndr/gb b/xkbdata/symbols/sun_vndr/gb new file mode 100644 index 0000000..d06ba0f --- /dev/null +++ b/xkbdata/symbols/sun_vndr/gb @@ -0,0 +1,87 @@ +// +// Copyright (c) 2010, 2012, Oracle and/or its affiliates. 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, and/or sell copies of the Software, and to permit persons +// to whom the Software is furnished to do so, provided that the above +// copyright notice(s) and this permission notice appear in all copies of +// the Software and that both the above copyright notice(s) and this +// permission notice appear in supporting documentation. +// +// 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 +// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR 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. +// +// Except as contained in this notice, the name of a copyright holder +// shall not be used in advertising or otherwise to promote the sale, use +// or other dealings in this Software without prior written authorization +// of the copyright holder. +// + +default partial alphanumeric_keys +xkb_symbols "sun_type6" { + + name[Group1]="English (UK, Sun Type 6/7)"; + + include "sun_vndr/us(sun_type6)" + + key { [ grave, notsign, brokenbar ] }; + + key { [ 2, quotedbl ] }; + key { [ 3, sterling ] }; + key { [ 4, dollar, EuroSign ] }; + key { [ numbersign, asciitilde ] }; + key { [ apostrophe, at ] }; + key { [ backslash, bar ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys + xkb_symbols "basic" { + include "sun_vndr/gb(sun_type6)" +}; + +partial alphanumeric_keys + xkb_symbols "intl" { + include "gb(intl)" +}; + +partial alphanumeric_keys + xkb_symbols "extd" { + include "gb(extd)" +}; + +partial alphanumeric_keys + xkb_symbols "colemak" { + include "gb(colemak)" +}; + +partial alphanumeric_keys + xkb_symbols "dvorak" { + include "gb(dvorak)" +}; + +partial alphanumeric_keys + xkb_symbols "dvorakukp" { + include "gb(dvorakukp)" +}; + +partial alphanumeric_keys + xkb_symbols "mac" { + include "gb(mac)" +}; + +partial alphanumeric_keys + xkb_symbols "mac_intl" { + include "gb(mac_intl)" +}; diff --git a/xkbdata/symbols/sun_vndr/gr b/xkbdata/symbols/sun_vndr/gr new file mode 100644 index 0000000..218e950 --- /dev/null +++ b/xkbdata/symbols/sun_vndr/gr @@ -0,0 +1,120 @@ +// +// Copyright (c) 2010, 2012, Oracle and/or its affiliates. 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, and/or sell copies of the Software, and to permit persons +// to whom the Software is furnished to do so, provided that the above +// copyright notice(s) and this permission notice appear in all copies of +// the Software and that both the above copyright notice(s) and this +// permission notice appear in supporting documentation. +// +// 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 +// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR 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. +// +// Except as contained in this notice, the name of a copyright holder +// shall not be used in advertising or otherwise to promote the sale, use +// or other dealings in this Software without prior written authorization +// of the copyright holder. +// + +default alphanumeric_keys +xkb_symbols "sun_type6" { + + name[Group1]="Greek (Sun Type 6/7)"; + + include "sun_vndr/us(sun_type6)" + + key { [ grave, asciitilde, onehalf ] }; + key { [ 1, exclam ] }; + key { [ 2, at ] }; + key { [ 3, numbersign, sterling ] }; + key { [ 4, dollar, EuroSign ] }; + key { [ 5, percent, EuroSign ] }; + key { [ 6, asciicircum, notsign ] }; + key { [ 7, ampersand ] }; + key { [ 8, asterisk ] }; + key { [ 9, parenleft ] }; + key { [ 0, parenright, degree ] }; + key { [ minus, underscore, plusminus ] }; + key { [ equal, plus ] }; + + key { [ semicolon, colon, periodcentered ] }; + key { [ Greek_finalsmallsigma, periodcentered, Greek_SIGMA ] }; + key { [ Greek_epsilon, Greek_EPSILON, EuroSign ] }; + key { [ Greek_rho, Greek_RHO, registered ] }; + key { [ Greek_tau, Greek_TAU ] }; + key { [ Greek_upsilon, Greek_UPSILON ] }; + key { [ Greek_theta, Greek_THETA ] }; + key { [ Greek_iota, Greek_IOTA ] }; + key { [ Greek_omicron, Greek_OMICRON ] }; + key { [ Greek_pi, Greek_PI ] }; + key { [ bracketleft, braceleft, guillemotleft ] }; + key { [ bracketright, braceright, guillemotright ] }; + + key { [ Greek_alpha, Greek_ALPHA ] }; + key { [ Greek_sigma, Greek_SIGMA ] }; + key { [ Greek_delta, Greek_DELTA ] }; + key { [ Greek_phi, Greek_PHI ] }; + key { [ Greek_gamma, Greek_GAMMA ] }; + key { [ Greek_eta, Greek_ETA ] }; + key { [ Greek_xi, Greek_XI ] }; + key { [ Greek_kappa, Greek_KAPPA ] }; + key { [ Greek_lamda, Greek_LAMDA ] }; + key { [ dead_acute, dead_diaeresis ] }; + key { [ apostrophe, quotedbl ] }; + key { [ backslash, bar, brokenbar ] }; + + key { [ guillemotleft, guillemotright, brokenbar ] }; + key { [ Greek_zeta, Greek_ZETA ] }; + key { [ Greek_chi, Greek_CHI ] }; + key { [ Greek_psi, Greek_PSI, copyright ] }; + key { [ Greek_omega, Greek_OMEGA ] }; + key { [ Greek_beta, Greek_BETA ] }; + key { [ Greek_nu, Greek_NU ] }; + key { [ Greek_mu, Greek_MU ] }; + key { [ comma, less, guillemotleft ] }; + key { [ period, greater, guillemotright ] }; + key { [ slash, question ] }; + + include "level3(ralt_switch)" +}; + +alphanumeric_keys + xkb_symbols "basic" { + include "sun_vndr/gr(sun_type6)" +}; + +partial alphanumeric_keys + xkb_symbols "simple" { + include "gr(simple)" +}; + +partial alphanumeric_keys + xkb_symbols "bare" { + include "gr(bare)" +}; + +partial alphanumeric_keys + xkb_symbols "extended" { + include "gr(extended)" +}; + +partial alphanumeric_keys + xkb_symbols "polytonic" { + include "gr(polytonic)" +}; + +partial alphanumeric_keys + xkb_symbols "nodeadkeys" { + include "gr(nodeadkeys)" +}; diff --git a/xkbdata/symbols/sun_vndr/it b/xkbdata/symbols/sun_vndr/it new file mode 100644 index 0000000..c85fd16 --- /dev/null +++ b/xkbdata/symbols/sun_vndr/it @@ -0,0 +1,94 @@ +// +// Copyright (c) 2010, 2012, Oracle and/or its affiliates. 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, and/or sell copies of the Software, and to permit persons +// to whom the Software is furnished to do so, provided that the above +// copyright notice(s) and this permission notice appear in all copies of +// the Software and that both the above copyright notice(s) and this +// permission notice appear in supporting documentation. +// +// 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 +// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR 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. +// +// Except as contained in this notice, the name of a copyright holder +// shall not be used in advertising or otherwise to promote the sale, use +// or other dealings in this Software without prior written authorization +// of the copyright holder. +// + +default partial alphanumeric_keys +xkb_symbols "sun_type6" { + + name[Group1]= "Italian (Sun Type 6/7)"; + + include "sun_vndr/us(sun_type6)" + + key { [ less, greater ] }; + key { [ backslash, bar ] }; + key { [ 2, quotedbl ] }; + key { [ 3, sterling ] }; + key { [ 6, ampersand ] }; + key { [ 7, slash ] }; + key { [ 8, parenleft, braceleft ] }; + key { [ 9, parenright, braceright ] }; + key { [ 0, equal ] }; + key { [ apostrophe, question, grave ] }; + key { [ igrave, asciicircum ] }; + key { [ e, E, EuroSign ] }; + key { [ egrave, eacute, bracketleft, dead_abovering ] }; + key { [ plus, asterisk, bracketright ] }; + key { [ ugrave, section, asciitilde ] }; + key { [ ograve, ccedilla, at ] }; + key { [ agrave, degree, numbersign ] }; + key { [ comma, semicolon ] }; + key { [ period, colon ] }; + key { [ minus, underscore ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys + xkb_symbols "basic" { + include "sun_vndr/it(sun_type6)" +}; + +partial alphanumeric_keys + xkb_symbols "nodeadkeys" { + include "it(nodeadkeys)" +}; + +partial alphanumeric_keys + xkb_symbols "mac" { + include "it(mac)" +}; + +partial alphanumeric_keys + xkb_symbols "geo" { + include "it(geo)" +}; + +partial alphanumeric_keys + xkb_symbols "olpc" { + include "it(olpc)" +}; + +partial alphanumeric_keys + xkb_symbols "us" { + include "it(us)" +}; + +partial alphanumeric_keys + xkb_symbols "ibm" { + include "it(ibm)" +}; diff --git a/xkbdata/symbols/sun_vndr/jp b/xkbdata/symbols/sun_vndr/jp new file mode 100644 index 0000000..82cd70a --- /dev/null +++ b/xkbdata/symbols/sun_vndr/jp @@ -0,0 +1,179 @@ +// +// Copyright (c) 2010, 2012, Oracle and/or its affiliates. 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, and/or sell copies of the Software, and to permit persons +// to whom the Software is furnished to do so, provided that the above +// copyright notice(s) and this permission notice appear in all copies of +// the Software and that both the above copyright notice(s) and this +// permission notice appear in supporting documentation. +// +// 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 +// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR 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. +// +// Except as contained in this notice, the name of a copyright holder +// shall not be used in advertising or otherwise to promote the sale, use +// or other dealings in this Software without prior written authorization +// of the copyright holder. +// + +default partial alphanumeric_keys modifier_keys +xkb_symbols "sun_type6_suncompat" { + + include "inet(evdev)" + include "sun_vndr/us(sunbasic)" + + key { [ backslash, bar ], [ prolongedsound ] }; + key { [ 1, exclam ], [ kana_NU ] }; + key { [ 2, quotedbl ], [ kana_FU ] }; + key { [ 3, numbersign ], [ kana_A, kana_a ] }; + key { [ 4, dollar ], [ kana_U, kana_u ] }; + key { [ 5, percent ], [ kana_E, kana_e ] }; + key { [ 6, ampersand ], [ kana_O, kana_o ] }; + key { [ 7, apostrophe ], [ kana_YA, kana_ya ] }; + key { [ 8, parenleft ], [ kana_YU, kana_yu ] }; + key { [ 9, parenright ], [ kana_YO, kana_yo ] }; + key { [ 0 ], [ kana_WA, kana_WO ] }; + key { [ minus, equal ], [ kana_HO ] }; + key { [ asciicircum, asciitilde], [ kana_HE ] }; + + key { [ q, Q ], [ kana_TA ] }; + key { [ w, W ], [ kana_TE ] }; + key { [ e, E ], [ kana_I, kana_i ] }; + key { [ r, R ], [ kana_SU ] }; + key { [ t, T ], [ kana_KA ] }; + key { [ y, Y ], [ kana_N ] }; + key { [ u, U ], [ kana_NA ] }; + key { [ i, I ], [ kana_NI ] }; + key { [ o, O ], [ kana_RA ] }; + key { [ p, P ], [ kana_SE ] }; + key { [ at, grave ], [ voicedsound ] }; + key { [ bracketleft, braceleft ], [ semivoicedsound, kana_openingbracket ] }; + + key { [ a, A ], [ kana_CHI ] }; + key { [ s, S ], [ kana_TO ] }; + key { [ d, D ], [ kana_SHI ] }; + key { [ f, F ], [ kana_HA ] }; + key { [ g, G ], [ kana_KI ] }; + key { [ h, H ], [ kana_KU ] }; + key { [ j, J ], [ kana_MA ] }; + key { [ k, K ], [ kana_NO ] }; + key { [ l, L ], [ kana_RI ] }; + key { [ semicolon, plus ], [ kana_RE ] }; + key { [ colon, asterisk ], [ kana_KE ] }; + key { [ bracketright, braceright ], [ kana_MU, kana_closingbracket ] }; + + key { [ z, Z ], [ kana_TSU, kana_tsu ] }; + key { [ x, X ], [ kana_SA ] }; + key { [ c, C ], [ kana_SO ] }; + key { [ v, V ], [ kana_HI ] }; + key { [ b, B ], [ kana_KO ] }; + key { [ n, N ], [ kana_MI ] }; + key { [ m, M ], [ kana_MO ] }; + key { [ comma, less ], [ kana_NE, kana_comma ] }; + key { [ period, greater ], [ kana_RU, kana_fullstop ] }; + key { [ slash, question ], [ kana_ME, kana_conjunctive ]}; + key { [ backslash, underscore], [ kana_RO ] }; + key { [ backslash, underscore], [ kana_RO ] }; + + key { [ Execute ] }; + key { [ Kanji ] }; + key { [ Henkan_Mode ] }; + key { [ Kana_Lock, Mode_switch ] }; + + key { [ Multi_key ] }; + key { [ SunSys_Req ] }; + + modifier_map Mod3 { Kana_Lock }; + +}; + +partial alphanumeric_keys +xkb_symbols "sun_type6" { + + // include "jp" + // type6 based on "jp" should be provided later + + include "sun_vndr/jp(sun_type6_suncompat)" + +}; + +partial alphanumeric_keys +xkb_symbols "sun_type7_suncompat" { + + include "sun_vndr/jp(sun_type6_suncompat)" + + key { [ 0, asciitilde, kana_WA, kana_WO ] }; + key { [ Henkan_Mode ] }; + key { [ Kana_Lock, Mode_switch ] }; + key { [ Alt_R, Alt_R ] }; + +}; + +partial alphanumeric_keys +xkb_symbols "suncompat" { + + include "sun_vndr/jp(sun_type7_suncompat)" +}; + +partial alphanumeric_keys +xkb_symbols "sun_type7" { + + include "jp" + +}; + +partial alphanumeric_keys + xkb_symbols "106" { + include "jp(106)" +}; + +partial alphanumeric_keys + xkb_symbols "common" { + include "jp(common)" +}; + +partial alphanumeric_keys + xkb_symbols "OADG109A" { + include "jp(OADG109A)" +}; + +partial alphanumeric_keys + xkb_symbols "kana86" { + include "jp(kana86)" +}; + +partial alphanumeric_keys + xkb_symbols "kana" { + include "jp(kana)" +}; + +partial alphanumeric_keys + xkb_symbols "nicola_f_bs" { + include "jp(nicola_f_bs)" +}; + +partial alphanumeric_keys + xkb_symbols "mac" { + include "jp(mac)" +}; + +partial alphanumeric_keys + xkb_symbols "hztg_escape" { + include "jp(hztg_escape)" +}; + +partial alphanumeric_keys + xkb_symbols "dvorak" { + include "jp(dvorak)" +}; diff --git a/xkbdata/symbols/sun_vndr/kr b/xkbdata/symbols/sun_vndr/kr new file mode 100644 index 0000000..aafd7ef --- /dev/null +++ b/xkbdata/symbols/sun_vndr/kr @@ -0,0 +1,85 @@ +// +// Copyright (c) 2010, 2012, Oracle and/or its affiliates. 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, and/or sell copies of the Software, and to permit persons +// to whom the Software is furnished to do so, provided that the above +// copyright notice(s) and this permission notice appear in all copies of +// the Software and that both the above copyright notice(s) and this +// permission notice appear in supporting documentation. +// +// 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 +// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR 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. +// +// Except as contained in this notice, the name of a copyright holder +// shall not be used in advertising or otherwise to promote the sale, use +// or other dealings in this Software without prior written authorization +// of the copyright holder. +// + +default partial alphanumeric_keys +xkb_symbols "sun_type6" { + + name[Group1]= "Korean (Sun Type 6/7)"; + + include "sun_vndr/us(sunbasic)" + + // A few keys are different + key { [ Hangul ] }; + key { [ Hangul_Hanja ] }; + key { [ Hangul ] }; + key { [ Hangul_Hanja ] }; + key { [ backslash, bar, brokenbar ] }; + +}; + +partial alphanumeric_keys + xkb_symbols "basic" { + include "sun_vndr/kr(sun_type6)" +}; + +partial alphanumeric_keys + xkb_symbols "kr106" { + include "kr(kr106)" +}; + +partial alphanumeric_keys + xkb_symbols "kr104" { + include "kr(kr104)" +}; + +partial function_keys + xkb_symbols "hw_keys" { + include "kr(hw_keys)" +}; + +partial function_keys + xkb_symbols "ralt_hangul" { + include "kr(ralt_hangul)" +}; + +partial function_keys + xkb_symbols "rctrl_hangul" { + include "kr(rctrl_hangul)" +}; + +partial function_keys + xkb_symbols "ralt_hanja" { + include "kr(ralt_hanja)" +}; + +partial function_keys + xkb_symbols "rctrl_hanja" { + include "kr(rctrl_hanja)" +}; + diff --git a/xkbdata/symbols/sun_vndr/lt b/xkbdata/symbols/sun_vndr/lt new file mode 100644 index 0000000..09c4222 --- /dev/null +++ b/xkbdata/symbols/sun_vndr/lt @@ -0,0 +1,125 @@ +// +// Copyright (c) 2010, 2012, Oracle and/or its affiliates. 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, and/or sell copies of the Software, and to permit persons +// to whom the Software is furnished to do so, provided that the above +// copyright notice(s) and this permission notice appear in all copies of +// the Software and that both the above copyright notice(s) and this +// permission notice appear in supporting documentation. +// +// 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 +// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR 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. +// +// Except as contained in this notice, the name of a copyright holder +// shall not be used in advertising or otherwise to promote the sale, use +// or other dealings in this Software without prior written authorization +// of the copyright holder. +// + +default partial alphanumeric_keys +xkb_symbols "sun_type6" { + + name[Group1]="Lithuanian (Sun Type 6/7)"; + + include "sun_vndr/us(sun_type6)" + + key { [ grave, asciitilde, notsign, brokenbar ] }; + key { [ aogonek, Aogonek, 1, exclam ] }; + key { [ ccaron, Ccaron, 2, at ] }; + key { [ eogonek, Eogonek, 3, numbersign ] }; + key { [ eabovedot, Eabovedot, 4, dollar ] }; + key { [ iogonek, Iogonek, 5, percent ] }; + key { [ scaron, Scaron, 6, asciicircum ] }; + key { [ uogonek, Uogonek, 7, ampersand ] }; + key { [ umacron, Umacron, 8, asterisk ] }; + key { [ doublelowquotemark, parenleft, 9, parenleft ] }; + key { [ leftdoublequotemark, parenright, 0, parenright ] }; + key { [ minus, underscore, backslash, questiondown ] }; + key { [ zcaron, Zcaron, equal, plus ] }; + + key { [ q, Q, at, Greek_OMEGA ] }; + key { [ w, W, U017F, section ] }; + key { [ e, E, EuroSign ] }; + key { [ r, R, paragraph, registered ] }; + key { [ t, T, tslash, Tslash ] }; + key { [ y, Y, leftarrow, yen ] }; + key { [ u, U, downarrow, uparrow ] }; + key { [ i, I, rightarrow, idotless ] }; + key { [ o, O, oslash, Ooblique ] }; + key { [ p, P, thorn, THORN ] }; + key { [ bracketleft, braceleft, dead_diaeresis, dead_abovering ] }; + key { [ bracketright, braceright, dead_tilde, dead_macron ] }; + + key { [ a, A, ae, AE ] }; + key { [ s, S, ssharp, U1E9E ] }; + key { [ d, D, eth, ETH ] }; + key { [ f, F, dstroke, ordfeminine ] }; + key { [ g, G, eng, ENG ] }; + key { [ h, H, hstroke, Hstroke ] }; + key { [ j, J ] }; + key { [ k, K, kra, ampersand ] }; + key { [ l, L, lstroke, Lstroke ] }; + key { [ semicolon, colon, dead_acute, dead_doubleacute ] }; + key { [ apostrophe, quotedbl, dead_circumflex, dead_caron ] }; + key { [ backslash, bar, dead_grave, dead_breve ] }; + + key { [ backslash, bar, dead_grave, dead_breve ] }; + key { [ z, Z, guillemotleft, less ] }; + key { [ x, X, guillemotright, greater ] }; + key { [ c, C, cent, copyright ] }; + key { [ v, V, doublelowquotemark, singlelowquotemark ] }; + key { [ b, B, leftdoublequotemark, leftsinglequotemark ] }; + key { [ n, N, rightdoublequotemark, rightsinglequotemark ] }; + key { [ m, M, mu, masculine ] }; + key { [ comma, less, ampersand, multiply ] }; + key { [ period, greater, periodcentered, division ] }; + key { [ slash, question, dead_belowdot, dead_abovedot ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys + xkb_symbols "basic" { + include "sun_vndr/lt(sun_type6)" +}; + +partial alphanumeric_keys + xkb_symbols "us" { + include "lt(us)" +}; + +partial alphanumeric_keys + xkb_symbols "std" { + include "lt(std)" +}; + +partial alphanumeric_keys + xkb_symbols "ibm" { + include "lt(ibm)" +}; + +partial alphanumeric_keys + xkb_symbols "lekp" { + include "lt(lekp)" +}; + +partial alphanumeric_keys + xkb_symbols "lekpa" { + include "lt(lekpa)" +}; + +partial alphanumeric_keys + xkb_symbols "us_dvorak" { + include "lt(us_dvorak)" +}; diff --git a/xkbdata/symbols/sun_vndr/lv b/xkbdata/symbols/sun_vndr/lv new file mode 100644 index 0000000..aa12843 --- /dev/null +++ b/xkbdata/symbols/sun_vndr/lv @@ -0,0 +1,165 @@ +// +// Copyright (c) 2010, 2012, Oracle and/or its affiliates. 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, and/or sell copies of the Software, and to permit persons +// to whom the Software is furnished to do so, provided that the above +// copyright notice(s) and this permission notice appear in all copies of +// the Software and that both the above copyright notice(s) and this +// permission notice appear in supporting documentation. +// +// 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 +// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR 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. +// +// Except as contained in this notice, the name of a copyright holder +// shall not be used in advertising or otherwise to promote the sale, use +// or other dealings in this Software without prior written authorization +// of the copyright holder. +// + +default alphanumeric_keys +xkb_symbols "sun_type6" { + + name[Group1]="Latvian (Sun Type 6/7)"; + + include "sun_vndr/us(sun_type6)" + + key { [ grave, asciitilde, acute, asciitilde ] }; + key { [ 1, exclam, onesuperior, exclamdown ] }; + key { [ 2, at, twosuperior, oneeighth ] }; + key { [ 3, numbersign, threesuperior, sterling ] }; + key { [ 4, dollar, EuroSign, cent ] }; + key { [ 5, percent, onehalf, threeeighths ] }; + key { [ 6, asciicircum, threequarters, fiveeighths ] }; + key { [ 7, ampersand, braceleft, seveneighths ] }; + key { [ 8, asterisk, bracketleft, trademark ] }; + key { [ 9, parenleft, bracketright, plusminus ] }; + key { [ 0, parenright, braceright, degree ] }; + key { [ minus, underscore, backslash, questiondown ] }; + key { [ equal, plus, endash, emdash ] }; + + key { [ q, Q, q, Q ] }; + key { [ w, W, w, W ] }; + key { [ e, E, emacron, Emacron ] }; + key { [ r, R, rcedilla, Rcedilla ] }; + key { [ t, T, t, T ] }; + key { [ y, Y, y, Y ] }; + key { [ u, U, umacron, Umacron ] }; + key { [ i, I, imacron, Imacron ] }; + key { [ o, O, omacron, Omacron ] }; + key { [ p, P, p, P ] }; + key { [ bracketleft, braceleft, guillemotleft, leftdoublequotemark ] }; + key { [ bracketright, braceright, guillemotright, rightdoublequotemark ] }; + + key { [ a, A, amacron, Amacron ] }; + key { [ s, S, scaron, Scaron ] }; + key { [ d, D, d, D ] }; + key { [ f, F, f, F ] }; + key { [ g, G, gcedilla, Gcedilla ] }; + key { [ h, H, h, H ] }; + key { [ j, J, j, J ] }; + key { [ k, K, kcedilla, Kcedilla ] }; + key { [ l, L, lcedilla, Lcedilla ] }; + key { [ semicolon, colon, semicolon, colon ] }; + key { [ apostrophe, quotedbl, leftdoublequotemark, doublelowquotemark ] }; + key { [ backslash, bar, degree, brokenbar ] }; + + key { [ backslash, bar, grave, breve ] }; + key { [ z, Z, zcaron, Zcaron ] }; + key { [ x, X, x, X ] }; + key { [ c, C, ccaron, Ccaron ] }; + key { [ v, V, v, V ] }; + key { [ b, B, b, B ] }; + key { [ n, N, ncedilla, Ncedilla ] }; + key { [ m, M, m, M ] }; + key { [ comma, less, U2022, multiply ] }; // bullet + key { [ period, greater, periodcentered, division ] }; + key { [ slash, question, slash, abovedot ] }; + + include "level3(ralt_switch)" +}; + +alphanumeric_keys + xkb_symbols "basic" { + include "sun_vndr/lv(sun_type6)" +}; + +partial alphanumeric_keys + xkb_symbols "apostrophe" { + include "lv(apostrophe)" +}; + +partial alphanumeric_keys + xkb_symbols "tilde" { + include "lv(tilde)" +}; + +partial alphanumeric_keys + xkb_symbols "fkey" { + include "lv(fkey)" +}; + +partial alphanumeric_keys + xkb_symbols "adapted" { + include "lv(adapted)" +}; + +partial alphanumeric_keys + xkb_symbols "ergonomic" { + include "lv(ergonomic)" +}; + +partial alphanumeric_keys + xkb_symbols "modern" { + include "lv(modern)" +}; + +partial alphanumeric_keys + xkb_symbols "dvorak" { + include "lv(dvorak)" +}; + +partial alphanumeric_keys + xkb_symbols "ykeydvorak" { + include "lv(ykeydvorak)" +}; + +partial alphanumeric_keys + xkb_symbols "minuskeydvorak" { + include "lv(minuskeydvorak)" +}; + +partial alphanumeric_keys + xkb_symbols "dvorakprogr" { + include "lv(dvorakprogr)" +}; + +partial alphanumeric_keys + xkb_symbols "ykeydvorakprogr" { + include "lv(ykeydvorakprogr)" +}; + +partial alphanumeric_keys + xkb_symbols "minuskeydvorakprogr" { + include "lv(minuskeydvorakprogr)" +}; + +partial alphanumeric_keys + xkb_symbols "colemak" { + include "lv(colemak)" +}; + +partial alphanumeric_keys + xkb_symbols "apostrophecolemak" { + include "lv(apostrophecolemak)" +}; diff --git a/xkbdata/symbols/sun_vndr/nl b/xkbdata/symbols/sun_vndr/nl new file mode 100644 index 0000000..737ed06 --- /dev/null +++ b/xkbdata/symbols/sun_vndr/nl @@ -0,0 +1,104 @@ +// +// Copyright (c) 2010, 2012, Oracle and/or its affiliates. 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, and/or sell copies of the Software, and to permit persons +// to whom the Software is furnished to do so, provided that the above +// copyright notice(s) and this permission notice appear in all copies of +// the Software and that both the above copyright notice(s) and this +// permission notice appear in supporting documentation. +// +// 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 +// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR 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. +// +// Except as contained in this notice, the name of a copyright holder +// shall not be used in advertising or otherwise to promote the sale, use +// or other dealings in this Software without prior written authorization +// of the copyright holder. +// + +default partial alphanumeric_keys +xkb_symbols "sun_type6" { + + name[Group1]="Dutch (Sun Type 6/7)"; + + include "sun_vndr/us(sun_type6)" + + key { [ at, section, notsign ] }; + key { [ 1, exclam, onesuperior ] }; + key { [ 2, quotedbl, twosuperior ] }; + key { [ 3, numbersign, threesuperior ] }; + key { [ 4, dollar, onequarter ] }; + key { [ 5, percent, onehalf ] }; + key { [ 6, ampersand, threequarters ] }; + key { [ 7, underscore, sterling ] }; + key { [ 8, parenleft, braceleft ] }; + key { [ 9, parenright, braceright ] }; + key { [ 0, apostrophe, grave ] }; + key { [ slash, question, backslash ] }; + key { [ degree, dead_tilde, dead_cedilla ] }; + + key { [ e, E, EuroSign ] }; + key { [ t, T ] }; + key { [ y, Y ] }; + key { [ u, U ] }; + key { [ i, I ] }; + key { [ o, O ] }; + key { [ p, P ] }; + key { [dead_diaeresis, dead_circumflex ] }; + key { [ asterisk, bar, asciitilde ] }; + + key { [ a, A ] }; + key { [ s, S, ssharp, U1E9E ] }; + key { [ f, F ] }; + key { [ plus, plusminus ] }; + key { [dead_acute, dead_grave ] }; + key { [ less, greater, asciicircum ] }; + + key { [bracketright, bracketleft, brokenbar ] }; + key { [ z, Z, guillemotleft ] }; + key { [ x, X, guillemotright ] }; + key { [ c, C, cent ] }; + key { [ n, N ] }; + key { [ m, M, mu ] }; + key { [ comma, semicolon ] }; + key { [ period, colon ] }; + key { [ minus, equal ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys + xkb_symbols "basic" { + include "sun_vndr/nl(sun_type6)" +}; + +partial alphanumeric_keys + xkb_symbols "std" { + include "nl(std)" +}; + +partial alphanumeric_keys + xkb_symbols "Sundeadkeys" { + include "nl(basic)" +}; + +partial alphanumeric_keys + xkb_symbols "sundeadkeys" { + include "nl(basic)" +}; + +partial alphanumeric_keys + xkb_symbols "mac" { + include "nl(mac)" +}; diff --git a/xkbdata/symbols/sun_vndr/no b/xkbdata/symbols/sun_vndr/no new file mode 100644 index 0000000..b1375d9 --- /dev/null +++ b/xkbdata/symbols/sun_vndr/no @@ -0,0 +1,102 @@ +// +// Copyright (c) 2010, 2012, Oracle and/or its affiliates. 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, and/or sell copies of the Software, and to permit persons +// to whom the Software is furnished to do so, provided that the above +// copyright notice(s) and this permission notice appear in all copies of +// the Software and that both the above copyright notice(s) and this +// permission notice appear in supporting documentation. +// +// 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 +// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR 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. +// +// Except as contained in this notice, the name of a copyright holder +// shall not be used in advertising or otherwise to promote the sale, use +// or other dealings in this Software without prior written authorization +// of the copyright holder. +// + +default partial alphanumeric_keys +xkb_symbols "sun_type6" { + + name[Group1]="Norwegian (Sun Type 6/7)"; + + include "sun_vndr/us(sun_type6)" + + key { [ bar, section ] }; + key { [ less, greater ] }; + key { [ apostrophe, asterisk, grave ] }; + key { [ 2, quotedbl, at ] }; + key { [ 3, numbersign, sterling ] }; + key { [ 4, currency, dollar ] }; + key { [ 5, percent, asciitilde ] }; + key { [ 6, ampersand, asciicircum ] }; + key { [ 7, slash, braceleft ] }; + key { [ 8, parenleft, bracketleft ] }; + key { [ 9, parenright, bracketright ] }; + key { [ 0, equal, braceright ] }; + key { [ plus, question ] }; + key { [ backslash, dead_grave, dead_acute ] }; + key { [ e, E, EuroSign ] }; + key { [ aring, Aring ] }; + key { [ dead_diaeresis, dead_circumflex, dead_tilde ] }; + key { [ oslash, Oslash ] }; + key { [ ae, AE ] }; + key { [ comma, semicolon ] }; + key { [ period, colon ] }; + key { [ minus, underscore ] }; + + include "level3(ralt_switch)" + include "kpdl(comma)" +}; + +partial alphanumeric_keys + xkb_symbols "basic" { + include "sun_vndr/no(sun_type6)" +}; + +partial alphanumeric_keys + xkb_symbols "nodeadkeys" { + include "no(nodeadkeys)" +}; + +partial alphanumeric_keys + xkb_symbols "dvorak" { + include "no(dvorak)" +}; + +partial alphanumeric_keys + xkb_symbols "smi" { + include "no(smi)" +}; + +partial alphanumeric_keys + xkb_symbols "smi_nodeadkeys" { + include "no(smi_nodeadkeys)" +}; + +partial alphanumeric_keys + xkb_symbols "mac" { + include "no(mac)" +}; + +partial alphanumeric_keys + xkb_symbols "mac_nodeadkeys" { + include "no(mac_nodeadkeys)" +}; + +partial alphanumeric_keys + xkb_symbols "colemak" { + include "no(colemak)" +}; diff --git a/xkbdata/symbols/sun_vndr/pl b/xkbdata/symbols/sun_vndr/pl new file mode 100644 index 0000000..8b8949e --- /dev/null +++ b/xkbdata/symbols/sun_vndr/pl @@ -0,0 +1,129 @@ +// +// Copyright (c) 2010, 2012, Oracle and/or its affiliates. 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, and/or sell copies of the Software, and to permit persons +// to whom the Software is furnished to do so, provided that the above +// copyright notice(s) and this permission notice appear in all copies of +// the Software and that both the above copyright notice(s) and this +// permission notice appear in supporting documentation. +// +// 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 +// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR 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. +// +// Except as contained in this notice, the name of a copyright holder +// shall not be used in advertising or otherwise to promote the sale, use +// or other dealings in this Software without prior written authorization +// of the copyright holder. +// + +default partial alphanumeric_keys +xkb_symbols "sun_type6" { + + name[Group1]="Polish (Sun Type 6/7)"; + + include "sun_vndr/us(sun_type6)" + + key { [ grave, asciitilde ] }; + key { [ 1, exclam ] }; + key { [ 2, at ] }; + key { [ 3, numbersign ] }; + key { [ 4, dollar ] }; + key { [ 5, percent ] }; + key { [ 6, asciicircum ] }; + key { [ 7, ampersand ] }; + key { [ 8, asterisk ] }; + key { [ 9, parenleft ] }; + key { [ 0, parenright ] }; + key { [ minus, underscore ] }; + key { [ equal, plus ] }; + + key { [ e, E, eogonek, Eogonek ] }; + key { [ u, U, EuroSign ] }; + key { [ o, O, oacute, Oacute ] }; + key { [ bracketleft, braceleft ] }; + key { [ bracketright, braceright ] }; + + key { [ a, A, aogonek, Aogonek ] }; + key { [ s, S, sacute, Sacute ] }; + key { [ l, L, lstroke, Lstroke ] }; + key { [ semicolon, colon ] }; + key { [ apostrophe, quotedbl ] }; + key { [ backslash, bar, brokenbar ] }; + + key { [ less, greater, bar, brokenbar ] }; + key { [ z, Z, zabovedot, Zabovedot ] }; + key { [ x, X, zacute, Zacute ] }; + key { [ c, C, cacute, Cacute ] }; + key { [ n, N, nacute, Nacute ] }; + key { [ comma, less ] }; + key { [ period, greater ] }; + key { [ slash, question ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys + xkb_symbols "basic" { + include "sun_vndr/pl(sun_type6)" +}; + +partial alphanumeric_keys + xkb_symbols "legacy" { + include "pl(legacy)" +}; + +partial alphanumeric_keys + xkb_symbols "qwertz" { + include "pl(qwertz)" +}; + +partial alphanumeric_keys + xkb_symbols "intl" { + include "pl(intl)" +}; + +partial alphanumeric_keys + xkb_symbols "dvorak" { + include "pl(dvorak)" +}; + +partial alphanumeric_keys + xkb_symbols "dvorak_quotes" { + include "pl(dvorak_quotes)" +}; + +partial alphanumeric_keys + xkb_symbols "dvorak_altquotes" { + include "pl(dvorak_altquotes)" +}; + +partial alphanumeric_keys + xkb_symbols "dvp" { + include "pl(dvp)" +}; + +partial alphanumeric_keys + xkb_symbols "szl" { + include "pl(szl)" +}; + +partial alphanumeric_keys + xkb_symbols "csb" { + include "pl(csb)" +}; + +partial alphanumeric_keys + xkb_symbols "ru_phonetic_dvorak" { + include "pl(ru_phonetic_dvorak)" +}; diff --git a/xkbdata/symbols/sun_vndr/pt b/xkbdata/symbols/sun_vndr/pt new file mode 100644 index 0000000..222a0b6 --- /dev/null +++ b/xkbdata/symbols/sun_vndr/pt @@ -0,0 +1,111 @@ +// +// Copyright (c) 2010, 2012, Oracle and/or its affiliates. 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, and/or sell copies of the Software, and to permit persons +// to whom the Software is furnished to do so, provided that the above +// copyright notice(s) and this permission notice appear in all copies of +// the Software and that both the above copyright notice(s) and this +// permission notice appear in supporting documentation. +// +// 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 +// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR 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. +// +// Except as contained in this notice, the name of a copyright holder +// shall not be used in advertising or otherwise to promote the sale, use +// or other dealings in this Software without prior written authorization +// of the copyright holder. +// + +default partial alphanumeric_keys +xkb_symbols "sun_type6" { + + name[Group1]= "Portuguese (Sun Type 6/7)"; + + include "sun_vndr/us(sun_type6)" + + key { [ less, greater ] }; + key { [ backslash, bar ] }; + key { [ 2, quotedbl, at ] }; + key { [ 3, numbersign, sterling ] }; + key { [ 4, dollar, section ] }; + key { [ 5, percent, asciitilde ] }; + key { [ 6, ampersand, asciicircum ] }; + key { [ 7, slash, braceleft ] }; + key { [ 8, parenleft, bracketleft ] }; + key { [ 9, parenright, bracketright ] }; + key { [ 0, equal, braceright ] }; + key { [ apostrophe, question, grave ] }; + key { [ guillemotleft, guillemotright ] }; + key { [ e, E, EuroSign ] }; + key { [ plus, asterisk, dead_diaeresis ] }; + key { [ dead_acute, dead_grave ] }; + key { [ dead_tilde, dead_circumflex ] }; + key { [ ccedilla, Ccedilla ] }; + key { [ masculine, ordfeminine ] }; + key { [ comma, semicolon ] }; + key { [ period, colon ] }; + key { [ minus, underscore ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys + xkb_symbols "basic" { + include "sun_vndr/pt(sun_type6)" +}; + +partial alphanumeric_keys + xkb_symbols "Sundeadkeys" { + include "pt(basic)" +}; + +partial alphanumeric_keys + xkb_symbols "sundeadkeys" { + include "pt(basic)" +}; + +partial alphanumeric_keys + xkb_symbols "nodeadkeys" { + include "pt(nodeadkeys)" +}; + +partial alphanumeric_keys + xkb_symbols "mac" { + include "pt(mac)" +}; + +partial alphanumeric_keys + xkb_symbols "mac_sundeadkeys" { + include "pt(mac)" +}; + +partial alphanumeric_keys + xkb_symbols "mac_nodeadkeys" { + include "pt(mac_nodeadkeys)" +}; + +partial alphanumeric_keys + xkb_symbols "nativo" { + include "pt(nativo)" +}; + +partial alphanumeric_keys + xkb_symbols "nativo-us" { + include "pt(nativo-us)" +}; + +partial alphanumeric_keys + xkb_symbols "nativo-epo" { + include "pt(nativo-epo)" +}; diff --git a/xkbdata/symbols/sun_vndr/ro b/xkbdata/symbols/sun_vndr/ro new file mode 100644 index 0000000..292f86e --- /dev/null +++ b/xkbdata/symbols/sun_vndr/ro @@ -0,0 +1,94 @@ +// +// Copyright (c) 2010, 2012, Oracle and/or its affiliates. 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, and/or sell copies of the Software, and to permit persons +// to whom the Software is furnished to do so, provided that the above +// copyright notice(s) and this permission notice appear in all copies of +// the Software and that both the above copyright notice(s) and this +// permission notice appear in supporting documentation. +// +// 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 +// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR 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. +// +// Except as contained in this notice, the name of a copyright holder +// shall not be used in advertising or otherwise to promote the sale, use +// or other dealings in this Software without prior written authorization +// of the copyright holder. +// + +default partial alphanumeric_keys +xkb_symbols "sun_type6" { + + name[Group1]="Romanian (Sun Type 6/7)"; + + include "sun_vndr/us(sun_type6)" + + key { [ 1, exclam, dead_tilde ] }; + key { [ 2, at, dead_caron ] }; + key { [ 3, numbersign, dead_circumflex ] }; + key { [ 4, dollar, dead_breve ] }; + key { [ 5, percent, dead_abovering ] }; + key { [ 6, asciicircum, dead_ogonek ] }; + key { [ 7, ampersand, dead_grave ] }; + key { [ 8, asterisk, dead_abovedot ] }; + key { [ 9, parenleft, dead_acute ] }; + key { [ 0, parenright, dead_doubleacute ] }; + key { [ minus, underscore, dead_diaeresis, endash ] }; + key { [ equal, plus, dead_cedilla, plusminus ] }; + key { [ q, Q, acircumflex, Acircumflex ] }; + key { [ w, W, ssharp, U1e9e ] }; + key { [ e, E, EuroSign ] }; + key { [ t, T, U021b, U021a ] }; + key { [ i, I, icircumflex, Icircumflex ] }; + key { [ p, P, section ] }; + key { [ bracketleft, braceleft, doublelowquotemark ] }; + key { [ bracketright, braceright, rightdoublequotemark ] }; + key { [ a, A, abreve, Abreve ] }; + key { [ s, S, U0219, U0218 ] }; + key { [ d, D, dstroke, Dstroke ] }; + key { [ l, L, lstroke, Lstroke ] }; + key { [ backslash, bar ] }; + key { [ c, C, copyright ] }; + key { [ comma, less, guillemotleft ] }; + key { [ period, greater, guillemotright ] }; + + key { [ KP_Delete, KP_Decimal, KP_Separator, KP_Separator ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "basic" { + include "sun_vndr/ro(sun_type6)" +}; + +partial alphanumeric_keys +xkb_symbols "std" { + include "ro(std)" +}; + +partial alphanumeric_keys +xkb_symbols "winkeys" { + include "ro(winkeys)" +}; + +partial alphanumeric_keys +xkb_symbols "crh_dobruja" { + include "ro(crh_dobruja)" +}; + +partial alphanumeric_keys +xkb_symbols "ergonomic" { + include "ro(ergonomic)" +}; diff --git a/xkbdata/symbols/sun_vndr/ru b/xkbdata/symbols/sun_vndr/ru new file mode 100644 index 0000000..e351cd3 --- /dev/null +++ b/xkbdata/symbols/sun_vndr/ru @@ -0,0 +1,205 @@ +// +// Copyright (c) 2010, 2012, Oracle and/or its affiliates. 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, and/or sell copies of the Software, and to permit persons +// to whom the Software is furnished to do so, provided that the above +// copyright notice(s) and this permission notice appear in all copies of +// the Software and that both the above copyright notice(s) and this +// permission notice appear in supporting documentation. +// +// 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 +// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR 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. +// +// Except as contained in this notice, the name of a copyright holder +// shall not be used in advertising or otherwise to promote the sale, use +// or other dealings in this Software without prior written authorization +// of the copyright holder. +// + +default partial alphanumeric_keys +xkb_symbols "sun_type6" { + + name[Group1]= "Russian (Sun Type 6/7)"; + + include "sun_vndr/us(sun_type6)" + + key.type[group1]="FOUR_LEVEL"; + + key { [ 1, exclam, 1, exclam ] }; + key { [ 2, quotedbl, 2, at ] }; + key { [ 3, numerosign, 3, numbersign ] }; + key { [ 4, percent, 4, dollar ] }; + key { [ 5, colon, 5, percent ] }; + key { [ 6, comma, 6, asciicircum ] }; + key { [ 7, period, 7, ampersand ] }; + key { [ 8, semicolon, 8, asterisk ] }; + key { [ slash, question, backslash, bar ] }; + key { [ ediaeresis, Ediaeresis, slash, question ] }; + key { [ backslash, bar, backslash, bar ] }; + + key { [ Cyrillic_shorti, Cyrillic_SHORTI, q, Q ] }; + key { [ Cyrillic_tse, Cyrillic_TSE, w, W ] }; + key { [ Cyrillic_u, Cyrillic_U, e, E ] }; + key { [ Cyrillic_ka, Cyrillic_KA, r, R ] }; + key { [ Cyrillic_ie, Cyrillic_IE, t, T ] }; + key { [ Cyrillic_en, Cyrillic_EN, y, Y ] }; + key { [ Cyrillic_ghe, Cyrillic_GHE, u, U ] }; + key { [ Cyrillic_sha, Cyrillic_SHA, i, I ] }; + key { [ Cyrillic_shcha, Cyrillic_SHCHA, o, O ] }; + key { [ Cyrillic_ze, Cyrillic_ZE, p, P ] }; + key { [ Cyrillic_ha, Cyrillic_HA, bracketleft, braceleft ] }; + key { [Cyrillic_hardsign,Cyrillic_HARDSIGN, bracketright, braceright ] }; + key { [ Cyrillic_ef, Cyrillic_EF, a, A ] }; + key { [ Cyrillic_yeru, Cyrillic_YERU, s, S ] }; + key { [ Cyrillic_ve, Cyrillic_VE, d, D ] }; + key { [ Cyrillic_a, Cyrillic_A, f, F ] }; + key { [ Cyrillic_pe, Cyrillic_PE, g, G ] }; + key { [ Cyrillic_er, Cyrillic_ER, h, H ] }; + key { [ Cyrillic_o, Cyrillic_O, j, J ] }; + key { [ Cyrillic_el, Cyrillic_EL, k, K ] }; + key { [ Cyrillic_de, Cyrillic_DE, l, L ] }; + key { [ Cyrillic_zhe, Cyrillic_ZHE, semicolon, colon ] }; + key { [ Cyrillic_e, Cyrillic_E, apostrophe, quotedbl ] }; + key { [ Cyrillic_ya, Cyrillic_YA, z, Z ] }; + key { [ Cyrillic_che, Cyrillic_CHE, x, X ] }; + key { [ Cyrillic_es, Cyrillic_ES, c, C ] }; + key { [ Cyrillic_em, Cyrillic_EM, v, V ] }; + key { [ Cyrillic_i, Cyrillic_I, b, B ] }; + key { [ Cyrillic_te, Cyrillic_TE, n, N ] }; + key { [Cyrillic_softsign,Cyrillic_SOFTSIGN, m, M ] }; + key { [ Cyrillic_be, Cyrillic_BE, comma, less ] }; + key { [ Cyrillic_yu, Cyrillic_YU, period, greater ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys + xkb_symbols "basic" { + include "sun_vndr/ru(sun_type6)" +}; + +partial alphanumeric_keys + xkb_symbols "winkeys" { + include "ru(winkeys)" +}; + +partial alphanumeric_keys + xkb_symbols "common" { + include "ru(common)" +}; + +partial alphanumeric_keys + xkb_symbols "legacy" { + include "ru(legacy)" +}; + +partial alphanumeric_keys + xkb_symbols "olpc" { + include "ru(olpc)" +}; + +partial alphanumeric_keys + xkb_symbols "typewriter" { + include "ru(typewriter)" +}; + +partial alphanumeric_keys + xkb_symbols "typewriter-legacy" { + include "ru(typewriter-legacy)" +}; + +partial alphanumeric_keys + xkb_symbols "phonetic" { + include "ru(phonetic)" +}; + +partial alphanumeric_keys + xkb_symbols "phonetic_winkeys" { + include "ru(phonetic_winkeys)" +}; + +partial alphanumeric_keys + xkb_symbols "tt" { + include "ru(tt)" +}; + +partial alphanumeric_keys + xkb_symbols "os_legacy" { + include "ru(os_legacy)" +}; + +partial alphanumeric_keys + xkb_symbols "os_winkeys" { + include "ru(os_winkeys)" +}; + +partial alphanumeric_keys + xkb_symbols "cv" { + include "ru(cv)" +}; + +partial alphanumeric_keys + xkb_symbols "udm" { + include "ru(udm)" +}; + +partial alphanumeric_keys + xkb_symbols "cv_latin" { + include "ru(cv_latin)" +}; + +partial alphanumeric_keys + xkb_symbols "kom" { + include "ru(kom)" +}; + +partial alphanumeric_keys + xkb_symbols "sah" { + include "ru(sah)" +}; + +partial alphanumeric_keys + xkb_symbols "xal" { + include "ru(xal)" +}; + +partial alphanumeric_keys + xkb_symbols "dos" { + include "ru(dos)" +}; + +partial alphanumeric_keys + xkb_symbols "bak" { + include "ru(bak)" +}; + +partial alphanumeric_keys + xkb_symbols "srp" { + include "ru(srp)" +}; + +partial alphanumeric_keys + xkb_symbols "chm" { + include "ru(chm)" +}; + +partial alphanumeric_keys + xkb_symbols "chu" { + include "ru(chu)" +}; + +partial alphanumeric_keys + xkb_symbols "ruu" { + include "ru(ruu)" +}; diff --git a/xkbdata/symbols/sun_vndr/se b/xkbdata/symbols/sun_vndr/se new file mode 100644 index 0000000..0fe138e --- /dev/null +++ b/xkbdata/symbols/sun_vndr/se @@ -0,0 +1,111 @@ +// +// Copyright (c) 2010, 2012, Oracle and/or its affiliates. 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, and/or sell copies of the Software, and to permit persons +// to whom the Software is furnished to do so, provided that the above +// copyright notice(s) and this permission notice appear in all copies of +// the Software and that both the above copyright notice(s) and this +// permission notice appear in supporting documentation. +// +// 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 +// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR 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. +// +// Except as contained in this notice, the name of a copyright holder +// shall not be used in advertising or otherwise to promote the sale, use +// or other dealings in this Software without prior written authorization +// of the copyright holder. +// + +default partial alphanumeric_keys +xkb_symbols "sun_type6" { + + name[Group1]="Swedish (Sun Type 6/7)"; + + include "sun_vndr/us(sun_type6)" + + key { [ section, onehalf ] }; + key { [ less, greater, bar ] }; + key { [ 2, quotedbl, at ] }; + key { [ 3, numbersign, sterling ] }; + key { [ 4, currency, dollar ] }; + key { [ 6, ampersand ] }; + key { [ 7, slash, braceleft ] }; + key { [ 8, parenleft, bracketleft ] }; + key { [ 9, parenright, bracketright ] }; + key { [ 0, equal, braceright ] }; + key { [ plus, question, backslash ] }; + key { [ dead_acute, dead_grave ] }; + key { [ e, E, EuroSign ] }; + key { [ aring, Aring ] }; + key { [ dead_diaeresis, asciicircum, asciitilde ] }; + key { [ odiaeresis, Odiaeresis ] }; + key { [ adiaeresis, Adiaeresis ] }; + key { [ apostrophe, asterisk, grave ] }; + key { [ comma, semicolon ] }; + key { [ period, colon ] }; + key { [ minus, underscore ] }; + + include "level3(ralt_switch)" + include "kpdl(comma)" +}; + +partial alphanumeric_keys + xkb_symbols "basic" { + include "sun_vndr/se(sun_type6)" +}; + +partial alphanumeric_keys + xkb_symbols "se" { + include "se(se)" +}; + +partial alphanumeric_keys + xkb_symbols "nodeadkeys" { + include "se(nodeadkeys)" +}; + +partial alphanumeric_keys + xkb_symbols "dvorak" { + include "se(dvorak)" +}; + +partial alphanumeric_keys + xkb_symbols "rus" { + include "se(rus)" +}; + +partial alphanumeric_keys + xkb_symbols "rus_nodeadkeys" { + include "se(rus_nodeadkeys)" +}; + +partial alphanumeric_keys + xkb_symbols "smi" { + include "se(smi)" +}; + +partial alphanumeric_keys + xkb_symbols "mac" { + include "se(mac)" +}; + +partial alphanumeric_keys + xkb_symbols "svdvorak" { + include "se(svdvorak)" +}; + +partial alphanumeric_keys + xkb_symbols "swl" { + include "se(swl)" +}; diff --git a/xkbdata/symbols/sun_vndr/sk b/xkbdata/symbols/sun_vndr/sk new file mode 100644 index 0000000..b42ac31 --- /dev/null +++ b/xkbdata/symbols/sun_vndr/sk @@ -0,0 +1,103 @@ +// +// Copyright (c) 2010, 2012, Oracle and/or its affiliates. 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, and/or sell copies of the Software, and to permit persons +// to whom the Software is furnished to do so, provided that the above +// copyright notice(s) and this permission notice appear in all copies of +// the Software and that both the above copyright notice(s) and this +// permission notice appear in supporting documentation. +// +// 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 +// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR 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. +// +// Except as contained in this notice, the name of a copyright holder +// shall not be used in advertising or otherwise to promote the sale, use +// or other dealings in this Software without prior written authorization +// of the copyright holder. +// + +default partial alphanumeric_keys +xkb_symbols "sun_type6" { + + name[Group1]="Slovak (Sun Type 6/7)"; + + include "sun_vndr/us(sun_type6)" + + key { [ semicolon, dead_abovering, grave, asciitilde ] }; + key { [ plus, 1, exclam, asciitilde ] }; + key { [ lcaron, 2, at, dead_caron ] }; + key { [ scaron, 3, numbersign, dead_circumflex ] }; + key { [ ccaron, 4, dollar, dead_breve ] }; + key { [ tcaron, 5, percent, dead_abovering ] }; + key { [ zcaron, 6, asciicircum, dead_ogonek ] }; + key { [ yacute, 7, ampersand, grave ] }; + key { [ aacute, 8, asterisk, dead_abovedot ] }; + key { [ iacute, 9, parenleft, apostrophe ] }; + key { [ eacute, 0, parenright, dead_doubleacute ] }; + key { [ equal, percent, dead_diaeresis, backslash ] }; + key { [ dead_acute, dead_caron, dead_cedilla, minus ] }; + + key { [ q, Q, backslash ] }; + key { [ w, W, bar ] }; + key { [ e, E, EuroSign ] }; + key { [ z, Z ] }; + key { [ p, P, apostrophe ] }; + key { [ uacute, slash, division ] }; + key { [ adiaeresis, parenleft, multiply ] }; + + key { [ s, S, dstroke ] }; + key { [ d, D, Dstroke ] }; + key { [ f, F, bracketleft ] }; + key { [ g, G, bracketright ] }; + key { [ k, K, lstroke ] }; + key { [ l, L, Lstroke ] }; + key { [ ocircumflex, quotedbl, dollar ] }; + key { [ section, exclam, ssharp, U1E9E ] }; + key { [ ncaron, parenright, currency, currency ] }; + key { [ ncaron, parenright, backslash, bar ] }; + + key { [ backslash, bar, slash, brokenbar ] }; + key { [ y, Y, less ] }; + key { [ x, X, greater, numbersign ] }; + key { [ c, C, ampersand ] }; + key { [ v, V, at ] }; + key { [ b, B, braceleft ] }; + key { [ n, N, braceright ] }; + key { [ comma, question, less ] }; + key { [ period, colon, greater ] }; + key { [ minus, underscore, asterisk ] }; + + include "level3(ralt_switch)" + +}; + +partial alphanumeric_keys + xkb_symbols "basic" { + include "sun_vndr/sk(sun_type6)" +}; + +partial alphanumeric_keys + xkb_symbols "bksl" { + include "sk(bksl)" +}; + +partial alphanumeric_keys + xkb_symbols "qwerty" { + include "sk(qwerty)" +}; + +partial alphanumeric_keys + xkb_symbols "qwerty_bksl" { + include "sk(qwerty_bksl)" +}; diff --git a/xkbdata/symbols/sun_vndr/solaris b/xkbdata/symbols/sun_vndr/solaris new file mode 100644 index 0000000..534667a --- /dev/null +++ b/xkbdata/symbols/sun_vndr/solaris @@ -0,0 +1,112 @@ +// +// Copyright (c) 2010, 2012, Oracle and/or its affiliates. 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, and/or sell copies of the Software, and to permit persons +// to whom the Software is furnished to do so, provided that the above +// copyright notice(s) and this permission notice appear in all copies of +// the Software and that both the above copyright notice(s) and this +// permission notice appear in supporting documentation. +// +// 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 +// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR 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. +// +// Except as contained in this notice, the name of a copyright holder +// shall not be used in advertising or otherwise to promote the sale, use +// or other dealings in this Software without prior written authorization +// of the copyright holder. +// + +partial +xkb_symbols "defaults_common" { + + key { [ XF86AudioMute ] }; + key { [ XF86AudioLowerVolume ] }; + key { [ XF86AudioRaiseVolume ] }; + key { [ XF86PowerOff ] }; + key { [ Cancel ] }; + key { [ Redo ] }; + key { [ SunProps ] }; + key { [ Undo ] }; + key { [ SunFront ] }; + key { [ XF86Copy ] }; + key { [ SunOpen ] }; + key { [ XF86Paste ] }; + key { [ Find ] }; + key { [ XF86Cut ] }; + key { [ Help ] }; + key { [ Linefeed ] }; + + key { [ Alt_L, Alt_L ] }; + key { [ Meta_L ] }; + key { [ Meta_R ] }; + +// The following is needed for virtual hotkeys + + key { [ XF86Sleep ] }; + key { [ XF86ScreenSaver ] }; + key { [ XF86Display ] }; + +// Common Sun Modifiers + + modifier_map Shift { Shift_R, Shift_L }; + modifier_map Mod2 { Num_Lock }; + modifier_map Mod4 { Meta_L, Meta_R }; + +}; + +default partial +xkb_symbols "defaults" { + + include "sun_vndr/solaris(defaults_common)" + + modifier_map Mod1 { Alt_L }; + +}; + +partial +xkb_symbols "defaults_type7jp" { + + include "sun_vndr/solaris(defaults_common)" + + modifier_map Mod1 { Alt_L, Alt_R }; + +}; + +partial +xkb_symbols "sun_compat" { + + key { [ L1, L1, SunStop ] }; + key { [ L2, L2, SunAgain ] }; + key { [ L3, L3, SunProps ] }; + key { [ L4, L4, SunUndo ] }; + key { [ L5, L5, SunFront ] }; + key { [ L6, L6, SunCopy ] }; + key { [ L7, L7, SunOpen ] }; + key { [ L8, L8, SunPaste ] }; + key { [ L9, L9, SunFind ] }; + key { [ L10, L10, SunCut ] }; + +// F11 & F12 are mapped to SunF36 and SunF37 since they were added +// after F11-F35 were already assigned on Sun keyboards + key { [ SunF36 ], [ F11 ] }; + key { [ SunF37 ], [ F12 ] }; + +// These were added to the keyboard much later and simply got mapped +// to their logical names + key { [ Help ] }; + key { [ SunAudioMute, SunVideoDegauss ] }; + key { [ SunAudioLowerVolume, SunVideoLowerBrightness ] }; + key { [ SunAudioRaiseVolume, SunVideoRaiseBrightness ] }; + key { [ XF86Sleep, XF86Hibernate ] }; +}; diff --git a/xkbdata/symbols/sun_vndr/tr b/xkbdata/symbols/sun_vndr/tr new file mode 100644 index 0000000..9e60457 --- /dev/null +++ b/xkbdata/symbols/sun_vndr/tr @@ -0,0 +1,131 @@ +// +// Copyright (c) 2010, 2012, Oracle and/or its affiliates. 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, and/or sell copies of the Software, and to permit persons +// to whom the Software is furnished to do so, provided that the above +// copyright notice(s) and this permission notice appear in all copies of +// the Software and that both the above copyright notice(s) and this +// permission notice appear in supporting documentation. +// +// 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 +// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR 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. +// +// Except as contained in this notice, the name of a copyright holder +// shall not be used in advertising or otherwise to promote the sale, use +// or other dealings in this Software without prior written authorization +// of the copyright holder. +// + +default partial alphanumeric_keys +xkb_symbols "sun_type6" { + + name[Group1]="Turkish (Sun Type 6)"; + + include "sun_vndr/us(sun_type6)" + + key { [ quotedbl, eacute ] }; + key { [ 1, exclam ] }; + key { [ 2, apostrophe ] }; + key { [ 3, asciicircum, numbersign ] }; + key { [ 4, plus, dollar ] }; + key { [ 6, ampersand ] }; + key { [ 7, slash, braceleft ] }; + key { [ 8, parenleft, bracketleft ] }; + key { [ 9, parenright, bracketright ] }; + key { [ 0, equal, braceright ] }; + key { [ asterisk, question, backslash ] }; + key { [ minus, underscore ] }; + + key { [ q, Q, at ] }; + key { [ e, E, EuroSign ] }; + key { [ idotless, I ] }; + key { [ gbreve, Gbreve ] }; + key { [udiaeresis, Udiaeresis, asciitilde ] }; + + key { [ scedilla, Scedilla, acute ] }; + key { [ i, Iabovedot ] }; + key { [ comma, semicolon, grave ] }; + + key { [ less, greater, bar ] }; + key { [odiaeresis, Odiaeresis ] }; + key { [ ccedilla, Ccedilla ] }; + key { [ period, colon ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "basic" { + include "sun_vndr/tr(sun_type6)" +}; + +partial alphanumeric_keys + xkb_symbols "f" { + include "tr(f)" +}; + +partial alphanumeric_keys + xkb_symbols "alt" { + include "tr(alt)" +}; + +partial alphanumeric_keys + xkb_symbols "Sundeadkeys" { + include "tr(basic)" +}; + +partial alphanumeric_keys + xkb_symbols "sundeadkeys" { + include "tr(basic)" +}; + +partial alphanumeric_keys + xkb_symbols "ku" { + include "tr(ku)" +}; + +partial alphanumeric_keys + xkb_symbols "ku_f" { + include "tr(ku_f)" +}; + +partial alphanumeric_keys + xkb_symbols "ku_alt" { + include "tr(ku_alt)" +}; + +partial alphanumeric_keys + xkb_symbols "intl" { + include "tr(intl)" +}; + +partial alphanumeric_keys + xkb_symbols "olpc" { + include "tr(olpc)" +}; + +partial alphanumeric_keys + xkb_symbols "crh" { + include "tr(crh)" +}; + +partial alphanumeric_keys + xkb_symbols "crh_f" { + include "tr(crh_f)" +}; + +partial alphanumeric_keys + xkb_symbols "crh_alt" { + include "tr(crh_alt)" +}; diff --git a/xkbdata/symbols/sun_vndr/tw b/xkbdata/symbols/sun_vndr/tw new file mode 100644 index 0000000..2296ad1 --- /dev/null +++ b/xkbdata/symbols/sun_vndr/tw @@ -0,0 +1,60 @@ +// +// Copyright (c) 2010, 2012, Oracle and/or its affiliates. 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, and/or sell copies of the Software, and to permit persons +// to whom the Software is furnished to do so, provided that the above +// copyright notice(s) and this permission notice appear in all copies of +// the Software and that both the above copyright notice(s) and this +// permission notice appear in supporting documentation. +// +// 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 +// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR 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. +// +// Except as contained in this notice, the name of a copyright holder +// shall not be used in advertising or otherwise to promote the sale, use +// or other dealings in this Software without prior written authorization +// of the copyright holder. +// + +default partial alphanumeric_keys +xkb_symbols "sun_type6" { + + name[Group1]= "Taiwanese (Sun Type 6/7)"; + + include "sun_vndr/us(sunbasic)" + + key { [ Henkan_Mode ] }; + key { [ backslash, bar, brokenbar ] }; + +}; + +partial alphanumeric_keys + xkb_symbols "basic" { + include "sun_vndr/tw(sun_type6)" +}; + +partial alphanumeric_keys + xkb_symbols "tw" { + include "tw(tw)" +}; + +partial alphanumeric_keys + xkb_symbols "indigenous" { + include "tw(indigenous)" +}; + +partial alphanumeric_keys + xkb_symbols "saisiyat" { + include "tw(saisiyat)" +}; diff --git a/xkbdata/symbols/sun_vndr/ua b/xkbdata/symbols/sun_vndr/ua new file mode 100644 index 0000000..00701a7 --- /dev/null +++ b/xkbdata/symbols/sun_vndr/ua @@ -0,0 +1,135 @@ +// +// Copyright (c) 2010, 2012, Oracle and/or its affiliates. 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, and/or sell copies of the Software, and to permit persons +// to whom the Software is furnished to do so, provided that the above +// copyright notice(s) and this permission notice appear in all copies of +// the Software and that both the above copyright notice(s) and this +// permission notice appear in supporting documentation. +// +// 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 +// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR 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. +// +// Except as contained in this notice, the name of a copyright holder +// shall not be used in advertising or otherwise to promote the sale, use +// or other dealings in this Software without prior written authorization +// of the copyright holder. +// + +default partial alphanumeric_keys +xkb_symbols "sun_type6" { + + name[Group1]="Ukrainian (Sun Type 6)"; + + include "sun_vndr/us(sun_type6)" + + key { [ grave, asciitilde, apostrophe, asciitilde ] }; + key { [ 1, exclam, 1, exclam ] }; + key { [ 2, at, 2, quotedbl ] }; + key { [ 3, numbersign, 3, numbersign ] }; + key { [ 4, dollar, 4, asterisk ] }; + key { [ 5, percent, 5, colon ] }; + key { [ 6, asciicircum, 6, comma ] }; + key { [ 7, ampersand, 7, period ] }; + key { [ 8, asterisk, 8, semicolon ] }; + key { [ 9, parenleft, 9, parenleft ] }; + key { [ 0, parenright, 0, parenright ] }; + key { [ minus, underscore, minus, underscore ] }; + key { [ equal, plus, equal, plus ] }; + + key { [ q, Q, Cyrillic_shorti, Cyrillic_SHORTI ] }; + key { [ w, W, Cyrillic_tse, Cyrillic_TSE ] }; + key { [ e, E, Cyrillic_u, Cyrillic_U ] }; + key { [ r, R, Cyrillic_ka, Cyrillic_KA ] }; + key { [ t, T, Cyrillic_ie, Cyrillic_IE ] }; + key { [ y, Y, Cyrillic_en, Cyrillic_EN ] }; + key { [ u, U, Cyrillic_ghe, Cyrillic_GHE ] }; + key { [ i, I, Cyrillic_sha, Cyrillic_SHA ] }; + key { [ o, O, Cyrillic_shcha, Cyrillic_SHCHA ] }; + key { [ p, P, Cyrillic_ze, Cyrillic_ZE ] }; + key { [ bracketleft, braceleft, Cyrillic_ha, Cyrillic_HA ] }; + key { [ bracketright, braceright, Ukrainian_yi, Ukrainian_YI ] }; + + key { [ a, A, Cyrillic_ef, Cyrillic_EF ] }; + key { [ s, S, Ukrainian_i, Ukrainian_I ] }; + key { [ d, D, Cyrillic_ve, Cyrillic_VE ] }; + key { [ f, F, Cyrillic_a, Cyrillic_A ] }; + key { [ g, G, Cyrillic_pe, Cyrillic_PE ] }; + key { [ h, H, Cyrillic_er, Cyrillic_ER ] }; + key { [ j, J, Cyrillic_o, Cyrillic_O ] }; + key { [ k, K, Cyrillic_el, Cyrillic_EL ] }; + key { [ l, L, Cyrillic_de, Cyrillic_DE ] }; + key { [ semicolon, colon, Cyrillic_zhe, Cyrillic_ZHE ] }; + key { [ apostrophe, quotedbl, Ukrainian_ie, Ukrainian_IE ] }; + key { [ backslash, bar, Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] }; + + key { [ less, greater, slash, bar ] }; + key { [ z, Z, Cyrillic_ya, Cyrillic_YA ] }; + key { [ x, X, Cyrillic_che, Cyrillic_CHE ] }; + key { [ c, C, Cyrillic_es, Cyrillic_ES ] }; + key { [ v, V, Cyrillic_em, Cyrillic_EM ] }; + key { [ n, N, Cyrillic_te, Cyrillic_TE ] }; + key { [ b, B, Cyrillic_i, Cyrillic_I ] }; + key { [ m, M, Cyrillic_softsign,Cyrillic_SOFTSIGN ] }; + key { [ comma, less, Cyrillic_be, Cyrillic_BE ] }; + key { [ period, greater, Cyrillic_yu, Cyrillic_YU ] }; + key { [ slash, question, slash, question ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys + xkb_symbols "basic" { + include "sun_vndr/ua(sun_type6)" +}; + +partial alphanumeric_keys + xkb_symbols "unicode" { + include "ua(unicode)" +}; + +partial alphanumeric_keys + xkb_symbols "legacy" { + include "ua(legacy)" +}; + +partial alphanumeric_keys + xkb_symbols "winkeys" { + include "ua(winkeys)" +}; + +partial alphanumeric_keys + xkb_symbols "typewriter" { + include "ua(typewriter)" +}; + +partial alphanumeric_keys + xkb_symbols "phonetic" { + include "ua(phonetic)" +}; + +partial alphanumeric_keys + xkb_symbols "rstu" { + include "ua(rstu)" +}; + +partial alphanumeric_keys + xkb_symbols "rstu_ru" { + include "ua(rstu_ru)" +}; + +partial alphanumeric_keys + xkb_symbols "homophonic" { + include "ua(homophonic)" +}; diff --git a/xkbdata/symbols/sun_vndr/us b/xkbdata/symbols/sun_vndr/us new file mode 100644 index 0000000..dcc14ba --- /dev/null +++ b/xkbdata/symbols/sun_vndr/us @@ -0,0 +1,275 @@ +// +// Copyright (c) 2010, 2012, Oracle and/or its affiliates. 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, and/or sell copies of the Software, and to permit persons +// to whom the Software is furnished to do so, provided that the above +// copyright notice(s) and this permission notice appear in all copies of +// the Software and that both the above copyright notice(s) and this +// permission notice appear in supporting documentation. +// +// 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 +// OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +// HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR 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. +// +// Except as contained in this notice, the name of a copyright holder +// shall not be used in advertising or otherwise to promote the sale, use +// or other dealings in this Software without prior written authorization +// of the copyright holder. +// + +default partial alphanumeric_keys +xkb_symbols "sunbasic" { + + include "us(basic)" + include "capslock(capslock)" + include "srvr_ctrl(xfree86)" + +}; + +partial alphanumeric_keys +xkb_symbols "sun_type6" { + + name[Group1]= "English (US, Sun Type 6/7)"; + + include "sun_vndr/us(sunbasic)" + include "eurosign(4)" + include "level3(ralt_switch)" + + key { [ Multi_key ] }; + key { [ SunSys_Req ] }; +}; + +partial alphanumeric_keys + xkb_symbols "basic" { + include "sun_vndr/us(sunbasic)" +}; + +partial alphanumeric_keys + xkb_symbols "euro" { + include "us(euro)" +}; + +partial alphanumeric_keys + xkb_symbols "ibm238l" { + include "us(ibm238l)" +}; + +partial alphanumeric_keys + xkb_symbols "intl" { + include "us(intl)" +}; + +partial alphanumeric_keys + xkb_symbols "alt-intl" { + include "us(alt-intl)" +}; + +partial alphanumeric_keys + xkb_symbols "dvorak" { + include "us(dvorak)" +}; + +partial alphanumeric_keys + xkb_symbols "dvorak-intl" { + include "us(dvorak-intl)" +}; + +partial alphanumeric_keys + xkb_symbols "dvorak-alt-intl" { + include "us(dvorak-alt-intl)" +}; + +partial alphanumeric_keys + xkb_symbols "dvorak-l" { + include "us(dvorak-l)" +}; + +partial alphanumeric_keys + xkb_symbols "dvorak-r" { + include "us(dvorak-r)" +}; + +partial alphanumeric_keys + xkb_symbols "dvorak-classic" { + include "us(dvorak-classic)" +}; + +partial alphanumeric_keys + xkb_symbols "dvp" { + include "us(dvp)" +}; + +partial alphanumeric_keys + xkb_symbols "rus" { + include "us(rus)" +}; + +partial alphanumeric_keys + xkb_symbols "mac" { + include "us(mac)" +}; + +partial alphanumeric_keys + xkb_symbols "colemak" { + include "us(colemak)" +}; + +partial alphanumeric_keys + xkb_symbols "altgr-intl" { + include "us(altgr-intl)" +}; + +partial alphanumeric_keys + xkb_symbols "classmate" { + include "us(classmate)" +}; + +partial alphanumeric_keys + xkb_symbols "classmate-intl" { + include "us(classmate-intl)" +}; + +partial alphanumeric_keys + xkb_symbols "classmate-alt-intl" { + include "us(classmate-alt-intl)" +}; + +partial alphanumeric_keys + xkb_symbols "classmate-altgr-intl" { + include "us(classmate-altgr-intl)" +}; + +partial alphanumeric_keys + xkb_symbols "olpc" { + include "us(olpc)" +}; + +partial alphanumeric_keys + xkb_symbols "olpc2" { + include "us(olpc2)" +}; + +partial alphanumeric_keys + xkb_symbols "olpcm" { + include "us(olpcm)" +}; + +partial alphanumeric_keys + xkb_symbols "chr" { + include "us(chr)" +}; + +partial alphanumeric_keys + xkb_symbols "hbs" { + include "us(hbs)" +}; + +partial alphanumeric_keys + xkb_symbols "workman" { + include "us(workman)" +}; + +partial alphanumeric_keys + xkb_symbols "workman-intl" { + include "us(workman-intl)" +}; + +partial alphanumeric_keys + xkb_symbols "norman" { + include "us(norman)" +}; + +partial alphanumeric_keys + xkb_symbols "carpalx" { + include "us(carpalx)" +}; + +partial alphanumeric_keys + xkb_symbols "carpalx-intl" { + include "us(carpalx-intl)" +}; + +partial alphanumeric_keys + xkb_symbols "carpalx-altgr-intl" { + include "us(carpalx-altgr-intl)" +}; + +partial alphanumeric_keys + xkb_symbols "carpalx-full" { + include "us(carpalx-full)" +}; + +partial alphanumeric_keys + xkb_symbols "carpalx-full-intl" { + include "us(carpalx-full-intl)" +}; + +partial alphanumeric_keys + xkb_symbols "carpalx-full-altgr-intl" { + include "us(carpalx-full-altgr-intl)" +}; + +partial alphanumeric_keys + xkb_symbols "cz_sk_de" { + include "us(cz_sk_de)" +}; + +partial alphanumeric_keys + xkb_symbols "scn" { + include "us(scn)" +}; + +partial alphanumeric_keys + xkb_symbols "intl-unicode" { + include "us(intl-unicode)" +}; + +partial alphanumeric_keys + xkb_symbols "alt-intl-unicode" { + include "us(alt-intl-unicode)" +}; + +partial alphanumeric_keys + xkb_symbols "ats" { + include "us(ats)" +}; + +partial alphanumeric_keys + xkb_symbols "crd" { + include "us(crd)" +}; + +partial alphanumeric_keys + xkb_symbols "3l" { + include "us(3l)" +}; + +partial alphanumeric_keys + xkb_symbols "3l-cros" { + include "us(3l-cros)" +}; + +partial alphanumeric_keys + xkb_symbols "3l-emacs" { + include "us(3l-emacs)" +}; + +partial alphanumeric_keys + xkb_symbols "drix" { + include "us(drix)" +}; + +partial alphanumeric_keys + xkb_symbols "de_se_fi" { + include "us(de_se_fi)" +}; diff --git a/xkbdata/symbols/sy b/xkbdata/symbols/sy new file mode 100644 index 0000000..a539f40 --- /dev/null +++ b/xkbdata/symbols/sy @@ -0,0 +1,151 @@ +default partial alphanumeric_keys +xkb_symbols "basic" { + include "ara(basic)" + name[Group1]= "Arabic (Syria)"; +}; + +partial alphanumeric_keys +xkb_symbols "syc" { + name[Group1]= "Syriac"; + + key { [ 0x100070F, 0x100032E, Arabic_shadda ] }; + key { [ 1, exclam, 0x1000701 ] }; + key { [ 2, 0x100030A, 0x1000702 ] }; + key { [ 3, 0x1000325, 0x1000703 ] }; + key { [ 4, 0x1000749, 0x1000704 ] }; + key { [ 5, 0x1002670, 0x1000705 ] }; + key { [ 6, 0x1002671, 0x1000708 ] }; + key { [ 7, 0x100070A, 0x1000709 ] }; + key { [ 8, 0x10000BB, 0x100070B ] }; + key { [ 9, parenright, 0x100070C ] }; + key { [ 0, parenleft, 0x100070D ] }; + key { [ minus, 0x10000AB, 0x100250C ] }; + key { [ equal, plus, 0x1002510 ] }; + + key { [ 0x1000714, 0x1000730, Arabic_fatha ] }; + key { [ 0x1000728, 0x1000733, Arabic_fathatan ] }; + key { [ 0x1000716, 0x1000736, Arabic_damma ] }; + key { [ 0x1000729, 0x100073A, Arabic_dammatan ] }; + key { [ 0x1000726, 0x100073D, Arabic_madda_above ] }; + key { [ 0x100071C, 0x1000740, Arabic_hamza_above ] }; + key { [ 0x1000725, 0x1000741, 0x1000747 ] }; + key { [ 0x1000717, 0x1000308, 0x1000743 ] }; + key { [ 0x100071E, 0x1000304, 0x1000745 ] }; + key { [ 0x100071A, 0x1000307, 0x100032D ] }; + key { [ 0x1000713, 0x1000303 ] }; + key { [ 0x1000715, 0x100074A ] }; + key { [ 0x1000706, colon ] }; + + key { [ 0x100072B, 0x1000731, Arabic_kasra ] }; + key { [ 0x1000723, 0x1000734, Arabic_kasratan ] }; + key { [ 0x100071D, 0x1000737 ] }; + key { [ 0x1000712, 0x100073B, Arabic_hamza ] }; + key { [ 0x1000720, 0x100073E, Arabic_hamza_below ] }; + key { [ 0x1000710, 0x1000711, Arabic_superscript_alef ] }; + key { [ 0x100072C, Arabic_tatweel, 0x1000748 ] }; + key { [ 0x1000722, 0x1000324, 0x1000744 ] }; + key { [ 0x1000721, 0x1000331, 0x1000746 ] }; + key { [ 0x100071F, 0x1000323 ] }; + key { [ 0x100071B, 0x1000330 ] }; + + key { [ bracketright, 0x1000732, Arabic_sukun ] }; + key { [ bracketleft, 0x1000735 ] }; + key { [ 0x1000724, 0x1000738, 0x100200D ] }; + key { [ 0x100072A, 0x100073C, 0x100200C ] }; + key { [ 0x1000727, 0x100073F, 0x100200E ] }; + key { [ 0x1000700, 0x1000739, 0x100200F ] }; + key { [ 0x100002E, 0x1000742 ] }; + key { [ 0x1000718, Arabic_comma ] }; + key { [ 0x1000719, Arabic_semicolon ] }; + key { [ 0x1000707, Arabic_question_mark ] }; + + // Space plus zero-width non-joiner: + include "nbsp(zwnj2)" + + modifier_map Shift { Shift_L, Shift_R }; + modifier_map Lock { Caps_Lock }; + modifier_map Control{ Control_L, Control_R }; + modifier_map Mod1 { Alt_L, Alt_R }; + modifier_map Mod2 { Mode_switch }; +}; + +partial alphanumeric_keys +xkb_symbols "syc_phonetic" { + name[Group1]= "Syriac (phonetic)"; + + key { [ 0x100070F, 0x100032E, Arabic_shadda ] }; + key { [ 1, exclam, 0x1000701 ] }; + key { [ 2, 0x100030A, 0x1000702 ] }; + key { [ 3, 0x1000325, 0x1000703 ] }; + key { [ 4, 0x1000749, 0x1000704 ] }; + key { [ 5, 0x1002670, 0x1000705 ] }; + key { [ 6, 0x1002671, 0x1000708 ] }; + key { [ 7, 0x100070A, 0x1000709 ] }; + key { [ 8, 0x10000BB, 0x100070B ] }; + key { [ 9, parenright, 0x100070C ] }; + key { [ 0, parenleft, 0x100070D ] }; + key { [ minus, 0x10000AB, 0x100250C ] }; + key { [ equal, plus, 0x1002510 ] }; + + key { [ 0x1000729, 0x1000730, Arabic_fatha ] }; + key { [ 0x1000718, 0x1000733, Arabic_fathatan ] }; + key { [ 0x1000716, 0x1000736, Arabic_damma ] }; + key { [ 0x100072A, 0x100073A, Arabic_dammatan ] }; + key { [ 0x100072C, 0x100073D, Arabic_madda_above ] }; + key { [ 0x100071D, 0x1000740, Arabic_hamza_above ] }; + key { [ 0x100071C, 0x1000741, 0x1000747 ] }; + key { [ 0x1000725, 0x1000308, 0x1000743 ] }; + key { [ 0x1000727, 0x1000304, 0x1000745 ] }; + key { [ 0x1000726, 0x1000307, 0x100032D ] }; + key { [ bracketright, 0x1000303 ] }; + key { [ bracketleft, 0x100074A ] }; + key { [ 0x1000706, colon ] }; + + key { [ 0x1000710, 0x1000731, Arabic_kasra ] }; + key { [ 0x1000723, 0x1000734, Arabic_kasratan ] }; + key { [ 0x1000715, 0x1000737 ] }; + key { [ 0x1000714, 0x100073B, Arabic_hamza ] }; + key { [ 0x1000713, 0x100073E, Arabic_hamza_below ] }; + key { [ 0x1000717, 0x1000711, Arabic_superscript_alef ] }; + key { [ 0x100071B, Arabic_tatweel, 0x1000748 ] }; + key { [ 0x100071F, 0x1000324, 0x1000744 ] }; + key { [ 0x1000720, 0x1000331, 0x1000746 ] }; + key { [ 0x100071A, 0x1000323 ] }; + key { [ 0x100071E, 0x1000330 ] }; + + key { [ space, 0x100200c ] }; + key { [ 0x1000719, 0x1000732, Arabic_sukun ] }; + key { [ 0x1000728, 0x1000735 ] }; + key { [ 0x1000724, 0x1000738, 0x100200D ] }; + key { [ 0x100072B, 0x100073C, 0x100200C ] }; + key { [ 0x1000712, 0x100073F, 0x100200E ] }; + key { [ 0x1000722, 0x1000739, 0x100200F ] }; + key { [ 0x1000721, 0x1000742 ] }; + key { [ 0x1000700, Arabic_comma ] }; + key { [ 0x100002E, Arabic_semicolon ] }; + key { [ 0x1000707, Arabic_question_mark ] }; + + modifier_map Shift { Shift_L, Shift_R }; + modifier_map Lock { Caps_Lock }; + modifier_map Control{ Control_L, Control_R }; + modifier_map Mod1 { Alt_L, Alt_R }; + modifier_map Mod2 { Mode_switch }; +}; + +partial alphanumeric_keys +xkb_symbols "ku" { + include "tr(ku)" + name[Group1]= "Kurdish (Syria, Latin Q)"; +}; + +partial alphanumeric_keys +xkb_symbols "ku_f" { + include "tr(ku_f)" + name[Group1]= "Kurdish (Syria, F)"; +}; + +partial alphanumeric_keys +xkb_symbols "ku_alt" { + include "tr(ku_alt)" + name[Group1]= "Kurdish (Syria, Latin Alt-Q)"; +}; diff --git a/xkbdata/symbols/terminate b/xkbdata/symbols/terminate new file mode 100644 index 0000000..60c2479 --- /dev/null +++ b/xkbdata/symbols/terminate @@ -0,0 +1,7 @@ +default partial modifier_keys +xkb_symbols "ctrl_alt_bksp" { + key { + type="CTRL+ALT", + symbols[Group1] = [ NoSymbol, NoSymbol, NoSymbol, NoSymbol, Terminate_Server ] + }; +}; diff --git a/xkbdata/symbols/tg b/xkbdata/symbols/tg new file mode 100644 index 0000000..66fadc3 --- /dev/null +++ b/xkbdata/symbols/tg @@ -0,0 +1,74 @@ +default partial alphanumeric_keys +xkb_symbols "basic" { + + include "fr(azerty)" + + name[Group1]="French (Togo)"; + +// This is based on French AZERTY-Keyboard layout that is mostly used in Togo. +// It includes symbols used to write different local languages in Togo. +// Created 2015 by Globalbility Togo (www.globalbility.org) +// Authors: Issaka Ouro-Wétchiré, Caroline Riefstahl, Mats Blakstad +// +// LAYOUT OVERVIEW +// ____ +// | 1 3| 1 = Shift, 3 = AltGr + Shift (AltGr is the right side alt key) +// | 2 4| 2 = normal, 4 = AltGr +// ¯¯¯¯ +// ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ _______ +// | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | ° | + | <-- | +// | ² | & | é ~| " #| ' {| ( [| - || è `| _ \| ç ^| à @| ) ]| = }| | +// ======================================================================== +// | |<- | A | Z Ʒ| E | R Ɛ| T Ɗ| Y Ƴ| U Ʊ| I Ɩ| O Ɔ| P | ¨ | $ | , | +// | ->| | a | z ʒ| e €| r ɛ| t ɗ| y ƴ| u ʊ| i ɩ| o ɔ| p | ^ ̌| £ ¤| <-' | +// ===================================================================¬ | +// | | Q Ǝ| S | D Ɖ| F Ƒ| G Ɣ| H Ĥ | J Ɨ| K | L | M Ŋ| % | µ | | +// | MAJ | q ǝ| s | d ɖ| f ƒ| g ɣ| h ɦ| j ɨ | k | l | m ɲ| ù `| * ́| | +// ======================================================================== +// | ^ | > | W | X | C | V Ʋ| B Ɓ| N Ŋ| ? | . | / | § | | | +// | | | < | w | x | c | v ʋ| b ɓ| n ŋ| , | ; | : ¯| ! ~| | | +// ======================================================================== +// | | | | | | | | | +// | Ctrl | Super| Alt | Space Nobreakspace | AltGr | Super|Menu | Ctrl | +// ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯ ¯¯¯¯¯¯ +// The different local languages in Togo uses all together 17 symbols not found in French language: +// Ʒ, ɛ, Ɗ, Ƴ, Ʊ, Ɩ, Ɔ, Ǝ, Ɖ, Ƒ, Ɣ, Ĥ, Ɨ, Ɲ, Ʋ, Ɓ, Ŋ. +// Togolese local languages use 9 tone markers: +// Acute ( ´ ), Grave ( ` ), Circumflex ( ˆ ), Caron ( ˇ ), Macron ( ¯ ), Tilde ( ~ ), Tilde + Acute ( ̃́ ), Tilde + Grave ( ̃̀ ), Diaeresis ( ¨ ) +// The vowels can use these tone markers except diaeresis. +// 'Y' is not used as a vowel in most local languages, and can only use diaeresis. +// Nasal consonants (m, n, ŋ) can only have have accent tones (acute and grave) + + // Modifications of the basic French Azerty layout to add symbols for Togolese local languages + + // Second row + key { [ z, Z, ezh, EZH ] }; // U0292 = ʒ (small), U01B7 = Ʒ (capital) + + key { [ r, R, U025B, U0190 ] }; // U025B = ɛ (small), U0190 = Ɛ (capital) + key { [ t, T, U0257, U018A ] }; // U0257 = ɗ (small), U018A = Ɗ (capital) + key { [ y, Y, U01B4, U01B3 ] }; // U01B4 = ƴ (small), U01B3 = Ƴ (capital) + key { [ u, U, U028A, U01B1 ] }; // U028A = ʊ (small), U01B1 = Ʊ (capital) + key { [ i, I, U0269, U0196 ] }; // U0269 = ɩ (small), U0196 = Ɩ (capital) + key { [ o, O, U0254, U0186 ] }; // U0254 = ɔ (small), U0186 = Ɔ (capital) + key { [ dead_circumflex,dead_diaeresis, dead_caron ] }; + + + // Third row + key { [ q, Q, U01DD, U018E ] }; // U01DD = ǝ (small), U018E = Ǝ (capital) + key { [ d, D, U0256, U0189 ] }; // U0256 = ɖ (small), U0189 = Ɖ (capital) + key { [ f, F, U0192, U0191 ] }; // U0192 = ƒ (small), U0191 = Ƒ (capital) + key { [ g, G, U0263, U0194 ] }; // U0263 = ɣ (small), U0194 = Ɣ (capital) + key { [ h, H, U0266, U0124 ] }; // U0266 = ɦ (small), U0124 = Ĥ (capital) + key { [ j, J, U0268, U0197 ] }; // U0268 = ɨ (small), U0197 = Ɨ (capital) + key { [ m, M, U0272, U019D ] }; // U0272 = ɲ (small), U019D = Ɲ (capital) + key { [ ugrave, percent, dead_grave ] }; + key { [ asterisk, mu, dead_acute ] }; + + + // Fourth row + key { [ v, V, U028B, U01B2 ] }; // U028B = ʋ (small), U01B2 = Ʋ (capital) + key { [ b, B, U0253, U0181 ] }; // U0253 = ɓ (small), U0181 = Ɓ (capital) + key { [ n, N, U014B, U014A ] }; // U014B = ŋ (small), U014A = Ŋ (capital) + key { [ colon, slash, dead_macron ] }; + key { [ exclam, section, dead_tilde ] }; +}; diff --git a/xkbdata/symbols/th b/xkbdata/symbols/th new file mode 100644 index 0000000..d3aa379 --- /dev/null +++ b/xkbdata/symbols/th @@ -0,0 +1,245 @@ +default partial alphanumeric_keys +xkb_symbols "basic" { + name[Group1]= "Thai"; + + // converted to THai keysysms - Pablo Saratxaga + + key { [ underscore, percent ] }; + key { [ Thai_lakkhangyao, plus ] }; + key { [ slash, Thai_leknung ] }; + key { [ minus, Thai_leksong ] }; + key { [ Thai_phosamphao, Thai_leksam ] }; + key { [ Thai_thothung, Thai_leksi ] }; + key { [ Thai_sarau, Thai_sarauu ] }; + key { [ Thai_saraue, Thai_baht ] }; + key { [ Thai_khokhwai, Thai_lekha ] }; + key { [ Thai_totao, Thai_lekhok ] }; + key { [ Thai_chochan, Thai_lekchet ] }; + key { [ Thai_khokhai, Thai_lekpaet ] }; + key { [ Thai_chochang, Thai_lekkao ] }; + + key { [ Thai_maiyamok, Thai_leksun ] }; + key { [ Thai_saraaimaimalai, quotedbl ] }; + key { [ Thai_saraam, Thai_dochada ] }; + key { [ Thai_phophan, Thai_thonangmontho ] }; + key { [ Thai_saraa, Thai_thothong ] }; + key { [ Thai_maihanakat, Thai_nikhahit ] }; + key { [ Thai_saraii, Thai_maitri ] }; + key { [ Thai_rorua, Thai_nonen ] }; + key { [ Thai_nonu, Thai_paiyannoi ] }; + key { [ Thai_yoyak, Thai_yoying ] }; + key { [ Thai_bobaimai, Thai_thothan ] }; + key { [ Thai_loling, comma ] }; + + key { [ Thai_fofan, Thai_ru ] }; + key { [ Thai_hohip, Thai_khorakhang ] }; + key { [ Thai_kokai, Thai_topatak ] }; + key { [ Thai_dodek, Thai_sarao ] }; + key { [ Thai_sarae, Thai_chochoe ] }; + key { [ Thai_maitho, Thai_maitaikhu ] }; + key { [ Thai_maiek, Thai_maichattawa ] }; + key { [ Thai_saraaa, Thai_sorusi ] }; + key { [ Thai_sosua, Thai_sosala ] }; + key { [ Thai_wowaen, Thai_soso ] }; + key { [ Thai_ngongu, period ] }; + + key { [ Thai_phophung, parenleft ] }; + key { [ Thai_popla, parenright ] }; + key { [ Thai_saraae, Thai_choching ] }; + key { [ Thai_oang, Thai_honokhuk ] }; + key { [ Thai_sarai, Thai_phinthu ] }; + key { [ Thai_sarauee, Thai_thanthakhat ] }; + key { [ Thai_thothahan, question ] }; + key { [ Thai_moma, Thai_thophuthao ] }; + key { [ Thai_saraaimaimuan, Thai_lochula ] }; + key { [ Thai_fofa, Thai_lu ] }; + + key { [ Thai_khokhuat, Thai_khokhon ] }; +}; + +partial alphanumeric_keys +xkb_symbols "pat" { + name[Group1]= "Thai (Pattachote)"; + // The thai layout defines a second keyboard group and changes + // the behavior of a few modifier keys. + + // converted to THai keysysms - Pablo Saratxaga pablo@mandrakesoft.com + // Pattachote modification by Visanu Euarchukiati -- visanu@inet.co.th + key { [ underscore, Thai_baht ] }; + key { [ equal, plus ] }; + key { [ Thai_leksong, quotedbl ] }; + key { [ Thai_leksam, slash ] }; + key { [ Thai_leksi, comma ] }; + key { [ Thai_lekha, question ] }; + key { [ Thai_sarauu, Thai_sarau ] }; + key { [ Thai_lekchet, underscore ] }; + key { [ Thai_lekpaet, period ] }; + key { [ Thai_lekkao, parenleft ] }; + key { [ Thai_leksun, parenright ] }; + key { [ Thai_leknung, minus ] }; + key { [ Thai_lekhok, percent ] }; + + key { [ Thai_maitaikhu, Thai_maitri ] }; + key { [ Thai_totao, Thai_ru ] }; + key { [ Thai_yoyak, Thai_maiyamok ] }; + key { [ Thai_oang, Thai_yoying ] }; + key { [ Thai_rorua, Thai_sorusi ] }; + key { [ Thai_maiek, Thai_saraue ] }; + key { [ Thai_dodek, Thai_fofa ] }; + key { [ Thai_moma, Thai_soso ] }; + key { [ Thai_wowaen, Thai_thothung ] }; + key { [ Thai_saraae, Thai_thophuthao ] }; + key { [ Thai_saraaimaimuan, Thai_paiyannoi ] }; + key { [ Thai_chochoe, Thai_lu ] }; + + key { [ Thai_maitho, Thai_maichattawa] }; + key { [ Thai_thothahan, Thai_thothong ] }; + key { [ Thai_ngongu, Thai_saraam ] }; + key { [ Thai_kokai, Thai_nonen ] }; + key { [ Thai_maihanakat, Thai_thanthakhat] }; + key { [ Thai_saraii, Thai_sarauee ] }; + key { [ Thai_saraaa, Thai_phophung ] }; + key { [ Thai_nonu, Thai_chochang ] }; + key { [ Thai_sarae, Thai_sarao ] }; + key { [ Thai_saraaimaimalai, Thai_khorakhang ] }; + key { [ Thai_khokhai, Thai_thonangmontho ] }; + + key { [ Thai_bobaimai, Thai_dochada ] }; + key { [ Thai_popla, Thai_topatak ] }; + key { [ Thai_loling, Thai_thothan ] }; + key { [ Thai_hohip, Thai_phosamphao ] }; + key { [ Thai_sarai, Thai_phinthu ] }; + key { [ Thai_khokhwai, Thai_sosala ] }; + key { [ Thai_sosua, Thai_honokhuk ] }; + key { [ Thai_saraa, Thai_fofan ] }; + key { [ Thai_chochan, Thai_choching ] }; + key { [ Thai_phophan, Thai_lochula ] }; + + key { [ Thai_lakkhangyao, Thai_nikhahit ] }; +}; + + +partial alphanumeric_keys +xkb_symbols "tis" { + name[Group1]= "Thai (TIS-820.2538)"; + // The thai layout defines a second keyboard group and changes + // the behavior of a few modifier keys. + + // converted to THai keysysms - Pablo Saratxaga + // modified to TIS-820.2538 - Theppitak Karoonboonyanan + key { [ 0x1000e4f, 0x1000e5b ] }; + key { [ Thai_baht, Thai_lakkhangyao] }; + key { [ slash, Thai_leknung ] }; + key { [ minus, Thai_leksong ] }; + key { [ Thai_phosamphao, Thai_leksam ] }; + key { [ Thai_thothung, Thai_leksi ] }; + key { [ Thai_sarau, Thai_sarauu ] }; + key { [ Thai_saraue, 0x1000e4e ] }; + key { [ Thai_khokhwai, Thai_lekha ] }; + key { [ Thai_totao, Thai_lekhok ] }; + key { [ Thai_chochan, Thai_lekchet ] }; + key { [ Thai_khokhai, Thai_lekpaet ] }; + key { [ Thai_chochang, Thai_lekkao ] }; + + key { [ Thai_maiyamok, Thai_leksun ] }; + key { [ Thai_saraaimaimalai, quotedbl ] }; + key { [ Thai_saraam, Thai_dochada ] }; + key { [ Thai_phophan, Thai_thonangmontho ] }; + key { [ Thai_saraa, Thai_thothong ] }; + key { [ Thai_maihanakat, Thai_nikhahit ] }; + key { [ Thai_saraii, Thai_maitri ] }; + key { [ Thai_rorua, Thai_nonen ] }; + key {type[Group1]="THREE_LEVEL", + [ Thai_nonu, Thai_paiyannoi, 0x1000e5a] }; + key { [ Thai_yoyak, Thai_yoying ] }; + key { [ Thai_bobaimai, Thai_thothan ] }; + key { [ Thai_loling, comma ] }; + + key { [ Thai_fofan, Thai_ru ] }; + key { [ Thai_hohip, Thai_khorakhang ] }; + key { [ Thai_kokai, Thai_topatak ] }; + key { [ Thai_dodek, Thai_sarao ] }; + key { [ Thai_sarae, Thai_chochoe ] }; + key { [ Thai_maitho, Thai_maitaikhu ] }; + key { [ Thai_maiek, Thai_maichattawa ] }; + key { [ Thai_saraaa, Thai_sorusi ] }; + key { [ Thai_sosua, Thai_sosala ] }; + key { [ Thai_wowaen, Thai_soso ] }; + key { [ Thai_ngongu, period ] }; + + key { [ Thai_phophung, parenleft ] }; + key { [ Thai_popla, parenright ] }; + key { [ Thai_saraae, Thai_choching ] }; + key { [ Thai_oang, Thai_honokhuk ] }; + key { [ Thai_sarai, Thai_phinthu ] }; + key { [ Thai_sarauee, Thai_thanthakhat ] }; + key { [ Thai_thothahan, question ] }; + key { [ Thai_moma, Thai_thophuthao ] }; + key { [ Thai_saraaimaimuan, Thai_lochula ] }; + key { [ Thai_fofa, Thai_lu ] }; + + key { [ Thai_khokhon, Thai_khokhuat ] }; +}; + +partial alphanumeric_keys +xkb_symbols "olpc" { + + // #HW-SPECIFIC + + name[Group1]= "Thai"; + // The OLPC thai layout + // walter@laptop.org + + key { [ 0x1000E4F, 0x1000E5B ] }; + key { [ 0x1000E3F, 0x1000E45 ] }; + key { [ slash, 0x1000E51 ] }; + key { [ minus, 0x1000E52 ] }; + key { [ 0x1000E20, 0x1000E53 ] }; + key { [ 0x1000E16, 0x1000E54 ] }; + key { [ 0x1000E38, 0x1000E39 ] }; + key { [ 0x1000E36, 0x1000E4E ] }; + key { [ 0x1000E04, 0x1000E55 ] }; + key { [ 0x1000E15, 0x1000E56 ] }; + key { [ 0x1000E08, 0x1000E57 ] }; + key { [ 0x1000E02, 0x1000E58 ] }; + key { [ 0x1000E0A, 0x1000E59 ] }; + + key { [ 0x1000E46, 0x1000E50 ] }; + key { [ 0x1000E44, quotedbl ] }; + key { [ 0x1000E33, 0x1000E0E ] }; + key { [ 0x1000E1E, 0x1000E11 ] }; + key { [ 0x1000E30, 0x1000E18 ] }; + key { [ 0x1000E31, 0x1000E4D ] }; + key { [ 0x1000E35, 0x1000E4A ] }; + key { [ 0x1000E23, 0x1000E13 ] }; + key { [ 0x1000E19, 0x1000E2F ] }; + key { [ 0x1000E22, 0x1000E0D ] }; + key { [ 0x1000E1A, 0x1000E10 ] }; + key { [ 0x1000E25, comma ] }; + + key { [ 0x1000E1F, 0x1000E24 ] }; + key { [ 0x1000E2B, 0x1000E06 ] }; + key { [ 0x1000E01, 0x1000E0F ] }; + key { [ 0x1000E14, 0x1000E42 ] }; + key { [ 0x1000E40, 0x1000E0C ] }; + key { [ 0x1000E49, 0x1000E47 ] }; + key { [ 0x1000E48, 0x1000E4B ] }; + key { [ 0x1000E32, 0x1000E29 ] }; + key { [ 0x1000E2A, 0x1000E28 ] }; + key { [ 0x1000E27, 0x1000E0B ] }; + key { [ 0x1000E07, period ] }; + key { [ 0x1000E05, 0x1000E03 ] }; + + key { [ 0x1000E1C, parenleft ] }; + key { [ 0x1000E1B, parenright ] }; + key { [ 0x1000E41, 0x1000E09 ] }; + key { [ 0x1000E2D, 0x1000E2E ] }; + key { [ 0x1000E34, 0x1000E3A ] }; + key { [ 0x1000E37, 0x1000E4C ] }; + key { [ 0x1000E17, question ] }; + key { [ 0x1000E21, 0x1000E12 ] }; + key { [ 0x1000E43, 0x1000E2C ] }; + key { [ 0x1000E1D, 0x1000E26 ] }; + + include "group(olpc)" +}; diff --git a/xkbdata/symbols/tj b/xkbdata/symbols/tj new file mode 100644 index 0000000..f376f50 --- /dev/null +++ b/xkbdata/symbols/tj @@ -0,0 +1,136 @@ +// 17/07/2008 +// ------------------------------------------------------------- +// Standard Tojiki Keyboard Layout, Official Standard +// ------------------------------------------------------------- +// Created by Victor Ibragimov +// Tajik Fedora & Software Localization Team +// ------------------------------------------------------------- +// DUAL INPUT METHOD +// -------------------------------------------------------------------- +// -------------- Tajiki Official Keyboard Layout---------------------- +// -------------------------------------------------------------------- +// + +default partial alphanumeric_keys +xkb_symbols "basic" +{ + name[Group1] = "Tajik"; + + include "kpdl(comma)" + include "level3(ralt_switch)" + + key { [ Cyrillic_ya, Cyrillic_YA ] }; // я Я + key { [ Cyrillic_che, Cyrillic_CHE ] }; // ч Ч + key { [ Cyrillic_es, Cyrillic_ES ] }; // с С + key { [ Cyrillic_em, Cyrillic_EM ] }; // м М + key { [ Cyrillic_i, Cyrillic_I ] }; // и И + key { [ Cyrillic_te, Cyrillic_TE ] }; // т Т + key { [ Cyrillic_i_macron, Cyrillic_I_macron ] }; // ӣ Ӣ + key { [ Cyrillic_be, Cyrillic_BE ] }; // б Б + key { [ Cyrillic_yu, Cyrillic_YU ] }; // ю Ю + key { [ period, comma ] }; // . , + key { [ Cyrillic_ef, Cyrillic_EF ] }; // ф Ф + key { [ Cyrillic_che_descender, Cyrillic_CHE_descender ] }; // ҷ Ҷ + key { [ Cyrillic_ve, Cyrillic_VE ] }; // в В + key { [ Cyrillic_a, Cyrillic_A ] }; // а А + key { [ Cyrillic_pe, Cyrillic_PE ] }; // п П + key { [ Cyrillic_er, Cyrillic_ER ] }; // р Р + key { [ Cyrillic_o, Cyrillic_O ] }; // о О + key { [ Cyrillic_el, Cyrillic_EL ] }; // л Л + key { [ Cyrillic_de, Cyrillic_DE ] }; // д Д + key { [ Cyrillic_zhe, Cyrillic_ZHE ] }; // ж Ж + key { [ Cyrillic_e, Cyrillic_E ] }; // э Э + key { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; // й Й + key { [ Cyrillic_ka_descender, Cyrillic_KA_descender ] }; // қ Қ + key { [ Cyrillic_u, Cyrillic_U ] }; // у У + key { [ Cyrillic_ka, Cyrillic_KA ] }; // к К + key { [ Cyrillic_ie, Cyrillic_IE ] }; // е Е + key { [ Cyrillic_en, Cyrillic_EN ] }; // н Н + key { [ Cyrillic_ghe, Cyrillic_GHE ] }; // г Г + key { [ Cyrillic_sha, Cyrillic_SHA ] }; // ш Ш + key { [ Cyrillic_ha_descender, Cyrillic_HA_descender ] }; // ҳ Ҳ + key { [ Cyrillic_ze, Cyrillic_ZE ] }; // з З + key { [ Cyrillic_ha, Cyrillic_HA ] }; // х Х + key { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; // ъ Ъ + key { [ 1, exclam, 0x10000a7 ] }; // 1 ! § + key { [ 2, quotedbl, 0x10000ab, 0x10000bb ] }; // 2 " « » + key { [ 3, numerosign ] }; // 3 № + key { [ 4, semicolon ] }; // 4 ; + key { [ 5, percent ] }; // 5 % + key { [ 6, colon, 0x1002013 ] }; // 6 : – + key { [ 7, question, ampersand ] }; // 7 ? & + key { [ 8, asterisk ] }; // 8 * + key { [ 9, parenleft ] }; // 9 ( + key { [ 0, parenright, 0x10000b0 ] }; // 0 ) ° + key { [ Cyrillic_ghe_bar, Cyrillic_GHE_bar, minus, underscore ] }; // ғ Ғ - _ + key { [ Cyrillic_u_macron, Cyrillic_U_macron, equal, plus ] }; // ӯ Ӯ = + + key { [ backslash, slash ] }; // \ / + key { [ slash, bar ] }; // / | + key { [ Cyrillic_io, Cyrillic_IO ] }; // ё Ё +}; + +// -------------------------------------------------------------------- +// -------------- Tojiki Rusi Keyboard Layout-------------------------- +// -------------------------------------------------------------------- +// AEN +// 2001/12/23 by Leon Kanter +// 2005/12/09 Valery Inozemtsev +// Pablo Saratxaga (for the dead keys changes) +// -------------------------------------------------------------------- + +xkb_symbols "legacy" +{ + name[Group1] = "Tajik (legacy)"; + + include "kpdl(comma)" + include "level3(ralt_switch)" + + key { [ Cyrillic_ya, Cyrillic_YA ] }; // я Я + key { [ Cyrillic_che, Cyrillic_CHE, Cyrillic_che_descender, Cyrillic_CHE_descender ] }; // ч Ч ҷ Ҷ + key { [ Cyrillic_es, Cyrillic_ES ] }; // с С + key { [ Cyrillic_em, Cyrillic_EM ] }; // м М + key { [ Cyrillic_i, Cyrillic_I, Cyrillic_i_macron, Cyrillic_I_macron ] }; // и И ӣ Ӣ + key { [ Cyrillic_te, Cyrillic_TE ] }; // т Т + key { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; // ь Ь + key { [ Cyrillic_be, Cyrillic_BE ] }; // б Б + key { [ Cyrillic_yu, Cyrillic_YU ] }; // ю Ю + key { [ period, comma ] }; // . , + key { [ Cyrillic_ef, Cyrillic_EF ] }; // ф Ф + key { [ Cyrillic_yeru, Cyrillic_YERU ] }; // ы Ы + key { [ Cyrillic_ve, Cyrillic_VE ] }; // в В + key { [ Cyrillic_a, Cyrillic_A ] }; // а А + key { [ Cyrillic_pe, Cyrillic_PE ] }; // п П + key { [ Cyrillic_er, Cyrillic_ER ] }; // р Р + key { [ Cyrillic_o, Cyrillic_O ] }; // о О + key { [ Cyrillic_el, Cyrillic_EL ] }; // л Л + key { [ Cyrillic_de, Cyrillic_DE ] }; // д Д + key { [ Cyrillic_zhe, Cyrillic_ZHE ] }; // ж Ж + key { [ Cyrillic_e, Cyrillic_E ] }; // э Э + key { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; // й Й + key { [ Cyrillic_tse, Cyrillic_TSE ] }; // ц Ц + key { [ Cyrillic_u, Cyrillic_U, Cyrillic_u_macron, Cyrillic_U_macron ] }; // у У ӯ Ӯ + key { [ Cyrillic_ka, Cyrillic_KA, Cyrillic_ka_descender, Cyrillic_KA_descender ] }; // к К қ Қ + key { [ Cyrillic_ie, Cyrillic_IE ] }; // е Е + key { [ Cyrillic_en, Cyrillic_EN ] }; // н Н + key { [ Cyrillic_ghe, Cyrillic_GHE, Cyrillic_ghe_bar, Cyrillic_GHE_bar ] }; // г Г ғ Ғ + key { [ Cyrillic_sha, Cyrillic_SHA ] }; // ш Ш + key { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; // щ Щ + key { [ Cyrillic_ze, Cyrillic_ZE ] }; // з З + key { [ Cyrillic_ha, Cyrillic_HA, Cyrillic_ha_descender, Cyrillic_HA_descender ] }; // х Х ҳ Ҳ + key { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; // ъ Ъ + key { [ 1, exclam, 0x10000a7 ] }; // 1 ! § + key { [ 2, quotedbl, 0x10000ab, 0x10000bb ] }; // 2 " « » + key { [ 3, numerosign ] }; // 3 № + key { [ 4, semicolon ] }; // 4 ; + key { [ 5, percent ] }; // 5 % + key { [ 6, colon, 0x1002013 ] }; // 6 : – + key { [ 7, question, ampersand ] }; // 7 ? & + key { [ 8, asterisk ] }; // 8 * + key { [ 9, parenleft ] }; // 9 ( + key { [ 0, parenright ] }; // 0 ) + key { [ minus, underscore ] }; // - _ + key { [ equal, plus ] }; // = + + key { [ backslash, slash ] }; // \ / + key { [ slash, bar ] }; // / | + key { [ Cyrillic_io, Cyrillic_IO ] }; // ё Ё +}; diff --git a/xkbdata/symbols/tm b/xkbdata/symbols/tm new file mode 100644 index 0000000..88537d0 --- /dev/null +++ b/xkbdata/symbols/tm @@ -0,0 +1,45 @@ +// Nazar Annagurban , 2009 + +// Default layout (based on Vista Turkmen layout) +default partial +xkb_symbols "basic" { + + include "us" + name[Group1]="Turkmen"; + + key {[ zcaron, Zcaron, grave, asciitilde ]}; + + key {[ adiaeresis, Adiaeresis, q, Q ]}; + key {[ ncaron, Ncaron, bracketleft, braceleft ]}; + key {[ odiaeresis, Odiaeresis, bracketright, braceright ]}; + + key {[ udiaeresis, Udiaeresis, x, X ]}; + key {[ ccedilla, Ccedilla, c, C ]}; + key {[ yacute, Yacute, v, V ]}; + + key {[ scedilla, Scedilla, backslash, bar ]}; + + include "level3(ralt_switch)" +}; + +// Turkmen Alt-Q. +// This layout provides the Turkmen letters via the AltGr key. +partial +xkb_symbols "alt" { + + include "us" + name[Group1]="Turkmen (Alt-Q)"; + + key {[ y, Y, yacute, Yacute ]}; + key {[ u, U, udiaeresis, Udiaeresis ]}; + key {[ o, O, odiaeresis, Odiaeresis ]}; + + key {[ a, A, adiaeresis, Adiaeresis ]}; + key {[ s, S, scedilla, Scedilla ]}; + + key {[ z, Z, zcaron, Zcaron ]}; + key {[ c, C, ccedilla, Ccedilla ]}; + key {[ n, N, ncaron, Ncaron ]}; + + include "level3(ralt_switch)" +}; diff --git a/xkbdata/symbols/tr b/xkbdata/symbols/tr new file mode 100644 index 0000000..561eea1 --- /dev/null +++ b/xkbdata/symbols/tr @@ -0,0 +1,560 @@ +// Keyboard layouts for Turkey. +// This file distributed without any expressed or implied warranty. +// Nilgün Belma Bugüner , 2005 + +// Turkish Q layout +default partial +xkb_symbols "basic" { + + include "latin" + + name[Group1]="Turkish"; + + key { [ 1, exclam, greater, exclamdown ] }; + key { [ 2, apostrophe, sterling, twosuperior ] }; + key { [ 3,asciicircum, numbersign, threesuperior ] }; + key { [ 4, plus, dollar, onequarter ] }; + key { [ 6, ampersand, threequarters, VoidSymbol ] }; + key { [ 7, slash, braceleft, VoidSymbol ] }; + key { [ 8, parenleft, bracketleft, VoidSymbol ] }; + key { [ 9, parenright, bracketright, plusminus ] }; + key { [ 0, equal, braceright, degree ] }; + key { [ asterisk, question, backslash, questiondown ] }; + key { [ minus, underscore, bar, VoidSymbol ] }; + + key { [ w, W, VoidSymbol, VoidSymbol ] }; + key { [ e, E, EuroSign, VoidSymbol ] }; + key { [ t, T, U20BA, VoidSymbol ] }; + key { [ u, U, ucircumflex, Ucircumflex ] }; + key { type[group1] = "FOUR_LEVEL_ALPHABETIC", + [ idotless, I, icircumflex, Icircumflex ] }; + key { [ o, O, ocircumflex, Ocircumflex ] }; + key { [ p, P, VoidSymbol, VoidSymbol ] }; + key { [ gbreve, Gbreve ] }; + key { [udiaeresis, Udiaeresis, asciitilde, dead_macron ] }; + + key { [ a, A, acircumflex, Acircumflex ] }; + key { [ s, S, ssharp, VoidSymbol ] }; + key { [ d, D, VoidSymbol, VoidSymbol ] }; + key { [ f, F, ordfeminine, VoidSymbol ] }; + key { [ g, G, VoidSymbol, VoidSymbol ] }; + key { [ h, H, VoidSymbol, VoidSymbol ] }; + key { [ k, K, VoidSymbol, VoidSymbol ] }; + key { [ l, L, VoidSymbol, VoidSymbol ] }; + key { [ scedilla, Scedilla, acute, dead_acute ] }; + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", + [ i, Iabovedot, apostrophe, dead_caron ] }; + key { [ quotedbl, eacute, less, degree ] }; + + key { [ comma, semicolon, grave, dead_grave ] }; + key { [ less, greater, bar, brokenbar ] }; + key { [odiaeresis, Odiaeresis, multiply, VoidSymbol ] }; + key { [ ccedilla, Ccedilla,periodcentered, division ] }; + key { [ period, colon, dead_abovedot, dead_abovedot ] }; + + include "kpdl(comma)" + include "level3(ralt_switch)" +}; + + +// Turkish Q layout (swap i and ı) +// Ali Riza KESKIN , 2021 +// https://gitlab.com/sulincix +partial +xkb_symbols "us" { + + include "tr(basic)" + + name[Group1]="Turkish (Turkey, Latin Q, Swap i and ı)"; + key { type[group1] = "FOUR_LEVEL_ALPHABETIC", + [ i, I, paragraph, VoidSymbol ] }; + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", + [ idotless, Iabovedot, apostrophe, dead_caron ] }; + +}; + + +// Turkish F layout +partial +xkb_symbols "f" { + + include "latin" + + name[Group1]="Turkish (F)"; + + key { [ 1, exclam, onesuperior, exclamdown ] }; + key { [ 2, quotedbl, twosuperior, VoidSymbol ] }; + key { [ 3,asciicircum, numbersign, threesuperior ] }; + key { [ 4, dollar, onequarter, VoidSymbol ] }; + key { [ 6, ampersand, threequarters, VoidSymbol ] }; + key { [ 7, apostrophe, braceleft, VoidSymbol ] }; + key { [ 8, parenleft, bracketleft, VoidSymbol ] }; + key { [ 9, parenright, bracketright, plusminus ] }; + key { [ 0, equal, braceright, degree ] }; + key { [ slash, question, backslash, questiondown ] }; + key { [ minus, underscore, bar, VoidSymbol ] }; + + key { [ f, F, at, VoidSymbol ] }; + key { [ g, G, VoidSymbol, VoidSymbol ] }; + key { [ gbreve, Gbreve, VoidSymbol, VoidSymbol ] }; + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", + [ idotless, I, paragraph, VoidSymbol ] }; + key { [ o, O, ocircumflex, Ocircumflex ] }; + key { [ d, D, yen, VoidSymbol ] }; + key { [ r, R, registered, VoidSymbol ] }; + key { [ n, N, VoidSymbol, VoidSymbol ] }; + key { [ h, H, degree, VoidSymbol ] }; + key { [ p, P, sterling, VoidSymbol ] }; + key { [ q, Q,dead_diaeresis,dead_abovering ] }; + key { [ w, W, asciitilde, dead_breve ] }; + + key { [ u, U, ucircumflex, Ucircumflex ] }; + key { type[group1] = "FOUR_LEVEL_ALPHABETIC", + [ i, Iabovedot, icircumflex, Icircumflex ] }; + key { [ e, E, EuroSign, VoidSymbol ] }; + key { [ a, A, acircumflex, Acircumflex ] }; + key { [udiaeresis, Udiaeresis, ucircumflex, Ucircumflex ] }; + key { [ t, T, U20BA, VoidSymbol ] }; + key { [ k, K, VoidSymbol, VoidSymbol ] }; + key { [ m, M, mu, VoidSymbol ] }; + key { [ l, L, VoidSymbol, VoidSymbol ] }; + key { [ y, Y, acute, dead_acute ] }; + key { [ scedilla, Scedilla, numbersign, dead_caron ] }; + key { [ plus, asterisk, notsign, plusminus ] }; + + key { [ x, X, grave, dead_grave ] }; + key { [ j, J, guillemotleft, less ] }; + key { [odiaeresis, Odiaeresis, guillemotright, greater ] }; + key { [ v, V, leftdoublequotemark, VoidSymbol ] }; + key { [ c, C, cent, copyright ] }; + key { [ ccedilla, Ccedilla,rightdoublequotemark, VoidSymbol ] }; + key { [ z, Z, VoidSymbol, VoidSymbol ] }; + key { [ s, S, section, VoidSymbol ] }; + key { [ b, B, multiply, nobreakspace ] }; + key { [ period, colon, division, dead_abovedot ] }; + key { [ comma, semicolon,periodcentered, VoidSymbol ] }; + key { [ less, greater, bar, brokenbar ] }; + + include "kpdl(comma)" + include "level3(ralt_switch)" +}; + +// Turkish Alt-Q layout +partial +xkb_symbols "alt" { + + include "latin" + + name[Group1]="Turkish (Alt-Q)"; + + key { [ 7, ampersand, lowleftcorner, upleftcorner ] }; + key { [ 8, asterisk, leftt, topt ] }; + key { [ 9, parenleft, rightt, bott ] }; + key { [ 0, parenright, lowrightcorner, uprightcorner ] }; + key { [ minus, underscore, horizlinescan5, vertbar ] }; + key { [ equal, plus, crossinglines ] }; + + key { [ e, E, EuroSign, VoidSymbol ] }; +// key { [ t, T, trademark, VoidSymbol > + key { [ u, U, udiaeresis, Udiaeresis ] }; + key { [ i, I, idotless, Iabovedot ] }; + key { [ o, O, odiaeresis, Odiaeresis ] }; + key { [ a, A, acircumflex, Acircumflex ] }; + key { [ s, S, scedilla, Scedilla ] }; + key { [ g, G, gbreve, Gbreve ] }; + + key { [ c, C, ccedilla, Ccedilla ] }; + + include "level3(ralt_switch)" +}; + + +// Kurdish Q layout +// Erdal Ronahi , 2006 +// http://ferheng.org +partial +xkb_symbols "ku" { + + include "tr(basic)" + + name[Group1]="Kurdish (Turkey, Latin Q)"; + + key { [ i, I, idotless, I ] }; + key { [ x, X, gbreve, Gbreve ] }; + key { [ucircumflex, Ucircumflex, asciitilde, dead_macron ] }; + key { [icircumflex, Icircumflex, apostrophe, dead_caron ] }; + key { [ecircumflex, Ecircumflex, odiaeresis, Odiaeresis ] }; +}; + +// Kurdish F layout +partial +xkb_symbols "ku_f" { + + include "tr(f)" + + name[Group1]="Kurdish (Turkey, F)"; + + key { [ x, X, gbreve, Gbreve ] }; + key { [ i, I, paragraph, VoidSymbol ] }; + key { [ o, O, ocircumflex, Ocircumflex ] }; + + key { [ucircumflex, Ucircumflex, udiaeresis, Udiaeresis ] }; + key { [icircumflex, Icircumflex, i, Iabovedot ] }; + key { [ u, U, udiaeresis, Udiaeresis ] }; + key { [ecircumflex, Ecircumflex, odiaeresis, Odiaeresis ] }; +}; + +// Kurdish Alt-Q layout +partial +xkb_symbols "ku_alt" { + + include "tr(alt)" + + name[Group1]="Kurdish (Turkey, Latin Alt-Q)"; + + key { [ e, E, ecircumflex, Ecircumflex ] }; + key { [ u, U, ucircumflex, Ucircumflex ] }; + key { [ i, I, icircumflex, Icircumflex ] }; + key { [ o, O, odiaeresis, Odiaeresis ] }; +}; + +// Turkish international Q layout +// Alexis Pellicier , 2007 +partial +xkb_symbols "intl" { + + include "latin" + + name[Group1]="Turkish (intl., with dead keys)"; + + key { type[group1] = "FOUR_LEVEL", [ 1, exclam, onesuperior, exclamdown ] }; + key { type[group1] = "FOUR_LEVEL", [ 2, apostrophe, sterling, twosuperior ] }; + key { type[group1] = "FOUR_LEVEL", [ 3, dead_circumflex, numbersign, threesuperior ] }; + key { type[group1] = "FOUR_LEVEL", [ 4, plus, dollar, onequarter ] }; + key { type[group1] = "FOUR_LEVEL", [ 6, ampersand, threequarters, VoidSymbol ] }; + key { type[group1] = "FOUR_LEVEL", [ 7, slash, braceleft, VoidSymbol ] }; + key { type[group1] = "FOUR_LEVEL", [ 8, parenleft, bracketleft, VoidSymbol ] }; + key { type[group1] = "FOUR_LEVEL", [ 9, parenright, bracketright, plusminus ] }; + key { type[group1] = "FOUR_LEVEL", [ 0, equal, braceright, degree ] }; + key { type[group1] = "FOUR_LEVEL", [ asterisk, question, backslash, questiondown ] }; + key { type[group1] = "FOUR_LEVEL", [ minus, underscore, division, VoidSymbol ] }; + + key { [ w, W, VoidSymbol, VoidSymbol ] }; + key { [ e, E, EuroSign, cent ] }; + key { [ t, T, U20BA, VoidSymbol ] }; + key { [ u, U, ucircumflex, Ucircumflex ] }; + key { [ idotless, I, icircumflex, Icircumflex ] }; + key { [ o, O, ocircumflex, Ocircumflex ] }; + key { [ p, P, VoidSymbol, VoidSymbol ] }; + key { [ gbreve, Gbreve, dead_diaeresis ] }; + key { [udiaeresis, Udiaeresis, dead_tilde, dead_macron ] }; + + key { [ a, A, acircumflex, Acircumflex ] }; + key { [ s, S, section, VoidSymbol ] }; + key { [ d, D, VoidSymbol, VoidSymbol ] }; + key { [ f, F, ordfeminine, VoidSymbol ] }; + key { [ g, G, VoidSymbol, VoidSymbol ] }; + key { [ h, H, VoidSymbol, VoidSymbol ] }; + key { [ k, K, VoidSymbol, VoidSymbol ] }; + key { [ l, L, VoidSymbol, VoidSymbol ] }; + key { [ scedilla, Scedilla, dead_acute, dead_acute ] }; + key { [ i, Iabovedot, apostrophe, dead_caron ] }; + + key { type[group1] = "FOUR_LEVEL", [ quotedbl, eacute, plusminus, degree ] }; + key { type[group1] = "FOUR_LEVEL", [ comma, semicolon, dead_grave, dead_grave ] }; + key { type[group1] = "FOUR_LEVEL", [ less, greater, bar, brokenbar ] }; + + key { [odiaeresis, Odiaeresis, multiply, VoidSymbol ] }; + key { [ ccedilla, Ccedilla, periodcentered, division ] }; + key { type[group1] = "FOUR_LEVEL", [ period, colon, dead_abovedot, dead_abovedot ] }; + + include "nbsp(level3)" + include "level3(ralt_switch)" +}; + + +partial alphanumeric_keys +xkb_symbols "olpc" { + + // #HW-SPECIFIC + + include "tr(intl)" + + name[Group1]= "Turkish"; + + key { [ 1, exclam, VoidSymbol, VoidSymbol ] }; + key { [ 6, ampersand, VoidSymbol, VoidSymbol ] }; + key { type[group1] = "FOUR_LEVEL", + [ minus, underscore, bar, VoidSymbol ] }; + + key { [ c, C, leftdoublequotemark, VoidSymbol ] }; + key { [ v, V, rightdoublequotemark, VoidSymbol ] }; + key { [ b, B, VoidSymbol, VoidSymbol ] }; + key { [odiaeresis, Odiaeresis, VoidSymbol, VoidSymbol ] }; + key { [ ccedilla, Ccedilla, multiply, VoidSymbol ] }; + key { [ period, colon, division, dead_abovedot ] }; + + key { [ less, greater, VoidSymbol, VoidSymbol ] }; +}; + +// EXTRAS: + +partial alphanumeric_keys + xkb_symbols "sun_type6" { + include "sun_vndr/tr(sun_type6)" +}; + +// Old Turkic Experimental Keyboard Layout +// Created by Emir SARI +partial alphanumeric_keys +xkb_symbols "otk" { + + name[Group1]="Old Turkic"; + + key { [ U10C48, NoSymbol, 1, exclam ] }; + key { [ U10C05, NoSymbol, 2, quotedbl ] }; + key { [ U10C02, NoSymbol, 3, asciicircum ] }; + key { [ U10C47, NoSymbol, 4, dollar ] }; + key { [ U10C21, NoSymbol, 5, percent ] }; + key { [ U10C26, U10C27, 6, ampersand ] }; + key { [ U10C36, U10C37, 7, apostrophe ] }; + key { [ U10C38, U10C39, 8, parenleft ] }; + key { [ U10C1C, U10C1D, 9, parenright ] }; + key { [ U10C31, U2E2E, 0, equal ] }; + key { [ backslash, colon, slash, question ] }; + key { [ comma, semicolon, minus, underscore ] }; + + key { [ U10C13, NoSymbol, at, NoSymbol ] }; + key { [ U10C11, U10C12, numbersign, NoSymbol ] }; + key { [ U10C0F, U10C10, dollar, NoSymbol ] }; + key { [ U10C0D, U10C0E, braceleft, NoSymbol ] }; + key { [ U10C23, NoSymbol, braceright, NoSymbol ] }; + key { [ U10C14, U10C15, bracketleft, NoSymbol ] }; + key { [ U10C43, U10C44, bracketright, NoSymbol ] }; + key { [ U10C3A, U10C3B, parenleft, NoSymbol ] }; + key { [ U10C3C, NoSymbol, parenright, NoSymbol ] }; + key { [ U10C2F, U10C30, backslash, NoSymbol ] }; + key { [ U10C32, U10C33, bar, NoSymbol ] }; + key { [ U10C2A, U10C2B, asciitilde, NoSymbol ] }; + + key { [ U10C00, U10C01, NoSymbol, NoSymbol ] }; + key { [ U10C07, U10C08, NoSymbol, NoSymbol ] }; + key { [ U10C06, NoSymbol, EuroSign, NoSymbol ] }; + key { [ U10C03, U10C04, dead_breve, NoSymbol ] }; + key { [ U10C24, U10C25, dead_acute, NoSymbol ] }; + key { [ U10C45, U10C46, U20BA, NoSymbol ] }; + key { [ U10C34, U10C35, NoSymbol, NoSymbol ] }; + key { [ U10C22, NoSymbol, NoSymbol, NoSymbol ] }; + key { [ U10C1E, U10C1F, sterling, NoSymbol ] }; + key { [ U10C16, U10C17, yen, NoSymbol ] }; + key { [ U10C41, U10C42, endash, NoSymbol ] }; + key { [ U10C3F, U10C40, emdash, NoSymbol ] }; + + key { [ quotedbl, guillemotleft, guillemotright, NoSymbol ] }; + key { [ U10C28, U10C29, NoSymbol, less ] }; + key { [ U10C2D, U10C2E, U10C2C, greater ] }; + key { [ U10C3D, NoSymbol, copyright, guillemotleft ] }; + key { [ U10C09, U10C0A, registered, guillemotright ] }; + key { [ U10C0B, U10C0C, NoSymbol, NoSymbol ] }; + key { [ U10C1A, U10C1B, NoSymbol, NoSymbol ] }; + key { [ U10C3E, NoSymbol, NoSymbol, NoSymbol ] }; + key { [ U10C20, NoSymbol, multiply, NoSymbol ] }; + key { [ U10C18, U10C19, division, NoSymbol ] }; + key { [ U2E31, period, minus, NoSymbol ] }; + key { [ less, greater, plus, NoSymbol ] }; + + include "kpdl(comma)" + include "level3(ralt_switch)" +}; + +// Old Turkic Experimental Keyboard Layout F layout +partial alphanumeric_keys +xkb_symbols "otkf" { + + name[Group1]="Old Turkic (F)"; + + key { [ U10C48, NoSymbol, 1, exclam ] }; + key { [ U10C05, NoSymbol, 2, quotedbl ] }; + key { [ U10C02, NoSymbol, 3, asciicircum ] }; + key { [ U10C47, NoSymbol, 4, dollar ] }; + key { [ U10C21, NoSymbol, 5, percent ] }; + key { [ U10C26, U10C27, 6, ampersand ] }; + key { [ U10C36, U10C37, 7, apostrophe ] }; + key { [ U10C38, U10C39, 8, parenleft ] }; + key { [ U10C1C, U10C1D, 9, parenright ] }; + key { [ U10C31, U2E2E, 0, equal ] }; + key { [ backslash, colon, slash, question ] }; + key { [ comma, semicolon, minus, underscore ] }; + + key { [ U10C03, U10C04, dead_breve, NoSymbol ] }; + key { [ U10C24, U10C25, dead_acute, NoSymbol ] }; + key { [ U10C32, U10C33, bar, NoSymbol ] }; + key { [ U10C3A, U10C3B, parenleft, NoSymbol ] }; + key { [ U10C3C, NoSymbol, parenright, NoSymbol ] }; + key { [ U10C06, NoSymbol, EuroSign, NoSymbol ] }; + key { [ U10C0D, U10C0E, braceleft, NoSymbol ] }; + key { [ U10C1A, U10C1B, NoSymbol, NoSymbol ] }; + key { [ U10C45, U10C46, U20BA, NoSymbol ] }; + key { [ U10C2F, U10C30, backslash, NoSymbol ] }; + key { [ U10C13, NoSymbol, at, NoSymbol ] }; + key { [ U10C11, U10C12, numbersign, NoSymbol ] }; + + + key { [ U10C43, U10C44, bracketright, NoSymbol ] }; + key { [ U10C41, U10C42, endash, NoSymbol ] }; + key { [ U10C0F, U10C10, dollar, NoSymbol ] }; + key { [ U10C00, U10C01, NoSymbol, NoSymbol ] }; + key { [ U10C2A, U10C2B, asciitilde, NoSymbol ] }; + key { [ U10C23, NoSymbol, braceright, NoSymbol ] }; + key { [ U10C22, NoSymbol, NoSymbol, NoSymbol ] }; + key { [ U10C3E, NoSymbol, NoSymbol, NoSymbol ] }; + key { [ U10C1E, U10C1F, sterling, NoSymbol ] }; + key { [ U10C14, U10C15, bracketleft, NoSymbol ] }; + key { [ U10C16, U10C17, yen, NoSymbol ] }; + key { [ U10C2D, U10C2E, U10C2C, NoSymbol ] }; + + key { [ quotedbl, guillemotleft, guillemotright, NoSymbol ] }; + key { [ U10C34, U10C35, NoSymbol, less ] }; + key { [ U10C20, NoSymbol, multiply, greater ] }; + key { [ U10C09, U10C0A, registered, guillemotleft ] }; + key { [ U10C3D, NoSymbol, copyright, guillemotright ] }; + key { [ U10C18, U10C19, division, NoSymbol ] }; + key { [ U10C28, U10C29, NoSymbol, NoSymbol ] }; + key { [ U10C07, U10C08, NoSymbol, NoSymbol ] }; + key { [ U10C0B, U10C0C, NoSymbol, NoSymbol ] }; + key { [ U2E31, period, minus, NoSymbol ] }; + key { [ U10C3F, U10C40, emdash, NoSymbol ] }; + key { [ less, greater, plus, NoSymbol ] }; + + include "kpdl(comma)" + include "level3(ralt_switch)" +}; + +// Ottoman turkish layout +partial alphanumeric_keys +xkb_symbols "ot" { + name[Group1]= "Ottoman (Q)"; + + + key { [ 0x10006f1, exclam, quoteleft ] }; + key { [ 0x10006f2, 0x100066c, at ] }; + key { [ 0x10006f3, 0x100066b, numbersign ] }; + key { [ 0x10006f4, 0x100fdfc, dollar ] }; + key { [ 0x10006f5, 0x100066a, percent ] }; + key { [ 0x10006f6, multiply, asciicircum ] }; + key { [ 0x10006f7, Arabic_comma, ampersand ] }; + key { [ 0x10006f8, asterisk, enfilledcircbullet ] }; + key { [ 0x10006f9, parenright, 0x100200e ] }; + key { [ 0x10006f0, parenleft, 0x100200f ] }; + + + key { [ quotedbl, division, VoidSymbol ] }; + key { [ minus, Arabic_tatweel, VoidSymbol ] }; + key { [ equal, plus, VoidSymbol ] }; + key { [ comma, bar, VoidSymbol ] }; + key { [ space, 0x100200c, VoidSymbol ] }; + + key { [ Arabic_qaf, 0x1000670, VoidSymbol ] }; + key { [ Arabic_thal, 0x1000656, VoidSymbol ] }; + key { [ Arabic_heh, Arabic_fatha, VoidSymbol ] }; + key { [ Arabic_ra, VoidSymbol, VoidSymbol ] }; + key { [ Arabic_teh, Arabic_tehmarbuta, VoidSymbol ] }; + key { [ 0x10006cc, Arabic_yeh, VoidSymbol ] }; + key { [ Arabic_sad, Arabic_damma, VoidSymbol ] }; + key { [ Arabic_ain, VoidSymbol, VoidSymbol ] }; + key { [ Arabic_tah, VoidSymbol, VoidSymbol ] }; + key { [ Arabic_peh, VoidSymbol, VoidSymbol ] }; + key { [ Arabic_ghain, VoidSymbol, VoidSymbol ] }; + key { [ Arabic_hah, VoidSymbol, VoidSymbol ] }; + + key { [ Arabic_alef, VoidSymbol, VoidSymbol ] }; + key { [ Arabic_seen, Arabic_sukun, VoidSymbol ] }; + key { [ Arabic_dal, Arabic_dammatan, VoidSymbol ] }; + key { [ Arabic_feh, Arabic_fathatan, VoidSymbol ] }; + key { [ Arabic_gaf, VoidSymbol, VoidSymbol ] }; + key { [ Arabic_heh, Arabic_hamzaonyeh, VoidSymbol ] }; + key { [ Arabic_jeh, VoidSymbol, VoidSymbol ] }; + key { [ Arabic_keheh, Arabic_kasratan, VoidSymbol ] }; + key { [ Arabic_lam, VoidSymbol, VoidSymbol ] }; + key { [ Arabic_sheen, Arabic_shadda, VoidSymbol ] }; + key { [ Arabic_dad, Arabic_kasra, VoidSymbol ] }; + key { [ U2018, Arabic_semicolon, VoidSymbol ] }; + + key { [ Arabic_zain, Arabic_zah, VoidSymbol ] }; + key { [ Arabic_khah, Arabic_hamza, VoidSymbol ] }; + key { [ Arabic_jeem, Arabic_hamzaonalef, VoidSymbol ] }; + key { [ Arabic_waw, Arabic_hamzaonwaw, VoidSymbol ] }; + key { [ Arabic_beh, Arabic_hamzaunderalef, VoidSymbol ] }; + key { [ Arabic_noon, U06AD, VoidSymbol ] }; + key { [ Arabic_meem, 0x1000653, VoidSymbol ] }; + key { [ Arabic_theh, Arabic_maddaonalef, VoidSymbol ] }; + key { [ Arabic_tcheh, VoidSymbol, VoidSymbol ] }; + key { [ period, colon, VoidSymbol ] }; + + include "level3(ralt_switch)" +}; + +// Ottoman turkish F layout +partial alphanumeric_keys +xkb_symbols "otf" { + name[Group1]= "Ottoman (F)"; + + + key { [ 0x10006f1, exclam, quoteleft ] }; + key { [ 0x10006f2, 0x100066c, at ] }; + key { [ 0x10006f3, 0x100066b, numbersign ] }; + key { [ 0x10006f4, 0x100fdfc, dollar ] }; + key { [ 0x10006f5, 0x100066a, percent ] }; + key { [ 0x10006f6, multiply, asciicircum ] }; + key { [ 0x10006f7, Arabic_comma, ampersand ] }; + key { [ 0x10006f8, asterisk, enfilledcircbullet ] }; + key { [ 0x10006f9, parenright, 0x100200e ] }; + key { [ 0x10006f0, parenleft, 0x100200f ] }; + + + key { [ quotedbl, division, VoidSymbol ] }; + key { [ minus, Arabic_tatweel, VoidSymbol ] }; + key { [ equal, plus, VoidSymbol ] }; + key { [ comma, bar, VoidSymbol ] }; + key { [ space, 0x100200c, VoidSymbol ] }; + + key { [ Arabic_feh, Arabic_fathatan, VoidSymbol ] }; + key { [ Arabic_gaf, VoidSymbol, VoidSymbol ] }; + key { [ Arabic_ghain, Arabic_fatha, VoidSymbol ] }; + key { [ Arabic_ain, VoidSymbol, VoidSymbol ] }; + key { [ Arabic_tah, VoidSymbol, VoidSymbol ] }; + key { [ Arabic_dal, Arabic_dammatan, VoidSymbol ] }; + key { [ Arabic_ra, VoidSymbol, VoidSymbol ] }; + key { [ Arabic_noon, U06AD, VoidSymbol ] }; + key { [ Arabic_heh, Arabic_hamzaonyeh, VoidSymbol ] }; + key { [ Arabic_peh, VoidSymbol, VoidSymbol ] }; + key { [ Arabic_qaf, 0x1000670, VoidSymbol ] }; + key { [ Arabic_thal, 0x1000656, VoidSymbol ] }; + + key { [ Arabic_sad, Arabic_damma, VoidSymbol ] }; + key { [ Arabic_dad, Arabic_kasra, VoidSymbol ] }; + key { [ Arabic_heh, Arabic_fatha, VoidSymbol ] }; + key { [ Arabic_alef, VoidSymbol, VoidSymbol ] }; + key { [ Arabic_hah, VoidSymbol, VoidSymbol ] }; + key { [ Arabic_teh, Arabic_tehmarbuta, VoidSymbol ] }; + key { [ Arabic_keheh, Arabic_kasratan, VoidSymbol ] }; + key { [ Arabic_meem, 0x1000653, VoidSymbol ] }; + key { [ Arabic_lam, VoidSymbol, VoidSymbol ] }; + key { [ 0x10006cc, Arabic_yeh, VoidSymbol ] }; + key { [ Arabic_sheen, Arabic_shadda, VoidSymbol ] }; + key { [ Arabic_khah, Arabic_hamza, VoidSymbol ] }; + + key { [ Arabic_jeh, VoidSymbol, VoidSymbol ] }; + key { [ Arabic_theh, Arabic_maddaonalef, VoidSymbol ] }; + key { [ Arabic_waw, Arabic_hamzaonwaw, VoidSymbol ] }; + key { [ Arabic_jeem, Arabic_hamzaonalef, VoidSymbol ] }; + key { [ Arabic_tcheh, VoidSymbol, VoidSymbol ] }; + key { [ Arabic_zain, Arabic_zah, VoidSymbol ] }; + key { [ Arabic_seen, Arabic_sukun, VoidSymbol ] }; + key { [ Arabic_beh, Arabic_hamzaunderalef, VoidSymbol ] }; + key { [ period, colon, VoidSymbol ] }; + key { [ U2018, Arabic_semicolon, VoidSymbol ] }; + + include "level3(ralt_switch)" +}; + diff --git a/xkbdata/symbols/trans b/xkbdata/symbols/trans new file mode 100644 index 0000000..b71db34 --- /dev/null +++ b/xkbdata/symbols/trans @@ -0,0 +1,93 @@ +default partial alphanumeric_keys +xkb_symbols "ipa" { + + name[Group1]="International Phonetic Alphabet"; // also serves extIPA and orientalistic conversions + key.type[Group1]="EIGHT_LEVEL"; + +//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\\ + key {[ grave, asciitilde, minutes, seconds, U2053, NoSymbol, U2015, asciicircum ]}; // ` ~ ′ ″ SwungDash QuotDash ^ + key {[ 1, exclam, onesuperior, exclamdown, U02E5, U030B, NoSymbol, NoSymbol ]}; // 1 ! ¹ ¡ ˥ ̋◌┎────┒ + key {[ 2, quotedbl, twosuperior, oneeighth, U02E6, U0301, U25CB, U20DD ]}; // 2 " ² ⅛ ˦ ́◌┃○ ⃝ ┃ + key {[ 3, section, threesuperior, sterling, U02E7, U0304, NoSymbol, U0348 ]}; // 3 § ³ £ ˧ ̄◌┖─┒◌͆ ┃ + key {[ 4, dollar, onequarter, currency, U02E8, U0300, NoSymbol, U032A ]}; // 4 $ ¼ ¤ ˨ ̀◌ ┃̪◌ ┃ + key {[ 5, percent, U0331, threeeighths, U02E9, U030F, NoSymbol, U0347 ]}; // 5 % ̱◌ ⅜ ˩ ̏◌ ┃◌͇ ┃ + key {[ 6, ampersand, U032E, fiveeighths, U0323, U0311, NoSymbol, U02EC ]}; // 6 & ̮◌ ⅝ ̣◌ ̑◌ ┃ˬ ┃ + key {[ 7, slash, braceleft, seveneighths, U0307, U0313, NoSymbol, U02ED ]}; // 7 / { ⅞ ̇◌ ̓◌ ┃˭ ┃ Disordered + key {[ 8, parenleft, bracketleft, U2E28, U27E8, U032D, U27EA, U0354 ]}; // 8 ( [ ⸨ ⟨ ̭◌ ⟪┃◌͔┃ Speech + key {[ 9, parenright, bracketright, U2E29, U27E9, NoSymbol, U27EB, U0355 ]}; // 9 ) ] ⸩ ⟩ ⟫┃◌͕┃ + key {[ 0, equal, braceright, degree, U02BE, notequal, U2248, U034E ]}; // 0 = } ° ʾ ≠ ≈┃◌͎ ┃ + // ┃ ┃ + key {[ U0294, question, backslash, questiondown, U0295, U02A1, U02A2, U0362 ]}; // ʔ ? \ ¿ ʕ ʡ ʢ┃◌‌͢◌┃ + // ┎───┚ ┃ + key {[ U2197, U2198, UA71C, UA71B, U02BF, asterisk, U2193, U2191 ]}; // ↗ ↘ ꜜ ꜛ ʿ┃* ↓ ↑ ┃ +//─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────//──────────┸──────┸───────────────\\ + key {[ q, U025C, at, Greek_OMEGA, U02DE, NoSymbol, U20BD, Q ]}; // q ɜ @ Ω ˞ ₽ Q + key {[ w, U028D, U0270, NoSymbol, U026F, NoSymbol, U031D, W ]}; // w ʍ ɰ ɯ ̝◌ W + key {[ e, schwa, U025B, U025C, U0258, NoSymbol, EuroSign, E ]}; // e ə ɛ ɜ ɘ € E + key {[ r, U027E, U0281, U0280, U0279, U027B, U027D, R ]}; // r ɾ ʁ ʀ ɹ ɻ ɽ R + key {[ t,Greek_theta, U0288, NoSymbol, U01C0, U01C1, U01C2, T ]}; // t θ ʈ ǀ ǁ ǂ T + key {[ z, U0292, U0291, U0293, U0290, U026E, U261C, Z ]}; // z ʒ ʑ ʓ ʐ ɮ ☜ Z + key {[ u, U028A, U0289, U028C, U025E, U02AA, U261D, U ]}; // u ʊ ʉ ʌ ɞ ʪ ☝ U + key {[ i, U026A, U0268, U0264, U0275, U02AB, U261F, I ]}; // i ɪ ɨ ɤ ɵ ʫ ☟ I + key {[ o, U0254, oslash, oe, U032A, U025E, U261E, O ]}; // o ɔ ø œ ̪◌ ɞ ☞ O + key {[ p, U0303, U031F, U2038, U033A, NoSymbol, U1D513, P ]}; // p ̃◌ ̟◌ ‸ ̻̺◌ 𝔓 P + // ┎─┒ + key {[ U02E4, U0330, U0308, U033D, U033B, U02C0, U02C1, U02AC ]}; // ˤ ̰◌ ̈◌ ̽◌ ̻◌ ˀ ˁ┃ʬ┃ + key {[ U02D0, U02D1, U0320, U0304, U033C, NoSymbol, NoSymbol, U02AD ]}; // ː ˑ ̠◌ ̄◌ ̼◌ ┃ʭ┃ +//─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────//──────────────┸─┸────────────────\\ + key {[ a, U0251, ae, U0252, U0250, U0276, U031E, A ]}; // a ɑ æ ɒ ɐ ɶ ̞◌ A + key {[ s, U0283, NoSymbol, U0286, U0282, U031C, U0318, S ]}; // s ʃ ʆ ʂ ̜◌ ̘◌ S + key {[ d, eth, U0256, U0257, U1D91, U0339, U0319, D ]}; // d ð ɖ ɗ ᶑ ̹◌ ̙◌ D + // ┎─┒ + key {[ f, U0278, NoSymbol, NoSymbol, NoSymbol, NoSymbol, U02A9, F ]}; // f ɸ ┃ʩ┃F + // ┖─┚ + key {[ g, U0263, U0262, U0260, U029B, U0261, U20B8, G ]}; // g ɣ ɢ ɠ ʛ ɡ ₸ G + key {[ h, U0266, U0267, U029C, hstroke, NoSymbol, U20B4, H ]}; // h ɦ ɧ ʜ ħ ₴ H + key {[ j, U029D, U025F, U0284, NoSymbol, NoSymbol, NoSymbol, J ]}; // j ʝ ɟ ʄ J + key {[ k, U02B0, U02B1, U029E, NoSymbol, UA78E, U2113, K ]}; // k ʰ ʱ ʞ ꞎ ℓ K + key {[ l, U028E, U026B, U026C, U029F, U026D, U027A, L ]}; // l ʎ ɫ ɬ ʟ ɭ ɺ L + // ┎────┒ + key {[ U02B2, U02B7, U02E0, U02B8, U207F, U02E1, U034C, U034D ]}; // ʲ ʷ ˠ ʸ ⁿ ˡ┃◌͌ ◌͍ ┃ Disordered + key {[ U032F, U0325, U032C, U030C, U031A, U0327, U034B, U0348 ]}; // ̯◌ ̥◌ ̬◌ ̌◌◌̚ ̧◌┃◌͋ ◌͈ ┃ Speech + key {[ U0329, U02C8, U02CC, U0306, U02BC, U0328, U034A, U0349 ]}; // ̩◌ ˈ ˌ ̆◌ ʼ ̨◌┃◌͊ ◌‌͉┃ +//─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────//────────────┸────┸───────────────\\ + key {[ bar, U2016, U203F, U035C, U0361, NoSymbol, NoSymbol, NoSymbol ]}; // | ‖ ‿ ◌͜◌ ◌͡◌ + key {[ y, U028F, guillemotright, U203A, U0265, NoSymbol, U0287, Y ]}; // y ʏ » › ɥ ʇ Y + key {[ x, Greek_chi, guillemotleft, U2039, UA725, UA724, U0297, X ]}; // x χ « ‹ ꜥ Ꜥ ʗ X + key {[ c, ccedilla, U0255, U023C, UA723, UA722, U0296, C ]}; // c ç ɕ ȼ ꜣ Ꜣ ʖ C + key {[ v, U028B, U2C71, U0274, doublelowquotemark, singlelowquotemark, NoSymbol, V ]}; // v ʋ ⱱ ɴ „ ‚ V + key {[ b, Greek_beta, U0299, U0253, leftdoublequotemark, leftsinglequotemark, U0298, B ]}; // b β ʙ ɓ “ ‘ ʘ B + key {[ n, eng, U0272, U0273, rightdoublequotemark, rightsinglequotemark, U01C3, N ]}; // n ŋ ɲ ɳ ” ’ ǃ N + key {[ m, U0271, mu, U22C5, U0298, U01C3, U20BC, M ]}; // m ɱ µ ⋅ ʘ ǃ ₼ M + key {[ comma, semicolon, periodcentered, multiply, U2020, U2021, NoSymbol, NoSymbol ]}; // , ; · × † ‡ + key {[ period, colon, ellipsis, division, enfilledcircbullet, NoSymbol, NoSymbol, NoSymbol ]}; // . : … ÷ • + key {[ minus, underscore, endash, emdash, U2011, U00AD, U2010, U2212 ]}; // - _ – — NoBrHyphen SHy Hy Minus +//━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\\ + //│\\ +// Makes return comma instead of dot, as the comma is decimal separator outside the English dominions //🏵\\ + include "kpdl(comma)" //│\\ + //│\\ +// Maps Right Alt for reaching the third level //🏵\\ + include "level3(ralt_switch)" //│\\ + //│\\ +// Maps for reaching the fifth level //🏵\\ + include "level5(caps_switch)" //│\\ + //🏵\\ +// Offers pressing both shift keys for capslock //│\\ + include "shift(both_shiftlock)" //│\\🏵 + //│\│╱🌿 +//──────────────────────────────────────────────────────────────────────────────────────────────────────────────┴─┘˝˝ + +// Note about a bug in XKB: One has to set lv5:rwin_switch_lock or one of the other level 5 locks for the caps switch to work! +// https://bugs.freedesktop.org/show_bug.cgi?id=102189 +}; + +partial alphanumeric_keys +xkb_symbols "qwerty" { + include "trans(ipa)" + + name[Group1] = "International Phonetic Alphabet (QWERTY)"; + + key {[ z, U0292, U0291, U0293, U0290, U026E, U261C, Z ]}; // z ʒ ʑ ʓ ʐ ɮ ☜ Z + key {[ y, U028F, guillemotright, U203A, U0265, NoSymbol, U0287, Y ]}; // y ʏ » › ɥ ʇ Y +}; diff --git a/xkbdata/symbols/tw b/xkbdata/symbols/tw new file mode 100644 index 0000000..5395d6d --- /dev/null +++ b/xkbdata/symbols/tw @@ -0,0 +1,78 @@ +default partial alphanumeric_keys +xkb_symbols "tw" { + + include "us(basic)" + + name[Group1]= "Taiwanese"; + + key { [ grave, asciitilde, dead_grave, dead_tilde ] }; + key { [ 1, exclam, U030D, exclamdown ] }; + key { [ 2, at, U0358, twosuperior ] }; + key { [ 3, numbersign, section, threesuperior ] }; + key { [ 4, dollar, yen, sterling ] }; + key { [ 5, percent, EuroSign, cent ] }; + key { [ 6,asciicircum, dead_circumflex, dead_caron ] }; + key { [ 7, ampersand, dead_acute, NoSymbol ] }; + key { [ 8, asterisk, dead_cedilla, dead_horn ] }; + key { [ 9, parenleft, dead_ogonek, dead_breve ] }; + key { [ 0, parenright, dead_abovedot, dead_abovering ] }; + key { [ minus, underscore, dead_macron, plusminus ] }; + key { [ equal, plus, multiply, division ] }; + + key { [ q, Q, paragraph, degree ] }; + key { [ e, E, eacute, Eacute ] }; + key { [ r, R, U1E5F, U1E5E ] }; + key { [ t, T, U1E6F, U1E6E ] }; + key { [ y, Y, U1E73, U1E72 ] }; + key { [ u, U, U0289, U0244 ] }; + key { [ i, I, U0268, U0197 ] }; + key { [ o, O, oslash, Ooblique ] }; + + key { [ s, S, ssharp, U1E9E ] }; + key { [ d, D, U1E0F, U1E0E ] }; + key { [ g, G, eng, ENG ] }; + key { [ l, L, U1E3B, U1E3A ] }; + key { [ semicolon, colon, U02D0, dead_diaeresis ] }; + key { [apostrophe, quotedbl, U02BC, dead_doubleacute ] }; + + key { [ c, C, ccedilla, Ccedilla ] }; + key { [ n, N, U207F, U1D3A ] }; + key { [ m, M, mu, mu ] }; + key { [ comma, less, dead_belowcomma, guillemotleft ] }; + key { [ period, greater, dead_belowdot, guillemotright ] }; + key { [ slash, question, questiondown, dead_hook ] }; + key { [ backslash, bar, notsign, brokenbar ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "indigenous" { + + include "tw(tw)" + + name[Group1]= "Taiwanese (indigenous)"; + + key { [ U02BC, quotedbl, apostrophe, dead_doubleacute ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "saisiyat" { + + include "tw(indigenous)" + + name[Group1]= "Saisiyat (Taiwan)"; + + key { [ U02D0, colon, semicolon, dead_diaeresis ] }; + + include "level3(ralt_switch)" +}; + +// EXTRAS: + +partial alphanumeric_keys + xkb_symbols "sun_type6" { + include "sun_vndr/tw(sun_type6)" +}; diff --git a/xkbdata/symbols/typo b/xkbdata/symbols/typo new file mode 100644 index 0000000..bbc64a3 --- /dev/null +++ b/xkbdata/symbols/typo @@ -0,0 +1,70 @@ +// Typographic Keyboard +// Sergei Stolyarov + +// Initial contribution by Alexey Ten +// Additional contribution and code cleanup by Artur Dryomov + +// Mainly based on the layout proposed by Ilya Birman +// http://ilyabirman.ru/projects/typography-layout/ + +default partial +xkb_symbols "base" { + + // 1st keyboard row + key { [ NoSymbol, NoSymbol, NoSymbol, approxeq ] }; // "~" + key { [ NoSymbol, NoSymbol, onesuperior, exclamdown ] }; // "1" + key { [ NoSymbol, NoSymbol, twosuperior, onehalf ] }; // "2" + key { [ NoSymbol, NoSymbol, threesuperior, onethird ] }; // "3" + key { [ NoSymbol, NoSymbol, dollar, onequarter ] }; // "4" + key { [ NoSymbol, NoSymbol, U2030, NoSymbol ] }; // "5" + key { [ NoSymbol, NoSymbol, uparrow, NoSymbol ] }; // "6" + key { [ NoSymbol, NoSymbol, ampersand, questiondown ] }; // "7" + key { [ NoSymbol, NoSymbol, infinity, oneeighth ] }; // "8" + key { [ NoSymbol, NoSymbol, leftarrow, NoSymbol ] }; // "9" + key { [ NoSymbol, NoSymbol, rightarrow, NoSymbol ] }; // "0" + key { [ NoSymbol, NoSymbol, emdash, endash ] }; // "-" + key { [ NoSymbol, NoSymbol, notequal, plusminus ] }; // "=" + + // 2nd keyboard row + key { [ NoSymbol, NoSymbol, EuroSign, NoSymbol ] }; // "e" + key { [ NoSymbol, NoSymbol, registered, NoSymbol ] }; // "r" + key { [ NoSymbol, NoSymbol, trademark, NoSymbol ] }; // "t" + key { [ NoSymbol, NoSymbol, yen, NoSymbol ] }; // "y" + key { [ NoSymbol, NoSymbol, U20B4, NoSymbol ] }; // "u" + key { [ NoSymbol, NoSymbol, acute, doubleacute ] }; // "p" + key { [ NoSymbol, NoSymbol, bracketleft, braceleft ] }; // "[" + key { [ NoSymbol, NoSymbol, bracketright, braceright ] }; // "]" + + // 3rd keyboard row + key { [ NoSymbol, NoSymbol, U0301, NoSymbol ] }; // "a" + key { [ NoSymbol, NoSymbol, section, NoSymbol ] }; // "s" + key { [ NoSymbol, NoSymbol, degree, division ] }; // "d" + key { [ NoSymbol, NoSymbol, sterling, NoSymbol ] }; // "f" + key { [ NoSymbol, NoSymbol, U20BD, NoSymbol ] }; // "h" + key { [ NoSymbol, NoSymbol, doublelowquotemark, singlelowquotemark ] }; // "j" + key { [ NoSymbol, NoSymbol, leftdoublequotemark, leftsinglequotemark ] }; // "k" + key { [ NoSymbol, NoSymbol, rightdoublequotemark, rightsinglequotemark ] }; // "l" + key { [ NoSymbol, NoSymbol, leftsinglequotemark, minutes ] }; // ";" + key { [ NoSymbol, NoSymbol, rightsinglequotemark, seconds ] }; // "'" + + // 4th keyboard row + key { [ NoSymbol, NoSymbol, multiply, U22C5 ] }; // "x" + key { [ NoSymbol, NoSymbol, copyright, cent ] }; // "c" + key { [ NoSymbol, NoSymbol, downarrow, U25CA ] }; // "v" + key { [ NoSymbol, NoSymbol, U2212, enfilledcircbullet ] }; // "m" + key { [ NoSymbol, NoSymbol, guillemotleft, less ] }; // "," + key { [ NoSymbol, NoSymbol, guillemotright, greater ] }; // "." + key { [ NoSymbol, NoSymbol, ellipsis, NoSymbol ] }; // "/" + + // 5th keyboard row + key { [ space, space, nobreakspace, nobreakspace ] }; // " " + + // Reference + // U+2030 PER MILLE SIGN + // U+20B4 HRYVNIA SIGN + // U+0301 COMBINING ACUTE ACCENT + // U+20BD RUBLE SIGN + // U+22C5 DOT OPERATOR + // U+25CA LOZENGE + // U+2212 MINUS SIGN +}; diff --git a/xkbdata/symbols/tz b/xkbdata/symbols/tz new file mode 100644 index 0000000..60ff033 --- /dev/null +++ b/xkbdata/symbols/tz @@ -0,0 +1,59 @@ +// Keyboard layout for Swahili in Arabic script. +// Based on Martin Vidner's Buckwalter transliteration variant of the Arabic keyboard +// Please notify any corrections or omissions to +// Kevin Donnelly (kevin@dotmon.com) + +default partial alphanumeric_keys +xkb_symbols "swa" { + name[Group1]= "Swahili (Tanzania)"; + + key { [ 0x1000670, VoidSymbol ] }; + + key { [ 0x1000661, VoidSymbol ] }; + key { [ 0x1000662, VoidSymbol ] }; + key { [ 0x1000663, VoidSymbol ] }; + key { [ 0x1000664, VoidSymbol ] }; + key { [ 0x1000665, Arabic_percent ] }; + key { [ 0x1000666, VoidSymbol ] }; + key { [ 0x1000667, VoidSymbol ] }; + key { [ 0x1000668, VoidSymbol ] }; + key { [ 0x1000669, 0x100fd3e ] }; + key { [ 0x1000660, 0x100fd3f ] }; + key { [ minus, Arabic_tatweel ] }; + key { [ equal, plus ] }; + + key { [ Arabic_qaf, Arabic_gaf ] }; + key { [ Arabic_waw, Arabic_hamzaonwaw ] }; + key { [ 0x1000656, Arabic_ain ] }; + key { [ Arabic_ra, Arabic_tteh ] }; + key { [ Arabic_teh, Arabic_tah ] }; + key { [ Arabic_yeh, Arabic_alefmaksura ] }; + key { [ Arabic_damma, Arabic_dammatan ] }; + key { [ Arabic_kasra, Arabic_hamzaonyeh ] }; + key { [ Arabic_sukun, 0x1000657 ] }; + key { [ Arabic_peh, Arabic_tehmarbuta ] }; + key { [ VoidSymbol, VoidSymbol ] }; + + key { [ Arabic_fatha, Arabic_alef ] }; + key { [ Arabic_seen, Arabic_sad ] }; + key { [ Arabic_dal, Arabic_dad ] }; + key { [ Arabic_feh, Arabic_fathatan ] }; + key { [ 0x10006A0, Arabic_ghain ] }; + key { [ Arabic_ha, Arabic_hah ] }; + key { [ Arabic_jeem, VoidSymbol ] }; + key { [ Arabic_kaf, Arabic_kasratan ] }; + key { [ Arabic_lam, Arabic_shadda ] }; + key { [ Arabic_semicolon, VoidSymbol ] }; + key { [ Arabic_hamza, VoidSymbol ] }; + + key { [ Arabic_zain, Arabic_zah ] }; + key { [ Arabic_khah, VoidSymbol ] }; + key { [ Arabic_tcheh, Arabic_sheen ] }; + key { [ 0x10006A8, Arabic_theh ] }; + key { [ Arabic_beh, Arabic_thal ] }; + key { [ Arabic_noon, VoidSymbol ] }; + key { [ Arabic_meem, VoidSymbol ] }; + key { [ Arabic_comma, Arabic_hamzaunderalef ] }; + key { [ 0x10006d4, Arabic_hamzaonalef ] }; + key { [ VoidSymbol, Arabic_question_mark ] }; +}; diff --git a/xkbdata/symbols/ua b/xkbdata/symbols/ua new file mode 100644 index 0000000..5422ed9 --- /dev/null +++ b/xkbdata/symbols/ua @@ -0,0 +1,416 @@ +// Keyboard layouts for the Ukraine. +// AEN & Leon Kanter +// last changes 2007/10/03 by Andriy Rysin + +// Oleksiy Protas : +// - Added Serbian Cyrillics support + +// The legacy WinKeys layout extended on the third and fourth level with +// some Unicode symbols (typographic quotes, m-dash, n-dash, ...), some +// often-used Cyrillics from other Slavic languages, and some often-used +// ASCII symbols (slash, brackets, ...). +default partial alphanumeric_keys +xkb_symbols "unicode" { + + include "ua(winkeys)" + name[Group1]= "Ukrainian"; + + key { [ apostrophe, U02BC, U0301, asciitilde ] }; // Apostrophe and Stress symbol + key { [ 1, exclam, onesuperior ] }; + key { [ 2, quotedbl, twosuperior, U2019 ] }; // single quote used often as an apostrophe (deprecated) + key { [ 3, numerosign, U00A7, U20B4 ] }; // Paragraph and Hryvnia sign + key { [ 4, semicolon, dollar, EuroSign ] }; + key { [ 5, percent, degree ] }; + key { [ 6, colon, less ] }; + key { [ 7, question, greater ] }; + key { [ 8, asterisk, enfilledcircbullet ] }; + key { [ 9, parenleft, bracketleft, braceleft ] }; + key { [ 0, parenright, bracketright, braceright ] }; + key { [ minus, underscore, emdash, endash ] }; + key { [ equal, plus, notequal, plusminus ] }; + + key { [ Cyrillic_u, Cyrillic_U, Byelorussian_shortu, Byelorussian_SHORTU ] }; + key { [ Cyrillic_ka, Cyrillic_KA, registered ] }; // Registered tm + key { [ Cyrillic_ie, Cyrillic_IE, Cyrillic_io, Cyrillic_IO ] }; + key { [ Ukrainian_yi, Ukrainian_YI, Cyrillic_hardsign,Cyrillic_HARDSIGN ] }; + key { [ Ukrainian_i, Ukrainian_I, Cyrillic_yeru, Cyrillic_YERU ] }; + key { [ Ukrainian_ie, Ukrainian_IE, Cyrillic_e, Cyrillic_E ] }; + + key { [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN, backslash, bar ] }; + + key { [ Cyrillic_es, Cyrillic_ES, copyright ] }; + key { [ Cyrillic_te, Cyrillic_TE, trademark ] }; + key { [ Cyrillic_be, Cyrillic_BE, guillemotleft, doublelowquotemark ] }; + key { [ Cyrillic_yu, Cyrillic_YU, guillemotright, leftdoublequotemark ] }; + key { [ period, comma, slash, ellipsis ] }; + + // Serbian Vukovica + key { [ Cyrillic_shorti, Cyrillic_SHORTI, Cyrillic_je, Cyrillic_JE ] }; + key { [ Cyrillic_tse, Cyrillic_TSE, Cyrillic_dzhe, Cyrillic_DZHE ] }; + key { [ Cyrillic_de, Cyrillic_DE, Serbian_dje, Serbian_DJE ] }; + key { [ Cyrillic_che, Cyrillic_CHE, Serbian_tshe, Serbian_TSHE ] }; + key { [ Cyrillic_el, Cyrillic_EL, Cyrillic_lje, Cyrillic_LJE ] }; + key { [ Cyrillic_en, Cyrillic_EN, Cyrillic_nje, Cyrillic_NJE ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "macOS" { + + include "ua(unicode)" + name[Group1]= "Ukrainian (macOS)"; + + key { [ apostrophe, asciitilde, bracketright, bracketleft ] }; + key { [ 1, exclam, exclam, U0174 ] }; + key { [ 2, quotedbl, at, quotedbl ] }; + key { [ 3, numerosign, numbersign, U20B4 ] }; + key { [ 4, percent, dollar, EuroSign ] }; + key { [ 5, colon, degree ] }; + key { [ 6, comma, less ] }; + key { [ 7, period, ampersand, U204B ] }; + key { [ 8, semicolon, asterisk, U221A ] }; + key { [ 9, parenleft, parenleft, apostrophe ] }; + key { [ 0, parenright, parenright, grave ] }; + key { [ minus, underscore, endash, emdash ] }; + key { [ equal, plus, U00BB, U00AB ] }; + + key { [ Cyrillic_i, Cyrillic_I, Cyrillic_yeru, Cyrillic_YERU ] }; + key { [ Ukrainian_i, Ukrainian_I, Cyrillic_i, Cyrillic_I ] }; + + key { [ Cyrillic_be, Cyrillic_BE, lessthanequal, less ] }; + key { [ Cyrillic_yu, Cyrillic_YU, greaterthanequal, greater ] }; + + key { [ slash, question, U201C, U201E] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "legacy" { + + name[Group1]= "Ukrainian (legacy)"; + + key { [ apostrophe, asciitilde ] }; + key { [ 1, exclam ] }; + key { [ 2, quotedbl ] }; + key { [ 3, numbersign ] }; + key { [ 4, asterisk ] }; + key { [ 5, colon ] }; + key { [ 6, comma ] }; + key { [ 7, period ] }; + key { [ 8, semicolon ] }; + key { [ 9, parenleft ] }; + key { [ 0, parenright ] }; + key { [ minus, underscore ] }; + key { [ equal, plus ] }; + + key { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; + key { [ Cyrillic_tse, Cyrillic_TSE ] }; + key { [ Cyrillic_u, Cyrillic_U ] }; + key { [ Cyrillic_ka, Cyrillic_KA ] }; + key { [ Cyrillic_ie, Cyrillic_IE ] }; + key { [ Cyrillic_en, Cyrillic_EN ] }; + key { [ Cyrillic_ghe, Cyrillic_GHE ] }; + key { [ Cyrillic_sha, Cyrillic_SHA ] }; + key { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; + key { [ Cyrillic_ze, Cyrillic_ZE ] }; + key { [ Cyrillic_ha, Cyrillic_HA ] }; + key { [ Ukrainian_yi, Ukrainian_YI ] }; + key { [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] }; + + key { [ Cyrillic_ef, Cyrillic_EF ] }; + key { [ Ukrainian_i, Ukrainian_I ] }; + key { [ Cyrillic_ve, Cyrillic_VE ] }; + key { [ Cyrillic_a, Cyrillic_A ] }; + key { [ Cyrillic_pe, Cyrillic_PE ] }; + key { [ Cyrillic_er, Cyrillic_ER ] }; + key { [ Cyrillic_o, Cyrillic_O ] }; + key { [ Cyrillic_el, Cyrillic_EL ] }; + key { [ Cyrillic_de, Cyrillic_DE ] }; + key { [ Cyrillic_zhe, Cyrillic_ZHE ] }; + key { [ Ukrainian_ie, Ukrainian_IE ] }; + + key { [ Cyrillic_ya, Cyrillic_YA ] }; + key { [ Cyrillic_che, Cyrillic_CHE ] }; + key { [ Cyrillic_es, Cyrillic_ES ] }; + key { [ Cyrillic_em, Cyrillic_EM ] }; + key { [ Cyrillic_te, Cyrillic_TE ] }; + key { [ Cyrillic_i, Cyrillic_I ] }; + key {[Cyrillic_softsign,Cyrillic_SOFTSIGN ] }; + key { [ Cyrillic_be, Cyrillic_BE ] }; + key { [ Cyrillic_yu, Cyrillic_YU ] }; + key { [ slash, question ] }; + + key { [ slash, bar ] }; +}; + +partial alphanumeric_keys +xkb_symbols "winkeys" { + + include "ua(legacy)" + name[Group1]= "Ukrainian (Windows)"; + + key { [ 3, numerosign ] }; + key { [ 4, semicolon ] }; + key { [ 5, percent ] }; + key { [ 6, colon ] }; + key { [ 7, question ] }; + key { [ 8, asterisk ] }; + key { [ period, comma ] }; +}; + +partial alphanumeric_keys +xkb_symbols "typewriter" { + + include "ua(legacy)" + name[Group1]= "Ukrainian (typewriter)"; + + key { [ apostrophe, quotedbl ] }; + key { [ exclam, 1 ] }; + key { [ numerosign, 2 ] }; + key { [ slash, 3 ] }; + key { [ semicolon, 4 ] }; + key { [ colon, 5 ] }; + key { [ comma, 6 ] }; + key { [ period, 7 ] }; + key { [ underscore, 8 ] }; + key { [ question, 9 ] }; + key { [ percent, 0 ] }; + + key { [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] }; + + key { [ Cyrillic_i, Cyrillic_I ] }; + + key { [ Ukrainian_i, Ukrainian_I ] }; + key { [ Ukrainian_yi, Ukrainian_YI ] }; + + key { [ parenleft, parenright ] }; +}; + +partial alphanumeric_keys +xkb_symbols "phonetic" { + + include "ua(legacy)" + name[Group1]= "Ukrainian (phonetic)"; + + key { [ Cyrillic_ya, Cyrillic_YA ] }; + key { [ Cyrillic_ve, Cyrillic_VE ] }; + key { [ Cyrillic_ie, Cyrillic_IE ] }; + key { [ Cyrillic_er, Cyrillic_ER ] }; + key { [ Cyrillic_te, Cyrillic_TE ] }; + key { [ Cyrillic_i, Cyrillic_I ] }; + key { [ Cyrillic_u, Cyrillic_U ] }; + key { [ Ukrainian_i, Ukrainian_I ] }; + key { [ Cyrillic_o, Cyrillic_O ] }; + key { [ Cyrillic_pe, Cyrillic_PE ] }; + key { [ Cyrillic_sha, Cyrillic_SHA ] }; + key { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; + + key { [ Cyrillic_a, Cyrillic_A ] }; + key { [ Cyrillic_es, Cyrillic_ES ] }; + key { [ Cyrillic_de, Cyrillic_DE ] }; + key { [ Cyrillic_ef, Cyrillic_EF ] }; + key { [ Cyrillic_ghe, Cyrillic_GHE ] }; + key { [ Cyrillic_ha, Cyrillic_HA ] }; + key { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; + key { [ Cyrillic_ka, Cyrillic_KA ] }; + key { [ Cyrillic_el, Cyrillic_EL ] }; + key { [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] }; + key { [ Cyrillic_che, Cyrillic_CHE ] }; + key { [ Cyrillic_yu, Cyrillic_YU ] }; + + key { [ Cyrillic_ze, Cyrillic_ZE ] }; + key { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; + key { [ Cyrillic_tse, Cyrillic_TSE ] }; + key { [ Cyrillic_zhe, Cyrillic_ZHE ] }; + key { [ Cyrillic_be, Cyrillic_BE ] }; + key { [ Cyrillic_en, Cyrillic_EN ] }; + key { [ Cyrillic_em, Cyrillic_EM ] }; + key { [ Ukrainian_yi, Ukrainian_YI ] }; + key { [ Ukrainian_ie, Ukrainian_IE ] }; + key { [ slash, question ] }; +}; + +// Ukrainian RSTU 2019-91 keyboard layout (Respublikanskij STandart Ukrajiny). +// Andrew Porokhnyak +partial alphanumeric_keys +xkb_symbols "rstu" { + + include "ua(legacy)" + name[Group1]= "Ukrainian (standard RSTU)"; + + key { [ apostrophe, question ] }; + key { [ exclam, 1 ] }; + key { [ quotedbl, 2 ] }; + key { [ numbersign, 3 ] }; + key { [ semicolon, 4 ] }; + key { [ colon, 5 ] }; + key { [ comma, 6 ] }; + key { [ period, 7 ] }; + key { [ asterisk, 8 ] }; + key { [ parenleft, 9 ] }; + key { [ parenright, 0 ] }; + + key { [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] }; + + key { [ Cyrillic_i, Cyrillic_I ] }; + + key { [ Ukrainian_i, Ukrainian_I ] }; + key { [ Ukrainian_yi, Ukrainian_YI ] }; + + key { [ slash, percent ] }; +}; + +// Russian RSTU 2019-91 keyboard layout (Respublikanskij STandart Ukrajiny). +// Andrew Porokhnyak +partial alphanumeric_keys +xkb_symbols "rstu_ru" { + + include "ru(common)" + name[Group1]= "Russian (Ukraine, standard RSTU)"; + + key { [ apostrophe, question ] }; + key { [ exclam, 1 ] }; + key { [ quotedbl, 2 ] }; + key { [ numbersign, 3 ] }; + key { [ semicolon, 4 ] }; + key { [ colon, 5 ] }; + key { [ comma, 6 ] }; + key { [ period, 7 ] }; + key { [ asterisk, 8 ] }; + key { [ parenleft, 9 ] }; + key { [ parenright, 0 ] }; + key { [ slash, percent ] }; + + key.type[group1]="ALPHABETIC"; + + key { [ Cyrillic_io, Cyrillic_IO ] }; +}; + +// Homophonic keyboard layout (by Tomas Marko Miljenović), +// based on the Ukrainian National Transliteration, +// commonly used phonetic layouts for Mac and Win. +partial alphanumeric_keys +xkb_symbols "homophonic" { + + include "ua(legacy)" + name[Group1]= "Ukrainian (homophonic)"; + + key { [ grave, underscore ] }; + key { [ 1, exclam ] }; + key { [ 2, at ] }; + key { [ 3, semicolon ] }; + key { [ 4, colon ] }; + key { [ 5, percent ] }; + key { [ 6, apostrophe ] }; + key { [ 7, quotedbl ] }; + key { [ 8, asterisk ] }; + key { [ 9, parenleft ] }; + key { [ 0, parenright ] }; + key { [ Ukrainian_ie, Ukrainian_IE ] }; + key { [ Ukrainian_yi, Ukrainian_YI ] }; + + key { [ Cyrillic_ya, Cyrillic_YA ] }; + key { [ Cyrillic_sha, Cyrillic_SHA ] }; + key { [ Cyrillic_ie, Cyrillic_IE ] }; + key { [ Cyrillic_er, Cyrillic_ER ] }; + key { [ Cyrillic_te, Cyrillic_TE ] }; + key { [ Cyrillic_i, Cyrillic_I ] }; + key { [ Cyrillic_u, Cyrillic_U ] }; + key { [ Ukrainian_i, Ukrainian_I ] }; + key { [ Cyrillic_o, Cyrillic_O ] }; + key { [ Cyrillic_pe, Cyrillic_PE ] }; + key { [ Cyrillic_yu, Cyrillic_YU ] }; + key { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; + + key { [ Cyrillic_a, Cyrillic_A ] }; + key { [ Cyrillic_es, Cyrillic_ES ] }; + key { [ Cyrillic_de, Cyrillic_DE ] }; + key { [ Cyrillic_ef, Cyrillic_EF ] }; + key { [ Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] }; + key { [ Cyrillic_ghe, Cyrillic_GHE ] }; + key { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; + key { [ Cyrillic_ka, Cyrillic_KA ] }; + key { [ Cyrillic_el, Cyrillic_EL ] }; + key { [ Cyrillic_che, Cyrillic_CHE ] }; + key { [ Cyrillic_zhe, Cyrillic_ZHE ] }; + key { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; + + key { [ Cyrillic_ze, Cyrillic_ZE ] }; + key { [ Cyrillic_ha, Cyrillic_HA ] }; + key { [ Cyrillic_tse, Cyrillic_TSE ] }; + key { [ Cyrillic_ve, Cyrillic_VE ] }; + key { [ Cyrillic_be, Cyrillic_BE ] }; + key { [ Cyrillic_en, Cyrillic_EN ] }; + key { [ Cyrillic_em, Cyrillic_EM ] }; + key { [ comma, less ] }; + key { [ period, greater ] }; + key { [ slash, question ] }; +}; + +// Crimean Tatar (Crimean Turkish) layouts. +// First released (by Ubuntu): 2009-02-24. +// These layouts are not yet standard. In particular, the mapping of +// the letter 'x' might change in the future. This letter is not used +// in the current official alphabet, but is included in the layouts for +// foreign words and for shortcuts. +// Reşat SABIQ , 2009 +// Özgür Qarahan , 2009 + +// Crimean Tatar (Crimean Turkish) Q layout +partial +xkb_symbols "crh" { + + include "tr(basic)" + + name[Group1]="Crimean Tatar (Turkish Q)"; + + key { [ x, X, asterisk, question ] }; + + key { [ f, F, iacute, Iacute ] }; + key { [ j, J, ibreve, Ibreve ] }; + key { [ quotedbl, backslash, less, degree ] }; + + key { [ ntilde, Ntilde, guillemotright, greater ] }; +}; + +// Crimean Tatar (Crimean Turkish) F layout +partial +xkb_symbols "crh_f" { + + include "tr(f)" + + name[Group1]="Crimean Tatar (Turkish F)"; + + key { [ x, X, slash, question ] }; + + key { type[group1] = "FOUR_LEVEL_SEMIALPHABETIC", + [ idotless, I, iacute, Iacute ] }; + + key { [ k, K, ibreve, Ibreve ] }; + key { [ plus, asterisk, backslash, plusminus ] }; + + key { [ ntilde, Ntilde, grave, dead_grave ] }; +}; + +// Crimean Tatar (Crimean Turkish) Alt-Q layout +partial +xkb_symbols "crh_alt" { + + include "tr(alt)" + + name[Group1]="Crimean Tatar (Turkish Alt-Q)"; + + key { [ f, F, iacute, Iacute ] }; + key { [ j, J, ibreve, Ibreve ] }; + + key { [ n, N, ntilde, Ntilde ] }; +}; + +// EXTRAS: + +partial alphanumeric_keys + xkb_symbols "sun_type6" { + include "sun_vndr/ua(sun_type6)" +}; diff --git a/xkbdata/symbols/us b/xkbdata/symbols/us new file mode 100644 index 0000000..e193ffd --- /dev/null +++ b/xkbdata/symbols/us @@ -0,0 +1,2310 @@ +default partial alphanumeric_keys modifier_keys +xkb_symbols "basic" { + + name[Group1]= "English (US)"; + + key { [ grave, asciitilde ] }; + key { [ 1, exclam ] }; + key { [ 2, at ] }; + key { [ 3, numbersign ] }; + key { [ 4, dollar ] }; + key { [ 5, percent ] }; + key { [ 6, asciicircum ] }; + key { [ 7, ampersand ] }; + key { [ 8, asterisk ] }; + key { [ 9, parenleft ] }; + key { [ 0, parenright ] }; + key { [ minus, underscore ] }; + key { [ equal, plus ] }; + + key { [ q, Q ] }; + key { [ w, W ] }; + key { [ e, E ] }; + key { [ r, R ] }; + key { [ t, T ] }; + key { [ y, Y ] }; + key { [ u, U ] }; + key { [ i, I ] }; + key { [ o, O ] }; + key { [ p, P ] }; + key { [ bracketleft, braceleft ] }; + key { [ bracketright, braceright ] }; + + key { [ a, A ] }; + key { [ s, S ] }; + key { [ d, D ] }; + key { [ f, F ] }; + key { [ g, G ] }; + key { [ h, H ] }; + key { [ j, J ] }; + key { [ k, K ] }; + key { [ l, L ] }; + key { [ semicolon, colon ] }; + key { [ apostrophe, quotedbl ] }; + + key { [ z, Z ] }; + key { [ x, X ] }; + key { [ c, C ] }; + key { [ v, V ] }; + key { [ b, B ] }; + key { [ n, N ] }; + key { [ m, M ] }; + key { [ comma, less ] }; + key { [ period, greater ] }; + key { [ slash, question ] }; + + key { [ backslash, bar ] }; +}; + +partial alphanumeric_keys +xkb_symbols "euro" { + + include "us(basic)" + name[Group1]= "English (US, euro on 5)"; + + key { [ backslash, bar ] }; + + include "eurosign(5)" + + include "level3(ralt_switch)" +}; + + +partial alphanumeric_keys +xkb_symbols "ibm238l" { + + include "us(basic)" + name[Group1]= "English (US, IBM Arabic 238_L)"; + + key { [ comma, comma ] }; + key { [ period, period ] }; + key { [ quoteleft, asciitilde ] }; + key { [ backslash, bar ] }; + key { [ leftcaret, rightcaret ] }; +}; + +partial alphanumeric_keys +xkb_symbols "intl" { + + name[Group1]= "English (US, intl., with dead keys)"; + + key { [dead_grave, dead_tilde, grave, asciitilde ] }; + key { [ 1, exclam, exclamdown, onesuperior ] }; + key { [ 2, at, twosuperior, dead_doubleacute ] }; + key { [ 3, numbersign, threesuperior, dead_macron ] }; + key { [ 4, dollar, currency, sterling ] }; + key { [ 5, percent, EuroSign, dead_cedilla ] }; + key { [ 6, dead_circumflex, onequarter, asciicircum ] }; + key { [ 7, ampersand, onehalf, dead_horn ] }; + key { [ 8, asterisk, threequarters, dead_ogonek ] }; + key { [ 9, parenleft, leftsinglequotemark, dead_breve ] }; + key { [ 0, parenright, rightsinglequotemark, dead_abovering ] }; + key { [ minus, underscore, yen, dead_belowdot ] }; + key { [ equal, plus, multiply, division ] }; + + key { [ q, Q, adiaeresis, Adiaeresis ] }; + key { [ w, W, aring, Aring ] }; + key { [ e, E, eacute, Eacute ] }; + key { [ r, R, registered, registered ] }; + key { [ t, T, thorn, THORN ] }; + key { [ y, Y, udiaeresis, Udiaeresis ] }; + key { [ u, U, uacute, Uacute ] }; + key { [ i, I, iacute, Iacute ] }; + key { [ o, O, oacute, Oacute ] }; + key { [ p, P, odiaeresis, Odiaeresis ] }; + key { [ bracketleft, braceleft, guillemotleft, leftdoublequotemark ] }; + key { [bracketright, braceright, guillemotright, rightdoublequotemark ] }; + + key { [ a, A, aacute, Aacute ] }; + key { [ s, S, ssharp, section ] }; + key { [ d, D, eth, ETH ] }; + key { [ f, F, f, F ] }; + key { [ g, G, g, G ] }; + key { [ h, H, h, H ] }; + key { [ j, J, j, J ] }; + key { [ k, K, oe, OE ] }; + key { [ l, L, oslash, Ooblique ] }; + key { [ semicolon, colon, paragraph, degree ] }; + key { [dead_acute, dead_diaeresis, apostrophe, quotedbl ] }; + + key { [ z, Z, ae, AE ] }; + key { [ x, X, x, X ] }; + key { [ c, C, copyright, cent ] }; + key { [ v, V, v, V ] }; + key { [ b, B, b, B ] }; + key { [ n, N, ntilde, Ntilde ] }; + key { [ m, M, mu, mu ] }; + key { [ comma, less, ccedilla, Ccedilla ] }; + key { [ period, greater, dead_abovedot, dead_caron ] }; + key { [ slash, question, questiondown, dead_hook ] }; + key { [ backslash, bar, notsign, brokenbar ] }; + + key { [ backslash, bar, backslash, bar ] }; + + include "level3(ralt_switch)" +}; + +// Based on symbols/us_intl keyboard map: +// Dead-keys definition for a very simple US/ASCII layout. +// by Conectiva (http://www.conectiva.com.br) +// modified by Ricardo Y. Igarashi (iga@that.com.br) + +// Added the following deadkeys, to make it truly international: +// +// dead_macron: on AltGr-minus +// dead_breve: on AltGr-parenleft +// dead_abovedot: on AltGr-period +// dead_abovering: on AltGr-0 +// dead_doubleacute: on AltGr-equal (as quotedbl is already used) +// dead_caron: on AltGr-less (AltGr-shift-comma) +// dead_cedilla: on AltGr-comma +// dead_ogonek: on AltGr-semicolon +// dead_belowdot: on AltGr-underscore (AltGr-shift-minus) +// dead_hook: on AltGr-question +// dead_horn: on AltGr-plus (AltGr-shift-equal) +// dead_diaeresis: on AltGr-colon (Alt-shift-semicolon) +// +// those were already there: +// dead_grave +// dead_acute +// dead_circumflex +// dead_tilde +// dead_diaeresis + +partial alphanumeric_keys +xkb_symbols "alt-intl" { + + include "us" + name[Group1]= "English (US, alt. intl.)"; + + key { [ dead_grave, dead_tilde, grave, asciitilde ] }; + key { [ 5, percent, EuroSign ] }; + key { [ 6, dead_circumflex, asciicircum, asciicircum ] }; + key { [ 9, parenleft, leftsinglequotemark, dead_breve ] }; + key { [ 0, parenright, rightsinglequotemark, dead_abovering ] }; + key { [ minus, underscore, dead_macron, dead_belowdot ] }; + key { [ equal, plus, dead_doubleacute, dead_horn ] }; + + key { [ e, E, EuroSign, cent ] }; + + key { [ semicolon, colon, dead_ogonek, dead_diaeresis ] }; + key { [ dead_acute, dead_diaeresis, apostrophe, quotedbl ] }; + + key { [ comma, less, dead_cedilla, dead_caron ] }; + key { [ period, greater, dead_abovedot, dead_circumflex ] }; + key { [ slash, question, dead_hook, dead_hook ] }; + + key { [ backslash, bar, backslash, bar ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "dvorak" { + + name[Group1]= "English (Dvorak)"; + + key { [ grave, asciitilde, dead_grave, dead_tilde ] }; + + key { [ 1, exclam ] }; + key { [ 2, at ] }; + key { [ 3, numbersign ] }; + key { [ 4, dollar ] }; + key { [ 5, percent ] }; + key { [ 6, asciicircum, dead_circumflex, dead_circumflex ] }; + key { [ 7, ampersand ] }; + key { [ 8, asterisk ] }; + key { [ 9, parenleft, dead_grave, dead_breve ] }; + key { [ 0, parenright ] }; + key { [ bracketleft, braceleft ] }; + key { [ bracketright, braceright, dead_tilde] }; + + key { [ apostrophe, quotedbl, dead_acute, dead_diaeresis ] }; + key { [ comma, less, dead_cedilla, dead_caron ] }; + key { [ period, greater, dead_abovedot, periodcentered ] }; + key { [ p, P ] }; + key { [ y, Y ] }; + key { [ f, F ] }; + key { [ g, G ] }; + key { [ c, C ] }; + key { [ r, R ] }; + key { [ l, L ] }; + key { [ slash, question ] }; + key { [ equal, plus ] }; + + key { [ a, A ] }; + key { [ o, O ] }; + key { [ e, E ] }; + key { [ u, U ] }; + key { [ i, I ] }; + key { [ d, D ] }; + key { [ h, H ] }; + key { [ t, T ] }; + key { [ n, N ] }; + key { [ s, S ] }; + key { [ minus, underscore ] }; + + key { [ semicolon, colon, dead_ogonek, dead_doubleacute ] }; + key { [ q, Q ] }; + key { [ j, J ] }; + key { [ k, K ] }; + key { [ x, X ] }; + key { [ b, B ] }; + key { [ m, M ] }; + key { [ w, W ] }; + key { [ v, V ] }; + key { [ z, Z ] }; + + key { [ backslash, bar ] }; +}; + +// Dvorak intl., with dead keys +// Olivier Mehani (shtrom-xorg@ssji.net) +// Reproduce the per-key mapping of us(intl) for the dvorak layout +// aka "I just swapped my keys over" +partial alphanumeric_keys +xkb_symbols "dvorak-intl" { + + include "us(dvorak)" + name[Group1]= "English (Dvorak, intl., with dead keys)"; + + key { [dead_grave, dead_tilde, grave, asciitilde ] }; + + key { [ 1, exclam, exclamdown, onesuperior ] }; + key { [ 2, at, twosuperior, dead_doubleacute ] }; + key { [ 3, numbersign, threesuperior, dead_macron ] }; + key { [ 4, dollar, currency, sterling ] }; + key { [ 5, percent, EuroSign, dead_cedilla ] }; + key { [ 6, dead_circumflex, onequarter, asciicircum ] }; + key { [ 7, ampersand, onehalf, dead_horn ] }; + key { [ 8, asterisk, threequarters, dead_ogonek ] }; + key { [ 9, parenleft, leftsinglequotemark, dead_breve ] }; + key { [ 0, parenright, rightsinglequotemark, dead_abovering ] }; + key { [ bracketleft, braceleft, guillemotleft, leftdoublequotemark ] }; + key { [bracketright, braceright, guillemotright, rightdoublequotemark ] }; + + key { [dead_acute, dead_diaeresis, apostrophe, quotedbl ] }; + key { [ comma, less, ccedilla, Ccedilla ] }; + key { [ period, greater, dead_abovedot, dead_caron ] }; + key { [ p, P, odiaeresis, Odiaeresis ] }; + key { [ y, Y, udiaeresis, Udiaeresis ] }; + // key { [ f, F ] }; + // key { [ g, G ] }; + key { [ c, C, copyright, cent ] }; + key { [ r, R, registered, registered ] }; + key { [ l, L, oslash, Ooblique ] }; + key { [ slash, question, questiondown, dead_hook ] }; + // key { [ equal, plus, multiply, division ] }; + + key { [ a, A, aacute, Aacute ] }; + key { [ o, O, oacute, Oacute ] }; + key { [ e, E, eacute, Eacute ] }; + key { [ u, U, uacute, Uacute ] }; + key { [ i, I, iacute, Iacute ] }; + key { [ d, D, eth, ETH ] }; + // key { [ h, H ] }; + key { [ t, T, thorn, THORN ] }; + key { [ n, N, ntilde, Ntilde ] }; + key { [ s, S, ssharp, section ] }; + // key { [ minus, underscore, yen, dead_belowdot ] }; + + key { [ semicolon, colon, paragraph, degree ] }; + key { [ q, Q, adiaeresis, Adiaeresis ] }; + // key { [ j, J ] }; + key { [ k, K, oe, OE ] }; + // key { [ x, X ] }; + // key { [ b, B ] }; + key { [ m, M, mu, mu ] }; + key { [ w, W, aring, Aring ] }; + // key { [ v, V ] }; + key { [ z, Z, ae, AE ] }; + + key { [ backslash, bar, notsign, brokenbar ] }; + + include "level3(ralt_switch)" +}; + +// Dvorak international without dead keys +// Stephane Magnenat (stephane at magnenat dot net, http://stephane.magnenat.net) +// Based on information from http://www.poupinou.org/dvorak/index.html +// +// ` 1 2 3 4 5 6 7 8 9 0 [ ] \ +// € +// +// ' , . p y f g c r l / = +// ä ê ë ü ç +// +// a o e u i d h t n s - +// à ô é û î ß +// +// ; q j k x b m w v z +// â ö è ù ï + +partial alphanumeric_keys +xkb_symbols "dvorak-alt-intl" { + + include "us(dvorak)" + name[Group1]= "English (Dvorak, alt. intl.)"; + + key { [ 4, dollar, EuroSign ] }; + + key { [ comma, less, adiaeresis, dead_caron ] }; + key { [ period, greater, ecircumflex, periodcentered ] }; + key { [ p, P, ediaeresis, dead_cedilla ] }; + key { [ y, Y, udiaeresis ] }; + key { [ c, C, ccedilla, dead_abovedot ] }; + + key { [ a, A, agrave ] }; + key { [ o, O, ocircumflex ] }; + key { [ e, E, eacute ] }; + key { [ u, U, ucircumflex ] }; + key { [ i, I, icircumflex ] }; + key { [ s, S, ssharp, U1E9E ] }; + + key { [ semicolon, colon, acircumflex ] }; + key { [ q, Q, odiaeresis, dead_ogonek ] }; + key { [ j, J, egrave, dead_doubleacute ] }; + key { [ k, K, ugrave ] }; + key { [ x, X, idiaeresis ] }; + + include "level3(ralt_switch)" +}; + +// Left and right handed dvorak layouts +// by sqweek 2006-01-30 +// Based on the corresponding layouts in the console-tools package. +partial alphanumeric_keys +xkb_symbols "dvorak-l" { + + include "us(dvorak)" + name[Group1]= "English (Dvorak, left-handed)"; + + key { [ bracketleft, braceleft ] }; + key { [ bracketright, braceright ] }; + key { [ slash, question ] }; + key { [ p, P ] }; + key { [ f, F ] }; + key { [ m, M ] }; + key { [ l, L ] }; + key { [ j, J ] }; + key { [ 4, dollar ] }; + key { [ 3, numbersign ] }; + key { [ 2, at ] }; + key { [ 1, exclam ] }; + + key { [ semicolon, colon ] }; + key { [ q, Q ] }; + key { [ b, B ] }; + key { [ y, Y ] }; + key { [ u, U ] }; + key { [ r, R ] }; + key { [ s, S ] }; + key { [ o, O ] }; + key { [ period, greater ] }; + key { [ 6, asciicircum ] }; + key { [ 5, percent ] }; + key { [ equal, plus ] }; + + key { [ minus, underscore ] }; + key { [ k, K ] }; + key { [ c, C ] }; + key { [ d, D ] }; + key { [ t, T ] }; + key { [ h, H ] }; + key { [ e, E ] }; + key { [ a, A ] }; + key { [ z, Z ] }; + key { [ 8, asterisk ] }; + key { [ 7, ampersand ] }; + + key { [ apostrophe, quotedbl ] }; + key { [ x, X ] }; + key { [ g, G ] }; + key { [ v, V ] }; + key { [ w, W ] }; + key { [ n, N ] }; + key { [ i, I ] }; + key { [ comma, less ] }; + key { [ 0, parenright ] }; + key { [ 9, parenleft ] }; +}; + +partial alphanumeric_keys +xkb_symbols "dvorak-r" { + + include "us(dvorak)" + name[Group1]= "English (Dvorak, right-handed)"; + + key { [ 1, exclam ] }; + key { [ 2, at ] }; + key { [ 3, numbersign ] }; + key { [ 4, dollar ] }; + key { [ j, J ] }; + key { [ l, L ] }; + key { [ m, M ] }; + key { [ f, F ] }; + key { [ p, P ] }; + key { [ slash, question ] }; + key { [ bracketleft, braceleft ] }; + key { [ bracketright, braceright ] }; + + key { [ 5, percent ] }; + key { [ 6, asciicircum ] }; + key { [ q, Q ] }; + key { [ period, greater ] }; + key { [ o, O ] }; + key { [ r, R ] }; + key { [ s, S ] }; + key { [ u, U ] }; + key { [ y, Y ] }; + key { [ b, B ] }; + key { [ semicolon, colon ] }; + key { [ equal, plus ] }; + + key { [ 7, ampersand ] }; + key { [ 8, asterisk ] }; + key { [ z, Z ] }; + key { [ a, A ] }; + key { [ e, E ] }; + key { [ h, H ] }; + key { [ t, T ] }; + key { [ d, D ] }; + key { [ c, C ] }; + key { [ k, K ] }; + key { [ minus, underscore ] }; + + key { [ 9, parenleft ] }; + key { [ 0, parenright ] }; + key { [ x, X ] }; + key { [ comma, less ] }; + key { [ i, I ] }; + key { [ n, N ] }; + key { [ w, W ] }; + key { [ v, V ] }; + key { [ g, G ] }; + key { [ apostrophe, quotedbl ] }; +}; + +// Classic dvorak layout +// by Piter Punk - 2006-07-06 +// Based on dvorak layout and e-mail from Russel L. Harris rlharris@oplink.net +// on xorg list. +partial alphanumeric_keys +xkb_symbols "dvorak-classic" { + + name[Group1]= "English (classic Dvorak)"; + + key { [ grave, asciitilde, dead_grave, dead_tilde ] }; + + key { [ bracketleft, braceleft ] }; + key { [ 7, ampersand ] }; + key { [ 5, percent ] }; + key { [ 3, numbersign ] }; + key { [ 1, exclam ] }; + key { [ 9, parenleft, dead_grave] }; + key { [ 0, parenright ] }; + key { [ 2, at ] }; + key { [ 4, dollar ] }; + key { [ 6, asciicircum, dead_circumflex, dead_circumflex ] }; + key { [ 8, asterisk ] }; + key { [ bracketright, braceright, dead_tilde] }; + + key { [ slash, question ] }; + key { [ comma, less, dead_cedilla, dead_caron ] }; + key { [ period, greater, dead_abovedot, periodcentered ] }; + key { [ p, P ] }; + key { [ y, Y ] }; + key { [ f, F ] }; + key { [ g, G ] }; + key { [ c, C ] }; + key { [ r, R ] }; + key { [ l, L ] }; + key { [ apostrophe, quotedbl, dead_acute, dead_diaeresis ] }; + key { [ equal, plus ] }; + + key { [ a, A ] }; + key { [ o, O ] }; + key { [ e, E ] }; + key { [ u, U ] }; + key { [ i, I ] }; + key { [ d, D ] }; + key { [ h, H ] }; + key { [ t, T ] }; + key { [ n, N ] }; + key { [ s, S ] }; + key { [ minus, underscore ] }; + + key { [ semicolon, colon, dead_ogonek, dead_doubleacute ] }; + key { [ q, Q ] }; + key { [ j, J ] }; + key { [ k, K ] }; + key { [ x, X ] }; + key { [ b, B ] }; + key { [ m, M ] }; + key { [ w, W ] }; + key { [ v, V ] }; + key { [ z, Z ] }; + key { [ backslash, bar ] }; +}; + +// programmer Dvorak, by Roland Kaufmann +// License: BSD, available at +// Main features: Numbers are in shift position (like French), symbols have been +// placed in locations that give good hand-alternation and finger rolling with +// symbols that usually follows, accented characters are possible for I18N. +// Patch suggestions should be sent upstream. +partial alphanumeric_keys +xkb_symbols "dvp" { + + include "us(dvorak)" + name[Group1] = "English (programmer Dvorak)"; + + // Unmodified Shift AltGr Shift+AltGr + // symbols row, left side + key { [ dollar, asciitilde, dead_tilde ] }; + key { [ ampersand, percent ] }; + key { [ bracketleft, 7, currency ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; + key { [ braceleft, 5, cent ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; + key { [ braceright, 3, yen ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; + key { [ parenleft, 1, EuroSign ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; + key { [ equal, 9, sterling ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; + + // symbols row, right side + key { [ asterisk, 0 ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; + key { [ parenright, 2, onehalf ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; + key { [ plus, 4 ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; + key { [ bracketright, 6 ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; + key { [ exclam, 8, exclamdown, U2E18 ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; // reversed interrobang + key { [ numbersign, grave, dead_grave ] }; + key { [ BackSpace, BackSpace ] }; + + // upper row, left side + key { [ semicolon, colon, dead_diaeresis ] }; + key { [ comma, less, guillemotleft, U201C ] }; + key { [ period, greater, guillemotright, U201D ] }; + key { [ p, P, paragraph, section ] }; + key { [ y, Y, udiaeresis, Udiaeresis ] }; + + // upper row, right side + key { [ c, C, ccedilla, Ccedilla ] }; + key { [ r, R, registered, trademark ] }; + key { [ slash, question, questiondown, U203D ] }; // interrobang + key { [ at, asciicircum, dead_circumflex, dead_caron ] }; + + // home row, left side + key { [ a, A, aring, Aring ] }; + key { [ o, O, oslash, Ooblique ] }; + key { [ e, E, ae, AE ] }; + key { [ u, U, eacute, Eacute ] }; + + // home row, right side + key { [ d, D, eth, ETH ] }; + key { [ h, H, dead_acute ] }; + key { [ t, T, thorn, THORN ] }; + key { [ n, N, ntilde, Ntilde ] }; + key { [ s, S, ssharp, U1E9E ] }; + key { [ minus, underscore, hyphen, endash ], type[Group1] = "FOUR_LEVEL_ALPHABETIC" }; + key { [ backslash, bar ] }; + + // lower row, left side + key { [ apostrophe, quotedbl, dead_acute ] }; + + // do NOT hardcode this switch; use lv3:ralt_switch option instead! + //include "level3(ralt_switch)" +}; + +// Macintosh dvorak keyboard layout +// Based on the Dvorak keyboard layout found in MacOS +partial alphanumeric_keys +xkb_symbols "dvorak-mac" { + name[Group1]= "English (Dvorak, Macintosh)"; + + key { [ grave, asciitilde, dead_grave, grave ] }; + + key { [ 1, exclam, exclamdown, U2044 ] }; + key { [ 2, at, trademark, EuroSign ] }; + key { [ 3, numbersign, sterling, U2039 ] }; + key { [ 4, dollar, cent, U203A ] }; + key { [ 5, percent, infinity, UFB01 ] }; + key { [ 6, asciicircum, section, UFB02 ] }; + key { [ 7, ampersand, paragraph, doubledagger ] }; + key { [ 8, asterisk, enfilledcircbullet, degree ] }; + key { [ 9, parenleft, ordfeminine, periodcentered ] }; + key { [ 0, parenright, masculine, singlelowquotemark ] }; + key { [ bracketleft, braceleft, leftdoublequotemark, rightdoublequotemark ] }; + key { [ bracketright, braceright, leftsinglequotemark, rightsinglequotemark ] }; + + key { [ apostrophe, quotedbl, ae, AE ] }; + key { [ comma, less, lessthanequal, macron ] }; + key { [ period, greater, greaterthanequal, breve ] }; + key { [ p, P, Greek_pi, U220F ] }; + key { [ y, Y, yen, Aacute ] }; + key { [ f, F, function, Idiaeresis ] }; + key { [ g, G, copyright, doubleacute ] }; + key { [ c, C, ccedilla, Ccedilla ] }; + key { [ r, R, registered, permille ] }; + key { [ l, L, notsign, Ograve ] }; + key { [ slash, question, division, questiondown ] }; + key { [ equal, plus, notequal, plusminus ] }; + + key { [ a, A, aring, Aring ] }; + key { [ o, O, oslash, Ooblique ] }; + key { [ e, E, dead_acute, acute ] }; + key { [ u, U, dead_diaeresis, diaeresis ] }; + key { [ i, I, dead_circumflex, asciicircum ] }; + key { [ d, D, partialderivative, Icircumflex ] }; + key { [ h, H, abovedot, Oacute ] }; + key { [ t, T, dagger, caron ] }; + key { [ n, N, dead_tilde, asciitilde ] }; + key { [ s, S, ssharp, Iacute ] }; + key { [ minus, underscore, endash, emdash ] }; + + key { [ section, plusminus ] }; + key { [ semicolon, colon, ellipsis, Uacute ] }; + key { [ q, Q, oe, OE ] }; + key { [ j, J, U2206, Ocircumflex ] }; + key { [ k, K, dead_abovering, UF8FF ] }; + key { [ x, X, U2248, ogonek ] }; + key { [ b, B, integral, idotless ] }; + key { [ m, M, mu, Acircumflex ] }; + key { [ w, W, U2211, doublelowquotemark ] }; + key { [ v, V, squareroot, U25CA ] }; + key { [ z, Z, Greek_OMEGA, cedilla ] }; + + key { [ backslash, bar, guillemotleft, guillemotright ] }; + + include "level3(ralt_switch)" +}; + +// phonetic layout for Russian letters on an US keyboard +// by Ivan Popov 2005-07-17 + +// level3 modifier is a shortcut to the "us" meaning of the keys where +// we place cyrillic letters, handy for accessing the corresponding +// punctuation marks. +// It is important to have access to punctuation marks, and the rest of +// alphabetical keys are added for being consequent so that the users +// can expect the level3 modifier to give what the key label shows. + +partial alphanumeric_keys +xkb_symbols "rus" { + + include "us(basic)" + name[Group1]= "Russian (US, phonetic)"; + +key.type[group1]="FOUR_LEVEL_ALPHABETIC"; + + key { [ Cyrillic_a, Cyrillic_A ] }; + key { [ Cyrillic_be, Cyrillic_BE ] }; + key { [ Cyrillic_ve, Cyrillic_VE ] }; + key { [ Cyrillic_ghe, Cyrillic_GHE ] }; + key { [ Cyrillic_de, Cyrillic_DE ] }; + key { [ Cyrillic_ie, Cyrillic_IE ] }; + key { [ Cyrillic_io, Cyrillic_IO, grave, asciitilde ] }; + key { [ Cyrillic_zhe, Cyrillic_ZHE ] }; + key { [ Cyrillic_ze, Cyrillic_ZE ] }; + key { [ Cyrillic_i, Cyrillic_I ] }; + key { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; + key { [ Cyrillic_ka, Cyrillic_KA ] }; + key { [ Cyrillic_el, Cyrillic_EL ] }; + key { [ Cyrillic_em, Cyrillic_EM ] }; + key { [ Cyrillic_en, Cyrillic_EN ] }; + key { [ Cyrillic_o, Cyrillic_O ] }; + key { [ Cyrillic_pe, Cyrillic_PE ] }; + key { [ Cyrillic_er, Cyrillic_ER ] }; + key { [ Cyrillic_es, Cyrillic_ES ] }; + key { [ Cyrillic_te, Cyrillic_TE ] }; + key { [ Cyrillic_u, Cyrillic_U ] }; + key { [ Cyrillic_ef, Cyrillic_EF ] }; + key { [ Cyrillic_ha, Cyrillic_HA ] }; + key { [ Cyrillic_tse, Cyrillic_TSE ] }; + key { [ Cyrillic_che, Cyrillic_CHE, semicolon, colon ] }; + key { [ Cyrillic_sha, Cyrillic_SHA, bracketleft, braceleft] }; + key { [ Cyrillic_shcha, Cyrillic_SHCHA, bracketright, braceright ] }; + key { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, equal, plus ] }; + key { [ Cyrillic_yeru, Cyrillic_YERU ] }; + key { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; + key { [ Cyrillic_e, Cyrillic_E, backslash, bar ] }; + key { [ Cyrillic_yu, Cyrillic_YU, apostrophe, quotedbl ] }; + key { [ Cyrillic_ya, Cyrillic_YA ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "mac" { + + name[Group1]= "English (Macintosh)"; + + key.type[group1]="FOUR_LEVEL"; + + // Slightly improvised from http://homepage.mac.com/thgewecke/kblayout.jpg + key { [ section, plusminus, section, plusminus ] }; + key { [ grave, asciitilde, dead_grave, dead_horn ] }; + key { [ 1, exclam, exclamdown, U2044 ] }; + key { [ 2, at, trademark, EuroSign ] }; + key { [ 3, numbersign, sterling, U2039 ] }; + key { [ 4, dollar, cent, U203A ] }; + key { [ 5, percent, infinity, UFB01 ] }; + key { [ 6,asciicircum, section, UFB02 ] }; + key { [ 7, ampersand, paragraph, doubledagger ] }; + key { [ 8, asterisk, enfilledcircbullet, degree ] }; + key { [ 9, parenleft, ordfeminine, periodcentered ] }; + key { [ 0, parenright, masculine,singlelowquotemark] }; + key { [ minus, underscore, endash, emdash ] }; + key { [ equal, plus, notequal, plusminus ] }; + + key { [ q, Q, oe, OE ] }; + key { [ w, W, U2211,doublelowquotemark] }; + key { [ e, E, dead_acute, acute ] }; + key { [ r, R, registered, U2030 ] }; + key { [ t, T, dagger, dead_caron ] }; + key { [ y, Y, yen, onequarter ] }; + key { [ u, U, dead_diaeresis, diaeresis ] }; + key { [ i, I, dead_circumflex, U02C6 ] }; + key { [ o, O, oslash, Ooblique ] }; + key { [ p, P, Greek_pi, U220F ] }; + key { [ bracketleft, braceleft, leftdoublequotemark, rightdoublequotemark ] }; + key { [bracketright, braceright, leftsinglequotemark, rightsinglequotemark ] }; + key { [ backslash, bar, guillemotleft, guillemotright ] }; + + key { [ a, A, aring, Aring ] }; + key { [ s, S, ssharp, dead_stroke ] }; + key { [ d, D, partialderivative, eth ] }; + key { [ f, F, function, dead_hook ] }; + key { [ g, G, copyright, dead_doubleacute ] }; + key { [ h, H, dead_abovedot, dead_belowdot ] }; + key { [ j, J, U2206, onehalf ] }; + key { [ k, K,dead_abovering, UF8FF ] }; + key { [ l, L, notsign, THORN ] }; + key { [ semicolon, colon, U2026, thorn ] }; + key { [apostrophe, quotedbl, ae, AE ] }; + + key { [ z, Z, Greek_OMEGA, dead_cedilla ] }; + key { [ x, X, U2248, dead_ogonek ] }; + // unclear whether "approxeq" is 2248 or 2245 + key { [ c, C, ccedilla, Ccedilla ] }; + key { [ v, V, squareroot, U25CA ] }; + key { [ b, B, integral, idotless ] }; + key { [ n, N, dead_tilde, U02DC ] }; + key { [ m, M, mu, threequarters ] }; + key { [ comma, less, lessthanequal, dead_macron ] }; + key { [ period, greater, greaterthanequal, dead_breve ] }; + key { [ slash, question, division, questiondown ] }; + + include "level3(ralt_switch)" +}; + +// Colemak symbols for xkb on X.Org Server 7.x +// 2006-01-01 Shai Coleman, http://colemak.com/ + +partial alphanumeric_keys +xkb_symbols "colemak" { + + name[Group1]= "English (Colemak)"; + + key { [ grave, asciitilde, dead_tilde, asciitilde ] }; + key { [ 1, exclam, exclamdown, onesuperior ] }; + key { [ 2, at, masculine, twosuperior ] }; + key { [ 3, numbersign, ordfeminine, threesuperior ] }; + key { [ 4, dollar, cent, sterling ] }; + key { [ 5, percent, EuroSign, yen ] }; + key { [ 6, asciicircum, hstroke, Hstroke ] }; + key { [ 7, ampersand, eth, ETH ] }; + key { [ 8, asterisk, thorn, THORN ] }; + key { [ 9, parenleft, leftsinglequotemark, leftdoublequotemark ] }; + key { [ 0, parenright, rightsinglequotemark, rightdoublequotemark ] }; + key { [ minus, underscore, endash, emdash ] }; + key { [ equal, plus, multiply, division ] }; + + key { [ q, Q, adiaeresis, Adiaeresis ] }; + key { [ w, W, aring, Aring ] }; + key { [ f, F, atilde, Atilde ] }; + key { [ p, P, oslash, Ooblique ] }; + key { [ g, G, dead_ogonek, asciitilde ] }; + key { [ j, J, dstroke, Dstroke ] }; + key { [ l, L, lstroke, Lstroke ] }; + key { [ u, U, uacute, Uacute ] }; + key { [ y, Y, udiaeresis, Udiaeresis ] }; + key { [ semicolon, colon, odiaeresis, Odiaeresis ] }; + key { [ bracketleft, braceleft, guillemotleft, 0x1002039 ] }; + key { [ bracketright, braceright, guillemotright, 0x100203a ] }; + key { [ backslash, bar, asciitilde, asciitilde ] }; + + key { [ a, A, aacute, Aacute ] }; + key { [ r, R, dead_grave, asciitilde ] }; + key { [ s, S, ssharp, 0x1001e9e ] }; + key { [ t, T, dead_acute, dead_doubleacute ] }; + key { [ d, D, dead_diaeresis, asciitilde ] }; + key { [ h, H, dead_caron, asciitilde ] }; + key { [ n, N, ntilde, Ntilde ] }; + key { [ e, E, eacute, Eacute ] }; + key { [ i, I, iacute, Iacute ] }; + key { [ o, O, oacute, Oacute ] }; + key { [ apostrophe, quotedbl, otilde, Otilde ] }; + + key { [ z, Z, ae, AE ] }; + key { [ x, X, dead_circumflex, asciitilde ] }; + key { [ c, C, ccedilla, Ccedilla ] }; + key { [ v, V, oe, OE ] }; + key { [ b, B, dead_breve, asciitilde ] }; + key { [ k, K, dead_abovering, asciitilde ] }; + key { [ m, M, dead_macron, asciitilde ] }; + key { [ comma, less, dead_cedilla, asciitilde ] }; + key { [ period, greater, dead_abovedot, asciitilde ] }; + key { [ slash, question, questiondown, asciitilde ] }; + + key { [ BackSpace, BackSpace, BackSpace, BackSpace ] }; + key { [ minus, underscore, endash, emdash ] }; + key { [ space, space, space, nobreakspace ] }; + + include "level3(ralt_switch)" +}; + + +// Colemak-DH (ANSI) symbols for xkb on X.Org Server 7.x +// 2014-10-25 by SteveP, https://colemakmods.github.io/mod-dh/ + +xkb_symbols "colemak_dh" { + + name[Group1]= "English (Colemak-DH)"; + + key { [ grave, asciitilde, dead_tilde, asciitilde ] }; + key { [ 1, exclam, exclamdown, onesuperior ] }; + key { [ 2, at, masculine, twosuperior ] }; + key { [ 3, numbersign, ordfeminine, threesuperior ] }; + key { [ 4, dollar, cent, sterling ] }; + key { [ 5, percent, EuroSign, yen ] }; + key { [ 6, asciicircum, hstroke, Hstroke ] }; + key { [ 7, ampersand, eth, ETH ] }; + key { [ 8, asterisk, thorn, THORN ] }; + key { [ 9, parenleft, leftsinglequotemark, leftdoublequotemark ] }; + key { [ 0, parenright, rightsinglequotemark, rightdoublequotemark ] }; + key { [ minus, underscore, endash, emdash ] }; + key { [ equal, plus, multiply, division ] }; + + key { [ q, Q, adiaeresis, Adiaeresis ] }; + key { [ w, W, aring, Aring ] }; + key { [ f, F, atilde, Atilde ] }; + key { [ p, P, oslash, Ooblique ] }; + key { [ b, B, dead_breve, asciitilde ] }; + key { [ j, J, dstroke, Dstroke ] }; + key { [ l, L, lstroke, Lstroke ] }; + key { [ u, U, uacute, Uacute ] }; + key { [ y, Y, udiaeresis, Udiaeresis ] }; + key { [ semicolon, colon, odiaeresis, Odiaeresis ] }; + key { [ bracketleft, braceleft, guillemotleft, 0x1002039 ] }; + key { [ bracketright, braceright, guillemotright, 0x100203a ] }; + key { [ backslash, bar, asciitilde, asciitilde ] }; + + key { [ a, A, aacute, Aacute ] }; + key { [ r, R, dead_grave, asciitilde ] }; + key { [ s, S, ssharp, 0x1001e9e ] }; + key { [ t, T, dead_acute, dead_doubleacute ] }; + key { [ g, G, dead_ogonek, asciitilde ] }; + key { [ m, M, dead_macron, asciitilde ] }; + key { [ n, N, ntilde, Ntilde ] }; + key { [ e, E, eacute, Eacute ] }; + key { [ i, I, iacute, Iacute ] }; + key { [ o, O, oacute, Oacute ] }; + key { [ apostrophe, quotedbl, otilde, Otilde ] }; + + key { [ z, Z, ae, AE ] }; + key { [ x, X, dead_circumflex, asciitilde ] }; + key { [ c, C, ccedilla, Ccedilla ] }; + key { [ d, D, dead_diaeresis, asciitilde ] }; + key { [ v, V, oe, OE ] }; + key { [ z, Z, ae, AE ] }; //Z appears here too because key is not present on ANSI keyboards + key { [ k, K, dead_abovering, asciitilde ] }; + key { [ h, H, dead_caron, asciitilde ] }; + key { [ comma, less, dead_cedilla, asciitilde ] }; + key { [ period, greater, dead_abovedot, asciitilde ] }; + key { [ slash, question, questiondown, asciitilde ] }; + + key { [ space, space, space, nobreakspace ] }; + + include "level3(ralt_switch)" +}; + +// Colemak-DH (ISO) symbols for xkb on X.Org Server 7.x +// https://colemakmods.github.io/mod-dh/ + +xkb_symbols "colemak_dh_iso" { + + include "us(colemak_dh)" + name[Group1]= "English (Colemak-DH ISO)"; + + key { [ backslash, bar, asciitilde, brokenbar] }; + + include "level3(ralt_switch)" +}; + +// I do NOT like dead-keys - the International keyboard as defined by Microsoft +// does not fit my needs. Why use two keystrokes for all simple characters (eg ' +// and generates a single ') just to have an é (eacute) in two strokes +// as well? I type ' more often than é (eacute). +// +// This file works just like a regular keyboard, BUT has all dead-keys +// accessible at level3 (through AltGr). An ë (ediaeresis) is now: AltGr+" +// followed by an e. In other words, this keyboard is not international as long +// as you leave the right Alt key alone. +// +// The original MS International keyboard was intended for Latin1 (iso8859-1). +// With the introduction of iso8859-15, the (important) ligature oe (and OE) +// became available. I added them next to ae. Because I write ediaeresis more +// often than registered, I moved registered to be next to copyright and added +// ediaeresis and idiaeresis. - Adriaan +// +// Note: there is an "altgr-weur" layout (in extras) which is no longer based on +// the Microsoft layout, supports all chars that altgr-intl offers, but is +// optimized for 10 Western European languages. More info: https://altgr-weur.eu + +partial alphanumeric_keys +xkb_symbols "altgr-intl" { + + include "us(intl)" + name[Group1]= "English (intl., with AltGr dead keys)"; + +// five dead keys moved into level3: + + key { [ grave, asciitilde, dead_grave, dead_tilde ] }; + key { [apostrophe,quotedbl, dead_acute, dead_diaeresis ] }; + +// diversions from the MS Intl keyboard: + + key { [ 1, exclam, onesuperior, exclamdown ] }; + key { [ r, R, ediaeresis, Ediaeresis ] }; + key { [ j, J, idiaeresis, Idiaeresis ] }; + key { [ x, X, oe, OE ] }; + key { [ v, V, registered, registered ] }; + +// onequarter etc (not in iso8859-15) moved to get three unshifted deadkeys: + + key { [ 6, asciicircum, dead_circumflex, onequarter ] }; + key { [ 7, ampersand, dead_horn, onehalf ] }; + key { [ 8, asterisk, dead_ogonek, threequarters ] }; + + include "level3(ralt_switch)" +}; + +// This (altgr-weur) layout is based on combined letter frequencies +// for English, German, Dutch, French, Spanish, Portuguese, Italian, +// Danish, Norwegian, Swedish and Finnish: all accented characters for +// those languages are available through AltGr- combinations. Further +// explanation can be found at: https://www.altgr-weur.eu/ +// - Adriaan and Enno + +// Version info (for altgr-weur ONLY): +// $Id: altgr-weur,v 2.0 2021/04/12 11:27:12 adriaan Exp $ + +partial alphanumeric_keys +xkb_symbols "altgr-weur" { + + name[Group1]= "English (Western European AltGr dead keys)"; + + key { [ grave, asciitilde, dead_grave, dead_tilde ] }; + key { [ 1, exclam, exclamdown, dead_abovedot ] }; + key { [ 2, at, twosuperior, dead_doubleacute ] }; + key { [ 3, numbersign, threesuperior, dead_macron ] }; + key { [ 4, dollar, cent, yen ] }; + key { [ 5, percent, EuroSign, sterling ] }; + key { [ 6,asciicircum, dead_circumflex, dead_caron ] }; + key { [ 7, ampersand, doublelowquotemark, singlelowquotemark ] }; + key { [ 8, asterisk, ssharp, dead_greek ] }; + key { [ 9, parenleft, leftdoublequotemark, leftsinglequotemark ] }; + key { [ 0, parenright, rightdoublequotemark, rightsinglequotemark ] }; + key { [ minus, underscore, endash, emdash ] }; + key { [ equal, plus, degree, dead_abovering ] }; + + key { [ q, Q, aring, Aring ] }; + key { [ w, W, ae, AE ] }; + key { [ e, E, ediaeresis, Ediaeresis ] }; + key { [ r, R, egrave, Egrave ] }; + key { [ t, T, oslash, Oslash ] }; + key { [ y, Y, ugrave, Ugrave ] }; + key { [ u, U, udiaeresis, Udiaeresis ] }; + key { [ i, I, idiaeresis, Idiaeresis ] }; + key { [ o, O, odiaeresis, Odiaeresis ] }; + key { [ p, P, ograve, Ograve ] }; + // U203[9A]: single right/left-pointing angle quotation marks + key { [ bracketleft, braceleft, guillemotleft, U2039 ] }; + key { [bracketright,braceright, guillemotright, U203A ] }; + + key { [ a, A, adiaeresis, Adiaeresis ] }; + key { [ s, S, agrave, Agrave ] }; + key { [ d, D, eacute, Eacute ] }; + key { [ f, F, ecircumflex, Ecircumflex ] }; + key { [ g, G, icircumflex, Icircumflex ] }; + key { [ h, H, ucircumflex, Ucircumflex ] }; + key { [ j, J, uacute, Uacute ] }; + key { [ k, K, iacute, Iacute ] }; + key { [ l, L, oacute, Oacute ] }; + key { [ semicolon, colon, ocircumflex, Ocircumflex ] }; + key { [apostrophe, quotedbl, dead_acute, dead_diaeresis ] }; + + key { [ z, Z, aacute, Aacute ] }; + key { [ x, X, acircumflex, Acircumflex ] }; + key { [ c, C, ccedilla, Ccedilla ] }; + key { [ v, V, atilde, Atilde ] }; + key { [ b, B, otilde, Otilde ] }; + key { [ n, N, ntilde, Ntilde ] }; + key { [ m, M, igrave, Igrave ] }; + key { [ comma, less, dead_cedilla, dead_ogonek ] }; + key { [ period, greater, oe, OE ] }; + key { [ slash, question, questiondown, dead_stroke ] }; + // ij ligature IJ ligature + key { [ backslash, bar, U0133, U0132 ] }; + + include "level3(ralt_switch)" +}; + +// Intel ClassmatePC Keyboard Layout +// by Piter PUNK +// +// The keyboard layouts below maps the us(basic), us(intl) and us(alt-intl) +// to ClassmatePC keyboard. All layouts uses RCTL as level3(switch) since +// the keyboard does not have AltGr key. The EuroSign is engraved at 5 key. + +// classmate - us(basic) +partial alphanumeric_keys +xkb_symbols "classmate" { + // #HW-SPECIFIC + include "us(basic)" + name[Group1]= "English (US)"; + + key { [ backslash, bar, backslash, bar ] }; + + include "eurosign(5)" + include "level3(switch)" +}; + +// classmate-intl - us(intl) +// RCTL is generated by Fn+Alt, because of that, when trying to access +// the level3 symbols at 7,8,9,0, u,i,o,p, j,k,l,;, and m,.,/, we get +// the keypad keycodes. The keypad is changed to make Fn+Alt+ +// generate the same symbol as the original key. +partial alphanumeric_keys +xkb_symbols "classmate-intl" { + // #HW-SPECIFIC + include "us(intl)" + name[Group1]= "English (US)"; + key.type[Group1]="FOUR_LEVEL"; + + key { [ backslash, bar, backslash, bar ] }; + + key { [ KP_Home, KP_7, onehalf, dead_horn ] }; + key { [ KP_Up, KP_8, threequarters, dead_ogonek ] }; + key { [ KP_Prior, KP_9, leftsinglequotemark, dead_breve ] }; + key { [ KP_Multiply, KP_Multiply, rightsinglequotemark, dead_abovering ] }; + + key { [ KP_Left, KP_4, uacute, Uacute ] }; + key { [ KP_Begin, KP_5, iacute, Iacute ] }; + key { [ KP_Right, KP_6, oacute, Oacute ] }; + key { [ KP_Subtract, KP_Subtract, odiaeresis, Odiaeresis ] }; + + key { [ KP_Down, KP_2, oe, OE ] }; + key { [ KP_Next, KP_3, oslash, Ooblique ] }; + key { [ KP_Add, KP_Add, paragraph, degree ] }; + + key { [ KP_Insert, KP_0, mu, mu ] }; + key { [ KP_Delete, KP_Decimal, dead_abovedot, dead_caron ] }; + key { [ KP_Divide, KP_Divide, questiondown, dead_hook ] }; + + include "level3(switch)" +}; + +// classmate-alt-intl - us(alt-intl) +// RCTL is generated by Fn+Alt, because of that, when trying to access +// the level3 symbols at 7,8,9,0, u,i,o,p, j,k,l,;, and m,.,/, we get +// the keypad keycodes. The keypad is changed to make Fn+Alt+ +// generate the same symbol as the original key. +partial alphanumeric_keys +xkb_symbols "classmate-alt-intl" { + // #HW-SPECIFIC + include "us(alt-intl)" + name[Group1]= "English (US)"; + key.type[Group1]="FOUR_LEVEL"; + + key { [ backslash, bar, backslash, bar ] }; + + key { [ KP_Subtract, KP_Subtract ] }; + + key { [ KP_Prior, KP_9, leftsinglequotemark, dead_breve ] }; + key { [ KP_Multiply, KP_Multiply, rightsinglequotemark, dead_abovering ] }; + + key { [ KP_Add, KP_Add, dead_ogonek, dead_diaeresis ] }; + + key { [ KP_Delete, KP_Decimal, dead_abovedot, dead_circumflex] }; + key { [ KP_Divide, KP_Divide, dead_hook, dead_hook ] }; + + include "level3(switch)" +}; + +// classmate-altgr-intl - us(altgr-intl) +// RCTL is generated by Fn+Alt, because of that, when trying to access +// the level3 symbols at 7,8,9,0, u,i,o,p, j,k,l,;, and m,.,/, we get +// the keypad keycodes. The keypad is changed to make Fn+Alt+ +// generate the same symbol as the original key. +partial alphanumeric_keys +xkb_symbols "classmate-altgr-intl" { + // #HW-SPECIFIC + include "us(altgr-intl)" + name[Group1]= "English (US)"; + key.type[Group1]="FOUR_LEVEL"; + + key { [ backslash, bar, backslash, bar ] }; + + key { [ KP_Home, KP_7, dead_horn, dead_horn ] }; + key { [ KP_Up, KP_8, dead_ogonek, dead_ogonek ] }; + key { [ KP_Prior, KP_9, leftsinglequotemark, dead_breve ] }; + key { [ KP_Multiply, KP_Multiply, rightsinglequotemark, dead_abovering ] }; + + key { [ KP_Left, KP_4, uacute, Uacute ] }; + key { [ KP_Begin, KP_5, iacute, Iacute ] }; + key { [ KP_Right, KP_6, oacute, Oacute ] }; + key { [ KP_Subtract, KP_Subtract, odiaeresis, Odiaeresis ] }; + + key { [ KP_End, KP_1, idiaeresis, Idiaeresis ] }; + key { [ KP_Down, KP_2, oe, OE ] }; + key { [ KP_Next, KP_3, oslash, Ooblique ] }; + key { [ KP_Add, KP_Add, paragraph, degree ] }; + + key { [ KP_Insert, KP_0, mu, mu ] }; + key { [ KP_Delete, KP_Decimal, dead_abovedot, dead_caron ] }; + key { [ KP_Divide, KP_Divide, questiondown, dead_hook ] }; + + include "level3(switch)" +}; + +partial alphanumeric_keys +xkb_symbols "olpc" { + + // #HW-SPECIFIC + + include "us(basic)" + name[Group1]= "English (US)"; + + // OLPC international US English keyboard layout. + // It's a little different from the usual international layout. + // See: http://wiki.laptop.org/go/Image:Keyboard_english.png + + key { [ grave, asciitilde, dead_grave, dead_tilde ] }; + key { [ 1, exclam, exclamdown, exclamdown ] }; + key { [ 2, at, notsign, notsign ] }; + key { [ 3, numbersign, 0x1000300, 0x1000300 ] }; // combining grave + key { [ 4, dollar, 0x1000301, 0x1000301 ] }; // combining acute + key { [ 5, percent, 0x1000306, 0x1000306 ] }; // combining breve above + key { [ 6,asciicircum, 0x100030A, 0x100030A ] }; // combining ring above + key { [ 7, ampersand, 0x1000302, 0x1000302 ] }; // combining circumflex above + key { [ 8, asterisk, 0x100030C, 0x100030C ] }; // combining caron above + key { [ 9, parenleft, 0x1000307, 0x1000307 ] }; // combining dot above + key { [ 0, parenright, 0x1000308, 0x1000308 ] }; // combining diaeresis above + key { [ minus, underscore, 0x1000304, 0x1000304 ] }; // combining macron above + key { [ equal, plus, 0x1000303, 0x1000303 ] }; // combining tilde above + + key { [ q, Q, Greek_omega, Greek_OMEGA ] }; + key { [ w, W, oslash, Oslash ] }; + key { [ e, E, oe, OE ] }; + key { [ r, R, 0x1000327, 0x1000327 ] }; // combining cedilla + key { [ t, T, 0x100032E, 0x100032E ] }; // combining breve below + key { [ y, Y, 0x1000325, 0x1000325 ] }; // combining ring below + key { [ u, U, 0x100032D, 0x100032D ] }; // combining circumflex below + key { [ i, I, 0x100032C, 0x100032C ] }; // combining caron below + key { [ o, O, 0x1000323, 0x1000323 ] }; // combining dot below + key { [ p, P, 0x1000324, 0x1000324 ] }; // combining diaeresis below + key { [ bracketleft, braceleft, 0x1000331, 0x1000331 ] }; // combining macron below + key { [bracketright, braceright, 0x1000330, 0x1000330 ] }; // combining tilde below + + key { [ a, A, ae, AE ] }; + key { [ s, S, ssharp, 0x1001E9E ] }; // uppercase S sharp + key { [ d, D, eth, ETH ] }; + key { [ f, F, thorn, THORN ] }; + key { [ h, H, sterling, sterling ] }; + key { [ j, J, EuroSign, EuroSign ] }; + key { [ semicolon, colon, masculine, ordfeminine ] }; + key { [ apostrophe, quotedbl, currency, currency ] }; + key { [ backslash, bar, section, section ] }; + + key { [ c, C, ccedilla, Ccedilla ] }; + key { [ n, N, ntilde, Ntilde ] }; + key { [ m, M, mu, mu ] }; + key { [ comma, less, guillemotleft, guillemotleft ] }; + key { [ period, greater, guillemotright, guillemotright ] }; + key { [ slash, question, questiondown, questiondown ] }; + + key { [ multiply, division, ISO_Next_Group, ISO_Prev_Group ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "olpc2" { + include "us(olpc)" + name[Group1]= "English (the divide/multiply toggle the layout)"; + include "group(olpc)" +}; + +xkb_symbols "olpcm" { + + // #HW-SPECIFIC + + include "us(basic)" + name[Group1]= "English (US)"; + + // Mechanical (non-membrane) OLPC int'l US English keyboard layout. + // See: http://wiki.laptop.org/go/OLPC_English_Non-membrane_Keyboard + + key { [ grave, asciitilde, dead_grave, dead_tilde ] }; + key { [ 1, exclam, exclamdown, exclamdown ] }; + key { [ 2, at, notsign, notsign ] }; + key { [ 3, numbersign, 0x1000300, 0x1000300 ] }; // combining grave + key { [ 4, dollar, 0x1000301, 0x1000301 ] }; // combining acute + key { [ 5, percent, 0x1000306, 0x1000306 ] }; // combining breve above + key { [ 6,asciicircum, 0x100030A, 0x100030A ] }; // combining ring above + key { [ 7, ampersand, 0x1000302, 0x1000302 ] }; // combining circumflex above + key { [ 8, asterisk, 0x100030C, 0x100030C ] }; // combining caron above + key { [ 9, parenleft, 0x1000307, 0x1000307 ] }; // combining dot above + key { [ 0, parenright, 0x1000308, 0x1000308 ] }; // combining diaeresis above + key { [ minus, underscore, 0x1000304, 0x1000304 ] }; // combining macron above + + key { [ q, Q, Greek_omega, Greek_OMEGA ] }; + key { [ w, W, oslash, Oslash ] }; + key { [ e, E, oe, OE ] }; + key { [ r, R, 0x1000327, 0x1000327 ] }; // combining cedilla + key { [ t, T, 0x100032E, 0x100032E ] }; // combining breve below + key { [ y, Y, 0x1000325, 0x1000325 ] }; // combining ring below + key { [ u, U, 0x100032D, 0x100032D ] }; // combining circumflex below + key { [ i, I, 0x100032C, 0x100032C ] }; // combining caron below + key { [ o, O, 0x1000323, 0x1000323 ] }; // combining dot below + key { [ p, P, 0x1000324, 0x1000324 ] }; // combining diaeresis below + key { [ bracketleft, braceleft, 0x1000331, 0x1000331 ] }; // combining macron below + key { [bracketright, braceright, 0x1000330, 0x1000330 ] }; // combining tilde below + + key { [ a, A, ae, AE ] }; + key { [ s, S, ssharp, 0x1001E9E ] }; // uppercase S sharp + key { [ d, D, eth, ETH ] }; + key { [ f, F, thorn, THORN ] }; + key { [ h, H, sterling, sterling ] }; + key { [ j, J, EuroSign, EuroSign ] }; + key { [ semicolon, colon, masculine, ordfeminine ] }; + // no AC11 or AC12 on olpcm + + key { [ c, C, ccedilla, Ccedilla ] }; + key { [ n, N, ntilde, Ntilde ] }; + key { [ m, M, mu, mu ] }; + key { [ comma, less, guillemotleft, guillemotleft ] }; + key { [ period, greater, guillemotright, guillemotright ] }; + key { [ slash, question, questiondown, questiondown ] }; + + key { [ backslash, bar, section, section ] }; + key { [ equal, plus, 0x1000303, 0x1000303 ] }; + key { [ apostrophe, quotedbl, currency, currency ] }; + + include "level3(ralt_switch)" +}; + +// Based on Cherokee Nation Official Layout +// http://www.cherokee.org/extras/downloads/font/Keyboard.htm + +partial alphanumeric_keys modifier_keys +xkb_symbols "chr" { + + name[Group1]= "Cherokee"; + key.type[group1]="ALPHABETIC"; + + key { [ grave, U13CA ] }; + key { [ 1, U13B1 ] }; + key { [ 2, U13C7 ] }; + key { [ 3, U13E7 ] }; + key { [ U13D9, U13B0 ] }; + key { [ U13E6, U13B9 ] }; + key { [ U13DC, U13DD ] }; + key { [ U13CB, U13E1 ] }; + key { [ U13D6, U13BA ] }; + key { [ U13D2, parenleft ] }; + key { [ U13C4, parenright ] }; + key { [ U13BF, U13BC ] }; + key { [ U13F3, U13BD ] }; + + key { [ U13AA, U13C6 ] }; + key { [ U13B3, U13EB ] }; + key { [ U13A1, U13E3 ] }; + key { [ U13DB, U13CF ] }; + key { [ U13D4, U13D8 ] }; + key { [ U13EF, U13F2 ] }; + key { [ U13A4, U13AD ] }; + key { [ U13A2, U13F1 ] }; + key { [ U13A3, U13EC ] }; + key { [ U13C1, U13EA ] }; + key { [ U13D5, U13D1 ] }; + key { [ U13B6, U13E4 ] }; + key { [ U13E9, U13EE ] }; + + key { [ U13A0, U13CC ] }; + key { [ U13CD, U13CE ] }; + key { [ U13D7, U13D0 ] }; + key { [ U13A9, U13C8 ] }; + key { [ U13A6, U13E5 ] }; + key { [ U13AF, U13B2 ] }; + key { [ U13DA, U13AB ] }; + key { [ U13B8, U13A7 ] }; + key { [ U13B5, U13AE ] }; + key { [ U13E8, U13E0 ] }; + key { [ apostrophe, quotedbl ] }; + + key { [ U13AC, U13C3 ] }; + key { [ U13F4, U13ED ] }; + key { [ U13D3, U13DF ] }; + key { [ U13A5, U13DE ] }; + key { [ U13A8, U13F0 ] }; + key { [ U13BE, U13BB ] }; + key { [ U13C5, U13B7 ] }; + key { [ comma, U13E2 ] }; + key { [ period, U13B4 ] }; + key { [ U13C2, U13C9 ] }; +}; + +// Add Hawaiian `okina and kahako to US layout +// Author: Greg Meyer , 2020 +// this mapping follows the one for Windows here: http://www.olelo.hawaii.edu/enehana/winkbd.php +// `okina replaces apostrophe (apostrophe moves to level 3) +// vowels with kahako (macron) are level 3 symbols +partial alphanumeric_keys +xkb_symbols "haw" { + + include "us(basic)" + name[Group1] = "Hawaiian"; + + // `okina replaces single apostrophe + // alt gives the literal apostrophe + key {[ U02BB, quotedbl, apostrophe ] }; + + // kahako + key {[ a, A, amacron, Amacron ]}; + key {[ e, E, emacron, Emacron ]}; + key {[ u, U, umacron, Umacron ]}; + key {[ i, I, imacron, Imacron ]}; + key {[ o, O, omacron, Omacron ]}; + + include "level3(ralt_switch)" +}; + +// Serbian charecters added as third level symbols to US keyboard layout. + +partial alphanumeric_keys +xkb_symbols "hbs" { + + include "us" + name[Group1]= "Serbo-Croatian (US)"; + + key { [ grave, asciitilde ] }; + key { [ 6, dead_caron, asciicircum, asciicircum ] }; + key { [ 8, asterisk, multiply, division ] }; + key { [ minus, underscore, endash, emdash ] }; + key { [ l, L, U1C9, U1C8 ] }; + key { [ n, N, U1CC, U1CB ] }; + key { [ z, Z, U1C6, U1C5 ] }; + key { [ e, E, EuroSign, cent ] }; + key { [ d, D, dstroke, Dstroke ] }; + key { [ dead_acute, quotedbl, apostrophe, apostrophe ] }; + key { [ space, space, nobreakspace, nobreakspace ] }; + key { [ comma, less, U3003, guillemotright ] }; + key { [ period, greater, ellipsis, guillemotleft ] }; + + include "level3(ralt_switch)" +}; + +// Workman Keyboard Layout symbols for xkb on X.Org Server 7.x +// 09-06-2010 OJ Bucao. http://www.workmanlayout.com + +partial alphanumeric_keys +xkb_symbols "workman" { + + include "us(basic)" + name[Group1]= "English (Workman)"; + + key { [ q, Q ] }; + key { [ d, D ] }; + key { [ r, R ] }; + key { [ w, W ] }; + key { [ b, B ] }; + key { [ j, J ] }; + key { [ f, F ] }; + key { [ u, U ] }; + key { [ p, P ] }; + key { [ semicolon, colon ] }; + + key { [ a, A ] }; + key { [ s, S ] }; + key { [ h, H ] }; + key { [ t, T ] }; + key { [ g, G ] }; + key { [ y, Y ] }; + key { [ n, N ] }; + key { [ e, E ] }; + key { [ o, O ] }; + key { [ i, I ] }; + + key { [ z, Z ] }; + key { [ x, X ] }; + key { [ m, M ] }; + key { [ c, C ] }; + key { [ v, V ] }; + key { [ k, K ] }; + key { [ l, L ] }; + + key { [ BackSpace, Escape, BackSpace, BackSpace ] }; + + include "level3(ralt_switch)" +}; + +partial alphanumeric_keys +xkb_symbols "workman-intl" { + + include "us(intl)" + name[Group1]= "English (Workman, intl., with dead keys)"; + + key { [ q, Q, adiaeresis, Adiaeresis ] }; + key { [ d, D, eth, ETH ] }; + key { [ r, R, registered, registered ] }; + key { [ w, W, aring, Aring ] }; + key { [ b, B, b, B ] }; + key { [ j, J, j, J ] }; + key { [ f, F, f, F ] }; + key { [ u, U, uacute, Uacute ] }; + key { [ p, P, odiaeresis, Odiaeresis ] }; + key { [ semicolon, colon, paragraph, degree ] }; + + key { [ a, A, aacute, Aacute ] }; + key { [ s, S, ssharp, section ] }; + key { [ h, H, h, H ] }; + key { [ t, T, thorn, THORN ] }; + key { [ g, G, g, G ] }; + key { [ y, Y, udiaeresis, Udiaeresis ] }; + key { [ n, N, ntilde, Ntilde ] }; + key { [ e, E, eacute, Eacute ] }; + key { [ o, O, oacute, Oacute ] }; + key { [ i, I, iacute, Iacute ] }; + + key { [ z, Z, ae, AE ] }; + key { [ x, X, x, X ] }; + key { [ m, M, mu, mu ] }; + key { [ c, C, copyright, cent ] }; + key { [ v, V, v, V ] }; + key { [ k, K, oe, OE ] }; + key { [ l, L, oslash, Ooblique ] }; + + key { [ BackSpace, Escape, BackSpace, BackSpace ] }; + + include "level3(ralt_switch)" +}; + +// Norman keyboard layout symbols for xkb on X.Org Server 7.x +// Written 11/23/2012, revised 3/7/2013 by David Norman http://normanlayout.info +// To the extent possible under law, the author(s) have dedicated all +// copyright and related and neighboring rights to this software to the +// public domain worldwide. This software is distributed without any warranty. + +partial alphanumeric_keys +xkb_symbols "norman" { + + include "us(basic)" + name[Group1]= "English (Norman)"; + + key { [ q, Q ] }; + key { [ w, W ] }; + key { [ d, D ] }; + key { [ f, F ] }; + key { [ k, K ] }; + key { [ j, J ] }; + key { [ u, U ] }; + key { [ r, R ] }; + key { [ l, L ] }; + key { [ semicolon, colon ] }; + + key { [ a, A ] }; + key { [ s, S ] }; + key { [ e, E ] }; + key { [ t, T ] }; + key { [ g, G ] }; + key { [ y, Y ] }; + key { [ n, N ] }; + key { [ i, I ] }; + key { [ o, O ] }; + key { [ h, H ] }; + + key { [ z, Z ] }; + key { [ x, X ] }; + key { [ c, C ] }; + key { [ v, V ] }; + key { [ b, B ] }; + key { [ p, P ] }; + key { [ m, M ] }; + + key { [ BackSpace ] }; + + include "level3(ralt_switch)" +}; + +// Carpalx layout created by Martin Krzywinski +// http://mkweb.bcgsc.ca/carpalx/ + +partial alphanumeric_keys +xkb_symbols "carpalx" { + + name[Group1]= "English (Carpalx)"; + + key { [ grave, asciitilde ] }; + key { [ 1, exclam ] }; + key { [ 2, at ] }; + key { [ 3, numbersign ] }; + key { [ 4, dollar ] }; + key { [ 5, percent ] }; + key { [ 6, asciicircum ] }; + key { [ 7, ampersand ] }; + key { [ 8, asterisk ] }; + key { [ 9, parenleft ] }; + key { [ 0, parenright ] }; + key { [ minus, underscore ] }; + key { [ equal, plus ] }; + + key { [ q, Q ] }; + key { [ g, G ] }; + key { [ m, M ] }; + key { [ l, L ] }; + key { [ w, W ] }; + key { [ y, Y ] }; + key { [ f, F ] }; + key { [ u, U ] }; + key { [ b, B ] }; + key { [ semicolon, colon ] }; + key { [ bracketleft, braceleft ] }; + key { [ bracketright, braceright ] }; + + key { [ d, D ] }; + key { [ s, S ] }; + key { [ t, T ] }; + key { [ n, N ] }; + key { [ r, R ] }; + key { [ i, I ] }; + key { [ a, A ] }; + key { [ e, E ] }; + key { [ o, O ] }; + key { [ h, H ] }; + key { [ apostrophe, quotedbl ] }; + + key { [ z, Z ] }; + key { [ x, X ] }; + key { [ c, C ] }; + key { [ v, V ] }; + key { [ j, J ] }; + key { [ k, K ] }; + key { [ p, P ] }; + key { [ comma, less ] }; + key { [ period, greater ] }; + key { [ slash, question ] }; + + key { [ backslash, bar ] }; +}; + +// Carpalx layout created by Martin Krzywinski +// http://mkweb.bcgsc.ca/carpalx/ +// Merged with us(intl) and modified to move +// accented vowels closer to the plain vowels + +partial alphanumeric_keys +xkb_symbols "carpalx-intl" { + + name[Group1]= "English (Carpalx, intl., with dead keys)"; + + key { [dead_grave, dead_tilde, grave, asciitilde ] }; + key { [ 1, exclam, exclamdown, onesuperior ] }; + key { [ 2, at, twosuperior, dead_doubleacute ] }; + key { [ 3, numbersign, threesuperior, dead_macron ] }; + key { [ 4, dollar, currency, sterling ] }; + key { [ 5, percent, EuroSign, dead_cedilla ] }; + key { [ 6, dead_circumflex, onequarter, asciicircum ] }; + key { [ 7, ampersand, onehalf, dead_horn ] }; + key { [ 8, asterisk, threequarters, dead_ogonek ] }; + key { [ 9, parenleft, leftsinglequotemark, dead_breve ] }; + key { [ 0, parenright, rightsinglequotemark, dead_abovering ] }; + key { [ minus, underscore, yen, dead_belowdot ] }; + key { [ equal, plus, multiply, division ] }; + + key { [ q, Q, degree, paragraph ] }; + key { [ g, G, U011F, U011E ] }; + key { [ m, M, mu, mu ] }; + key { [ l, L, copyright, cent ] }; + key { [ w, W, w, W ] }; + key { [ y, Y, idiaeresis, Idiaeresis ] }; + key { [ f, F, adiaeresis, Adiaeresis ] }; + key { [ u, U, udiaeresis, Udiaeresis ] }; + key { [ b, B, odiaeresis, Odiaeresis ] }; + key { [ semicolon, colon, oslash, Ooblique ] }; + key { [ bracketleft, braceleft, guillemotleft, leftdoublequotemark ] }; + key { [bracketright, braceright, guillemotright, rightdoublequotemark ] }; + + key { [ d, D, eth, ETH ] }; + key { [ s, S, ssharp, section ] }; + key { [ t, T, thorn, THORN ] }; + key { [ n, N, ntilde, Ntilde ] }; + key { [ r, R, registered, registered ] }; + key { [ i, I, iacute, Iacute ] }; + key { [ a, A, aacute, Aacute ] }; + key { [ e, E, eacute, Eacute ] }; + key { [ o, O, oacute, Oacute ] }; + key { [ h, H, uacute, Uacute ] }; + key { [dead_acute, dead_diaeresis, apostrophe, quotedbl ] }; + + key { [ z, Z, z, Z ] }; + key { [ x, X, U015F, U015E ] }; + key { [ c, C, ccedilla, Ccedilla ] }; + key { [ v, V, ae, AE ] }; + key { [ j, J, oe, OE ] }; + key { [ k, K, U0131, U0130 ] }; + key { [ p, P, aring, Aring ] }; + key { [ comma, less, ediaeresis, Ediaeresis ] }; + key { [ period, greater, dead_abovedot, dead_caron ] }; + key { [ slash, question, questiondown, dead_hook ] }; + key { [ backslash, bar, notsign, brokenbar ] }; + + key { [ backslash, bar, backslash, bar ] }; + + include "level3(ralt_switch)" +}; + +// Carpalx layout created by Martin Krzywinski +// http://mkweb.bcgsc.ca/carpalx/ +// Merged with us(intl) and us(altgr-intl) and modified to move +// accented vowels closer to the plain vowels + +partial alphanumeric_keys +xkb_symbols "carpalx-altgr-intl" { + + include "us(carpalx-intl)" + name[Group1]= "English (Carpalx, intl., with AltGr dead keys)"; + + key { [ grave, asciitilde, dead_grave, dead_tilde ] }; + key { [apostrophe,quotedbl, dead_acute, dead_diaeresis ] }; + + key { [ 1, exclam, onesuperior, exclamdown ] }; + + key { [ 6, asciicircum, dead_circumflex, onequarter ] }; + key { [ 7, ampersand, dead_horn, onehalf ] }; + key { [ 8, asterisk, dead_ogonek, threequarters ] }; + + include "level3(ralt_switch)" +}; + +// Carpalx layout created by Martin Krzywinski +// Full optimization variant without fixed QWERTY-like ZXCV keys +// http://mkweb.bcgsc.ca/carpalx/ + +partial alphanumeric_keys +xkb_symbols "carpalx-full" { + + include "us(carpalx)" + name[Group1]= "English (Carpalx, full optimization)"; + + key { [ b, B ] }; + key { [ y, Y ] }; + key { [ v, V ] }; + + key { [ f, F ] }; +}; + +// Carpalx layout created by Martin Krzywinski +// Full optimization variant without fixed QWERTY-like ZXCV keys +// http://mkweb.bcgsc.ca/carpalx/ +// Merged with us(intl) and modified to move +// accented vowels closer to the plain vowels + +partial alphanumeric_keys +xkb_symbols "carpalx-full-intl" { + + include "us(carpalx-intl)" + name[Group1]= "English (Carpalx, full optimization, intl., with dead keys)"; + + key { [ b, B, idiaeresis, Idiaeresis ] }; + key { [ y, Y, adiaeresis, Adiaeresis ] }; + key { [ v, V, odiaeresis, Odiaeresis ] }; + + key { [ f, F, ae, AE ] }; +}; + +// Carpalx layout created by Martin Krzywinski +// Full optimization variant without fixed QWERTY-like ZXCV keys +// http://mkweb.bcgsc.ca/carpalx/ +// Merged with us(intl) and us(altgr-intl) and modified to move +// accented vowels closer to the plain vowels + +partial alphanumeric_keys +xkb_symbols "carpalx-full-altgr-intl" { + + include "us(carpalx-altgr-intl)" + name[Group1]= "English (Carpalx, full optimization, intl., with AltGr dead keys)"; + + key { [ b, B, idiaeresis, Idiaeresis ] }; + key { [ y, Y, adiaeresis, Adiaeresis ] }; + key { [ v, V, odiaeresis, Odiaeresis ] }; + + key { [ f, F, ae, AE ] }; +}; + +// US Symbolic +// Author: Daniele Baisero +// Based on the default keyboard map from 'symbols/us', edited for scientific literature. +// Added simple Greek letters to alphas, and common symbols everywhere else. +// TLDE and BKSL are AltGr-inverse, to facilitate placement of ESC over TLDE on 60% keyboards. +// LGST (Iso Key) contains rarely used floor and ceiling brackets. +partial alphanumeric_keys modifier_keys +xkb_symbols "symbolic" { + + name[Group1]= "English (US, Symbolic)"; + + key { [ grave, asciitilde, backslash, bar ] }; // ` ~ \ | + key { [ 1, exclam, onesuperior, notsign ] }; // 1 ! ¹ ¬ + key { [ 2, at, twosuperior, therefore ] }; // 2 @ ² ∴ + key { [ 3, numbersign, threesuperior, sterling ] }; // 3 # ³ £ + key { [ 4, dollar, foursuperior, EuroSign ] }; // 4 $ ⁴ € + key { [ 5, percent, fivesuperior, U2030 ] }; // 5 % ⁵ ‰ + key { [ 6, asciicircum, sixsuperior, squareroot ] }; // 6 ^ ⁶ √ + key { [ 7, ampersand, sevensuperior, section ] }; // 7 & ⁷ § + key { [ 8, asterisk, eightsuperior, infinity ] }; // 8 * ⁸ ∞ + key { [ 9, parenleft, ninesuperior, periodcentered ] }; // 9 ( ⁹ · + key { [ 0, parenright, zerosuperior, degree ] }; // 0 ) ⁰ ° + key { [ minus, underscore, notequal, plusminus ] }; // - _ ≠ ± + key { [ equal, plus, multiply, division ] }; // = + × ÷ + + key { [ q, Q, U2200, U2203 ] }; // q Q ∀ ∃ + key { [ w, W, elementof, notelementof ] }; // w W ∈ ∉ + key { [ e, E, Greek_epsilon, Greek_EPSILON ] }; // e E ε Ε + key { [ r, R, Greek_rho, Greek_RHO ] }; // p P ρ Ρ + key { [ t, T, Greek_tau, Greek_TAU ] }; // t T τ Τ + key { [ y, Y, Greek_upsilon, Greek_UPSILON ] }; // y Y υ Υ + key { [ u, U, Greek_theta, Greek_THETA ] }; // u U θ Θ + key { [ i, I, Greek_iota, Greek_IOTA ] }; // i I ι Ι + key { [ o, O, Greek_omicron, Greek_OMICRON ] }; // o O ο Ο + key { [ p, P, Greek_pi, Greek_PI ] }; // p P π Π + key { [ bracketleft, braceleft, union, intersection ] }; // [ { ∪ ∩ + key { [ bracketright, braceright, includedin, includes ] }; // ] } ⊂ ⊃ + + key { [ a, A, Greek_alpha, Greek_ALPHA ] }; // a A α Α + key { [ s, S, Greek_sigma, Greek_SIGMA ] }; // s S σ Σ + key { [ d, D, Greek_delta, Greek_DELTA ] }; // d D δ Δ + key { [ f, F, Greek_phi, Greek_PHI ] }; // f F φ Φ + key { [ g, G, Greek_gamma, Greek_GAMMA ] }; // g G γ Γ + key { [ h, H, Greek_eta, Greek_ETA ] }; // h H η Η + key { [ j, J, Greek_xi, Greek_XI ] }; // j J ξ Ξ + key { [ k, K, Greek_kappa, Greek_KAPPA ] }; // k K κ Κ + key { [ l, L, Greek_lamda, Greek_LAMDA ] }; // l L λ Λ + key { [ semicolon, colon, downarrow, uparrow ] }; // ; : ↓ ↑ + key { [ apostrophe, quotedbl, rightarrow, leftarrow ] }; // ' " → ← + + key { [ z, Z, Greek_zeta, Greek_ZETA ] }; // z Z ζ Ζ + key { [ x, X, Greek_chi, Greek_CHI ] }; // x X χ Χ + key { [ c, C, Greek_psi, Greek_PSI ] }; // c C ψ Ψ + key { [ v, V, Greek_omega, Greek_OMEGA ] }; // v V ω Ω + key { [ b, B, Greek_beta, Greek_BETA ] }; // b B β Β + key { [ n, N, Greek_nu, Greek_NU ] }; // n N ν Ν + key { [ m, M, Greek_mu, Greek_MU ] }; // m M μ Μ + key { [ comma, less, lessthanequal, guillemotleft ] }; // , < ≤ « + key { [ period, greater, greaterthanequal, guillemotright ] }; // . > ≥ » + key { [ slash, question, U203D, U2766 ] }; // / ? ‽ ❦ + + key { [ backslash, bar, grave, asciitilde ] }; // \ | ` ~ + key { [ U230A, U230B, U2308, U2309 ] }; // ⌊ ⌋ ⌈ ⌉ + + include "level3(ralt_switch)" +}; + +// EXTRAS: + +// Czech, Slovak and German charecters added as third level symbols to US keyboard layout. +partial alphanumeric_keys +xkb_symbols "cz_sk_de" { + + include "us" + name[Group1]="Czech Slovak and German (US)"; + + key { [grave, asciitilde, uring, Uring ] }; + key { [ 1, exclam, uacute, Uacute ] }; + key { [ 2, at, ecaron, Ecaron ] }; + key { [ 3, numbersign, scaron, Scaron ] }; + key { [ 4, dollar, ccaron, Ccaron ] }; + key { [ 5, percent, rcaron, Rcaron ] }; + key { [ 6, asciicircum, zcaron, Zcaron ] }; + key { [ 7, ampersand, yacute, Yacute ] }; + key { [ 8, asterisk, aacute, Aacute ] }; + key { [ 9, parenleft, iacute, Iacute ] }; + key { [ 0, parenright, eacute, Eacute ] }; + key { [minus, underscore, ssharp, 0x1001E9E ] }; + key { [equal, plus, dead_acute, dead_caron ] }; + + key { [ e, E, EuroSign, Eacute ] }; + + key { [bracketleft, braceleft, udiaeresis, Udiaeresis ] }; + key { [ semicolon, colon, odiaeresis, Odiaeresis ] }; + key { [apostrophe, quotedbl,adiaeresis, Adiaeresis ] }; + + key { [ a, A, aacute, Aacute ] }; + key { [ i, I, iacute, Iacute ] }; + key { [ o, O, oacute, Oacute ] }; + key { [ y, Y, yacute, Yacute ] }; + key { [ u, U, uring, Uring ] }; + + key { [ s, S, scaron, Scaron ] }; + key { [ z, Z, zcaron, Zcaron ] }; + key { [ c, C, ccaron, Ccaron ] }; + key { [ r, R, rcaron, Rcaron ] }; + key { [ t, T, tcaron, Tcaron ] }; + key { [ d, D, dcaron, Dcaron ] }; + key { [ n, N, ncaron, Ncaron ] }; + key { [ l, L, lcaron, Lcaron ] }; + key { [ p, P,ocircumflex, Ocircumflex ] }; + + key { [ space, space, nobreakspace, nobreakspace] }; + + include "level3(ralt_switch)" +}; + +// This is the above Jirka's us(cz_sk_de) layout variant extended with Polish, Spanish, Finnish and Swedish characters. +// This layout variant is primarily targeted to Czech and Slovak polyglots and SW engineers (like the original above one). +partial alphanumeric_keys +xkb_symbols "cz_sk_pl_de_es_fi_sv" { + + include "us" + name[Group1]="Czech, Slovak, Polish, Spanish, Finnish, Swedish and German (US)"; + + key { [grave, asciitilde, uring, Uring ] }; + key { [ 1, exclam, uacute, Uacute ] }; + key { [ 2, at, ecaron, Ecaron ] }; + key { [ 3, numbersign, scaron, Scaron ] }; + key { [ 4, dollar, ccaron, Ccaron ] }; + key { [ 5, percent, rcaron, Rcaron ] }; + key { [ 6, asciicircum, zcaron, Zcaron ] }; + key { [ 7, ampersand, yacute, Yacute ] }; + key { [ 8, asterisk, aacute, Aacute ] }; + key { [ 9, parenleft, iacute, Iacute ] }; + key { [ 0, parenright, eacute, Eacute ] }; + key { [minus, underscore, ssharp, 0x1001E9E ] }; + key { [equal, plus, dead_acute, dead_caron ] }; + + key { [ e, E, EuroSign, Eacute ] }; + + key { [bracketleft, braceleft, udiaeresis, Udiaeresis ] }; + key { [ semicolon, colon, odiaeresis, Odiaeresis ] }; + key { [apostrophe, quotedbl,adiaeresis, Adiaeresis ] }; + + key { [ a, A, aacute, Aacute ] }; + key { [ i, I, iacute, Iacute ] }; + key { [ o, O, oacute, Oacute ] }; + key { [ y, Y, yacute, Yacute ] }; + key { [ u, U, uring, Uring ] }; + + key { [ s, S, scaron, Scaron ] }; + key { [ z, Z, zcaron, Zcaron ] }; + key { [ c, C, ccaron, Ccaron ] }; + key { [ r, R, rcaron, Rcaron ] }; + key { [ t, T, tcaron, Tcaron ] }; + key { [ d, D, dcaron, Dcaron ] }; + key { [ n, N, ncaron, Ncaron ] }; + key { [ l, L, lcaron, Lcaron ] }; + key { [ p, P,ocircumflex, Ocircumflex ] }; + + key { [ space, space, nobreakspace, nobreakspace] }; + + // Polish + key { [ q, Q, aogonek, Aogonek ] }; + key { [ w, W, eogonek, Eogonek ] }; + key { [bracketright, braceright, guillemotleft, guillemotright ] }; + key { [ f, F, sacute, Sacute ] }; + key { [ g, G, copyright, registered ] }; + key { [ h, H, cent, trademark ] }; + key { [ j, J, plusminus, degree ] }; + key { [ k, K, lstroke, Lstroke ] }; + //alias = ; + key { [ backslash, bar, aring, Aring ] }; + //Requires pc105 compatibility + key { [ endash, emdash, zabovedot, Zabovedot ] }; + key { [ x, X, zacute, Zacute ] }; + key { [ v, V, cacute, Cacute ] }; + key { [ b, B, ntilde, Ntilde ] }; + key { [ m, M, nacute, Nacute ] }; + key { [ comma, less,lessthanequal, multiply ] }; + key { [ period, greater, greaterthanequal, division ] }; + key { [ slash, question, exclamdown, questiondown ] }; + + include "level3(ralt_switch)" +}; + +// 03 December 2017 - Added us(scn), please refer to +// Cadèmia Siciliana +partial alphanumeric_keys +xkb_symbols "scn" { + + include "us(intl)" + name[Group1]="Sicilian (US keyboard)"; + + key { [ e, E, U0259, U018F ] }; + key { [ d, D, U1E0D, U1E0C ] }; + key { [ f, F, U0111, U0110 ] }; + key { [ h, H, U1E25, U1E24 ] }; + key { [ x, X, U03C7, U03A7 ] }; + key { [ period, greater, U1D58, dead_caron ] }; + + include "level3(ralt_switch)" +}; + +// XCompose is out! Unicode combining is in! For those of us who live +// on the edge: A keymap using Unicode combining characters instead of +// deadkeys. This variation does not deviate from the lame MS-style +// US-intl layout; but it uses AltGr for combining, like altgr-intl. +// +// This might break your font layout systems (because they suck), +// caveat emptor. Also, most of today's software will count +// individual combining marks for selection, deletion, character +// counting &c., and won't be smart enough to do canonical equivalence +// when searching, &c. +// +// With Unicode combining you use "handwriting order", not +// "typewriting order" as with deadkeys. That is, you first type the +// base character, then the diacritics/accents/modifiers. This has +// the advantage of avoiding hidden states --- each keypress changes +// something on screen. +// +// TODO: as of now, this duplicates all us(intl) functionality with +// combining. With care, perhaps we could add more combining marks +// not present in intl, and support all major languages. +partial alphanumeric_keys +xkb_symbols "intl-unicode" { + + include "us(intl)" + include "level3(ralt_switch)" + + name[Group1]= "English (US, intl., AltGr Unicode combining)"; + + key { [ grave, asciitilde, U0300, U0303 ] }; // grave, tilde + key { [ 2, at, twosuperior, U030B ] }; // double acute + key { [ 3, numbersign, threesuperior, U0304 ] }; // macron + key { [ 6, asciicircum, onequarter, U0302 ] }; // circumflex + key { [ 7, ampersand, onehalf, U031B ] }; // horn + key { [ 8, asterisk, threequarters, U0328 ] }; // ogonek + key { [ 9, parenleft, leftsinglequotemark, U0306 ] }; // breve + key { [ 0, parenright, rightsinglequotemark, U030A ] }; // abovering + + key { [ minus, underscore, yen, U0323 ] }; // belowdot + key { [ apostrophe, quotedbl, U0301, U0308 ] }; // acute, diaeresis + key { [ period, greater, U0307, U030C ] }; // abovedot, caron + key { [ slash, question, questiondown, U0309 ] }; // hook + + // alt-intl compatibility + key { [ comma, less, U0327, U030C ] }; // cedilla, caron + key { [ semicolon, colon, U0328, U0308 ] }; // ogonek, diaeresis + key { [ equal, plus, U030B, U031B ] }; // doubleacute, horn + + // We don't do combining latin letters and combining enclosures, + // because support for those is very rare. +}; + +// XCompose is out! Unicode combining is in! For those of us who live +// on the edge: A keymap using Unicode combining characters instead of +// deadkeys. This variation does break compatibility with us-intl, +// whenever I thought it would be more mnemonic or Unicodeish. +partial alphanumeric_keys +xkb_symbols "alt-intl-unicode" { + + include "us(intl-unicode)" + + name[Group1]= "English (US, intl., AltGr Unicode combining, alt.)"; + + // easier macron; em-dash. + // em-dash is available via compose, but I added here since it's such + // an important typographic character. + key { [ minus, underscore, U0304, U2014 ] }; + + // belowdot, abovedot (caron at coma/less key, per above) + key { [ period, greater, U0323, U0307 ] }; +}; + +partial alphanumeric_keys +xkb_symbols "ats" { + + include "us" + name[Group1]= "Atsina"; + + //Using Dead key to get COMBINING COMMA ABOVE for ejectives on + //q, l, t, s, m, g, k, p, w, y, r + //XCompose key is used for the other accute and grave. + + key { [ e, E, eacute, Eacute ] }; + key { [ u, U, uacute, Uacute ] }; + key { [ i, I, iacute, Iacute ] }; + key { [ o, O, oacute, Oacute ] }; + key { [ bracketleft, braceleft, U03B8 ] }; + key { [ bracketright, braceright, U010D, U010C ] }; + //U+010C (uppercase Č) and U+010D (lowercase č). + + key { [ a, A, aacute, Aacute ] }; + + //Small letter Open use compose to key get acute accent + key { [ c, C, U0254, U0186 ] }; + key { [ comma, less, U0313 ] }; + key { [ slash, question, U0294 ] }; + + include "level3(ralt_switch)" + include "compose(rctrl)" +}; + +partial alphanumeric_keys +xkb_symbols "crd" { + + include "us" + name[Group1]= "Coeur d'Alene Salish"; + + key { [ w, W, U02B7, U02B7 ] }; + key { [ 7, ampersand, U0294 ] }; + key { [ q, Q, U221A ] }; + key { [ v, V, U0259 ] }; + key { [ backslash, bar, U026B ] }; + key { [ e, E, U025B ] }; + key { [ i, I, U026A ] }; + key { [ j, J, U01F0 ] }; + key { [ 6, asciicircum, U0295 ] }; + key { [ s, S, U0161 ] }; + key { [ c, C, U010D ] }; + key { [ o, O, U0254 ] }; + key { [ period, greater, U0323 ] }; + + include "level3(ralt_switch)" + include "compose(rctrl)" +}; + + +partial alphanumeric_keys + xkb_symbols "sun_type6" { + include "sun_vndr/us(sun_type6)" +}; + +// Implementation of the 3l keyboard layout +// See https://github.com/jackrosenthal/threelayout for specification +partial alphanumeric_keys modifier_keys +xkb_symbols "3l" { + name[Group1] = "English (3l)"; + + key.type[Group1] = "ONE_LEVEL"; + key { [ Escape ] }; + key { [ Tab ] }; + key { [ ISO_Level3_Shift ] }; // Sym Modifier + key { [ ISO_Level5_Shift ] }; // Cur/Num Modifier + + // Top row numbers - not part of spec, but given for convenience + key { [ 1 ] }; + key { [ 2 ] }; + key { [ 3 ] }; + key { [ 4 ] }; + key { [ 5 ] }; + key { [ 6 ] }; + key { [ 7 ] }; + key { [ 8 ] }; + key { [ 9 ] }; + key { [ 0 ] }; + + // Main keys + // Order of mods (defined by EIGHT_LEVEL_SEMIALPHABETIC) is: + // [ None, Shift, Sym, Shift+Sym, Num, Shift+Num, Sym+Num, Shift+Sym+Num ] + key.type[Group1] = "EIGHT_LEVEL_SEMIALPHABETIC"; + + // Second row + key { [ q, Q, quotedbl, Greek_omicron, Prior, Prior, U21CD, Greek_OMICRON ] }; + key { [ f, F, underscore, Greek_phi, BackSpace, BackSpace, U21A4, Greek_PHI ] }; + key { [ u, U, bracketleft, Greek_upsilon, Up, Up, U2191, Greek_UPSILON ] }; + key { [ y, Y, bracketright, Greek_psi, Delete, Delete, U21A6, Greek_PSI ] }; + key { [ z, Z, asciicircum, Greek_zeta, Next, Next, U21CF, Greek_ZETA ] }; + key { [ x, X, exclam, Greek_xi, NoSymbol, NoSymbol, U2260, Greek_XI ] }; + key { [ k, K, less, Greek_kappa, 1, A, U2A7D, Greek_KAPPA ] }; + key { [ c, C, greater, Greek_chi, 2, B, U2A7E, Greek_CHI ] }; + key { [ w, W, equal, Greek_omega, 3, C, U2261, Greek_OMEGA ] }; + key { [ b, B, ampersand, Greek_beta, NoSymbol, NoSymbol, U2248, Greek_BETA ] }; + + // Home row + key { [ o, O, slash, Greek_omega, Home, Home, U21D0, Greek_OMEGA ] }; + key { [ h, H, minus, Greek_theta, Left, Left, U2190, Greek_THETA ] }; + key { [ e, E, braceleft, Greek_epsilon, Down, Down, U2193, Greek_EPSILON ] }; + key { [ a, A, braceright, Greek_alpha, Right, Right, U2192, Greek_ALPHA ] }; + key { [ i, I, asterisk, Greek_iota, End, End, U21D2, Greek_IOTA ] }; + key { [ d, D, question, Greek_delta, period, colon, U2286, Greek_DELTA ] }; + key { [ r, R, parenleft, Greek_rho, 4, D, U2227, Greek_RHO ] }; + key { [ t, T, parenright, Greek_tau, 5, E, U2228, Greek_TAU ] }; + key { [ n, N, apostrophe, Greek_eta, 6, F, U2200, Greek_ETA ] }; + key { [ s, S, colon, Greek_sigma, NoSymbol, NoSymbol, U2203, Greek_SIGMA ] }; + + // Bottom row + key { [ comma, comma, numbersign, NoSymbol, slash, NoSymbol, U21AE, NoSymbol ] }; + key { [ m, M, dollar, Greek_mu, asterisk, NoSymbol, U2194, Greek_MU ] }; + key { [ period, period, bar, NoSymbol, minus, NoSymbol, U21CE, NoSymbol ] }; + key { [ j, J, asciitilde, Greek_SIGMA, plus, NoSymbol, U21D4, NoSymbol ] }; + key { [ semicolon, semicolon, grave, NoSymbol, comma, NoSymbol, U2282, NoSymbol ] }; + key { [ g, G, plus, Greek_gamma, 0, NoSymbol, U2229, Greek_GAMMA ] }; + key { [ l, L, percent, Greek_lambda, 7, parenleft, U222A, Greek_LAMBDA ] }; + key { [ p, P, backslash, Greek_pi, 8, parenright, U2208, Greek_PI ] }; + key { [ v, V, at, Greek_nu, 9, NoSymbol, U2209, Greek_NU ] }; + + include "level5(modifier_mapping)" +}; + +// Chromebooks typically have the key which is normally in the caps +// lock position mapped to keycode 133 (LWIN). For 3l, it is critical +// that the key in this positon correspond to tab, so there is a +// variant available for chromebook hardware. +partial modifier_keys +xkb_symbols "3l-cros" { + include "us(3l)" + name[Group1] = "English (3l, Chromebook)"; + key { + type[Group1] = "ONE_LEVEL", + symbols[Group1] = [ Tab ] + }; +}; + +// A 3l variant for emacs users, which maps control to caps lock and (re)maps +// tab back to tab. +partial modifier_keys +xkb_symbols "3l-emacs" { + include "us(3l)" + name[Group1] = "English (3l, emacs)"; + + key { [ Tab ] }; + key { [ Control_L ] }; + + modifier_map Control { }; +}; + +// Drix EU Latin - version 3.1 (2019-10-07) +// Author: Jerome Leclanche +// Latin layout based on classic US qwerty, with azerty-style second-row m key. +// Features: +// - Programmer-centric punctuation keys (All common symbols on right hand except < and > on left) +// - Most common dead accents on altgr-shift number row +// - Unicode arrows on Altgr+shift+WASD +// - Some commonly used special characters available: +// - Most common european special characters +// - Misc currency symbols, copyright/registered/trademark symbols +// - Common math symbols + some common greek letters +// - Compose key replaces Mod5 +// +// This layout is in the Public Domain. +// +// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓ +// │ ~ ~ │ " ´ │ ' ` │ ^ ^ │ ` ¨ │ ´ ° │ 6 ¯ │ 7 ¸ │ 8 ˛ │ 9 ˇ │ | ˝ │ _ ± │ = ≠ ┃Backspace┃ +// │ @ £ │ 1 ¹ │ 2 ² │ 3 ³ │ 4 ⁴ │ 5 ⁵ │ 6 ⁶ │ 7 ⁷ │ 8 ⁸ │ 9 ⁹ │ 0 ⁰ │ - " │ + ' ┃ ⌫ ┃ +// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫ +// ┃Tab ┃ Q Ø │ W ↑ │ E € │ R ₽ │ T τ │ Y ¥ │ U U │ I ’ │ O Ω │ P ₱ │ [ « │ ] » ┃ ⏎ ┃ +// ┃ ↹ ┃ q ø │ w w │ e € │ r ® │ t ™ │ y ¥ │ u u │ i ‘ │ o œ │ p π │ ( { │ ) } ┃ Enter ┃ +// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃ +// ┃Caps ┃ A ← │ S ↓ │ D → │ F Ƒ │ G G │ H H │ J ” │ K „ │ L λ │ M M │ % ‰ │ & × ┃ ┃ +// ┃Lock ⇬ ┃ a æ │ s ß │ d Δ │ f ƒ │ g g │ h h │ j “ │ k ‚ │ l £ │ m µ │ # ~ │ * $ ┃ ┃ +// ┣━━━━━━┳━┹───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┲━┷━━━━━┻━━━━━━┫ +// ┃Shift ┃ > ≥ │ Z ¶ │ X ÷ │ C ¢ │ V V │ B ₿ │ N N │ ? ¿ │ , · │ ; ´ │ \ ¦ ┃Shift ┃ +// ┃ ⇧ ┃ < ≤ │ z § │ x × │ c © │ v ♀ │ b ♂ │ n ⚥ │ ! ¡ │ . … │ : ` │ / | ┃ ⇧ ┃ +// ┣━━━━━━┻┳━━━━┷━━┳━━┷━━━━┱┴─────┴─────┴─────┴─────┴─────┴────┲┷━━━━━╈━━━━━┻┳━━━━━━┳━━━━━━┫ +// ┃Ctrl ┃ Fn ┃Alt ┃ ␣ Space Nobreakspace ⍽ ┃AltGr ┃Multi ┃ Ctxt ┃ Ctrl ┃ +// ┃ ┃ ┃ ┃ ␣ Space Nobreakspace ⍽ ┃ ┃ ┃ Menu ┃ ┃ +// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━┻━━━━━━┻━━━━━━┻━━━━━━┛ + +partial alphanumeric_keys modifier_keys +xkb_symbols "drix" { + + name[Group1] = "English (Drix)"; + + // First row + key {[ at, asciitilde, sterling, dead_tilde ]}; // @ ~ £ ~ + key {[ 1, quotedbl, onesuperior, dead_grave ]}; // 1 " ¹ ` + key {[ 2, apostrophe, twosuperior, dead_acute ]}; // 2 ' ² ´ + key {[ 3, asciicircum, threesuperior, dead_circumflex ]}; // 3 ^ ³ ^ + key {[ 4, grave, foursuperior, dead_diaeresis ]}; // 4 4 ⁴ ¨ + key {[ 5, degree, fivesuperior, dead_abovering ]}; // 5 ° ⁵ ° + key {[ 6, 6, sixsuperior, dead_macron ]}; // 6 6 ⁶ ¯ + key {[ 7, 7, sevensuperior, dead_cedilla ]}; // 7 7 ⁷ ¸ + key {[ 8, 8, eightsuperior, dead_ogonek ]}; // 8 8 ⁸ ˛ + key {[ 9, 9, ninesuperior, dead_caron ]}; // 9 9 ⁹ ˇ + key {[ 0, bar, zerosuperior, dead_doubleacute ]}; // 0 | ⁰ ˝ + key {[ minus, underscore, quotedbl, plusminus ]}; // - _ " ± + key {[ plus, equal, apostrophe, notequal ]}; // + = ' ≠ + + // Second row + key {[ q, Q, oslash, Ooblique ]}; // q Q ø Ø + key {[ w, W, w, uparrow ]}; // w W w ↑ + key {[ e, E, EuroSign, EuroSign ]}; // e E € € + key {[ r, R, registered, 0x10020bd ]}; // r R ® ₽ + key {[ t, T, trademark, Greek_tau ]}; // t T ™ τ + key {[ y, Y, yen, yen ]}; // y Y ¥ ¥ + key {[ u, U, u, U ]}; // u U u U + key {[ i, I, leftsinglequotemark, rightsinglequotemark ]}; // i I ‘ ’ + key {[ o, O, oe, Greek_OMEGA ]}; // o O œ Ω + key {[ p, P, Greek_pi, 0x10020b1 ]}; // p P π ₱ + key {[ parenleft, bracketleft, braceleft, guillemotleft ]}; // ( [ { « + key {[ parenright, bracketright, braceright, guillemotright ]}; // ) ] } » + + // Third row + key {[ a, A, ae, leftarrow ]}; // a A æ ← + key {[ s, S, ssharp, downarrow ]}; // s S ß ↓ + key {[ d, D, Greek_DELTA, rightarrow ]}; // d D Δ → + key {[ f, F, 0x1000192, 0x1000191 ]}; // f F ƒ Ƒ + key {[ g, G, g, G ]}; // g G g G + key {[ h, H, h, H ]}; // h H h H + key {[ j, J, leftdoublequotemark, rightdoublequotemark ]}; // j J “ ” + key {[ k, K, singlelowquotemark, doublelowquotemark ]}; // k K ‚ „ + key {[ l, L, sterling, Greek_lambda ]}; // l L £ λ + key {[ m, M, mu, M ]}; // m M µ M + key {[ numbersign, percent, asciitilde, 0x1002030 ]}; // # % ~ ‰ + + // Fourth row + key {[ less, greater, lessthanequal, greaterthanequal ]}; // < > ≤ ≥ + key {[ z, Z, section, paragraph ]}; // z Z § ¶ + key {[ x, X, multiply, division ]}; // x X × ÷ + key {[ c, C, copyright, cent ]}; // c C © ¢ + key {[ v, V, 0x1002640, V ]}; // v V ♀ V + key {[ b, B, 0x1002642, 0x10020bf ]}; // b B ♂ ₿ + key {[ n, N, 0x10026a5, N ]}; // n N ⚥ N + key {[ exclam, question, exclamdown, questiondown ]}; // ! ? ¡ ¿ + key {[ period, comma, 0x1002026, periodcentered ]}; // . , … · + key {[ colon, semicolon, grave, acute ]}; // : ; ` ´ + key {[ slash, backslash, bar, brokenbar ]}; // / \ | ¦ + + // Next to the enter key + key {[ asterisk, ampersand, dollar, multiply ]}; // * & $ × + + // Rebind right Super (windows key) into a Compose key + key {[ Multi_key ]}; + + // Implement AltGr and AltGr+Shift + // For some reason, include "level3(ralt_switch)" doesn't do the trick. + key { + type[Group1]="TWO_LEVEL", + [ ISO_Level3_Shift, Multi_key ] + }; +}; + +// German and Swedish characters added as third level symbols to the US keyboard layout +// Author: Stephan Lachnit , 2019 +// the german umlauts are placed over the characters without diaeresis, the sharp-s over the s +// the swedish ao is placed over the p, since it's closed to the position on a swedish keyboard +// the euro sign is placed over the e, as it is usual for german and swedish keyboards +partial alphanumeric_keys +xkb_symbols "de_se_fi" { + + include "us(basic)" + include "eurosign(e)" + name[Group1] = "German, Swedish and Finnish (US)"; + + key {[ a, A, adiaeresis, Adiaeresis ]}; + key {[ s, S, ssharp, U1E9E ]}; + key {[ q, Q, at ]}; + key {[ u, U, udiaeresis, Udiaeresis ]}; + key {[ o, O, odiaeresis, Odiaeresis ]}; + key {[ p, P, aring, Aring ]}; + key {[ bracketright, braceright, asciitilde ]}; + + include "level3(ralt_switch)" +}; diff --git a/xkbdata/symbols/uz b/xkbdata/symbols/uz new file mode 100644 index 0000000..92fa8c0 --- /dev/null +++ b/xkbdata/symbols/uz @@ -0,0 +1,95 @@ +// Uzbek standard keyboard +// +// Mashrab Kuvatov +// +// History: +// +// Jun 2, 2003. Mashrab Kuvatov +// +// Created based on the Russian standard keyboard. AEN +// The following symbols of the Russian standard keyboard were replaced: +// minus (key ) with Byelorussian_shortu (U045e), +// equal (key ) with Cyrillic_ka_descender (U049b), +// Cyrillic_ha (key ) with Cyrillic_ghe_bar (U0493), +// Cyrillic_hardsign (key ) with Cyrillic_ha_descender (U04b3). +// The following symbols of the Russian standard keyboard were moved: +// Cyrillic_ze to key (English 's'), +// Cyrillic_sha to key (English 'i'), +// Cyrillic_ha to key (English 'o'), +// Cyrillic_hardsign to key (English 'p'). +// +// Feb 25, 2007. Mashrab Kuvatov +// +// Made cyrillic and latin variants. Default is cyrillic. +// Cyrillic variant is standard compliant. The standard +// was accepted by the official body of Uzbekistan. See +// http://www.uznet.net/index.php?option=com_content&task=view&id=288&Itemid=58 +// +// Latin variant is somewhat experimental, since there is no +// official standard for it. It is a copy of "us" layout, where +// apostrophe is replaced with U02BB. + +default partial alphanumeric_keys +xkb_symbols "cyrillic" { + + name[Group1]= "Uzbek"; + + key { [ 1, exclam ] }; + key { [ 2, quotedbl ] }; + key { [ 3, numerosign ] }; + key { [ 4, semicolon ] }; + key { [ 5, percent ] }; + key { [ 6, colon ] }; + key { [ 7, question ] }; + key { [ 8, asterisk ] }; + key { [ 9, parenleft ] }; + key { [ 0, parenright ] }; + key { [ backslash, bar ] }; + key { [ period, comma ] }; + key { [ slash, bar ] }; + + key.type[group1]="ALPHABETIC"; + + key { [Cyrillic_ghe_bar, Cyrillic_GHE_bar ] }; + key { [Cyrillic_ha_descender, Cyrillic_HA_descender ] }; + key { [ Cyrillic_io, Cyrillic_IO ] }; + key { [ Cyrillic_shorti, Cyrillic_SHORTI ] }; + key { [ Cyrillic_tse, Cyrillic_TSE ] }; + key { [ Cyrillic_u, Cyrillic_U ] }; + key { [ Cyrillic_ka, Cyrillic_KA ] }; + key { [ Cyrillic_ie, Cyrillic_IE ] }; + key { [ Cyrillic_en, Cyrillic_EN ] }; + key { [ Cyrillic_ghe, Cyrillic_GHE ] }; + key { [ Cyrillic_sha, Cyrillic_SHA ] }; + key { [ Byelorussian_shortu, Byelorussian_SHORTU ] }; + key { [ Cyrillic_ze, Cyrillic_ZE ] }; + key { [ Cyrillic_ha, Cyrillic_HA ] }; + key { [Cyrillic_hardsign, Cyrillic_HARDSIGN ] }; + key { [ Cyrillic_ef, Cyrillic_EF ] }; + key { [Cyrillic_ka_descender, Cyrillic_KA_descender ] }; + key { [ Cyrillic_ve, Cyrillic_VE ] }; + key { [ Cyrillic_a, Cyrillic_A ] }; + key { [ Cyrillic_pe, Cyrillic_PE ] }; + key { [ Cyrillic_er, Cyrillic_ER ] }; + key { [ Cyrillic_o, Cyrillic_O ] }; + key { [ Cyrillic_el, Cyrillic_EL ] }; + key { [ Cyrillic_de, Cyrillic_DE ] }; + key { [ Cyrillic_zhe, Cyrillic_ZHE ] }; + key { [ Cyrillic_e, Cyrillic_E ] }; + key { [ Cyrillic_ya, Cyrillic_YA ] }; + key { [ Cyrillic_che, Cyrillic_CHE ] }; + key { [ Cyrillic_es, Cyrillic_ES ] }; + key { [ Cyrillic_em, Cyrillic_EM ] }; + key { [ Cyrillic_te, Cyrillic_TE ] }; + key { [ Cyrillic_i, Cyrillic_I ] }; + key { [Cyrillic_softsign, Cyrillic_SOFTSIGN ] }; + key { [ Cyrillic_be, Cyrillic_BE ] }; + key { [ Cyrillic_yu, Cyrillic_YU ] }; +}; + +partial alphanumeric_keys +xkb_symbols "latin" { + include "us" + name[Group1]= "Uzbek (Latin)"; + key { [0x010002BB, quotedbl] }; +}; diff --git a/xkbdata/symbols/vn b/xkbdata/symbols/vn new file mode 100644 index 0000000..8cd6a06 --- /dev/null +++ b/xkbdata/symbols/vn @@ -0,0 +1,150 @@ +// Vietnamese keyboard layout, somehow based on TCVN 5712:1993. +// Originally by Le Hong Boi +// August 1999 +// Further modified by Ashley Clark +// July 2000 for X 4.0 +// Changed accents into combining marks by Samuel Thibault +// July 2009 + +default partial alphanumeric_keys +xkb_symbols "basic" { + + include "us" + + name[Group1]= "Vietnamese"; + + key { [ grave, asciitilde ] }; + key { [ abreve, Abreve ] }; + key { [ acircumflex, Acircumflex ] }; + key { [ ecircumflex, Ecircumflex ] }; + key { [ ocircumflex, Ocircumflex ] }; + key { [ 0x1000300, percent, dead_grave, percent ] }; + key { [ 0x1000309, asciicircum, dead_hook, asciicircum ] }; + key { [ 0x1000303, ampersand, dead_tilde, ampersand ] }; + key { [ 0x1000301, asterisk, dead_acute, asterisk ] }; + key { [ 0x1000323, parenleft, dead_belowdot, parenleft ] }; + key { [ dstroke, Dstroke ] }; + key { [ minus, underscore ] }; + key { [ DongSign, plus ] }; + + key { [ uhorn, Uhorn ] }; + key { [ ohorn, Ohorn ] }; + + include "level3(ralt_switch)" +}; + + +// US keyboard made Vietnamese +// +// Copyright (C) 2018, Florent Gallaire Phong + +partial alphanumeric_keys +xkb_symbols "us" { + + include "us(basic)" + name[Group1]= "Vietnamese (US)"; + + key { [dead_grave, dead_tilde, grave, asciitilde ] }; + key { [ 4, dollar, DongSign, currency ] }; // ₫ ¤ + + key { [ e, E, ecircumflex, Ecircumflex ] }; // ê Ê + key { [ u, U, uhorn, Uhorn ] }; // ư Ư + key { [ o, O, ocircumflex, Ocircumflex ] }; // ô Ô + key { [ p, P, ohorn, Ohorn ] }; // ơ Ơ + + key { [ a, A, acircumflex, Acircumflex ] }; // â  + key { [ s, S, abreve, Abreve ] }; // ă Ă + key { [ d, D, dstroke, Dstroke ] }; // đ Đ + key { [dead_acute, quotedbl, apostrophe ] }; + + key { [dead_belowdot, greater, period ] }; + key { [ dead_hook, question, slash ] }; + + include "level3(ralt_switch)" + include "eurosign(5)" +}; + +// French keyboard made Vietnamese +// +// Copyright (C) 2018, Florent Gallaire Phong + +partial alphanumeric_keys +xkb_symbols "fr" { + + include "fr(basic)" + + name[Group1]="Vietnamese (French)"; + + key { [dead_tilde, 2, eacute, asciitilde ] }; + key { [dead_acute, 4, apostrophe, braceleft ] }; + key { [dead_grave, 7, egrave, grave ] }; + + key { [ a, A, abreve, Abreve ] }; // ă Ă + key { [ u, U, uhorn, Uhorn ] }; // ư Ư + key { [ o, O, ohorn, Ohorn ] }; // ơ Ơ + key { [ dollar, sterling, DongSign, currency ] }; // ₫ ¤ + + key { [ d, D, dstroke, Dstroke ] }; // đ Đ + + key { [ dead_hook, question, comma ] }; + key { [dead_belowdot, period, semicolon ] }; +}; + + +// EXTRAS: + +// Vietnamese AÐERTY (60s typewriters adaptation) +// +// Copyright (C) 2018, Florent Gallaire Phong + +partial alphanumeric_keys +xkb_symbols "aderty" { + + include "fr(basic)" + + name[Group1]="Vietnamese (AÐERTY)"; + + key { [dead_tilde, 2, eacute, asciitilde ] }; + key { [dead_acute, 4, apostrophe, braceleft ] }; + key { [dead_grave, 7, egrave, grave ] }; + + key { [ dstroke, Dstroke, z, Z ] }; // đ Đ + key { [ dollar, sterling, DongSign, currency ] }; // ₫ ¤ + + key { [ uhorn, Uhorn, f, F ] }; // ư Ư + key { [ ohorn, Ohorn, j, J ] }; // ơ Ơ + + key { [ abreve, Abreve, w, W ] }; // ă Ă + key { [ dead_hook, question, comma ] }; + key { [dead_belowdot, period, semicolon ] }; +}; + +// Vietnamese QĐERTY (AĐERTY qwertification) +// +// Copyright (C) 2018, Florent Gallaire Phong + +partial alphanumeric_keys +xkb_symbols "qderty" { + + include "us(basic)" + name[Group1]= "Vietnamese (QĐERTY)"; + + key { [dead_grave, dead_tilde, grave, asciitilde ] }; + key { [ 4, dollar, DongSign, currency ] }; // ₫ ¤ + + key { [ dstroke, Dstroke, w, W ] }; // đ Đ + key { [ e, E, ecircumflex, Ecircumflex ] }; // ê Ê + key { [ o, O, ocircumflex, Ocircumflex ] }; // ô Ô + + key { [ a, A, acircumflex, Acircumflex ] }; // â  + key { [ uhorn, Uhorn, f, F ] }; // ư Ư + key { [ ohorn, Ohorn, j, J ] }; // ơ Ơ + key { [dead_acute, quotedbl, apostrophe ] }; + + key { [ abreve, Abreve, z, Z ] }; // ă Ă + key { [dead_belowdot, greater, period ] }; + key { [ dead_hook, question, slash ] }; + + include "level3(ralt_switch)" + include "eurosign(5)" +}; diff --git a/xkbdata/symbols/xfree68_vndr/amiga b/xkbdata/symbols/xfree68_vndr/amiga new file mode 100644 index 0000000..f785288 --- /dev/null +++ b/xkbdata/symbols/xfree68_vndr/amiga @@ -0,0 +1,125 @@ +default xkb_symbols "usa1" { + + name[Group1]= "usa1"; + key { [ Escape ] }; + + // Begin "Function" section + key { [ F1 ] }; + key { [ F2 ] }; + key { [ F3 ] }; + key { [ F4 ] }; + key { [ F5 ] }; + key { [ F6 ] }; + key { [ F7 ] }; + key { [ F8 ] }; + key { [ F9 ] }; + key { [ F10 ] }; + // End "Function" section + + // Alphanumeric section + key { [ grave, asciitilde ] }; + key { [ 1, exclam ] }; + key { [ 2, at ] }; + key { [ 3, numbersign ] }; + key { [ 4, dollar ] }; + key { [ 5, percent ] }; + key { [ 6, asciicircum ] }; + key { [ 7, ampersand ] }; + key { [ 8, asterisk ] }; + key { [ 9, parenleft ] }; + key { [ 0, parenright ] }; + key { [ minus, underscore ] }; + key { [ equal, plus ] }; + key { [ backslash, bar ] }; + key { [ BackSpace ] }; + + key { [ Tab, ISO_Left_Tab ] }; + key { [ q, Q ] }; + key { [ w, W ] }; + key { [ e, E ] }; + key { [ r, R ] }; + key { [ t, T ] }; + key { [ y, Y ] }; + key { [ u, U ] }; + key { [ i, I ] }; + key { [ o, O ] }; + key { [ p, P ] }; + key { [ bracketleft, braceleft ] }; + key { [ bracketright, braceright ] }; + key { [ Return ] }; + + key { [ Control_L ] }; + key { [ Caps_Lock ] }; + key { [ a, A ] }; + key { [ s, S ] }; + key { [ d, D ] }; + key { [ f, F ] }; + key { [ g, G ] }; + key { [ h, H ] }; + key { [ j, J ] }; + key { [ k, K ] }; + key { [ l, L ] }; + key { [ semicolon, colon ] }; + key { [ apostrophe, quotedbl ] }; + + key { [ Shift_L ] }; + key { [ z, Z ] }; + key { [ x, X ] }; + key { [ c, C ] }; + key { [ v, V ] }; + key { [ b, B ] }; + key { [ n, N ] }; + key { [ m, M ] }; + key { [ comma, less ] }; + key { [ period, greater ] }; + key { [ slash, question ] }; + key { [ Shift_R ] }; + + key { [ Alt_L, Meta_L ] }; + key { [ Mode_switch ] }; + key { [ space ] }; + key { [ Multi_key ] }; + key { [ Alt_R, Meta_R ] }; + // End alphanumeric section + + // Begin "Editing" section + key { [ Delete ] }; + key { [ Help ] }; + key { [ Up ] }; + key { [ Left ] }; + key { [ Down ] }; + key { [ Right ] }; + // End "Editing" section + + // Begin "Keypad" section + key { [ Num_Lock ] }; + key { [ Scroll_Lock ] }; + key { [ KP_Divide ] }; + key { [ KP_Multiply, Print ] }; + + key { [ KP_7, KP_Home ] }; + key { [ KP_8, KP_Up ] }; + key { [ KP_9, KP_Prior ] }; + key { [ KP_Subtract ] }; + + key { [ KP_4, KP_Left ] }; + key { [ KP_5 ] }; + key { [ KP_6, KP_Right ] }; + key { [ KP_Add ] }; + + key { [ KP_1, KP_End ] }; + key { [ KP_2, KP_Down ] }; + key { [ KP_3, KP_Next ] }; + + key { [ KP_0, KP_Insert ] }; + key { [ KP_Decimal, KP_Delete ] }; + key { [ KP_Enter ] }; + // End "Keypad" section + + modifier_map Shift { Shift_L, Shift_R }; + modifier_map Lock { Caps_Lock }; + modifier_map Control{ Control_L }; + modifier_map Mod1 { Alt_L, Alt_R }; + modifier_map Mod2 { Mode_switch }; + modifier_map Mod3 { Meta_L, Meta_R }; +}; diff --git a/xkbdata/symbols/xfree68_vndr/ataritt b/xkbdata/symbols/xfree68_vndr/ataritt new file mode 100644 index 0000000..0ceb3ed --- /dev/null +++ b/xkbdata/symbols/xfree68_vndr/ataritt @@ -0,0 +1,154 @@ +default xkb_symbols "us" { + + name[Group1]= "US/ASCII"; + + key { [ Escape ] }; + + // Alphanumeric section + key { [ 1, exclam ] }; + key { [ 2, at ] }; + key { [ 3, numbersign ] }; + key { [ 4, dollar ] }; + key { [ 5, percent ] }; + key { [ 6, asciicircum ] }; + key { [ 7, ampersand ] }; + key { [ 8, asterisk ] }; + key { [ 9, parenleft ] }; + key { [ 0, parenright ] }; + key { [ minus, underscore ] }; + key { [ equal, plus ] }; + key { [ grave, asciitilde ] }; + key { [ BackSpace ] }; + + key { [ Tab, ISO_Left_Tab ] }; + key { [ q, Q ] }; + key { [ w, W ] }; + key { [ e, E ] }; + key { [ r, R ] }; + key { [ t, T ] }; + key { [ y, Y ] }; + key { [ u, U ] }; + key { [ i, I ] }; + key { [ o, O ] }; + key { [ p, P ] }; + key { [ bracketleft, braceleft ] }; + key { [ bracketright, braceright ] }; + key { [ Return ] }; + key { [ Delete ] }; + + key { [ Control_L ] }; + key { [ a, A ] }; + key { [ s, S ] }; + key { [ d, D ] }; + key { [ f, F ] }; + key { [ g, G ] }; + key { [ h, H ] }; + key { [ j, J ] }; + key { [ k, K ] }; + key { [ l, L ] }; + key { [ semicolon, colon ] }; + key { [ apostrophe, quotedbl ] }; + key { [ backslash, bar ] }; + + key { [ Shift_L ] }; + key { [ z, Z ] }; + key { [ x, X ] }; + key { [ c, C ] }; + key { [ v, V ] }; + key { [ b, B ] }; + key { [ n, N ] }; + key { [ m, M ] }; + key { [ comma, less ] }; + key { [ period, greater ] }; + key { [ slash, question ] }; + key { [ Shift_R ] }; + + key { [ Meta_L ] }; + key { [ space ] }; + key { [ Caps_Lock ] }; + // End alphanumeric section + + // Begin "Function" section + key { [ F1 ] }; + key { [ F2 ] }; + key { [ F3 ] }; + key { [ F4 ] }; + key { [ F5 ] }; + key { [ F6 ] }; + key { [ F7 ] }; + key { [ F8 ] }; + key { [ F9 ] }; + key { [ F10 ] }; + // End "Function" section + + // Begin "Editing" section + key { [ Help ] }; + key { [ Undo ] }; + key { [ Insert ] }; + key { [ Up ] }; + key { [ Home, Clear ] }; + key { [ Left ] }; + key { [ Down ] }; + key { [ Right ] }; + // End "Editing" section + + // Begin "Keypad" section + key { [ KP_F1 ] }; + key { [ KP_F2 ] }; + key { [ KP_Divide ] }; + key { [ KP_Multiply ] }; + key { [ KP_7 ] }; + key { [ KP_8 ] }; + key { [ KP_9 ] }; + key { [ KP_Subtract ] }; + key { [ KP_4 ] }; + key { [ KP_5 ] }; + key { [ KP_6 ] }; + key { [ KP_Add ] }; + key { [ KP_1 ] }; + key { [ KP_2 ] }; + key { [ KP_3 ] }; + key { [ KP_0 ] }; + key { [ KP_Decimal ] }; + key { [ KP_Enter ] }; + // End "Keypad" section + + modifier_map Shift { Shift_L, Shift_R }; + modifier_map Lock { Caps_Lock }; + modifier_map Control{ Control_L }; + modifier_map Mod1 { Meta_L }; +}; + +xkb_symbols "de" { + include "ataritt(us)" + + name[Group1]= "German"; + + key { [ 2, quotedbl ] }; + key { [ 3, section ] }; + key { [ 6, ampersand ] }; + key { [ 7, slash ] }; + key { [ 8, parenleft ] }; + key { [ 9, parenright ] }; + key { [ 0, equal ] }; + key { [ ssharp, question ] }; + key { [ apostrophe, grave ] }; + key { [ numbersign, asciicircum ] }; + + key { [ z, Z ] }; + key { [ udiaeresis, Udiaeresis ], + [ at, backslash ] }; + key { [ plus, asterisk ] }; + + key { [ odiaeresis, Odiaeresis ], + [ bracketleft, braceleft ] }; + key { [ adiaeresis, Adiaeresis ], + [ bracketright, braceright ] }; + key { [ asciitilde, bar ] }; + + key { [ less, greater ] }; + key { [ y, Y ] }; + key { [ comma, semicolon ] }; + key { [ period, colon ] }; + key { [ minus, underscore ] }; +}; diff --git a/xkbdata/symbols/za b/xkbdata/symbols/za new file mode 100644 index 0000000..4e357c2 --- /dev/null +++ b/xkbdata/symbols/za @@ -0,0 +1,44 @@ +// Based on the Latvian and GB keyboard maps. + +default partial alphanumeric_keys modifier_keys +xkb_symbols "basic" { + + // Describes the differences between an en_US layout + // and a South African layout with dead keys. + // By Dwayne Bailey (dwayne@translate.org.za). + + include "latin" + + name[Group1]="English (South Africa)"; + + key { [ grave, asciitilde, dead_grave ] }; + key { [ 2, at, yen ] }; + key { [ 3, numbersign, sterling ] }; + key { [ 4, dollar, dollar ] }; + key { [ 5, percent, EuroSign ] }; + key { [ 6,asciicircum, dead_circumflex ] }; + + key { [ e, E, ediaeresis, Ediaeresis ] }; + key { [ r, R, ecircumflex, Ecircumflex ] }; + key { [ t, T, U1e71, U1e70 ] }; + key { [ y, Y, ucircumflex, Ucircumflex ] }; + key { [ u, U, udiaeresis, Udiaeresis ] }; + key { [ i, I, idiaeresis, Idiaeresis ] }; + key { [ o, O, odiaeresis, Odiaeresis ] }; + key { [ p, P, ocircumflex, Ocircumflex ] }; + + key { [ a, A, adiaeresis, Adiaeresis ] }; + key { [ s, S, scaron, Scaron ] }; + key { [ d, D, U1e13, U1e12 ] }; + key { [ l, L, U1e3d, U1e3c ] }; + key { [ semicolon, colon, dead_diaeresis ] }; + key { [apostrophe, quotedbl, dead_acute ] }; + + key { [ v, V, doublelowquotemark, leftsinglequotemark ] }; + key { [ b, B, rightdoublequotemark, leftdoublequotemark ] }; + key { [ n, N, U1e4b, U1e4a ] }; + key { [ m, M, U1e45, U1e44 ] }; + key { [ period, greater, dead_abovedot ] }; + + include "level3(ralt_switch)" +}; diff --git a/xkbdata/types.dir b/xkbdata/types.dir new file mode 100644 index 0000000..a96eeca --- /dev/null +++ b/xkbdata/types.dir @@ -0,0 +1,19 @@ +-d------ -------- basic(basic) +-dp----- -------- cancel(Shift_Cancels_Caps) +--p----- -------- caps(internal) +--p----- -------- caps(internal_nocancel) +--p----- -------- caps(shift) +--p----- -------- caps(shift_nocancel) +-d------ -------- complete(complete) +-d------ -------- default(default) +-dp----- -------- extra(default) +--p----- -------- extra(keypad) +-dp----- -------- iso9995(default) +-dp----- -------- level5(default) +-dp----- -------- mousekeys(default) +-dp----- -------- nokia(default) +-dp----- -------- numpad(pc) +--p----- -------- numpad(mac) +--p----- -------- numpad(microsoft) +--p----- -------- numpad(shift3) +-dp----- -------- pc(default) diff --git a/xkbdata/types/README b/xkbdata/types/README new file mode 100644 index 0000000..ff0f61b --- /dev/null +++ b/xkbdata/types/README @@ -0,0 +1,4 @@ +The types component of a keyboard mapping specifies the key types that can be +associated with the various keyboard keys. The types component can optionally +contain also real modifier bindings and symbolic names for one or more virtual +modifiers. diff --git a/xkbdata/types/basic b/xkbdata/types/basic new file mode 100644 index 0000000..fff06be --- /dev/null +++ b/xkbdata/types/basic @@ -0,0 +1,30 @@ +default xkb_types "basic" { + + // Fairly standard definitions for + // three of the four required key types. + // The fourth type "KEYPAD" is defined in the "numpad" file. + + virtual_modifiers NumLock; + + type "ONE_LEVEL" { + modifiers = None; + map[None] = Level1; + level_name[Level1]= "Any"; + }; + + type "TWO_LEVEL" { + modifiers = Shift; + map[Shift] = Level2; + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + }; + + type "ALPHABETIC" { + modifiers = Shift+Lock; + map[Shift] = Level2; + map[Lock] = Level2; + level_name[Level1] = "Base"; + level_name[Level2] = "Caps"; + }; + +}; diff --git a/xkbdata/types/cancel b/xkbdata/types/cancel new file mode 100644 index 0000000..adc9f19 --- /dev/null +++ b/xkbdata/types/cancel @@ -0,0 +1,11 @@ +default partial xkb_types "Shift_Cancels_Caps" { + +override type "TWO_LEVEL" { + modifiers = Shift+Lock; + map[Shift] = Level2; + preserve[Lock]= Lock; + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; +}; + +}; diff --git a/xkbdata/types/caps b/xkbdata/types/caps new file mode 100644 index 0000000..7181630 --- /dev/null +++ b/xkbdata/types/caps @@ -0,0 +1,171 @@ +// CapsLock uses internal capitalization rules, +// Shift "pauses" CapsLock. +partial xkb_types "internal" { + type "ALPHABETIC" { + modifiers = Shift+Lock; + map[Shift] = Level2; + preserve[Lock] = Lock; + level_name[Level1] = "Base"; + level_name[Level2] = "Caps"; + }; + + type "FOUR_LEVEL_ALPHABETIC" { + modifiers = Shift+Lock+LevelThree; + map[None] = Level1; + map[Shift] = Level2; + preserve[Lock] = Lock; + map[LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + map[Lock+LevelThree] = Level3; + map[Lock+Shift+LevelThree] = Level3; + preserve[Lock+LevelThree] = Lock; + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "Alt Base"; + level_name[Level4] = "Shift Alt"; + }; + + type "FOUR_LEVEL_SEMIALPHABETIC" { + modifiers = Shift+Lock+LevelThree; + map[None] = Level1; + map[Shift] = Level2; + preserve[Lock] = Lock; + map[LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + map[Lock+LevelThree] = Level3; + map[Lock+Shift+LevelThree] = Level4; + preserve[Lock+LevelThree] = Lock; + preserve[Lock+Shift+LevelThree] = Lock; + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "Alt Base"; + level_name[Level4] = "Shift Alt"; + }; +}; + +// CapsLock uses internal capitalization rules, +// Shift does not cancel CapsLock. +partial xkb_types "internal_nocancel" { + type "ALPHABETIC" { + modifiers = Shift; + map[Shift] = Level2; + level_name[Level1] = "Base"; + level_name[Level2] = "Caps"; + }; + + type "FOUR_LEVEL_ALPHABETIC" { + modifiers = Shift+LevelThree; + map[None] = Level1; + map[Shift] = Level2; + map[LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "Alt Base"; + level_name[Level4] = "Shift Alt"; + }; + + type "FOUR_LEVEL_SEMIALPHABETIC" { + // the same as FOUR_LEVEL_ALPHABETIC + modifiers = Shift+LevelThree; + map[None] = Level1; + map[Shift] = Level2; + map[LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "Alt Base"; + level_name[Level4] = "Shift Alt"; + }; +}; + +// CapsLock acts as Shift with locking, +// Shift "pauses" CapsLock. +partial xkb_types "shift" { + type "ALPHABETIC" { + modifiers = Shift+Lock; + map[Shift] = Level2; + map[Lock] = Level2; + level_name[Level1] = "Base"; + level_name[Level2] = "Caps"; + }; + + type "FOUR_LEVEL_ALPHABETIC" { + modifiers = Shift+Lock+LevelThree; + map[None] = Level1; + map[Shift] = Level2; + map[Lock] = Level2; + map[LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + map[Lock+LevelThree] = Level4; + map[Shift+Lock+LevelThree] = Level3; + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "Alt Base"; + level_name[Level4] = "Shift Alt"; + }; + + type "FOUR_LEVEL_SEMIALPHABETIC" { + modifiers = Shift+Lock+LevelThree; + map[None] = Level1; + map[Shift] = Level2; + map[Lock] = Level2; + map[LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + map[Lock+LevelThree] = Level3; + map[Lock+Shift+LevelThree] = Level4; + preserve[Lock+LevelThree] = Lock; + preserve[Lock+Shift+LevelThree] = Lock; + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "Alt Base"; + level_name[Level4] = "Shift Alt"; + }; +}; + +// CapsLock acts as Shift with locking, +// Shift does not cancel CapsLock. +partial xkb_types "shift_nocancel" { + type "ALPHABETIC" { + modifiers = Shift+Lock; + map[Shift] = Level2; + map[Lock] = Level2; + map[Shift+Lock] = Level2; + level_name[Level1] = "Base"; + level_name[Level2] = "Caps"; + }; + + type "FOUR_LEVEL_ALPHABETIC" { + modifiers = Shift+Lock+LevelThree; + map[None] = Level1; + map[Shift] = Level2; + map[Lock] = Level2; + map[Shift+Lock] = Level2; + map[LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + map[Lock+LevelThree] = Level4; + map[Shift+Lock+LevelThree] = Level4; + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "Alt Base"; + level_name[Level4] = "Shift Alt"; + }; + + type "FOUR_LEVEL_SEMIALPHABETIC" { + modifiers = Shift+Lock+LevelThree; + map[None] = Level1; + map[Shift] = Level2; + map[Lock] = Level2; + map[Shift+Lock] = Level2; + map[LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + map[Lock+LevelThree] = Level3; + map[Lock+Shift+LevelThree] = Level4; + preserve[Lock+LevelThree] = Lock; + preserve[Lock+Shift+LevelThree] = Lock; + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "Alt Base"; + level_name[Level4] = "Shift Alt"; + }; +}; diff --git a/xkbdata/types/complete b/xkbdata/types/complete new file mode 100644 index 0000000..3b59ca2 --- /dev/null +++ b/xkbdata/types/complete @@ -0,0 +1,9 @@ +default xkb_types "complete" { + include "basic" + include "mousekeys" + include "pc" + include "iso9995" + include "level5" + include "extra" + include "numpad" +}; diff --git a/xkbdata/types/default b/xkbdata/types/default new file mode 100644 index 0000000..140208c --- /dev/null +++ b/xkbdata/types/default @@ -0,0 +1,9 @@ +default xkb_types "default" { + include "basic" + include "pc" + include "iso9995" + include "extra" + include "numpad" + include "level5" + include "mousekeys" +}; diff --git a/xkbdata/types/extra b/xkbdata/types/extra new file mode 100644 index 0000000..3f1e48d --- /dev/null +++ b/xkbdata/types/extra @@ -0,0 +1,158 @@ +default partial xkb_types "default" { + + // Defines a type with a four-level shift, similar to the three-level + // type used for iso9995, but it lets the Shift key behave "normally". + + virtual_modifiers LevelThree; + + type "FOUR_LEVEL" { + modifiers = Shift+LevelThree; + map[None] = Level1; + map[Shift] = Level2; + map[LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "Alt Base"; + level_name[Level4] = "Shift Alt"; + }; + + type "FOUR_LEVEL_ALPHABETIC" { + modifiers = Shift+Lock+LevelThree; + map[None] = Level1; + map[Shift] = Level2; + map[Lock] = Level2; + map[LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + map[Lock+LevelThree] = Level4; + map[Lock+Shift+LevelThree] = Level3; + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "Alt Base"; + level_name[Level4] = "Shift Alt"; + }; + + type "FOUR_LEVEL_SEMIALPHABETIC" { + modifiers = Shift+Lock+LevelThree; + map[None] = Level1; + map[Shift] = Level2; + map[Lock] = Level2; + map[LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + map[Lock+LevelThree] = Level3; + map[Lock+Shift+LevelThree] = Level4; + preserve[Lock+LevelThree] = Lock; + preserve[Lock+Shift+LevelThree] = Lock; + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "Alt Base"; + level_name[Level4] = "Shift Alt"; + }; + + // A four-level keypad variant. The first two levels are controlled by + // NumLock (with active shifting like in KEYPAD). LevelThree overrides + // this mode, with two additional shifted levels. + type "FOUR_LEVEL_MIXED_KEYPAD" { + modifiers = Shift+NumLock+LevelThree; + map[None] = Level1; + map[Shift+NumLock] = Level1; + map[NumLock] = Level2; + map[Shift] = Level2; + map[LevelThree] = Level3; + map[NumLock+LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + map[Shift+NumLock+LevelThree] = Level4; + level_name[Level1] = "Base"; + level_name[Level2] = "Number"; + level_name[Level3] = "Alt Base"; + level_name[Level4] = "Shift Alt"; + }; + + // Base level, two shifted LevelThree levels, one Ctrl+Alt command level. + type "FOUR_LEVEL_X" { + modifiers = Shift+LevelThree+Control+Alt; + map[None] = Level1; + map[LevelThree] = Level2; + map[Shift+LevelThree] = Level3; + map[Control+Alt] = Level4; + level_name[Level1] = "Base"; + level_name[Level2] = "Alt Base"; + level_name[Level3] = "Shift Alt"; + level_name[Level4] = "Ctrl+Alt"; + }; + +// A special type for keys used in the Serbian Latin Unicode keymap. +// It makes it possible to use all three forms of latin letters +// present in Unicode that are made up of two separate letters +// (forms like LJ, Lj, and lj; NJ, Nj, and nj; etcetera). + + type "SEPARATE_CAPS_AND_SHIFT_ALPHABETIC" { + modifiers = Shift+Lock+LevelThree; + map[None] = Level1; + map[Shift] = Level2; + map[Lock] = Level4; + map[LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + map[Lock+LevelThree] = Level3; + map[Lock+Shift+LevelThree] = Level3; + preserve[Lock]= Lock; + preserve[Lock+LevelThree]= Lock; + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "AltGr Base"; + level_name[Level4] = "Shift AltGr"; + }; + +// A key type for the German ssharp (for example), which is capitalized as SS. +// CHARACTERISTICS: +// It is FOUR_LEVEL with the exception that the fifth level is mapped to the +// Lock modifier. If other modifiers are used, the Lock state is ignored. +// DETAILS ABOUT GERMAN: +// The capital form of ssharp (called sharp s) only exists for completely +// capitalized text, not for words at the beginning of sentences nor for +// nouns (nouns in German normally start with a captial letter). +// The ssharp key, to the right of the zero key, takes this into account +// and has a questionmark mapped to Shift-ssharp since normally no capital +// version is needed. +// When typing with active CapsLock, this key type is needed to +// output two capital letters S because this is the only German key +// whose capital letter is not the same as the one typed with Shift. + + type "FOUR_LEVEL_PLUS_LOCK" { + modifiers = Shift+Lock+LevelThree; + map[None] = Level1; + map[Shift] = Level2; + map[LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + map[Lock] = Level5; + map[Lock+Shift] = Level2; + map[Lock+LevelThree] = Level3; + map[Lock+Shift+LevelThree] = Level4; + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "Alt Base"; + level_name[Level4] = "Shift Alt"; + level_name[Level5] = "Lock"; + }; +}; + +// This enables the four-level shifting also for the keypad. +partial xkb_types "keypad" { + virtual_modifiers LevelThree; + + type "FOUR_LEVEL_KEYPAD" { + modifiers = Shift+NumLock+LevelThree; + map[None] = Level1; + map[Shift] = Level2; + map[NumLock] = Level2; + map[Shift+NumLock] = Level1; + map[LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + map[NumLock+LevelThree] = Level4; + map[Shift+NumLock+LevelThree] = Level3; + level_name[Level1] = "Base"; + level_name[Level2] = "Number"; + level_name[Level3] = "Alt Base"; + level_name[Level4] = "Alt Number"; + }; +}; diff --git a/xkbdata/types/iso9995 b/xkbdata/types/iso9995 new file mode 100644 index 0000000..137a522 --- /dev/null +++ b/xkbdata/types/iso9995 @@ -0,0 +1,18 @@ +default partial xkb_types "default" { + + // A key type which can be used to implement + // an ISO9995-style level-three shift. + + virtual_modifiers LevelThree; + + type "THREE_LEVEL" { + modifiers = Shift+LevelThree; + map[None] = Level1; + map[Shift] = Level2; + map[LevelThree] = Level3; + map[Shift+LevelThree] = Level3; + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "Level3"; + }; +}; diff --git a/xkbdata/types/level5 b/xkbdata/types/level5 new file mode 100644 index 0000000..19d1552 --- /dev/null +++ b/xkbdata/types/level5 @@ -0,0 +1,214 @@ +default partial xkb_types "default" { + + // Defines a type with an eight-level shift, similar to the three-level + // type used for iso9995, but it lets the Shift key behave "normally". + + virtual_modifiers LevelThree,ScrollLock,LevelFive; + + type "EIGHT_LEVEL" { + modifiers = Shift+LevelThree+LevelFive; + map[None] = Level1; + map[Shift] = Level2; + map[LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + map[LevelFive] = Level5; + map[Shift+LevelFive] = Level6; + map[LevelThree+LevelFive] = Level7; + map[Shift+LevelThree+LevelFive] = Level8; + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "Alt Base"; + level_name[Level4] = "Shift Alt"; + level_name[Level5] = "X"; + level_name[Level6] = "X Shift"; + level_name[Level7] = "X Alt Base"; + level_name[Level8] = "X Shift Alt"; + }; + + type "EIGHT_LEVEL_ALPHABETIC" { + modifiers = Shift+Lock+LevelThree+LevelFive; + map[None] = Level1; + map[Shift] = Level2; + map[Lock] = Level2; + map[LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + map[Lock+LevelThree] = Level4; + map[Lock+Shift+LevelThree] = Level3; + + map[LevelFive] = Level5; + map[Shift+LevelFive] = Level6; + map[Lock+LevelFive] = Level6; + map[LevelThree+LevelFive] = Level7; + map[Shift+LevelThree+LevelFive] = Level8; + map[Lock+LevelThree+LevelFive] = Level8; + map[Lock+Shift+LevelThree+LevelFive] = Level7; + + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "Alt Base"; + level_name[Level4] = "Shift Alt"; + level_name[Level5] = "X"; + level_name[Level6] = "X Shift"; + level_name[Level7] = "X Alt Base"; + level_name[Level8] = "X Shift Alt"; + }; + + type "EIGHT_LEVEL_LEVEL_FIVE_LOCK" { + // Level5-Lock is implemented by using NumLock, because a real modifier + // is required. + + modifiers = Shift + Lock + LevelThree + NumLock + LevelFive; + + map[None] = Level1; + map[Shift] = Level2; + map[LevelThree] = Level3; + map[LevelThree+Shift] = Level4; + + map[LevelFive] = Level5; + map[LevelFive+Shift] = Level6; + map[LevelFive+LevelThree] = Level7; + map[LevelFive+LevelThree+Shift] = Level8; + + map[NumLock] = Level5; + map[NumLock+Shift] = Level6; + map[NumLock+LevelThree] = Level7; + map[NumLock+LevelThree+Shift] = Level8; + + map[NumLock+LevelFive] = Level1; + map[NumLock+LevelFive+Shift] = Level2; + map[NumLock+LevelFive+LevelThree] = Level3; + map[NumLock+LevelFive+LevelThree+Shift] = Level4; + + // Lock has no effect + map[Lock] = Level1; + map[Lock+Shift] = Level2; + map[Lock+LevelThree] = Level3; + map[Lock+LevelThree+Shift] = Level4; + + map[Lock+LevelFive] = Level5; + map[Lock+LevelFive+Shift] = Level6; + map[Lock+LevelFive+LevelThree] = Level7; + map[Lock+LevelFive+LevelThree+Shift] = Level8; + + map[Lock+NumLock] = Level5; + map[Lock+NumLock+Shift] = Level6; + map[Lock+NumLock+LevelThree] = Level7; + map[Lock+NumLock+LevelThree+Shift] = Level8; + + map[Lock+NumLock+LevelFive] = Level1; + map[Lock+NumLock+LevelFive+Shift] = Level2; + map[Lock+NumLock+LevelFive+LevelThree] = Level3; + map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level4; + + preserve[LevelFive+Shift] = Shift; + preserve[NumLock+Shift] = Shift; + preserve[Lock+LevelFive+Shift] = Shift; + preserve[Lock+NumLock+Shift] = Shift; + + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "Alt Base"; + level_name[Level4] = "Shift Alt"; + level_name[Level5] = "X"; + level_name[Level6] = "X Shift"; + level_name[Level7] = "X Alt Base"; + level_name[Level8] = "X Shift Alt"; + }; + + type "EIGHT_LEVEL_ALPHABETIC_LEVEL_FIVE_LOCK" { + // Level5-Lock is implemented by using NumLock, because a real modifier + // is required. + + modifiers = Shift + Lock + LevelThree + NumLock + LevelFive; + + map[None] = Level1; + map[Shift] = Level2; + map[LevelThree] = Level3; + map[LevelThree+Shift] = Level4; + + map[LevelFive] = Level5; + map[LevelFive+Shift] = Level6; + map[LevelFive+LevelThree] = Level7; + map[LevelFive+LevelThree+Shift] = Level8; + + map[NumLock] = Level5; + map[NumLock+Shift] = Level6; + map[NumLock+LevelThree] = Level7; + map[NumLock+LevelThree+Shift] = Level8; + + map[NumLock+LevelFive] = Level1; + map[NumLock+LevelFive+Shift] = Level2; + map[NumLock+LevelFive+LevelThree] = Level3; + map[NumLock+LevelFive+LevelThree+Shift] = Level4; + + // Lock interchanges Level1 and Level2 + map[Lock] = Level2; + map[Lock+Shift] = Level1; + map[Lock+LevelThree] = Level3; + map[Lock+LevelThree+Shift] = Level4; + + map[Lock+LevelFive] = Level5; + map[Lock+LevelFive+Shift] = Level6; + map[Lock+LevelFive+LevelThree] = Level7; + map[Lock+LevelFive+LevelThree+Shift] = Level8; + + map[Lock+NumLock] = Level5; + map[Lock+NumLock+Shift] = Level6; + map[Lock+NumLock+LevelThree] = Level7; + map[Lock+NumLock+LevelThree+Shift] = Level8; + + map[Lock+NumLock+LevelFive] = Level2; + map[Lock+NumLock+LevelFive+Shift] = Level1; + map[Lock+NumLock+LevelFive+LevelThree] = Level4; + map[Lock+NumLock+LevelFive+LevelThree+Shift] = Level3; + + preserve[LevelFive+Shift] = Shift; + preserve[NumLock+Shift] = Shift; + + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "Alt Base"; + level_name[Level4] = "Shift Alt"; + level_name[Level5] = "X"; + level_name[Level6] = "X Shift"; + level_name[Level7] = "X Alt Base"; + level_name[Level8] = "X Shift Alt"; + }; + + type "EIGHT_LEVEL_SEMIALPHABETIC" { + modifiers = Shift+Lock+LevelThree+LevelFive; + map[None] = Level1; + map[Shift] = Level2; + map[Lock] = Level2; + map[LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + map[Lock+LevelThree] = Level3; + map[Lock+Shift+LevelThree] = Level4; + + map[LevelFive] = Level5; + map[Shift+LevelFive] = Level6; + map[Lock+LevelFive] = Level6; + map[Lock+Shift+LevelFive] = Level6; + map[LevelThree+LevelFive] = Level7; + map[Shift+LevelThree+LevelFive] = Level8; + map[Lock+LevelThree+LevelFive] = Level7; + map[Lock+Shift+LevelThree+LevelFive] = Level8; + + preserve[Lock+LevelThree] = Lock; + preserve[Lock+Shift+LevelThree] = Lock; + preserve[Lock+LevelFive] = Lock; + preserve[Lock+Shift+LevelFive] = Lock; + preserve[Lock+LevelThree+LevelFive] = Lock; + preserve[Lock+Shift+LevelThree+LevelFive] = Lock; + + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "Alt Base"; + level_name[Level4] = "Shift Alt"; + level_name[Level5] = "X"; + level_name[Level6] = "X Shift"; + level_name[Level7] = "X Alt Base"; + level_name[Level8] = "X Shift Alt"; + }; + +}; diff --git a/xkbdata/types/mousekeys b/xkbdata/types/mousekeys new file mode 100644 index 0000000..0bf8384 --- /dev/null +++ b/xkbdata/types/mousekeys @@ -0,0 +1,10 @@ +default partial xkb_types "default" { + virtual_modifiers Alt; + + type "SHIFT+ALT" { + modifiers = Shift+Alt; + map[Shift+Alt] = Level2; + level_name[Level1] = "Base"; + level_name[Level2] = "Shift+Alt"; + }; +}; diff --git a/xkbdata/types/nokia b/xkbdata/types/nokia new file mode 100644 index 0000000..15286f1 --- /dev/null +++ b/xkbdata/types/nokia @@ -0,0 +1,15 @@ +default partial xkb_types "default" { + + // A type that is used by Nokia devices and keyboards. + + virtual_modifiers LevelThree; + + type "PC_FN_LEVEL2" { + modifiers = LevelThree; + map[None] = Level1; + map[LevelThree] = Level2; + level_name[Level1] = "Base"; + level_name[Level2] = "Fn"; + }; + +}; diff --git a/xkbdata/types/numpad b/xkbdata/types/numpad new file mode 100644 index 0000000..8903b16 --- /dev/null +++ b/xkbdata/types/numpad @@ -0,0 +1,66 @@ +default partial xkb_types "pc" { + type "KEYPAD" { + modifiers = Shift+NumLock; + map[None] = Level1; + map[NumLock] = Level2; + map[Shift+NumLock] = Level1; + level_name[Level1] = "Base"; + level_name[Level2] = "Number"; + }; + include "extra(keypad)" +}; + +// On Mac keypads, level 1 and 2 are swapped. +partial xkb_types "mac" { + type "KEYPAD" { + modifiers = None; + map[None] = Level2; + level_name[Level2] = "Number"; + }; + include "extra(keypad)" +}; + +partial xkb_types "microsoft" { + type "KEYPAD" { + modifiers = Shift+NumLock; + map[None] = Level1; + preserve[Shift] = Shift; + map[NumLock] = Level2; + level_name[Level1] = "Base"; + level_name[Level2] = "Number"; + }; + include "extra(keypad)" +}; + +// Swiss-German style numeric keypad: Shift and NumLock operate as +// two independent modifiers; however, since we want shift state for +// the cursor keys, only three levels are used from the key mappings. +// Closest type is actually FOUR_LEVEL_X, but most numpad layouts use +// FOUR_LEVEL_MIXED_KEYPAD, so that's the one we are going to override. +partial xkb_types "shift3" { + type "FOUR_LEVEL_MIXED_KEYPAD" { + modifiers = Shift+NumLock+Control+Alt; + + // NumLock Off => navigate using cursor keys + map[None] = Level1; + + // NumLock Off + Shift pressed => select using cursor keys + preserve[Shift] = Shift; + + // NumLock On => decimal digits + map[NumLock] = Level2; + + // NumLock On + Shift pressed => auxiliary symbols, + // e.g. hexadecimal digits + map[Shift+NumLock] = Level3; + + // Ctrl + Alt, regardless of NumLock and Shift => command keys + map[Control+Alt] = Level4; + + // reverse map from levels to modifiers + level_name[Level1] = "Base"; + level_name[Level2] = "NumLock"; + level_name[Level3] = "Shift+NumLock"; + level_name[Level4] = "Ctrl+Alt"; + }; +}; diff --git a/xkbdata/types/pc b/xkbdata/types/pc new file mode 100644 index 0000000..a980664 --- /dev/null +++ b/xkbdata/types/pc @@ -0,0 +1,126 @@ +default partial xkb_types "default" { + + // Some types that are necessary + // for a full implementation of + // a PC-compatible keyboard. + + virtual_modifiers Alt; + virtual_modifiers LevelThree; + virtual_modifiers LAlt; + virtual_modifiers RAlt; + virtual_modifiers RControl; + virtual_modifiers LControl; + + type "PC_SUPER_LEVEL2" { + modifiers = Mod4; + map[None] = Level1; + map[Mod4] = Level2; + level_name[Level1] = "Base"; + level_name[Level2] = "Super"; + }; + + type "PC_CONTROL_LEVEL2" { + modifiers = Control; + map[None] = Level1; + map[Control] = Level2; + level_name[Level1] = "Base"; + level_name[Level2] = "Control"; + }; + + type "PC_LCONTROL_LEVEL2" { + modifiers = LControl; + map[None] = Level1; + map[LControl] = Level2; + level_name[Level1] = "Base"; + level_name[Level2] = "LControl"; + }; + + type "PC_RCONTROL_LEVEL2" { + modifiers = RControl; + map[None] = Level1; + map[RControl] = Level2; + level_name[Level1] = "Base"; + level_name[Level2] = "RControl"; + }; + + type "PC_ALT_LEVEL2" { + modifiers = Alt; + map[None] = Level1; + map[Alt] = Level2; + level_name[Level1] = "Base"; + level_name[Level2] = "Alt"; + }; + + type "PC_LALT_LEVEL2" { + modifiers = LAlt; + map[None] = Level1; + map[LAlt] = Level2; + level_name[Level1] = "Base"; + level_name[Level2] = "LAlt"; + }; + + type "PC_RALT_LEVEL2" { + modifiers = RAlt; + map[None] = Level1; + map[RAlt] = Level2; + level_name[Level1] = "Base"; + level_name[Level2] = "RAlt"; + }; + + type "CTRL+ALT" { + modifiers = Control+Alt+Shift+LevelThree; + map[None] = Level1; + map[Shift] = Level2; + map[LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + map[Control+Alt] = Level5; + preserve[Shift] = Shift; + preserve[Shift+LevelThree] = Shift; + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "Alt Base"; + level_name[Level4] = "Shift Alt"; + level_name[Level5] = "Ctrl+Alt"; + }; + + // Local eight level. + // Needed when you want part of your layout eight-level but cannot use + // LevelFive as modifier, as this will take over the right Ctrl by default + // for the whole layout and is too invasive for the average four-level user. + // Needed to fix bug #9529. + // FIXME: Should really use RControl but it seems not to be enabled by + // default and touching this requires a lot of testing. + type "LOCAL_EIGHT_LEVEL" { + modifiers = Shift+Lock+LevelThree+Control; + + map[None] = Level1; + map[Lock+Shift] = Level1; + map[Shift] = Level2; + map[Lock] = Level2; + + map[LevelThree] = Level3; + map[Lock+Shift+LevelThree] = Level3; + map[Shift+LevelThree] = Level4; + map[Lock+LevelThree] = Level4; + + map[Control] = Level5; + map[Lock+Shift+Control] = Level5; + map[Shift+Control] = Level6; + map[Lock+Control] = Level6; + + map[LevelThree+Control] = Level7; + map[Lock+Shift+LevelThree+Control] = Level7; + map[Shift+LevelThree+Control] = Level8; + map[Lock+LevelThree+Control] = Level8; + + level_name[Level1] = "Base"; + level_name[Level2] = "Shift"; + level_name[Level3] = "Level3"; + level_name[Level4] = "Shift Level3"; + level_name[Level5] = "Ctrl"; + level_name[Level6] = "Shift Ctrl"; + level_name[Level7] = "Level3 Ctrl"; + level_name[Level8] = "Shift Level3 Ctrl"; + }; + +}; diff --git a/xkeysymdb b/xkeysymdb new file mode 100644 index 0000000..45d8929 --- /dev/null +++ b/xkeysymdb @@ -0,0 +1,380 @@ +! Copyright 1993 Massachusetts Institute of Technology +! +! 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 M.I.T. not be used in advertising or +! publicity pertaining to distribution of the software without specific, +! written prior permission. M.I.T. makes no representations about the +! suitability of this software for any purpose. It is provided "as is" +! without express or implied warranty. +! + +hpmute_acute :100000A8 +hpmute_grave :100000A9 +hpmute_asciicircum :100000AA +hpmute_diaeresis :100000AB +hpmute_asciitilde :100000AC +hplira :100000AF +hpguilder :100000BE +hpYdiaeresis :100000EE +hpIO :100000EE +hplongminus :100000F6 +hpblock :100000FC +apLineDel :1000FF00 +apCharDel :1000FF01 +apCopy :1000FF02 +apCut :1000FF03 +apPaste :1000FF04 +apMove :1000FF05 +apGrow :1000FF06 +apCmd :1000FF07 +apShell :1000FF08 +apLeftBar :1000FF09 +apRightBar :1000FF0A +apLeftBox :1000FF0B +apRightBox :1000FF0C +apUpBox :1000FF0D +apDownBox :1000FF0E +apPop :1000FF0F +apRead :1000FF10 +apEdit :1000FF11 +apSave :1000FF12 +apExit :1000FF13 +apRepeat :1000FF14 +hpModelock1 :1000FF48 +hpModelock2 :1000FF49 +hpReset :1000FF6C +hpSystem :1000FF6D +hpUser :1000FF6E +hpClearLine :1000FF6F +hpInsertLine :1000FF70 +hpDeleteLine :1000FF71 +hpInsertChar :1000FF72 +hpDeleteChar :1000FF73 +hpBackTab :1000FF74 +hpKP_BackTab :1000FF75 +apKP_parenleft :1000FFA8 +apKP_parenright :1000FFA9 + +I2ND_FUNC_L :10004001 +I2ND_FUNC_R :10004002 +IREMOVE :10004003 +IREPEAT :10004004 +IA1 :10004101 +IA2 :10004102 +IA3 :10004103 +IA4 :10004104 +IA5 :10004105 +IA6 :10004106 +IA7 :10004107 +IA8 :10004108 +IA9 :10004109 +IA10 :1000410A +IA11 :1000410B +IA12 :1000410C +IA13 :1000410D +IA14 :1000410E +IA15 :1000410F +IB1 :10004201 +IB2 :10004202 +IB3 :10004203 +IB4 :10004204 +IB5 :10004205 +IB6 :10004206 +IB7 :10004207 +IB8 :10004208 +IB9 :10004209 +IB10 :1000420A +IB11 :1000420B +IB12 :1000420C +IB13 :1000420D +IB14 :1000420E +IB15 :1000420F +IB16 :10004210 + +DRemove :1000FF00 +Dring_accent :1000FEB0 +Dcircumflex_accent :1000FE5E +Dcedilla_accent :1000FE2C +Dacute_accent :1000FE27 +Dgrave_accent :1000FE60 +Dtilde :1000FE7E +Ddiaeresis :1000FE22 + +osfCopy :1004FF02 +osfCut :1004FF03 +osfPaste :1004FF04 +osfBackTab :1004FF07 +osfBackSpace :1004FF08 +osfClear :1004FF0B +osfEscape :1004FF1B +osfAddMode :1004FF31 +osfPrimaryPaste :1004FF32 +osfQuickPaste :1004FF33 +osfPageLeft :1004FF40 +osfPageUp :1004FF41 +osfPageDown :1004FF42 +osfPageRight :1004FF43 +osfActivate :1004FF44 +osfMenuBar :1004FF45 +osfLeft :1004FF51 +osfUp :1004FF52 +osfRight :1004FF53 +osfDown :1004FF54 +osfPrior :1004FF55 +osfNext :1004FF56 +osfEndLine :1004FF57 +osfBeginLine :1004FF58 +osfEndData :1004FF59 +osfBeginData :1004FF5A +osfPrevMenu :1004FF5B +osfNextMenu :1004FF5C +osfPrevField :1004FF5D +osfNextField :1004FF5E +osfSelect :1004FF60 +osfInsert :1004FF63 +osfUndo :1004FF65 +osfMenu :1004FF67 +osfCancel :1004FF69 +osfHelp :1004FF6A +osfSelectAll :1004FF71 +osfDeselectAll :1004FF72 +osfReselect :1004FF73 +osfExtend :1004FF74 +osfRestore :1004FF78 +osfSwitchDirection :1004FF7E +osfPriorMinor :1004FFF5 +osfNextMinor :1004FFF6 +osfRightLine :1004FFF7 +osfLeftLine :1004FFF8 +osfDelete :1004FFFF + +SunFA_Grave :1005FF00 +SunFA_Circum :1005FF01 +SunFA_Tilde :1005FF02 +SunFA_Acute :1005FF03 +SunFA_Diaeresis :1005FF04 +SunFA_Cedilla :1005FF05 +SunF36 :1005FF10 +SunF37 :1005FF11 +SunSys_Req :1005FF60 +SunProps :1005FF70 +SunFront :1005FF71 +SunCopy :1005FF72 +SunOpen :1005FF73 +SunPaste :1005FF74 +SunCut :1005FF75 +SunPowerSwitch :1005FF76 +SunAudioLowerVolume :1005FF77 +SunAudioMute :1005FF78 +SunAudioRaiseVolume :1005FF79 +SunVideoDegauss :1005FF7A +SunVideoLowerBrightness :1005FF7B +SunVideoRaiseBrightness :1005FF7C +SunPowerSwitchShift :1005FF7D + +SunCompose :FF20 +SunPageUp :FF55 +SunPageDown :FF56 +SunPrint_Screen :FF61 +SunUndo :FF65 +SunAgain :FF66 +SunFind :FF68 +SunStop :FF69 +SunAltGraph :FF7E + +WYSetup :1006FF00 + +ncdSetup :1006FF00 + +XeroxPointerButton1 :10070001 +XeroxPointerButton2 :10070002 +XeroxPointerButton3 :10070003 +XeroxPointerButton4 :10070004 +XeroxPointerButton5 :10070005 + +! The definitions here should match +XF86ModeLock :1008FF01 +XF86MonBrightnessUp :1008FF02 +XF86MonBrightnessDown :1008FF03 +XF86KbdLightOnOff :1008FF04 +XF86KbdBrightnessUp :1008FF05 +XF86KbdBrightnessDown :1008FF06 +XF86Standby :1008FF10 +XF86AudioLowerVolume :1008FF11 +XF86AudioMute :1008FF12 +XF86AudioRaiseVolume :1008FF13 +XF86AudioPlay :1008FF14 +XF86AudioStop :1008FF15 +XF86AudioPrev :1008FF16 +XF86AudioNext :1008FF17 +XF86HomePage :1008FF18 +XF86Mail :1008FF19 +XF86Start :1008FF1A +XF86Search :1008FF1B +XF86AudioRecord :1008FF1C +XF86Calculator :1008FF1D +XF86Memo :1008FF1E +XF86ToDoList :1008FF1F +XF86Calendar :1008FF20 +XF86PowerDown :1008FF21 +XF86ContrastAdjust :1008FF22 +XF86RockerUp :1008FF23 +XF86RockerDown :1008FF24 +XF86RockerEnter :1008FF25 +XF86Back :1008FF26 +XF86Forward :1008FF27 +XF86Stop :1008FF28 +XF86Refresh :1008FF29 +XF86PowerOff :1008FF2A +XF86WakeUp :1008FF2B +XF86Eject :1008FF2C +XF86ScreenSaver :1008FF2D +XF86WWW :1008FF2E +XF86Sleep :1008FF2F +XF86Favorites :1008FF30 +XF86AudioPause :1008FF31 +XF86AudioMedia :1008FF32 +XF86MyComputer :1008FF33 +XF86VendorHome :1008FF34 +XF86LightBulb :1008FF35 +XF86Shop :1008FF36 +XF86History :1008FF37 +XF86OpenURL :1008FF38 +XF86AddFavorite :1008FF39 +XF86HotLinks :1008FF3A +XF86BrightnessAdjust :1008FF3B +XF86Finance :1008FF3C +XF86Community :1008FF3D +XF86AudioRewind :1008FF3E +XF86BackForward :1008FF3F +XF86Launch0 :1008FF40 +XF86Launch1 :1008FF41 +XF86Launch2 :1008FF42 +XF86Launch3 :1008FF43 +XF86Launch4 :1008FF44 +XF86Launch5 :1008FF45 +XF86Launch6 :1008FF46 +XF86Launch7 :1008FF47 +XF86Launch8 :1008FF48 +XF86Launch9 :1008FF49 +XF86LaunchA :1008FF4A +XF86LaunchB :1008FF4B +XF86LaunchC :1008FF4C +XF86LaunchD :1008FF4D +XF86LaunchE :1008FF4E +XF86LaunchF :1008FF4F +XF86ApplicationLeft :1008FF50 +XF86ApplicationRight :1008FF51 +XF86Book :1008FF52 +XF86CD :1008FF53 +XF86Calculater :1008FF54 +XF86Clear :1008FF55 +XF86Close :1008FF56 +XF86Copy :1008FF57 +XF86Cut :1008FF58 +XF86Display :1008FF59 +XF86DOS :1008FF5A +XF86Documents :1008FF5B +XF86Excel :1008FF5C +XF86Explorer :1008FF5D +XF86Game :1008FF5E +XF86Go :1008FF5F +XF86iTouch :1008FF60 +XF86LogOff :1008FF61 +XF86Market :1008FF62 +XF86Meeting :1008FF63 +XF86MenuKB :1008FF65 +XF86MenuPB :1008FF66 +XF86MySites :1008FF67 +XF86New :1008FF68 +XF86News :1008FF69 +XF86OfficeHome :1008FF6A +XF86Open :1008FF6B +XF86Option :1008FF6C +XF86Paste :1008FF6D +XF86Phone :1008FF6E +XF86Q :1008FF70 +XF86Reply :1008FF72 +XF86Reload :1008FF73 +XF86RotateWindows :1008FF74 +XF86RotationPB :1008FF75 +XF86RotationKB :1008FF76 +XF86Save :1008FF77 +XF86ScrollUp :1008FF78 +XF86ScrollDown :1008FF79 +XF86ScrollClick :1008FF7A +XF86Send :1008FF7B +XF86Spell :1008FF7C +XF86SplitScreen :1008FF7D +XF86Support :1008FF7E +XF86TaskPane :1008FF7F +XF86Terminal :1008FF80 +XF86Tools :1008FF81 +XF86Travel :1008FF82 +XF86UserPB :1008FF84 +XF86User1KB :1008FF85 +XF86User2KB :1008FF86 +XF86Video :1008FF87 +XF86WheelButton :1008FF88 +XF86Word :1008FF89 +XF86Xfer :1008FF8A +XF86ZoomIn :1008FF8B +XF86ZoomOut :1008FF8C +XF86Away :1008FF8D +XF86Messenger :1008FF8E +XF86WebCam :1008FF8F +XF86MailForward :1008FF90 +XF86Pictures :1008FF91 +XF86Music :1008FF92 +XF86Battery :1008FF93 +XF86Bluetooth :1008FF94 +XF86WLAN :1008FF95 +XF86UWB :1008FF96 +XF86AudioForward :1008FF97 +XF86AudioRepeat :1008FF98 +XF86AudioRandomPlay :1008FF99 +XF86Subtitle :1008FF9A +XF86AudioCycleTrack :1008FF9B +XF86CycleAngle :1008FF9C +XF86FrameBack :1008FF9D +XF86FrameForward :1008FF9E +XF86Time :1008FF9F +XF86Select :1008FFA0 +XF86View :1008FFA1 +XF86TopMenu :1008FFA2 +XF86Red :1008FFA3 +XF86Green :1008FFA4 +XF86Yellow :1008FFA5 +XF86Blue :1008FFA6 +XF86Suspend :1008FFA7 +XF86Hibernate :1008FFA8 +XF86TouchpadToggle :1008FFA9 + +! XFree86 special action keys +XF86_Switch_VT_1 :1008FE01 +XF86_Switch_VT_2 :1008FE02 +XF86_Switch_VT_3 :1008FE03 +XF86_Switch_VT_4 :1008FE04 +XF86_Switch_VT_5 :1008FE05 +XF86_Switch_VT_6 :1008FE06 +XF86_Switch_VT_7 :1008FE07 +XF86_Switch_VT_8 :1008FE08 +XF86_Switch_VT_9 :1008FE09 +XF86_Switch_VT_10 :1008FE0A +XF86_Switch_VT_11 :1008FE0B +XF86_Switch_VT_12 :1008FE0C +XF86_Ungrab :1008FE20 +XF86_ClearGrab :1008FE21 +XF86_Next_VMode :1008FE22 +XF86_Prev_VMode :1008FE23 + +usldead_acute :100000A8 +usldead_grave :100000A9 +usldead_diaeresis :100000AB +usldead_asciicircum :100000AA +usldead_asciitilde :100000AC +usldead_cedilla :1000FE2C +usldead_ring :1000FEB0 diff --git a/xrdb.exe b/xrdb.exe new file mode 100644 index 0000000..434f39a Binary files /dev/null and b/xrdb.exe differ diff --git a/zlib1.dll b/zlib1.dll new file mode 100644 index 0000000..d0b3a30 Binary files /dev/null and b/zlib1.dll differ