OLPC Urdu Keyboard

From OLPC
Jump to navigation Jump to search
  This page is monitored by the OLPC team.


OLPC keyboard layouts

Instructions for setting up keyboard switching in Terminal are on the Customizing NAND images page. On bilingual XOs, the multiplication/division key is replaced with a keyboard switching key.

Changing the language of the keyboard is independent of changing the language currently displayed. The language currently displayed can be changed by using the Language section of the Sugar Control Panel.

Membrane keyboard layouts

English (US international); Spanish (Latin America); Portuguese (Brazilian); Amharic (Ethiopic); Arabic; Nigerian (Igbo, Hausa, Yoruba); French; Thai; Urdu; Cyrillic (Russian); Turkish; Nepali; Mongolian; Kazakh; Devanagari; Uzbek; Pashto; Dari; Armenian; Khmer; Pulaar; Italian; Kreyòl; German; Chinese (Simplified); OLPC AZERTY

Non-membrane keyboard layouts

Starting with the XO-1.5 HS ("High School") edition, the XO laptop has a traditional (non-membrane) keyboard available as an option: English (US International); Spanish (Latin America);

Blank Keyboard Artwork

Artwork defining the inner dimensions of the membrane keyboard is available here: keyboard-blank.svg



Urdu keyboard layout

Urdu

Symbol Table

