Hi xorg,

It was recommended to me in #xorg on irc that I should post this question to your list. I hope this is appropriate.

I have been attempting to define a keyboard mapping for typing Lushootseed (aka, Puget Salish) [iso639-3:lut]. Ideally, I will use the layout that Dave Sienko at Tulalip has already implemented in Tauvlesoft.

http://www.tulaliplushootseed.com/NWIC-103-2009/Lushootseed%20Font%20&%20Keyboard.htm

To do so, I created a lut.symbols file which handles much of the job (attached). Here's a snippet:

key <AD01>  { [         q,          Q,           U0251, U252 ]  };
key <AD02>  { [         w,          W,      U01BF,      U01F7 ] };
key <AD03>  { [         schwa,      E,  schwa,          SCHWA]  };
key <AD04>  { [         U0161,          R,    U0279,   U027E ]  };

However, I was unable to implement the mapping (shown in the link to tulaliplushootseed.com) completely because the output of many of the upper case (shifted) keystrokes should be a series of unicode characters rather than a single one. That is, I have to use combining diacritics. However, I was unable to define a series of characters in this file without generating an error. For example, each of the following attempts fail because, from what I can tell, there's no way to include more than a single unicode code-point as one of the values in the array. I haven't discovered any quoting or grouping mechanism.

---
key <AD01>  { [         q,        q̓,     U0251, U252 ]  };
---
---
key <AD01>  { [         q,        "q̓", U0251, U252 ]  };
---
---
key <AD01>  { [         q,        qU0313, U0251, U252 ]  };
---
---
key <AD01>  { [         q,        U0071U0313,     U0251, U252 ]  };
---
---
key <AD01>  { [         q,        U0071+U0313,    U0251, U252 ]  };
---

The question is this: is there a way to define keyboards that implement characters that include combining diacritics in the output of specific keys? Where can I find out more about what steps I should undertake to define an official keyboard for typing Lushootseed on xorg?

Please let me know if this question is more appropriate for another list or if I should refine the question in some way.

Best regards,
JC

// $XKeyboardConfig: xkbdesc/symbols/latin,v 1.3 2004/10/09 17:40:26 svu Exp $

// Common Latin alphabet layout
//
// $XFree86: xc/programs/xkbcomp/symbols/latin,v 1.3 2002/12/20 20:18:34 paulo 
Exp $

default partial

xkb_symbols "basic" {


key <AE01>  { [         1,     exclam,  onesuperior,   exclamdown ] };
key <AE02>  { [         2,         at,  twosuperior,    oneeighth ] };
key <AE03>  { [         3, numbersign, U00A3,    U20AC ]  };
key <AE04>  { [         4,     dollar,   onequarter,       cent ] };
key <AE05>  { [         5,    percent,      onehalf, threeeighths ] };
key <AE06>  { [         6, asciicircum, threequarters, fiveeighths ] };
key <AE07>  { [         7,  ampersand,    paragraph, seveneighths ] };
key <AE08>  { [         8,   asterisk,  bracketleft,    trademark ] };
key <AE09>  { [         9,  parenleft, bracketright,    plusminus ] };
key <AE10>  { [         0, parenright,   braceright,       degree ] };
key <AE11>  { [     minus, underscore,    U2014, questiondown ] };
key <AE12>  { [     equal,       plus, dead_cedilla,  dead_ogonek ] };

key <AD01>  { [         q,          Q,           U0251, U252 ]  };
key <AD02>  { [         w,          W,      U01BF,      U01F7 ] };
key <AD03>  { [         schwa,      E,  schwa,          SCHWA]  };
key <AD04>  { [         U0161,          R,    U0279,   U027E ]  };
key <AD05>  { [         t,          T,       theta,       THETA ] };
key <AD06>  { [         y,          Y,    leftarrow,          yen ] };
key <AD07>  { [         u,          U,    upsilon,      UPSILON ] };
key <AD08>  { [         i,          I,   idotless,     U026A ]  };
key <AD09>  { [         U02B7,          O,       U0254,     Ooblique ]  };
key <AD10>  { [         p,          P,        thorn,        THORN ] };
key <AD11>  { [bracketleft,  braceleft, dead_diaeresis, dead_abovering ] };
key <AD12>  { [bracketright, braceright, dead_tilde,  dead_macron ] };

key <AC01>  { [         a,          A,           ae,           AE ] };
key <AC02>  { [         s,          S,       ssharp,      section ] };
key <AC03>  { [         d,          D,          eth,          ETH ] };
key <AC04>  { [         U0294,          F,      dstroke,  ordfeminine ] };
key <AC05>  { [         g,          G,          U021D,  U021C ] };
key <AC06>  { [         h,          H,      hstroke,      Hstroke ] };
key <AC07>  { [         U01f0,          J ] };
key <AC08>  { [         k,          K,          kra,    ampersand ] };
key <AC09>  { [         l,          L,      lstroke,      Lstroke ] };
key <AC10>  { [ U026C,    colon, dead_acute, U02D0 ]  };
key <AC11>  { [apostrophe, quotedbl, dead_circumflex,  dead_caron ] };
key <TLDE>  { [     grave, asciitilde,      notsign,      notsign ] };

key <BKSL>  { [ backslash,        bar,   dead_grave,   dead_breve ] };
key <AB01>  { [     z,        Z,   guillemotleft,        less ] };
key <AB02>  { [         x,          X, guillemotright,    greater ] };
key <AB03>  { [         c,          C,         cent,    copyright ] };
key <AB04>  { [         U010D,      V, leftdoublequotemark, grave ] };
key <AB05>  { [         b,          B, rightdoublequotemark, apostrophe ] };
key <AB06>  { [         n,          N, eng, ENG ] };
key <AB07>  { [         m,          M,           mu,    masculine ] };
key <AB08>  { [     comma,       less, horizconnector,   multiply ] };
key <AB09>  { [    period,    greater, periodcentered,   division ] };
key <AB10>  { [     slash,   question, dead_belowdot, dead_abovedot ] };

};
_______________________________________________
xorg@lists.x.org: X.Org support
Archives: http://lists.freedesktop.org/archives/xorg
Info: http://lists.x.org/mailman/listinfo/xorg
Your subscription address: arch...@mail-archive.com

Reply via email to