From 63a788caa35b080bde1307fc6d5715dec091fe38 Mon Sep 17 00:00:00 2001 From: marha Date: Fri, 2 Jul 2010 12:44:32 +0000 Subject: git update 2/7/2010 --- xorg-server/configure.ac | 4 +- xorg-server/dix/devices.c | 2 +- xorg-server/hw/xfree86/common/xf86Configure.c | 25 - xorg-server/hw/xfree86/common/xf86pciBus.c | 13 +- xorg-server/hw/xfree86/ramdac/xf86Cursor.c | 12 +- xorg-server/include/privates.h | 2 +- xorg-server/include/xkbsrv.h | 6 + xorg-server/mi/mipointer.c | 16 + xorg-server/mi/mipointer.h | 5 + xorg-server/xkb/xkbAccessX.c | 39 +- xorg-server/xkb/xkbActions.c | 19 +- xorg-server/xkbdata.src/symbols/in | 2670 ++++++++++++------------- xorg-server/xkbdata.src/symbols/lk | 2 +- xorg-server/xkbdata.src/symbols/sy | 2 +- 14 files changed, 1395 insertions(+), 1422 deletions(-) diff --git a/xorg-server/configure.ac b/xorg-server/configure.ac index 0fcb2264a..c89eb3f30 100644 --- a/xorg-server/configure.ac +++ b/xorg-server/configure.ac @@ -26,8 +26,8 @@ dnl dnl Process this file with autoconf to create configure. AC_PREREQ(2.57) -AC_INIT([xorg-server], 1.8.99.903, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server) -RELEASE_DATE="2010-06-22" +AC_INIT([xorg-server], 1.8.99.904, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server) +RELEASE_DATE="2010-07-01" AC_CONFIG_SRCDIR([Makefile.am]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_MAINTAINER_MODE diff --git a/xorg-server/dix/devices.c b/xorg-server/dix/devices.c index e6d25ea40..42ea9c8d8 100644 --- a/xorg-server/dix/devices.c +++ b/xorg-server/dix/devices.c @@ -1239,7 +1239,7 @@ InitValuatorClassDeviceStruct(DeviceIntPtr dev, int numAxes, Atom *labels, if (!dev) return FALSE; - if (numAxes >= MAX_VALUATORS) + if (numAxes > MAX_VALUATORS) { LogMessage(X_WARNING, "Device '%s' has %d axes, only using first %d.\n", diff --git a/xorg-server/hw/xfree86/common/xf86Configure.c b/xorg-server/hw/xfree86/common/xf86Configure.c index 94398dff5..25d884934 100644 --- a/xorg-server/hw/xfree86/common/xf86Configure.c +++ b/xorg-server/hw/xfree86/common/xf86Configure.c @@ -107,8 +107,6 @@ bus_sbus_configure(void *busData) static void bus_pci_newdev_configure(void *busData, int i, int *chipset) { - const char *VendorName; - const char *CardName; char busnum[8]; struct pci_device * pVideo = NULL; @@ -116,26 +114,6 @@ bus_pci_newdev_configure(void *busData, int i, int *chipset) DevToConfig[i].pVideo = pVideo; - VendorName = pci_device_get_vendor_name( pVideo ); - CardName = pci_device_get_device_name( pVideo ); - - if (!VendorName) { - VendorName = xnfalloc(15); - sprintf((char*)VendorName, "Unknown Vendor"); - } - - if (!CardName) { - CardName = xnfalloc(14); - sprintf((char*)CardName, "Unknown Board"); - } - - DevToConfig[i].GDev.identifier = - xnfalloc(strlen(VendorName) + strlen(CardName) + 2); - sprintf(DevToConfig[i].GDev.identifier, "%s %s", VendorName, CardName); - - DevToConfig[i].GDev.vendor = (char *)VendorName; - DevToConfig[i].GDev.board = (char *)CardName; - DevToConfig[i].GDev.busID = xnfalloc(16); xf86FormatPciBusNumber(pVideo->bus, busnum); sprintf(DevToConfig[i].GDev.busID, "PCI:%s:%d:%d", @@ -357,9 +335,6 @@ configureDeviceSection (int screennum) /* Move device info to parser structure */ sprintf(identifier, "Card%d", screennum); ptr->dev_identifier = strdup(identifier); -/* ptr->dev_identifier = DevToConfig[screennum].GDev.identifier;*/ - ptr->dev_vendor = DevToConfig[screennum].GDev.vendor; - ptr->dev_board = DevToConfig[screennum].GDev.board; ptr->dev_chipset = DevToConfig[screennum].GDev.chipset; ptr->dev_busid = DevToConfig[screennum].GDev.busID; ptr->dev_driver = DevToConfig[screennum].GDev.driver; diff --git a/xorg-server/hw/xfree86/common/xf86pciBus.c b/xorg-server/hw/xfree86/common/xf86pciBus.c index 461c7c235..8729089cf 100644 --- a/xorg-server/hw/xfree86/common/xf86pciBus.c +++ b/xorg-server/hw/xfree86/common/xf86pciBus.c @@ -151,18 +151,13 @@ xf86PciProbe(void) /* Print a summary of the video devices found */ for (k = 0; k < num; k++) { - const char *vendorname = NULL, *chipname = NULL; const char *prim = " "; Bool memdone = FALSE, iodone = FALSE; info = xf86PciVideoInfo[k]; - vendorname = pci_device_get_vendor_name( info ); - chipname = pci_device_get_device_name( info ); - - if ((!vendorname || !chipname) && - !PCIALWAYSPRINTCLASSES(info->device_class)) + if (!PCIALWAYSPRINTCLASSES(info->device_class)) continue; if (xf86IsPrimaryPci(info)) @@ -173,12 +168,6 @@ xf86PciProbe(void) info->vendor_id, info->device_id, info->subvendor_id, info->subdevice_id); - if (vendorname) - xf86ErrorF("%s ", vendorname); - - if (chipname) - xf86ErrorF("%s ", chipname); - xf86ErrorF("rev %d", info->revision); for (i = 0; i < 6; i++) { diff --git a/xorg-server/hw/xfree86/ramdac/xf86Cursor.c b/xorg-server/hw/xfree86/ramdac/xf86Cursor.c index 421e35b51..0e648ff49 100644 --- a/xorg-server/hw/xfree86/ramdac/xf86Cursor.c +++ b/xorg-server/hw/xfree86/ramdac/xf86Cursor.c @@ -245,8 +245,6 @@ xf86CursorSwitchMode(int index, DisplayModePtr mode, int flags) ScreenPtr pScreen = screenInfo.screens[index]; xf86CursorScreenPtr ScreenPriv = (xf86CursorScreenPtr)dixLookupPrivate( &pScreen->devPrivates, xf86CursorScreenKey); - miPointerScreenPtr PointPriv = (miPointerScreenPtr)dixLookupPrivate( - &pScreen->devPrivates, miPointerScreenKey); if (ScreenPriv->isUp) { xf86SetCursor(pScreen, NullCursor, ScreenPriv->x, ScreenPriv->y); @@ -261,7 +259,7 @@ xf86CursorSwitchMode(int index, DisplayModePtr mode, int flags) * ensure the cursor is repainted by miPointerWarpCursor(). */ ScreenPriv->CursorToRestore = ScreenPriv->CurrentCursor; - PointPriv->waitForUpdate = FALSE; /* Force cursor repaint */ + miPointerSetWaitForUpdate(pScreen, FALSE); /* Force cursor repaint */ return ret; } @@ -302,9 +300,6 @@ xf86CursorSetCursor(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCurs, xf86CursorScreenPtr ScreenPriv = (xf86CursorScreenPtr)dixLookupPrivate( &pScreen->devPrivates, xf86CursorScreenKey); xf86CursorInfoPtr infoPtr = ScreenPriv->CursorInfoPtr; - miPointerScreenPtr PointPriv = (miPointerScreenPtr)dixLookupPrivate( - &pScreen->devPrivates, miPointerScreenKey); - if (pCurs == NullCursor) { /* means we're supposed to remove the cursor */ if (ScreenPriv->SWCursor || @@ -355,11 +350,12 @@ xf86CursorSetCursor(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCurs, xf86SetCursor(pScreen, pCurs, x, y); ScreenPriv->SWCursor = FALSE; ScreenPriv->isUp = TRUE; - PointPriv->waitForUpdate = !infoPtr->pScrn->silkenMouse; + + miPointerSetWaitForUpdate(pScreen, !infoPtr->pScrn->silkenMouse); return; } - PointPriv->waitForUpdate = TRUE; + miPointerSetWaitForUpdate(pScreen, TRUE); if (ScreenPriv->isUp) { /* Remove the HW cursor, or make it transparent */ diff --git a/xorg-server/include/privates.h b/xorg-server/include/privates.h index 2774776ab..9b578e467 100644 --- a/xorg-server/include/privates.h +++ b/xorg-server/include/privates.h @@ -177,7 +177,7 @@ static inline pointer * dixLookupPrivateAddr(PrivatePtr *privates, const DevPrivateKey key) { assert (key->size == 0); - return dixGetPrivateAddr(privates, key); + return (pointer *)dixGetPrivateAddr(privates, key); } /* diff --git a/xorg-server/include/xkbsrv.h b/xorg-server/include/xkbsrv.h index bd342a351..a7f17d44c 100644 --- a/xorg-server/include/xkbsrv.h +++ b/xorg-server/include/xkbsrv.h @@ -927,6 +927,12 @@ extern int XkbGetEffectiveGroup( extern void XkbMergeLockedPtrBtns( DeviceIntPtr /* master */); +extern void XkbFakeDeviceButton( + DeviceIntPtr /* dev */, + int /* press */, + int /* button */); + + #include "xkbfile.h" #include "xkbrules.h" diff --git a/xorg-server/mi/mipointer.c b/xorg-server/mi/mipointer.c index 4b9ce0fa5..f11de7da0 100644 --- a/xorg-server/mi/mipointer.c +++ b/xorg-server/mi/mipointer.c @@ -452,6 +452,22 @@ miPointerGetScreen(DeviceIntPtr pDev) return (pPointer) ? pPointer->pScreen : NULL; } +/* Controls whether the cursor image should be updated immediately when + moved (FALSE) or if something else will be responsible for updating + it later (TRUE). Returns current setting. + Caller is responsible for calling OsBlockSignal first. +*/ +Bool +miPointerSetWaitForUpdate(ScreenPtr pScreen, Bool wait) +{ + SetupScreen(pScreen); + Bool prevWait = pScreenPriv->waitForUpdate; + + pScreenPriv->waitForUpdate = wait; + return prevWait; +} + + /* Move the pointer on the current screen, and update the sprite. */ static void miPointerMoved (DeviceIntPtr pDev, ScreenPtr pScreen, diff --git a/xorg-server/mi/mipointer.h b/xorg-server/mi/mipointer.h index c48001267..caf505019 100644 --- a/xorg-server/mi/mipointer.h +++ b/xorg-server/mi/mipointer.h @@ -139,6 +139,11 @@ extern _X_EXPORT void miPointerSetPosition( extern _X_EXPORT void miPointerUpdateSprite( DeviceIntPtr pDev); +/* Sets whether the sprite should be updated immediately on pointer moves */ +extern _X_EXPORT Bool miPointerSetWaitForUpdate( + ScreenPtr pScreen, + Bool wait); + extern _X_EXPORT DevPrivateKeyRec miPointerPrivKeyRec; #define miPointerPrivKey (&miPointerPrivKeyRec) diff --git a/xorg-server/xkb/xkbAccessX.c b/xorg-server/xkb/xkbAccessX.c index 22178b862..70b1c6013 100644 --- a/xorg-server/xkb/xkbAccessX.c +++ b/xorg-server/xkb/xkbAccessX.c @@ -710,40 +710,21 @@ DeviceEvent *event = &ev->device_event; if (xkbi) { xkbi->lockedPtrButtons&= ~(1 << (event->detail.key & 0x7)); - /* Merge this MD's lockedPtrButtons with the one of all - * attached slave devices. - * The DIX uses a merged button state for MDs, not - * releasing buttons until the last SD has released - * thenm. If we unconditionally clear the - * lockedPtrButtons bit on the MD, a PointerKeys button - * release on the SD keyboard won't generate the required fake button - * event on the XTEST pointer, thus never processing the - * button event in the DIX and the XTEST pointer's - * buttons stay down - result is a stuck button. - */ - if (IsMaster(dev)) - XkbMergeLockedPtrBtns(dev); + if (IsMaster(dev)) + { + DeviceIntPtr source; + int rc; + rc = dixLookupDevice(&source, event->sourceid, serverClient, DixWriteAccess); + if (rc != Success) + ErrorF("[xkb] bad sourceid '%d' on button release event.\n", event->sourceid); + else if (!IsXTestDevice(source, GetMaster(dev, MASTER_POINTER))) + XkbFakeDeviceButton(dev, FALSE, event->detail.key); + } } changed |= XkbPointerButtonMask; } - /* Guesswork. mostly. - * xkb actuall goes through some effort to transparently wrap the - * processInputProcs (see XkbSetExtension). But we all love fun, so the - * previous XKB implementation just hardcoded the CPPE call here instead - * of unwrapping like anybody with any sense of decency would do. - * I got no clue what the correct thing to do is, but my guess is that - * it's not hardcoding. I may be wrong. whatever it is, don't come whining - * to me. I just work here. - * - * Anyway. here's the old call, if you don't like the wrapping, revert it. - * - * CoreProcessPointerEvent(xE,mouse,count); - * - * see. it's still steaming. told you. (whot) - */ - UNWRAP_PROCESS_INPUT_PROC(mouse, xkbPrivPtr, backupproc); mouse->public.processInputProc(ev, mouse); COND_WRAP_PROCESS_INPUT_PROC(mouse, xkbPrivPtr, diff --git a/xorg-server/xkb/xkbActions.c b/xorg-server/xkb/xkbActions.c index 1274f4871..24c7341ed 100644 --- a/xorg-server/xkb/xkbActions.c +++ b/xorg-server/xkb/xkbActions.c @@ -41,11 +41,12 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE. #include "xkb.h" #include #include "mi.h" +#include "mipointer.h" #define EXTENSION_EVENT_BASE 64 DevPrivateKeyRec xkbDevicePrivateKeyRec; -static void XkbFakeDeviceButton(DeviceIntPtr dev,Bool press,int button); +void XkbFakeDeviceButton(DeviceIntPtr dev,Bool press,int button); static void XkbFakePointerMotion(DeviceIntPtr dev, unsigned flags,int x,int y); void @@ -500,9 +501,6 @@ _XkbFilterPointerMove( XkbSrvInfoPtr xkbi, int x,y; Bool accel; - if (xkbi->device == inputInfo.keyboard) - return 0; - if (filter->keycode==0) { /* initial press */ filter->keycode = keycode; filter->active = 1; @@ -1340,12 +1338,16 @@ XkbFakePointerMotion(DeviceIntPtr dev, unsigned flags,int x,int y) EventListPtr events; int nevents, i; DeviceIntPtr ptr; + ScreenPtr pScreen; + Bool saveWait; int gpe_flags = 0; - if (!dev->u.master) + if (IsMaster(dev)) + ptr = GetXTestDevice(GetMaster(dev, MASTER_POINTER)); + else if (!dev->u.master) ptr = dev; else - ptr = GetXTestDevice(GetMaster(dev, MASTER_POINTER)); + return; if (flags & XkbSA_MoveAbsoluteX || flags & XkbSA_MoveAbsoluteY) gpe_flags = POINTER_ABSOLUTE; @@ -1354,9 +1356,12 @@ XkbFakePointerMotion(DeviceIntPtr dev, unsigned flags,int x,int y) events = InitEventList(GetMaximumEventsNum()); OsBlockSignals(); + pScreen = miPointerGetScreen(ptr); + saveWait = miPointerSetWaitForUpdate(pScreen, FALSE); nevents = GetPointerEvents(events, ptr, MotionNotify, 0, gpe_flags, 0, 2, (int[]){x, y}); + miPointerSetWaitForUpdate(pScreen, saveWait); OsReleaseSignals(); for (i = 0; i < nevents; i++) @@ -1365,7 +1370,7 @@ XkbFakePointerMotion(DeviceIntPtr dev, unsigned flags,int x,int y) FreeEventList(events, GetMaximumEventsNum()); } -static void +void XkbFakeDeviceButton(DeviceIntPtr dev,Bool press,int button) { EventListPtr events; diff --git a/xorg-server/xkbdata.src/symbols/in b/xorg-server/xkbdata.src/symbols/in index 6c86b7c42..e9ad77b84 100644 --- a/xorg-server/xkbdata.src/symbols/in +++ b/xorg-server/xkbdata.src/symbols/in @@ -1,1335 +1,1335 @@ -// $XKeyboardConfig$ - -// This layout includes all Indian layouts, including: -// - Bengali -// - Gujarati -// - Kannada -// - Malayalam -// - Oriya -// - Tamil -// - Telugu -// - Urdu - -// Links: -// - Indic INSCRIPT keyboard layout diagrams: -// http://java.sun.com/products/jfc/tsc/articles/InputMethod/indiclayout.html -// - Ekusheyr Shadhinota (Bengali 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 - -// based on a keyboard map from an 'xkb/symbols/dev' file - -// Devangari is the default. Kill me if I am wrong:) -default partial alphanumeric_keys -xkb_symbols "deva" { - // March 2004 -- David Holl - name[Group1]="India"; - - key.type="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, dollar ] }; - 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)"; -}; - -//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] = "India - Hindi Bolnagri"; - key.type="FOUR_LEVEL"; - //Top Alphanumeric row - // Roman digits - key { [ U0902, U0901, apostrophe, asciitilde ] }; // apostrophe: anusvara, candrabindu - key { [ 1, exclam, U0967, exclam ] }; - key { [ 2, at, U0968, at ] }; - key { [ 3, numbersign, U0969, numbersign ] }; - key { [ 4, dollar, U096A, dollar ] }; - 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 ] }; // 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 - 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, U0962 ] }; // L: la, vocalic L or lru matra` - key { [ semicolon, colon ] }; - key { [apostrophe, quotedbl ] }; - - //Z Row - key { [ U0936, U0945 ] }; // Z: sha, akaar candra - key { [ U094D, U0949 ] }; // X: halant, aakaar candra - key { [ U091A, U091B ] }; // C: ca, cha - key { [ U0921, U0922 ] }; // V: da, dha - key { [ U092C, U092D ] }; // B: ba, bha - key { [ U0928, U0923 ] }; // N: na, nha - key { [ U092E, U093D, U092E, U093D ] }; // M: ma, avagraha - key { [ comma, U0970 ] };// comma: comma, dev abbreviation sign - key { [ period, U093C ] }; // period: period, nukta - key { [ slash, question ] }; - - // begin modifier mappings -// modifier_map Shift { Shift_L }; -// modifier_map Lock { Caps_Lock }; -// modifier_map Control{ Control_L }; -// modifier_map Mod3 { Mode_switch }; - include "level3(ralt_switch)" -}; - -// based on a keyboard map from an 'xkb/symbols/ben' file -// -// $XFree86: xc/programs/xkbcomp/symbols/ben,v 1.2 2002/11/22 04:03:28 dawes Exp $ - -partial alphanumeric_keys -xkb_symbols "ben" { - name[Group1]= "India - Bengali"; - - // 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 ] }; -}; - -xkb_symbols "ben_probhat" { - name[Group1]= "India - Bengali Probhat"; - key { [ Escape ] }; - -// numbers - key { [ U200D, asciitilde ] }; - key { [ U09E7, exclam ] }; - key { [ U09E8, at ] }; - key { [ U09E9, numbersign ] }; - key { [ U09EA, U09F3 ] }; - key { [ U09EB, percent ] }; - key { [ U09EC, asciicircum ] }; - key { [ U09ED, U099E ] }; - key { [ U09EE, U09CE ] }; - key { [ U09EF, parenleft ] }; - key { [ U09E6, parenright ] }; - 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 ] }; - key { [ Return ] }; - -// caps, a to ' -// key { [ Caps_Lock ] }; - key { [ U09BE, U0985 ] }; - key { [ U09B8, U09B7 ] }; - key { [ U09A1, U09A2 ] }; - key { [ U09A4, U09A5 ] }; - key { [ U0997, U0998 ] }; - key { [ U09B9, U0983 ] }; - key { [ U099C, U099D ] }; - key { [ U0995, U0996 ] }; - key { [ U09B2, U0982 ] }; - key { [ semicolon, colon ] }; - key { [ quoteright, 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 ] }; - 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 }; - -}; - -partial alphanumeric_keys -xkb_symbols "guj" { - name[Group1]= "India - 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 ] }; -}; - -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]= "India - 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 - }; - -}; - -// 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] = "India - 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 ] }; - -}; - -//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] = "India - Malayalam Lalitha"; - key.type="FOUR_LEVEL"; - //Top Alphanumeric row - // Roman digits - key { [ U0D4D, U0D02, apostrophe, asciitilde ] }; // apostrophe: virama(chandrakala),anusvara - key { [ 1, exclam, U0D67, exclam ] }; - key { [ 2, at, U0D68, at ] }; - key { [ 3, numbersign, U0D69, numbersign ] }; - key { [ 4, dollar, U0D6A, dollar ] }; - 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 ] }; - - // begin modifier mappings -// 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 "ori" { - // Inscript layout for Oriya - // Author: G Karunakar - // Date: Wed Nov 13 18:16:19 IST 2002 - - name[Group1]= "India - 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 - }; -}; - -// based on a keyboard map from an 'xkb/symbols/tml' file -// -// $XFree86: xc/programs/xkbcomp/symbols/tml,v 1.2 2002/11/22 04:03:28 dawes Exp $ -// INSCRIPT -partial alphanumeric_keys -xkb_symbols "tam" { - name[Group1]= "India - Tamil"; - - 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 ] }; -}; - -partial alphanumeric_keys -xkb_symbols "tam_unicode" { - -// 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]= "India - Tamil Unicode"; - - // 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_keyboard_with_numerals" { - -// 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]= "India - Tamil Keyboard with 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_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]= "India - Tamil TSCII Typewriter"; - - 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_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]= "India - Tamil TAB Typewriter"; - - // 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]= "India - 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 - }; -}; - -partial alphanumeric_keys -xkb_symbols "urd-phonetic" { - include "pk(urd-phonetic)" - name[Group1]= "India - Urdu, Phonetic"; -}; - -partial alphanumeric_keys -xkb_symbols "urd-phonetic3" { - include "pk(urd-crulp)" - name[Group1]= "India - Urdu, Alternative phonetic"; -}; - -partial alphanumeric_keys -xkb_symbols "urd-winkeys" { - include "pk(urd-nla)" - name[Group1]= "India - Urdu, Winkeys"; -}; - -// based on a keyboard map from an 'xkb/symbols/gur' file - -partial alphanumeric_keys -xkb_symbols "guru" { - name[Group1]= "India - 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 { [ gur_visarga ] }; - 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 ] }; -}; - -//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 { [ apostrophe, asciitilde, U0A02,U0A01 ] }; // apostrophe: anusvara, candrabindu - key { [ 1,exclam, U0A67, exclam ] }; - key { [ 2,at, U0A68, at ] }; - key { [ 3,numbersign, U0A69, numbersign ] }; - key { [ 4,dollar, U0A6A, dollar ] }; - key { [ 5,percent,U0A6B, percent ] }; - key { [ 6,asciicircum, U0A6C,asciicircum ] }; - key { [ 7,ampersand,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 ] }; // R: ee, ai - key { [ U0A42, U0A0A ] }; // T: u, uu - key { [ U0A30, U0A5C ] }; // Y: ra, raa - key { [ U0A26, U0A27 ] }; // U: tha, thha - key { [ U0A17, U0A18 ] }; // I:ga, gha - key { [ U0A24, U0A1F ] }; // O: ta, tha - key { [ U0A2A, U0A5E ] }; // P: pa, pha - key { [ U0A21, U0A22, bracketleft, braceleft ] }; - key { [ U0A19, U0A1E, bracketright, braceright ] }; - - //A Row - key { [ U0A4B, U0A13 ] }; // A: o, oo - key { [ U0A40, 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 ] }; // J: ja, jha - key { [ U0A15, U0A16 ] }; // K: ka, kha - key { [ U0A32, U0A25 ] }; // L: la, tha - key { [ U0A38, semicolon, colon ] }; //; 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 ] }; - -// begin modifier mappings -// 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]= "India - 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 { [ quoteright, quotedbl ] }; - - key { [ 0x1000901, 0x100093C, 0x100093D, 0x1000950] }; - key { [ 0x1000926, 0x1000927 ] }; - key { [ 0x100091A, 0x100091B ] }; - key { [ 0x1000935, dead_V ] }; - key { [ 0x100092C, 0x100092D ] }; - key { [ 0x1000928, 0x1000923 ] }; - key { [ 0x100092E, 0x1000902 ] }; - key { [ comma, less ] }; - key { [ period, greater ] }; - key { [ slash, question ] }; - - include "level3(ralt_switch)" -}; - +// $XKeyboardConfig$ + +// This layout includes all Indian layouts, including: +// - Bengali +// - Gujarati +// - Kannada +// - Malayalam +// - Oriya +// - Tamil +// - Telugu +// - Urdu + +// Links: +// - Indic INSCRIPT keyboard layout diagrams: +// http://java.sun.com/products/jfc/tsc/articles/InputMethod/indiclayout.html +// - Ekusheyr Shadhinota (Bengali 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 + +// based on a keyboard map from an 'xkb/symbols/dev' file + +// Devangari is the default. Kill me if I am wrong:) +default partial alphanumeric_keys +xkb_symbols "deva" { + // March 2004 -- David Holl + name[Group1]="India"; + + key.type="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, dollar ] }; + 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)" +}; + +//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] = "India - Hindi Bolnagri"; + key.type="FOUR_LEVEL"; + //Top Alphanumeric row + // Roman digits + key { [ U0902, U0901, apostrophe, asciitilde ] }; // apostrophe: anusvara, candrabindu + key { [ 1, exclam, U0967, exclam ] }; + key { [ 2, at, U0968, at ] }; + key { [ 3, numbersign, U0969, numbersign ] }; + key { [ 4, dollar, U096A, dollar ] }; + 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 ] }; // 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 + 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, U0962 ] }; // L: la, vocalic L or lru matra` + key { [ semicolon, colon ] }; + key { [apostrophe, quotedbl ] }; + + //Z Row + key { [ U0936, U0945 ] }; // Z: sha, akaar candra + key { [ U094D, U0949 ] }; // X: halant, aakaar candra + key { [ U091A, U091B ] }; // C: ca, cha + key { [ U0921, U0922 ] }; // V: da, dha + key { [ U092C, U092D ] }; // B: ba, bha + key { [ U0928, U0923 ] }; // N: na, nha + key { [ U092E, U093D, U092E, U093D ] }; // M: ma, avagraha + key { [ comma, U0970 ] };// comma: comma, dev abbreviation sign + key { [ period, U093C ] }; // period: period, nukta + key { [ slash, question ] }; + + // begin modifier mappings +// modifier_map Shift { Shift_L }; +// modifier_map Lock { Caps_Lock }; +// modifier_map Control{ Control_L }; +// modifier_map Mod3 { Mode_switch }; + include "level3(ralt_switch)" +}; + +// based on a keyboard map from an 'xkb/symbols/ben' file +// +// $XFree86: xc/programs/xkbcomp/symbols/ben,v 1.2 2002/11/22 04:03:28 dawes Exp $ + +partial alphanumeric_keys +xkb_symbols "ben" { + name[Group1]= "India - Bengali"; + + // 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 ] }; +}; + +xkb_symbols "ben_probhat" { + name[Group1]= "India - Bengali Probhat"; + key { [ Escape ] }; + +// numbers + key { [ U200D, asciitilde ] }; + key { [ U09E7, exclam ] }; + key { [ U09E8, at ] }; + key { [ U09E9, numbersign ] }; + key { [ U09EA, U09F3 ] }; + key { [ U09EB, percent ] }; + key { [ U09EC, asciicircum ] }; + key { [ U09ED, U099E ] }; + key { [ U09EE, U09CE ] }; + key { [ U09EF, parenleft ] }; + key { [ U09E6, parenright ] }; + 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 ] }; + key { [ Return ] }; + +// caps, a to ' +// key { [ Caps_Lock ] }; + key { [ U09BE, U0985 ] }; + key { [ U09B8, U09B7 ] }; + key { [ U09A1, U09A2 ] }; + key { [ U09A4, U09A5 ] }; + key { [ U0997, U0998 ] }; + key { [ U09B9, U0983 ] }; + key { [ U099C, U099D ] }; + key { [ U0995, U0996 ] }; + key { [ U09B2, U0982 ] }; + key { [ semicolon, colon ] }; + key { [ quoteright, 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 ] }; + 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 }; + +}; + +partial alphanumeric_keys +xkb_symbols "guj" { + name[Group1]= "India - 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 ] }; +}; + +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]= "India - 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 + }; + +}; + +// 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] = "India - 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 ] }; + +}; + +//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] = "India - Malayalam Lalitha"; + key.type="FOUR_LEVEL"; + //Top Alphanumeric row + // Roman digits + key { [ U0D4D, U0D02, apostrophe, asciitilde ] }; // apostrophe: virama(chandrakala),anusvara + key { [ 1, exclam, U0D67, exclam ] }; + key { [ 2, at, U0D68, at ] }; + key { [ 3, numbersign, U0D69, numbersign ] }; + key { [ 4, dollar, U0D6A, dollar ] }; + 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 ] }; + + // begin modifier mappings +// 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 "ori" { + // Inscript layout for Oriya + // Author: G Karunakar + // Date: Wed Nov 13 18:16:19 IST 2002 + + name[Group1]= "India - 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 + }; +}; + +// based on a keyboard map from an 'xkb/symbols/tml' file +// +// $XFree86: xc/programs/xkbcomp/symbols/tml,v 1.2 2002/11/22 04:03:28 dawes Exp $ +// INSCRIPT +partial alphanumeric_keys +xkb_symbols "tam" { + name[Group1]= "India - Tamil"; + + 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 ] }; +}; + +partial alphanumeric_keys +xkb_symbols "tam_unicode" { + +// 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]= "India - Tamil Unicode"; + + // 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_keyboard_with_numerals" { + +// 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]= "India - Tamil Keyboard with 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_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]= "India - Tamil TSCII Typewriter"; + + 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_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]= "India - Tamil TAB Typewriter"; + + // 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]= "India - 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 + }; +}; + +partial alphanumeric_keys +xkb_symbols "urd-phonetic" { + include "pk(urd-phonetic)" + name[Group1]= "India - Urdu, Phonetic"; +}; + +partial alphanumeric_keys +xkb_symbols "urd-phonetic3" { + include "pk(urd-crulp)" + name[Group1]= "India - Urdu, Alternative phonetic"; +}; + +partial alphanumeric_keys +xkb_symbols "urd-winkeys" { + include "pk(urd-nla)" + name[Group1]= "India - Urdu, Winkeys"; +}; + +// based on a keyboard map from an 'xkb/symbols/gur' file + +partial alphanumeric_keys +xkb_symbols "guru" { + name[Group1]= "India - 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 { [ gur_visarga ] }; + 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 ] }; +}; + +//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 { [ apostrophe, asciitilde, U0A02,U0A01 ] }; // apostrophe: anusvara, candrabindu + key { [ 1,exclam, U0A67, exclam ] }; + key { [ 2,at, U0A68, at ] }; + key { [ 3,numbersign, U0A69, numbersign ] }; + key { [ 4,dollar, U0A6A, dollar ] }; + key { [ 5,percent,U0A6B, percent ] }; + key { [ 6,asciicircum, U0A6C,asciicircum ] }; + key { [ 7,ampersand,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 ] }; // R: ee, ai + key { [ U0A42, U0A0A ] }; // T: u, uu + key { [ U0A30, U0A5C ] }; // Y: ra, raa + key { [ U0A26, U0A27 ] }; // U: tha, thha + key { [ U0A17, U0A18 ] }; // I:ga, gha + key { [ U0A24, U0A1F ] }; // O: ta, tha + key { [ U0A2A, U0A5E ] }; // P: pa, pha + key { [ U0A21, U0A22, bracketleft, braceleft ] }; + key { [ U0A19, U0A1E, bracketright, braceright ] }; + + //A Row + key { [ U0A4B, U0A13 ] }; // A: o, oo + key { [ U0A40, 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 ] }; // J: ja, jha + key { [ U0A15, U0A16 ] }; // K: ka, kha + key { [ U0A32, U0A25 ] }; // L: la, tha + key { [ U0A38, semicolon, colon ] }; //; 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 ] }; + +// begin modifier mappings +// 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]= "India - 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 { [ quoteright, quotedbl ] }; + + key { [ 0x1000901, 0x100093C, 0x100093D, 0x1000950] }; + key { [ 0x1000926, 0x1000927 ] }; + key { [ 0x100091A, 0x100091B ] }; + key { [ 0x1000935, dead_V ] }; + key { [ 0x100092C, 0x100092D ] }; + key { [ 0x1000928, 0x1000923 ] }; + key { [ 0x100092E, 0x1000902 ] }; + key { [ comma, less ] }; + key { [ period, greater ] }; + key { [ slash, question ] }; + + include "level3(ralt_switch)" +}; + diff --git a/xorg-server/xkbdata.src/symbols/lk b/xorg-server/xkbdata.src/symbols/lk index 8ed480db2..cfc5b1ff9 100644 --- a/xorg-server/xkbdata.src/symbols/lk +++ b/xorg-server/xkbdata.src/symbols/lk @@ -74,7 +74,7 @@ xkb_symbols "sin_phonetic" { key { [ any, any, 0x0100200d, NoSymbol ] }; // Space - include "nbsp(zwnj2nb3s)"; + include "nbsp(zwnj2nb3s)" include "level3(ralt_switch)" }; diff --git a/xorg-server/xkbdata.src/symbols/sy b/xorg-server/xkbdata.src/symbols/sy index e807f3d3d..7825d2376 100644 --- a/xorg-server/xkbdata.src/symbols/sy +++ b/xorg-server/xkbdata.src/symbols/sy @@ -68,7 +68,7 @@ xkb_symbols "syc" { // End Alphanumeric Section // Space - include "nbsp(zwnj2)"; + include "nbsp(zwnj2)" // Begin Modifier Mappings -- cgit v1.2.3