XKB KEY HID key unmodified shift alt gr alt gr shift ctrl fn comment
0x38 110 esc HK_01
0x79 140 HK_00 search
0x3A 112 XK_ViewMesh F1, analog 1
0x77 141 HK_02 analog 2
0x3B 113 XK_ViewFriends F2, analog 3
0x76 142 HK_07 analog 4
0x3C 114 XK_ViewHome F3, analog 5
0x75 143 HK_08 analog 6
0x3D 115 XK_ViewActivity F4, analog 7
0x3E 116 F5, analog 8
0x74 144 HK_09 analog 9
0x3F 117 F6, analog 10
0x73 145 HK_10 analog 11
0x40 118 F7, analog 12
0x72 146 HK_11 analog 13
0x41 119 F8, analog 14
0x42 120 F9, analog 15
0x71 147 HK_12 analog 16
0x43 121 F10, analog 17
0x70 148 HK_13 analog 18
0x44 122 F11, analog 19
0x6F 149 HK_14 analog 20
0x45 123 F12, analog 21
0x6E 150 HK_05 bulletin board
0x5D 129 XK_Menu HK_06 frame
key <TLDE> 0x01 1 grave asciitilde 0x1000654 0x100064B HAMZA ABOVE; FATHATAN
key <AE01> 0x1E 2 1 exclam 0x10006F1 0x1000603 ARABIC-INDIC DIGIT ONE; SIGN SAFHA
key <AE02> 0x1F 3 2 at 0x10006F2 0x1000602 C-@ ARABIC-INDIC DIGIT TWO; ARABIC FOOTNOTE MARKER
key <AE03> 0x20 4 3 numbersign 0x10006F3 0x1000601 ARABIC-INDIC DIGIT THREE; SIGN SANAH
key <AE04> 0x21 5 4 dollar 0x10006F4 0x1000600 ARABIC-INDIC DIGIT FOUR; ARABIC NUMBER SIGN
key <AE05> 0x22 6 5 percent 0x10006F5 0x100060F ARABIC-INDIC DIGIT FIVE; SIGN MISRA
key <AE06> 0x23 7 6 asciicircum 0x10006F6 0x100060E C-^ ARABIC-INDIC DIGIT SIX; ARABIC POETIC VERSE SIGN
key <AE07> 0x24 8 7 ampersand 0x10006F7 0x1000614 ARABIC-INDIC DIGIT SEVEN; SIGN TAKHALLUS
key <AE08> 0x25 9 8 asterisk 0x10006F8 0x1000612 ARABIC-INDIC DIGIT EIGHT; SIGN RAHMATULLAH ALAYHE
key <AE09> 0x26 10 9 parenleft 0x10006F9 0x1000611 ARABIC-INDIC DIGIT NINE; SIGN ALAYHE ASSALLAM
key <AE10> 0x27 11 0 parenright 0x10006F0 0x1000613 ARABIC-INDIC DIGIT ZERO; SIGN RADI ALLAHOU ANHU
key <AE11> 0x2D 12 minus underscore minus 0x1000610 C-_ SALLALLAHOU; SIGN ALAYHE WASSALLAM
key <AE12> 0x2E 13 equal plus equal plus
key <BKSP> 0x2A 15 backspace delete
key <TAB> 0x2B 16 tab back tab
key <AD01> 0x14 17 q Q 0x1000642 0x1000652 C-Q QAF; SUKUN
key <AD02> 0x1A 18 w W 0x1000648 0x1000651 C-W FATHATAN; SHADDA
key <AD03> 0x08 19 e E 0x1000639 0x1000670 C-E AIN; SUPERSCRIPT ALEF
key <AD04> 0x15 20 r R 0x1000631 0x1000691 C-R REH; RREH
key <AD05> 0x17 21 t T 0x100062A 0x1000679 C-T TEH; TTEH
key <AD06> 0x1C 22 y Y 0x10006D2 0x100064E C-Y YEH BARREE; FATHA
key <AD07> 0x18 23 u U 0x1000621 0x1000626 C-U HAMZA; YEH WITH HAMZA ABOVE
key <AD08> 0x0C 24 i I 0x10006CC 0x1000650 C-I FARSI YEH; KASRA
key <AD09> 0x12 25 o O 0x10006C1 0x10006C3 C-O HEH GOAL; TEH MARBUTA GOAL
key <AD10> 0x13 26 p P 0x100067E 0x100064F C-P PEH; DAMMA
key <AD11> 0x2F 27 [ { 0x100FDFD 0x100FDFA C-[ BISMILLAH AR-RAHMAN AR-RAHEEM; SALLALLAHOU ALAYHE WASALLAM
key <AD12> 0x30 28 ] } 0x100FDF2 0x100FDFB C-] ALLAH ISOLATED FORM; JALLAJALALOUHOU
key <CAPS> 0xE0 58 control
key <AC01> 0x04 31 a A 0x1000627 0x1000622 C-A ALEF; ALEF WITH MADDA ABOVE
key <AC02> 0x16 32 s S 0x1000633 0x1000635 C-S SEEN; SAD
key <AC03> 0x07 33 d D 0x100062F 0x1000688 C-D DAL; DDAL
key <AC04> 0x09 34 f F 0x1000641 C-F FEH
key <AC05> 0x0A 35 g G 0x10006AF 0x100063A C-G GAF; GHAIN
key <AC06> 0x0B 36 h H 0x100062D 0x10006BE C-H HAH; HEH DOACHASHMEE
key <AC07> 0x0D 37 j J 0x100062C 0x1000636 C-J JEEM; DAD
key <AC08> 0x0E 38 k K 0x10006A9 0x100062E C-K KEHEH; KHAH
key <AC09> 0x0F 39 l L 0x1000644 0x1000656 C-L LAM; SUBSCRIPT ALEF
key <AC10> 0x33 40 semicolon colon 0x100061B colon
key <AC11> 0x34 41 apostrophe quotedbl apostrophe quotedbl
key <BKSL> 0x31 42 backslash bar backslash bar C-\
key <RTRN> 0x28 43 enter insert
key <LFSH> 0xE1 44 left shift
key <AB01> 0x1D 46 z Z 0x1000632 0x1000630 C-Z ZAIN; THAL
key <AB02> 0x1B 47 x X 0x1000634 0x1000698 C-X SHEEN; JEH
key <AB03> 0x06 48 c C 0x1000686 0x100062B C-C TCHEH; THEH
key <AB04> 0x19 49 v V 0x1000637 0x1000638 C-V TAH; ZAH
key <AB05> 0x05 50 b B 0x1000628 C-B BEH
key <AB06> 0x11 51 n N 0x1000646 0x10006BA C-N NOON; NOON GHUNNA
key <AB07> 0x10 52 m M 0x1000645 0x1000658 C-M MEEM; MARK NOON GHUNNA
key <AB08> 0x36 53 comma less 0x100060C 0x1000657 ARABIC COMMA; INVERTED DAMMA
key <AB09> 0x37 54 period greater 0x10006D4 0x100066B ARABIC FULL STOP; DECIMAL SEPARATOR
key <AB10> 0x38 55 slash question slash 0x100061F ARABIC QUESTION MARK
key <RTSH> 0xE5 57 right shift
key <UP> 0x52 83 up arrow page up
key <LSGT> 0x73 56 ISO_Next_Group ISO_Prev_Group ISO_Next_Group ISO_Prev_Group HK_04
0xE1 59 fn
0x5B 127 XK_Grab_L
key <LALT> 0xE2 60 alt
key <SPCE> 0x2C 61 space XK_ViewSource
key <RALT> 0xE6 62 alt gr
0x5C 128 XK_Grab_R HK_03
key <LEFT> 0x50 79 left arrow home
key <DOWN> 0x51 84 down arrow page down
key <RGHT> 0x4F 89 right arrow end

OLPC section of the XKB symbol file

To use the XKB Urdu layout along with US layout, you may need to edit /etc/X11/xorg.conf. This will make "us" the first and "pk" a second layout:

XkbLayout "us,pk"
XkbVariant "olpc2,olpc"
partial alphanumeric_keys
xkb_symbols "olpc" {

// Contact: Walter Bender <walter@laptop.org>

  include "pk(ara)"

  // Keys '~' - '='
  key <TLDE> {  [ 0x1000654, 0x100064B ] };
  key <AE01> {  [ 0x10006F1, 0x1000603 ] };
  key <AE02> {  [ 0x10006F2, 0x1000602 ] };
  key <AE03> {  [ 0x10006F3, 0x1000601 ] };
  key <AE04> {  [ 0x10006F4, 0x1000600 ] };
  key <AE05> {  [ 0x10006F5, 0x100060F ] };
  key <AE06> {  [ 0x10006F6, 0x100060E ] };
  key <AE07> {  [ 0x10006F7, 0x1000614 ] };
  key <AE08> {  [ 0x10006F8, 0x1000612 ] };
  key <AE09> {  [ 0x10006F9, 0x1000611 ] };
  key <AE10> {  [ 0x10006F0, 0x1000613 ] };
  key <AE11> {  [ minus,     0x1000610 ] };
  key <AE12> {  [ equal, plus ] };

  //Keys 'Q' - ']'
  key <AD01> {  [ 0x1000642, 0x1000652 ] };
  key <AD02> {  [ 0x1000648, 0x1000651 ] };
  key <AD03> {  [ 0x1000639, 0x1000670 ] };
  key <AD04> {  [ 0x1000631, 0x1000691 ] };
  key <AD05> {  [ 0x100062A, 0x1000679 ] };
  key <AD06> {  [ 0x10006D2, 0x100064E ] };
  key <AD07> {  [ 0x1000621, 0x1000626 ] };
  key <AD08> {  [ 0x10006CC, 0x1000650 ] };
  key <AD09> {  [ 0x10006C1, 0x10006C3 ] };
  key <AD10> {  [ 0x100067E, 0x100064F ] };
  key <AD12> {  [ 0x100FDFD, 0x100FDFA ] };
  key <AD11> {  [ 0x100FDF2, 0x100FDFB ] };


  // Keys 'A' - '''
  key <AC01> {  [ 0x1000627, 0x1000622 ] };
  key <AC02> {  [ 0x1000633, 0x1000635 ] };
  key <AC03> {  [ 0x100062F, 0x1000688 ] };
  key <AC04> {  [ 0x1000641 ] }; //shift key not available
  key <AC05> {  [ 0x10006AF, 0x100063A ] };
  key <AC06> {  [ 0x100062D, 0x10006BE ] };
  key <AC07> {  [ 0x100062C, 0x1000636 ] };
  key <AC08> {  [ 0x10006A9, 0x100062E ] };
  key <AC09> {  [ 0x1000644, 0x1000656 ] };
  key <AC10> {  [ 0x100061B, colon ] };
  key <AC11> {  [ quote, doublequote  ] };


  key <BKSL> { [  backslash, bar  ] };
  key <SPCE> { [  space  ] };

  // Keys: 'Z' - '/'
  key <AB01> {  [ 0x1000632, 0x1000630 ] };
  key <AB02> {  [ 0x1000634, 0x1000698 ] };
  key <AB03> {  [ 0x1000686, 0x100062B ] };
  key <AB04> {  [ 0x1000637, 0x1000638 ] };
  key <AB05> {  [ 0x1000628 ] }; //shift key unavailable
  key <AB06> {  [ 0x1000646, 0x10006BA ] };
  key <AB07> {  [ 0x1000645, 0x1000658 ] };
  key <AB08> {  [ 0x100060C, 0x1000657 ] };
  key <AB09> {  [ 0x10006D4, 0x100066B ] };
  key <AB10> {  [ slash,     0x100061F ] };

  //language key
  key <I219> {  [ISO_Next_Group  ,  ISO_Prev_Group      ]     };
};