Keyboard layouts: Difference between revisions

From OLPC
Jump to navigation Jump to search
(Thank you for these lovely pictures #notran)
m (Reverted edits by 173.180.213.92 (Talk) to last revision by Patrol)
Line 1: Line 1:
<noinclude>{{Google Translations}}{{TOCright}}</noinclude>
I just came across en.flossmanuals.net and I want to say: "What a beautiful picture!" I will surely contact you if we need a professional photographer.
{{Keyboard layouts}}

Linux provides a multitude of keyboard layouts. OLPC is adapting them to its specific keyboard hardware. In the meantime, unmodified Linux layouts for the less urgent [[writing systems]] and [[languages]] are included with the XO, and are nearly fully functional. The differences have to do with location of a few keys, especially the modifier keys (Alt, AltGr, Control, Shift, CapsLock, Fn, Num Lock, and so on), and the language/writing system/layout-switching key. The XO does not have the Windows and Menu keys common on other keyboards. Some of their functions can be mapped to Left and Right Hand keys. The times-divide key does double duty with keyboard change options, if more than one keyboard is set up in the system configuration. For any country that uses a non-Latin writing system, the local layout and English will be preconfigured at the factory. On those XOs, the times-divide key will have an image showing the Latin letters AB and some local letter. See, for example, the [[Arabic keyboard]] image.

==Keyboard design==
See [[Keyboard design]]

=Laptop keyboard hardware=
[http://laptop.media.mit.edu/laptopnews.nsf/2e76a5a80bc36cbf85256cd700545fa5/90a5ee47a28db49c85257200004cfe4b?OpenDocument OLPC News (2006-10-07)]

The team from Pentagram finalized the keyboard design for the B-Test machines. Six different versions of the keyboard are being made: Arabic, Portuguese, Spanish, Thai, Nigerian (for Hausa, Ìgbo, Yorùbá, Ẹdo, Ẹfik, Fulani, Kanuri, etc.), and US International.

=Soft keyboard layouts=

It is obvious that each typable writing system has to have its own keyboard layouts. In addition, there are numerous rearrangements of keyboards for specific languages and countries. Many languages require specific letters not used in other languages. As a result, most [[locales]] have their own keyboard layouts, in some cases several.

The following examples, from Debian Linux keyboard layouts, are all incomplete. For alphabets with upper- and lower-case, only the lower-case is shown. No attempt has been made to indicate combining diacritics and other composed characters. See the images linked from the various language names for further details.

See also [[Keyboard Files]] for an explanation of Linux keyboard definitions, and [[Debian keyboards]] for a list of keyboard layouts included in Debian Linux. Where a Debian keyboard file exists, its name is appended to the layout names below.

Setting up to be able to switch keyboard layouts currently requires editing /etc/X11/xorg.conf, as described at [[Customizing NAND images#Keyboard]]. The keyboard switching key is the times-divide key in the Latin keytops, but with a different graphic in some other keytop image sets for other alphabets.--[[User:Mokurai|Mokurai]] 09:09, 23 November 2007 (EST)

==Latin Alphabet==
Latin keyboards mostly fall into a few basic arrangements, with many lesser variations to accommodate special characters. The most common are

==QWERTY==
===US===
Standard English-language keyboard

setxkbmap -layout us

` 1 2 3 4 5 6 7 8 9 0 - =
q w e r t y u i o p [ ] \
a s d f g h j k l ; ´
z x c v b n m , . /

===[http://www.language-keyboard.com/azeri_latin.htm Azerbaijani]===
setxkbmap -layout az

` 1 2 3 4 5 6 7 8 9 0 - =
q ü e r t y u i o p ö ğ \
a s d f g h j k l ı ə
z x c v b n m ç ş .

===[http://www.language-keyboard.com/vietnamese.htm Vietnamese]===
setxkbmap -layout vn

ô

===Dvorak dvorak===

[http://www.language-keyboard.com/dvorak.htm US Alternate Standard Keyboard] (ASK)

[http://www.nssn.org/search/DetailResults.aspx?docid=337890&selnode= ANSI X3.207:1991] (previously X4.22-1983), "Alternate Keyboard Arrangement for Alphanumeric Machines"

setxkbmap -layout us -variant dvorak

` 1 2 3 4 5 6 7 8 9 0 [ ]
' , . p y f g c r l / = \
a o e u i d h t n s -
; q j k x b m w v z

Dvorak Classic, as originally designed by August Dvorak

setxkbmap -layout us -variant dvorak-classic

` [ 7 5 3 1 9 0 2 4 6 8 ]
/ , . p y f g c r l ' = \
a o e u i d h t n s -
; q j k x b m w v z

[http://www.language-keyboard.com/dvorak_left-handed.htm Dvorak left hand only]

setxkbmap -layout us -variant dvorak-l

` [ ] p f m l j 4 3 2 1 \
; q b y u r s o ^ 6 5 =
k c d t h e a z 8 7 -
' x g v w n i , 0 9

[http://www.language-keyboard.com/dvorak_right-handed.htm Dvorak right hand only]

setxkbmap -layout us -variant dvorak-r

` 1 2 3 4 j l m f p / [ ]
5 6 q > o r s u y b ; =
7 8 z a e h t d c k -
9 0 x , i n w v g '

Norwegian Dvorak

setxkbmap -layout no -variant dvorak

| 1 2 3 4 5 6 7 8 9 0 + \
å , . p y f g c r l ' ~ <
a o e u i d h t n s -
æ q j k x b m w v z

Swedish Dvorak

setxkbmap -layout se -variant dvorak

§ 1 2 3 4 5 6 7 8 9 0 +
å ä ö p y f g c r l , "'
a o e u i d h t n s -
. q j k x b m w v z

===[http://www.language-keyboard.com/french_layout.htm French AZERTY fr_FR]===

setxkbmap -layout fr

² & é " ' ( - è _ ç à ) =
a z e r t y u i o p ^$ *
q s d f g h j k l m ù
w x c v b n , ; : !

===[http://www.language-keyboard.com/german_keyboards.htm German QWERTZ de]===

setxkbmap -layout de

^ 1 2 3 4 5 6 7 8 9 0 ß
q w e r t z u i o p ü + #
a s d f g h j k l ö ä
y x c v b n m , . -

===Congo cd===

setxkbmap -layout cd

` & ́ ̀ ( { } ) ̂ ̌ ̈ - =
a w e r t y u i o p ɛ * "
q s d f g h j k l m ɔ
z x c v b n , ; ! '

===Slovenian QWERTZ ===

setxkbmap -layout si

¨ 1 2 3 4 5 6 7 8 9 0 - ' ž
q w e r t z u i o p š đ
a s d f g h j k l č ć
y x c v b n m , . -

Some variants of the keyboard layout exist with the ž and đ letters being moved arround

Due to a notebook type configuration of the XO keyboard this scheme would be most appropriate

¨ 1 2 3 4 5 6 7 8 9 0 ' +
q w e r t z u i o p š đ
a s d f g h j k l č ć ž
y x c v b n m , . -

==[http://www.language-keyboard.com/greek.htm Greek el]==
Follows various Latin layouts to some degree. There are a number of other Greek layouts, including Polytonic Greek for Classical literature.

setxkbmap -layout gr

` 1 2 3 4 5 6 7 8 9 0 - =
; ς ε ρ τ υ θ ι ο π [ ] \
α σ δ φ γ η ξ κ λ ''
ζ χ ψ ω β ν μ , . /

Recently the name of the Greek layout changed from "el" to "gr" in the xkeyboard-config package, used by Xorg. The current OLPC images use the "gr" layout for Greek.

The above line allows to write in Greek only. This causes issues when typing a new URL in the browser or trying to logon to a service where the credentials are in English. A recommended setxkbmap line would look like

setxkbmap -layout "gr,us" -option "grp:alt_shift_toggle" -variant ",extended"

The default layout is Greek, the user can switch between US English with Alt-Shift, and we use the "extended" variant of Greek that supports writing the Euro sign.

Alternatively, one can modify /etc/X11/xorg.conf adding
<pre>
Option "XkbLayout" "us,gr"
Option "XkbOptions" "grp:alt_shift_toggle"
</pre>

==Cyrillic==
There are four keyboard layouts for Russian, with variants for other languages written in Cyrillic. During the Soviet period, there were more than 200 of them. Several of the newly independent states of Central Asia have changed to other alphabets, according to national preference, including Arabic, Latin, and Mongolian. (The independent former Soviet republic of Mongolia returned to Cyrillic soon thereafter. The Chinese province of Mongolia continues to use its traditional alphabet.)

===[http://www.language-keyboard.com/russian_layout.htm Russian ru]===
This is the standard Russian layout for Linux systems.
ё 1 2 3 4 5 6 7 8 9 0 - =
й ц у к е н г ш щ з х ъ \
ф ы в а п р о л д ж э
я ч с м и т ь б ю /

===[http://www.language-keyboard.com/ukrainian_layout.htm Ukrainian ua]===
' 1 2 3 4 5 6 7 8 9 0 - =
й ц у к е н г ш щ з х ї ґ
ф і в а п р о л д ж є
я ч с м и т ь б ю /

===[http://www.language-keyboard.com/mongolian_cyrillic_layout.htm Mongolian mn]===

= 1 2 3 4 5 6 7 8 9 0 е щ
ф ц у ж э н г ш ү з к ъ !
й ы б ө а х р о л д п
я ч ё с м и т ь в ю

===[http://www.language-keyboard.com/uzbek_layout.htm Uzbek uz]===

ё 1 2 3 4 5 6 7 8 9 0 ў қ
й ц у к е н г ш х ъ ғ ҳ \
ф з в а п р о л д ж э
я ч с м и т ь б ю .

===[http://www.language-keyboard.com/stickers/tajiki_keyboard_stickers.jpg Tajik tj]===

ё 1 2 3 4 5 6 7 8 9 0 - =
й ц у к е н г ш ¸ з х ъ \
ф ы в а п р о л д ж э
я ч с м и т ь б ю /

==Indic==

[http://java.sun.com/products/jfc/tsc/articles/InputMethod/indiclayout.html INSCRIPT keyboards] for

===Bengali (Bangladesh) bd===
setxkbmap -layout bd

` ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ - =
ঙ য ড প ট চ জ হ গ ড় [ ] \
ৃ ু ি ব ্ া ক ত দ ; '
ঁ ো ে র ন স ম , . /

===[http://www.language-keyboard.com/stickers/bengali_keyboard_stickers.jpg Bengali (India) ben]===
setxkbmap -layout in -variant ben

১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ - ঋ
ৌ ৈ া ী ূ ব হ গ দ জ ড ় \
ো ে ্ ি ু প র ক ত চ ট
z ং ম ন ব ল স , . য়

setxkbmap -layout in -variant ben_probhat

` ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ‌ =
দ ূ ী র ট এ ু ি ও প ে ো \
া স ড ত গ হ জ ক ল ; '
য় শ চ আ ব ন ম , । ্

===[http://www.language-keyboard.com/hindi.htm Devanagari dev]===
setxkbmap -layout in -variant deva

ॊ १ २ ३ ४ ५ ६ ७ ८ ९ ० ः ृ
ौ ै ा ी ू ब ह ग द ज ड ़ ॉ
ो े ् ि ु प र क त च ट
ॆ ं म न व ल स , . य

===[http://www.language-keyboard.com/gujarati.htm Gujarati guj]===
setxkbmap -layout in -variant guj

૧ ૨ ૩ ૪ ૫ ૬ ૭ ૮ ૯ ૦ - ઋ
ૌ ૈ ા ી ૂ બ હ ગ દ જ ડ ઼ ૉ
ો ે ્ િ ુ પ ર ક ત ચ ટ
z ં મ ન વ લ સ , . ય

===[http://www.language-keyboard.com/punjabi.htm Punjabi in Gurmukhi alphabet gur]===
setxkbmap -layout in -variant guru

੧ ੨ ੩ ੪ ੫ ੬ ੭ ੮ ੯ ੦
ੌ ੈ ਾ ੀ ੂ ਬ ਹ ਗ ਦ ਜ ਡ ਼ \
ੋ ੇ ੍ ਿ ੁ ਪ ਰ ਕ ਤ ਚ ਟ
z ਂ ਮ ਨ ਵ ਲ ਸ , . ਯ

===[http://www.language-keyboard.com/kannada.htm Kannada kan]===
setxkbmap -layout in -variant kan

ೊ ೧ ೨ ೩ ೪ ೫ ೬ ೭ ೮ ೯ ೦ ಃ ೃ
ೌ ೈ ಾ ೀ ೂ ಬ ಹ ಗ ದ ಜ ಡ ಼ \
ೋ ೇ ್ ಿ ು ಪ ರ ಕ ತ ಚ ಟ
ೆ ಂ ಮ ನ ವ ಲ ಸ , . ಯ

===[http://www.language-keyboard.com/stickers/malayalam_keyboard_stickers.jpg Malayalam ml]===
setxkbmap -layout in -variant mal

ൊ ൧ ൨ ൩ ൪ ൫ ൬ ൭ ൮ ൯ ൦ - ൃ
ൌ ൈ ാ ീ ൂ ബ ഹ ഗ ദ ജ ഡ ‍ \
ോ േ ് ി ു പ ര ക ത ച ട
െ ം മ ന വ ല സ , . യ

===[http://www.language-keyboard.com/stickers/oriya_keyboard_stickers.jpg Oriya ori]===
setxkbmap -layout in -variant ori

୧ ୨ ୩ ୪ ୫ ୬ ୭ ୮ ୯ ୦ ଃ ୃ
ୌ ୈ ା ୀ ୂ ବ ହ ଗ ଦ ଜ ଡ ଼ \
ୋ େ ୍ ି ୁ ପ ର କ ତ ଚ ଟ
ଂ ମ ନ ଵ ଲ ସ , . ଯ

===[http://www.language-keyboard.com/tamil.htm Tamil tml]===
setxkbmap -layout in -variant tam

ொ ௧ ௨ ௩ ௪ ௫ ௬ ௭ ௮ ௯ ௰ ௱ ௲
ௌ ை ா ீ ூ ஹ ஞ \
ோ ே ் ி ு ப ர க த ச ட
ெ ஂ ம ந வ ல ஸ , . ய

setxkbmap -layout in -variant tam_unicode

ஃ ஜ ஷ ஸ ஹ
ஞ ற ந ச வ ல ர ை ொ ி ு \
ய ள ன க ப ா த ம ட ் ங
ண ஒ உ எ ெ ஔ அ இ



WHERE IS THE WORD "do" "doo" , CANNOT INSERT "ir" seperatly

===[http://www.language-keyboard.com/telugu.htm Telugu tel]===
setxkbmap -layout in -variant tel

ొ ౧ ౨ ౩ ౪ ౫ ౬ ౭ ౮ ౯ ౦ ః ృ
ౌ ై ా ీ ూ బ హ గ ద జ డ ఞ \
ో ే ్ ి ు ప ర క త చ ట
ె ం మ న వ ల స , . య

===[http://www.language-keyboard.com/languages/urdu_keyboards.htm Urdu (India) urd]===
setxkbmap -layout in -variant urd

<pre>
٣ ٢ ١ ۴ ۵ ٠ = - ٠ ٩ ٨ ٧
\ ] [ پ ه ی ء ے ت ر ع و ق
' ؛ ل ک ج ھ گ ف د س ا
/ ۔ ،م ن ب ط چ ش ز
</pre>

===Urdu (Pakistan) urd===
setxkbmap -layout pk -variant urd

<pre>
٣ ٢ ١ ۴ ۵ ٠ = - ٠ ٩ ٨ ٧
\ ] [ پ ه ی ء ے ت ر ع و ق
' ؛ ل ک ج ھ گ ف د س ا
/ ۔ م ن ب ط چ ش ز
</pre>

==Other==

===[http://www.language-keyboard.com/armenian_western.htm Armenian am]===

՝ ֆ ձ – , ։ ՞ ․ ՛ ) օ է ղ
ճ փ բ ս մ ո ւ կ ը թ ծ ց »
ջ վ գ ե ա ն ի տ հ պ ր
ժ դ չ յ զ լ ք խ շ ռ

===Thai===

[http://www.language-keyboard.com/thai_kedmanee.htm Kedmanee th]

setxkbmap -layout th -variant basic

_ ๅ / - ภ ถ ุ ึ ค ต จ ข ช
ๆ ไ ำ พ ะ ั ี ร น ย บ ล ฃ
ฟ ห ก ด เ ้ ่ า ส ว ง
ผ ป แ อ ิ ื ท ม ใ ฝ

[http://www.language-keyboard.com/languages/thai_pattachote_keyboards.htm Pattachote th_pat]

setxkbmap -layout th -variant pat

_ = ๒ ๓ ๔ ๕ ู ๗ ๘ ๙ ๐ ๑ ๖
็ ต ย อ ร ่ ด ม ว แ ใ ฌ ๅ
้ ท ง ก ั ี า น เ ไ ข
บ ป ล ห ิ ค ส ะ จ พ

TIS-820.2538 th_tis

setxkbmap -layout th -variant tis

๏ ฿ / - ภ ถ ุ ึ ค ต จ ข ช
ๆ ไ ำ พ ะ ั ี ร น ย บ ล ฅ
ฟ ห ก ด เ ้ ่ า ส ว ง
ผ ป แ อ ิ ื ท ม ใ ฝ

===[http://www.language-keyboard.com/lao_keyboards.htm Lao lo]===

‍ ຢ ຟ ໂ ຖ ຸ ູ ຄ ຕ ຈ ຂ ຊ ໍ
ົ ໄ ຳ ພ ະ ິ ີ ຣ ນ ຍ ບ ລ ໜ
ັ ຫ ກ ດ ເ ້ ່ າ ສ ວ ງ
ຜ ປ ແ ອ ຶ ື ທ ມ ໃ ຝ

===[http://www.language-keyboard.com/stickers/myanmar_keyboard_stickers.jpg Burmese mm]===

` ၁ ၂ ၃ ၄ ၅ ၆ ၇ ၈ ၉ ၀ - ၒ
ဪ ဲ ာ ီ ူ ဗ ဟ ဂ ဒ ဇ ဍ ည ၎
ဩ ဧ ္ ိ ု ပ ရ က တ စ ဋ
၌ ့ မ န ဗ လ သ , . /

===Dzongkha/[http://www.language-keyboard.com/stickers/tibetan_keyboard_stickers_(bod-yig).jpg Tibetan bt]===

[[Dzongkha]] is the principal language of [[Bhutan]].

༉ ༡ ༢ ༣ ༤ ༥ ༦ ༧ ༨ ༩ ༠ ༔ །
ཀ ཁ ག ང ི ུ ེ ོ ཅ ཆ ཇ ཉ ཝ
ཏ ཐ ད ན པ ཕ བ མ ཙ ཚ ཛ
ཞ ཟ འ ཡ ར ལ ཤ ས ཧ ཨ

===[http://www.language-keyboard.com/languages/cree_western_r_y-dot.htm Canadian Aboriginal Syllabics iu]===

Inuktitut

ᕻ ᖕ ᑉ ᕐ ᒃ ᑦ ᖅ ᒻ ᓐ ᓪ ᔾ - ᕝ
ᖏ ᐃ ᕿ ᑭ ᑎ ᓯ ᒥ ᓂ ᓕ ᔨ ᒡ ˙\
ᖑ ᐅ ᖁ ᑯ ᑐ ᓱ ᒧ ᓄ ᓗ ; '
ᖓ ᐊ ᖃ ᑲ ᑕ ᓴ ᒪ , . ᔭ

===[http://www.language-keyboard.com/hebrew.htm Hebrew il]===

; 1 2 3 4 5 6 7 8 9 0 - =
/ 'פ ם ן ו ט א ר ק
, ף ך ל ח י ע כ ג ד ש
. ץ ת צ מ נ ה ב ס ז
ז

===[http://www.language-keyboard.com/stickers/sinhala_keyboard_stickers.jpg Sinhala lk]===

` 1 2 3 4 5 6 7 8 9 0 - =
ඍ ඇ එ ර ට ය උ ඉ ඔ ප [ ] \
අ ස ඩ ෆ ග හ ජ ක ල ; '
ඤ ඬ ච ව බ න ම , . /

===[http://www.language-keyboard.com/georgian.htm Georgian ge]===

Latin phonetic layout ge_la

` 1 2 3 4 5 6 7 8 9 0 - =
ქ წ ე რ ტ ყ უ ი ო პ [ ] \
ა ს დ ფ გ ჰ ჯ კ ლ ; '
ზ ხ ც ვ ბ ნ მ , . /

Russian phonetic layout ge_ru

` 1 2 3 4 5 6 7 8 9 0 - =
ღ ც უ კ ე ნ გ შ წ ზ ხ ჯ \
ფ თ ვ ა პ რ ო ლ დ ჟ ძ
ჭ ჩ ს მ ი ტ ქ ბ ყ ჰ

===[http://www.language-keyboard.com/chinese_zhuyin.htm Chinese Zhuyin] (Bopomofo)===

This is one of several Zhuyin layouts. The letters ㄅㄆㄇㄈ down the left-hand side are roughly equivalent to "bpmf", and are commonly read Bopomofo, giving the alternate name of this writing system.

ㄅ ㄉ ˇ ˋ ㄓ ˊ ˙ ㄚ ㄞ ㄢ ㄦ =
ㄆ ㄊ ㄍ ㄐ ㄔ ㄗ ㄧ ㄛ ㄟ ㄣ [
ㄇ ㄋ ㄎ ㄑ ㄕ ㄘ ㄨ ㄜ ㄠ ㄤ ;
ㄈ ㄌ ㄏ ㄒ ㄖ ㄙ ㄩ ㄝ ㄡ ㄥ

=== [http://www.language-keyboard.com/japanese_ime.htm Japanese Hiragana] and Katakana ===

setxkbmap -layout jp

The base keyboard is QWERTY. To switch to Katakana, use the Switch Group key combination. You can set this key combination with the -option option of the setxkbmap command. For example, setxkbmap -option grp:ctrl_alt_toggle sets the Control-Alt combination for switching.

ヌ フ ア ウ エ オ ヤ ユ ヨ ワ ホ ヘ
タ テ イ ス カ ン ナ ニ ラ セ ゛ ゜ \
チ ト シ ハ キ ク マ ノ リ レ ケ
ツ サ ソ ヒ コ ミ モ ネ ル メ

=== [http://en.wikipedia.org/wiki/Korean_language_and_computers Korean Hangeul] ===

For Korean, the most popular keyboard layout is [http://en.wikipedia.org/wiki/Keyboard_layout#Dubeolshik%20Korean%20Hangeul 두벌식] (2beolshik). This keyboard arrangement is used in an [[Input methods|Input method]] that combines the letters into syllables. One types ㅎㅏㄴ ㄱㅡㄹ and gets 한글. The 두벌식 layout works well with US qwerty keyboards.

ㅂ ㅈ ㄷ ㄱ ㅅ ㅛ ㅕ ㅑ ㅐ ㅔ
ㅁ ㄴ ㅇ ㄹ ㅎ ㅗ ㅓ ㅏ ㅣ
ㅋ ㅌ ㅊ ㅍ ㅠ ㅜ ㅡ

===[http://www.language-keyboard.com/khmer.htm Cambodian kh]===

«​១​២​៣​៤​៥​៦​៧​៨​៩​០​ឥ​ឲ
ឆ​ឹ​េ​រ​ត​យ​ុ​ិ​ោ​ផ
ា​ស​ដ​ថ​ង​ហ​្​ក​ល​ើ​់
ឋ​ខ​ច​វ​ប​ន​ម​៼​។​៊

== More keyboards needed ==

* [http://www.language-keyboard.com/arabic_102.htm Arabic ar] and related, including [http://www.language-keyboard.com/stickers/hausa_keyboard_stickers_(arabic).jpg Hausa], [http://www.language-keyboard.com/farsi.htm Farsi], and more

* [http://www.language-keyboard.com/stickers/amharic_keyboard_stickers.jpg Ethiopic]

:Ethiopic can be typed on a syllabic keyboard or in a phonetic IME.

* [http://www.language-keyboard.com/divehi_typewriter.htm Thaana script, Dhivehi language mv]

* [http://www.language-keyboard.com/stickers/mongolian_keyboard_stickers_(traditional).jpg Mongolian] traditional alphabet

* [http://www.language-keyboard.com/cherokee.htm Cherokee]

* [http://www.language-keyboard.com/stickers/yoruba_keyboard_stickers.jpg Yoruba]

* [http://www.language-keyboard.com/stickers/igbo_keyboard_stickers.jpg Igbo]

* [http://www.language-keyboard.com/yiddish.htm Yiddish]

See also [[Input methods]] for typing languages whose character sets will not fit on a single keyboard layout.

== How to create a keyboard layout ==

See [[How to create a keyboard layout]] for instructions.

[[Category:Keyboard]]
[[Category:Language support]]
[[Category:Languages (international)]]

Revision as of 00:47, 16 February 2012

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



Linux provides a multitude of keyboard layouts. OLPC is adapting them to its specific keyboard hardware. In the meantime, unmodified Linux layouts for the less urgent writing systems and languages are included with the XO, and are nearly fully functional. The differences have to do with location of a few keys, especially the modifier keys (Alt, AltGr, Control, Shift, CapsLock, Fn, Num Lock, and so on), and the language/writing system/layout-switching key. The XO does not have the Windows and Menu keys common on other keyboards. Some of their functions can be mapped to Left and Right Hand keys. The times-divide key does double duty with keyboard change options, if more than one keyboard is set up in the system configuration. For any country that uses a non-Latin writing system, the local layout and English will be preconfigured at the factory. On those XOs, the times-divide key will have an image showing the Latin letters AB and some local letter. See, for example, the Arabic keyboard image.

Keyboard design

See Keyboard design

Laptop keyboard hardware

OLPC News (2006-10-07)

The team from Pentagram finalized the keyboard design for the B-Test machines. Six different versions of the keyboard are being made: Arabic, Portuguese, Spanish, Thai, Nigerian (for Hausa, Ìgbo, Yorùbá, Ẹdo, Ẹfik, Fulani, Kanuri, etc.), and US International.

Soft keyboard layouts

It is obvious that each typable writing system has to have its own keyboard layouts. In addition, there are numerous rearrangements of keyboards for specific languages and countries. Many languages require specific letters not used in other languages. As a result, most locales have their own keyboard layouts, in some cases several.

The following examples, from Debian Linux keyboard layouts, are all incomplete. For alphabets with upper- and lower-case, only the lower-case is shown. No attempt has been made to indicate combining diacritics and other composed characters. See the images linked from the various language names for further details.

See also Keyboard Files for an explanation of Linux keyboard definitions, and Debian keyboards for a list of keyboard layouts included in Debian Linux. Where a Debian keyboard file exists, its name is appended to the layout names below.

Setting up to be able to switch keyboard layouts currently requires editing /etc/X11/xorg.conf, as described at Customizing NAND images#Keyboard. The keyboard switching key is the times-divide key in the Latin keytops, but with a different graphic in some other keytop image sets for other alphabets.--Mokurai 09:09, 23 November 2007 (EST)

Latin Alphabet

Latin keyboards mostly fall into a few basic arrangements, with many lesser variations to accommodate special characters. The most common are

QWERTY

US

Standard English-language keyboard

setxkbmap -layout us

` 1 2 3 4 5 6 7 8 9 0 - =
   q w e r t y u i o p [ ] \
    a s d f g h j k l ; ´
     z x c v b n m , . /

Azerbaijani

setxkbmap -layout az

` 1 2 3 4 5 6 7 8 9 0 - =
   q ü e r t y u i o p ö ğ \
    a s d f g h j k l ı ə
     z x c v b n m ç ş .

Vietnamese

setxkbmap -layout vn

ô

Dvorak dvorak

US Alternate Standard Keyboard (ASK)

ANSI X3.207:1991 (previously X4.22-1983), "Alternate Keyboard Arrangement for Alphanumeric Machines"

setxkbmap -layout us -variant dvorak

` 1 2 3 4 5 6 7 8 9 0 [ ]
   ' , . p y f g c r l / = \
    a o e u i d h t n s -
     ; q j k x b m w v z

Dvorak Classic, as originally designed by August Dvorak

setxkbmap -layout us -variant dvorak-classic

` [ 7 5 3 1 9 0 2 4 6 8 ]
   / , . p y f g c r l ' = \
    a o e u i d h t n s -
     ; q j k x b m w v z

Dvorak left hand only

setxkbmap -layout us -variant dvorak-l

` [ ] p f m l j 4 3 2 1 \
   ; q b y u r s o ^ 6 5 =
    k c d t h e a z 8 7 -
     ' x g v w n i , 0 9

Dvorak right hand only

setxkbmap -layout us -variant dvorak-r

` 1 2 3 4 j l m f p / [ ]
   5 6 q > o r s u y b ; =
    7 8 z a e h t d c k -
     9 0 x , i n w v g '

Norwegian Dvorak

setxkbmap -layout no -variant dvorak

| 1 2 3 4 5 6 7 8 9 0 + \
   å , . p y f g c r l ' ~ <
    a o e u i d h t n s -
     æ q j k x b m w v z

Swedish Dvorak

setxkbmap -layout se -variant dvorak

§ 1 2 3 4 5 6 7 8 9 0 + 
   å ä ö p y f g c r l , "'
    a o e u i d h t n s -
     . q j k x b m w v z

French AZERTY fr_FR

setxkbmap -layout fr

² & é " ' ( - è _ ç à ) =
   a z e r t y u i o p ^$ *
    q s d f g h j k l m ù
     w x c v b n , ; : !

German QWERTZ de

setxkbmap -layout de

^ 1 2 3 4 5 6 7 8 9 0 ß 
   q w e r t z u i o p ü + #
    a s d f g h j k l ö ä
     y x c v b n m , . -

Congo cd

setxkbmap -layout cd

` & ́ ̀ ( { } ) ̂ ̌ ̈ - =
   a w e r t y u i o p ɛ * "
    q s d f g h j k l m ɔ 
     z x c v b n , ; ! '

Slovenian QWERTZ

setxkbmap -layout si

¨ 1 2 3 4 5 6 7 8 9 0 - ' ž
  q w e r t z u i o p š đ
   a s d f g h j k l č ć
    y x c v b n m , . -

Some variants of the keyboard layout exist with the ž and đ letters being moved arround

Due to a notebook type configuration of the XO keyboard this scheme would be most appropriate

¨ 1 2 3 4 5 6 7 8 9 0 ' + 
  q w e r t z u i o p š đ
   a s d f g h j k l č ć ž
    y x c v b n m , . -

Greek el

Follows various Latin layouts to some degree. There are a number of other Greek layouts, including Polytonic Greek for Classical literature.

setxkbmap -layout gr

` 1 2 3 4 5 6 7 8 9 0 - =
   ; ς ε ρ τ υ θ ι ο π [ ] \
    α σ δ φ γ η ξ κ λ 
     ζ χ ψ ω β ν μ , . /

Recently the name of the Greek layout changed from "el" to "gr" in the xkeyboard-config package, used by Xorg. The current OLPC images use the "gr" layout for Greek.

The above line allows to write in Greek only. This causes issues when typing a new URL in the browser or trying to logon to a service where the credentials are in English. A recommended setxkbmap line would look like

setxkbmap -layout "gr,us" -option "grp:alt_shift_toggle" -variant ",extended"

The default layout is Greek, the user can switch between US English with Alt-Shift, and we use the "extended" variant of Greek that supports writing the Euro sign.

Alternatively, one can modify /etc/X11/xorg.conf adding

	Option	"XkbLayout"	"us,gr"
	Option	"XkbOptions"	"grp:alt_shift_toggle"

Cyrillic

There are four keyboard layouts for Russian, with variants for other languages written in Cyrillic. During the Soviet period, there were more than 200 of them. Several of the newly independent states of Central Asia have changed to other alphabets, according to national preference, including Arabic, Latin, and Mongolian. (The independent former Soviet republic of Mongolia returned to Cyrillic soon thereafter. The Chinese province of Mongolia continues to use its traditional alphabet.)

Russian ru

This is the standard Russian layout for Linux systems.

ё 1 2 3 4 5 6 7 8 9 0 - =
   й ц у к е н г ш щ з х ъ \
    ф ы в а п р о л д ж э
     я ч с м и т ь б ю /

Ukrainian ua

' 1 2 3 4 5 6 7 8 9 0 - =
   й ц у к е н г ш щ з х ї ґ
    ф і в а п р о л д ж є
     я ч с м и т ь б ю /

Mongolian mn

= 1 2 3 4 5 6 7 8 9 0 е щ
   ф ц у ж э н г ш ү з к ъ !
    й ы б ө а х р о л д п
     я ч ё с м и т ь в ю

Uzbek uz

ё 1 2 3 4 5 6 7 8 9 0 ў қ
   й ц у к е н г ш х ъ ғ ҳ \
    ф з в а п р о л д ж э 
     я ч с м и т ь б ю .

Tajik tj

ё 1 2 3 4 5 6 7 8 9 0 - =
   й ц у к е н г ш ¸ з х ъ \
    ф ы в а п р о л д ж э
     я ч с м и т ь б ю /

Indic

INSCRIPT keyboards for

Bengali (Bangladesh) bd

setxkbmap -layout bd

` ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ - =
   ঙ য ড প ট চ জ হ গ ড় [ ] \
    ৃ ু ি ব ্ া ক ত দ ; '
     ঁ ো ে র ন স ম , . /

Bengali (India) ben

setxkbmap -layout in -variant ben

১  ২  ৩  ৪ ৫ ৬ ৭ ৮ ৯ ০ - ঋ
 ৌ ৈ া ী ূ ব হ গ দ জ ড ় \
  ো ে ্ ি ু প র ক ত চ ট
   z   ং ম ন ব ল স ,  . য়

setxkbmap -layout in -variant ben_probhat

` ১ ২ ৩ ৪ ৫ ৬ ৭ ৮ ৯ ০ ‌ =
   দ ূ ী র ট এ ু ি ও প ে ো \
    া স ড ত গ হ জ ক ল ; '
     য় শ চ আ ব ন ম , । ্

Devanagari dev

setxkbmap -layout in -variant deva

ॊ १ २ ३ ४ ५ ६ ७ ८ ९ ० ः ृ
   ौ ै ा ी ू ब ह ग द ज ड ़ ॉ
    ो े ् ि ु प र क त च ट
     ॆ ं म न व ल स , . य

Gujarati guj

setxkbmap -layout in -variant guj

૧ ૨ ૩ ૪ ૫ ૬ ૭ ૮ ૯ ૦ - ઋ
  ૌ ૈ ા ી ૂ બ હ ગ દ જ ડ ઼ ૉ
   ો ે ્ િ ુ પ ર ક ત ચ ટ
    z ં મ ન વ લ સ , . ય

Punjabi in Gurmukhi alphabet gur

setxkbmap -layout in -variant guru

੧ ੨ ੩ ੪  ੫ ੬ ੭ ੮ ੯ ੦  
  ੌ  ੈ ਾ  ੀ ੂ ਬ ਹ ਗ ਦ ਜ ਡ ਼ \
   ੋ  ੇ  ੍ ਿ ੁ ਪ ਰ ਕ ਤ ਚ ਟ
   z  ਂ ਮ ਨ ਵ ਲ ਸ ,  . ਯ

Kannada kan

setxkbmap -layout in -variant kan

ೊ   ೧  ೨  ೩  ೪  ೫ ೬ ೭ ೮ ೯ ೦ ಃ ೃ
  ೌ   ೈ  ಾ ೀ ೂ ಬ ಹ ಗ ದ ಜ ಡ ಼ \
   ೋ  ೇ  ್  ಿ  ು ಪ ರ ಕ ತ ಚ ಟ
    ೆ     ಂ ಮ ನ ವ ಲ ಸ  , .  ಯ

Malayalam ml

setxkbmap -layout in -variant mal

ൊ ൧  ൨ ൩ ൪ ൫ ൬ ൭ ൮ ൯ ൦ - ൃ
 ൌ ൈ ാ ീ ൂ ബ ഹ ഗ ദ ജ ഡ ‍ \
  ോ  േ  ് ി ു പ  ര  ക ത ച ട
   െ  ം  മ ന വ ല സ  ,  .  യ

Oriya ori

setxkbmap -layout in -variant ori

୧ ୨ ୩ ୪ ୫ ୬ ୭ ୮ ୯ ୦ ଃ ୃ
 ୌ ୈ ା ୀ ୂ ବ ହ ଗ ଦ ଜ ଡ ଼ \
  ୋ େ ୍ ି ୁ ପ ର କ ତ ଚ ଟ
      ଂ  ମ ନ ଵ ଲ ସ , . ଯ

Tamil tml

setxkbmap -layout in -variant tam

ொ  ௧   ௨ ௩ ௪ ௫  ௬ ௭ ௮ ௯ ௰ ௱ ௲
 ௌ  ை ா ீ  ூ  ஹ     ஞ \
  ோ  ே   ் ி  ு  ப  ர க த ச ட
   ெ   ஂ    ம ந வ  ல ஸ ,  . ய

setxkbmap -layout in -variant tam_unicode

ஃ   ஜ ஷ ஸ ஹ           
 ஞ ற ந ச வ ல ர ை ொ ி ு  \
  ய ள ன க ப ா த ம ட ் ங
   ண ஒ உ எ ெ ஔ அ இ


WHERE IS THE WORD "do" "doo" , CANNOT INSERT "ir" seperatly

Telugu tel

setxkbmap -layout in -variant tel

ొ ౧ ౨ ౩ ౪ ౫ ౬ ౭ ౮ ౯ ౦ ః ృ
    ౌ ై ా ీ ూ బ హ గ ద జ డ ఞ \
     ో ే ్ ి ు ప ర క త చ ట
      ె ం మ న వ ల స , . య

Urdu (India) urd

setxkbmap -layout in -variant urd

 
٣ ٢ ١ ۴ ۵ ٠                          = - ٠ ٩ ٨ ٧
\ ] [ پ ه ی ء ے ت ر ع و ق
' ؛ ل ک ج ھ گ ف د س ا
/ ۔ ،م ن ب ط چ ش ز

Urdu (Pakistan) urd

setxkbmap -layout pk -variant urd

٣ ٢ ١ ۴ ۵ ٠                          = - ٠ ٩ ٨ ٧
\ ] [ پ ه ی ء ے ت ر ع و ق
 ' ؛ ل ک ج ھ گ ف د س ا
/ ۔ م ن ب ط چ ش ز

Other

Armenian am

՝ ֆ ձ – , ։ ՞ ․ ՛ ) օ է ղ
   ճ փ բ ս մ ո ւ կ ը թ ծ ց »
    ջ վ գ ե ա ն ի տ հ պ ր
     ժ դ չ յ զ լ ք խ շ ռ

Thai

Kedmanee th

setxkbmap -layout th -variant basic

_ ๅ / - ภ ถ  ุ  ึ ค ต จ ข ช
   ๆ ไ ำ พ ะ  ั  ี ร น ย บ ล ฃ
    ฟ ห ก ด เ  ้ ่ า ส ว ง
     ผ ป แ อ  ิ  ื ท ม ใ ฝ

Pattachote th_pat

setxkbmap -layout th -variant pat

_ = ๒ ๓ ๔ ๕ ู ๗ ๘ ๙ ๐ ๑ ๖ 
   ็ ต ย อ ร ่ ด ม ว แ ใ ฌ ๅ
    ้ ท ง ก ั ี า น เ ไ ข
     บ ป ล ห ิ ค ส ะ จ พ

TIS-820.2538 th_tis

setxkbmap -layout th -variant tis

๏ ฿ / - ภ ถ ุ ึ ค ต จ ข ช
   ๆ ไ ำ พ ะ ั ี ร น ย บ ล ฅ
    ฟ ห ก ด เ  ้ ่ า ส ว ง
     ผ ป แ อ  ิ  ื ท ม ใ ฝ

Lao lo

‍ ຢ ຟ ໂ ຖ ຸ ູ ຄ ຕ ຈ ຂ ຊ ໍ
   ົ ໄ ຳ ພ ະ ິ ີ ຣ ນ ຍ ບ ລ ໜ
   ັ ຫ ກ ດ ເ ້ ່ າ ສ ວ ງ
   ຜ ປ ແ ອ ຶ ື ທ ມ ໃ ຝ

Burmese mm

` ၁    ၂ ၃ ၄ ၅ ၆ ၇ ၈ ၉ ၀ - ၒ
   ဪ  ဲ ာ  ီ  ူ ဗ ဟ ဂ ဒ ဇ ဍ ည ၎
    ဩ  ဧ  ္  ိ  ု ပ ရ က တ စ ဋ
      ၌   ့ မ န ဗ လ သ , . /

Dzongkha/Tibetan bt

Dzongkha is the principal language of Bhutan.

༉ ༡ ༢ ༣ ༤ ༥ ༦ ༧ ༨ ༩ ༠ ༔ །
   ཀ ཁ ག ང ི ུ ེ ོ ཅ ཆ ཇ ཉ ཝ
    ཏ ཐ ད ན པ ཕ བ མ ཙ ཚ ཛ
     ཞ ཟ འ ཡ ར ལ ཤ ས ཧ ཨ

Canadian Aboriginal Syllabics iu

Inuktitut

ᕻ ᖕ ᑉ ᕐ ᒃ ᑦ ᖅ ᒻ ᓐ ᓪ ᔾ - ᕝ
   ᖏ ᐃ ᕿ ᑭ ᑎ ᓯ ᒥ ᓂ ᓕ ᔨ ᒡ ˙\
    ᖑ ᐅ ᖁ ᑯ ᑐ ᓱ ᒧ ᓄ ᓗ ; ' 
     ᖓ ᐊ ᖃ ᑲ ᑕ ᓴ ᒪ , . ᔭ

Hebrew il

; 1 2 3 4 5 6 7 8 9 0 - =
   / 'פ ם ן ו ט א ר ק 
, ף ך ל ח י ע כ ג ד ש     
. ץ ת צ מ נ ה ב ס ז      
ז

Sinhala lk

` 1 2 3 4 5 6 7 8 9 0 - =
   ඍ ඇ එ ර ට ය උ ඉ ඔ ප [ ] \
    අ ස ඩ ෆ ග හ ජ ක ල ; '
     ඤ ඬ ච ව බ න ම , . /

Georgian ge

Latin phonetic layout ge_la

` 1 2 3 4 5 6 7 8 9 0 - =
   ქ წ ე რ ტ ყ უ ი ო პ [ ] \
    ა ს დ ფ გ ჰ ჯ კ ლ ; '
     ზ ხ ც ვ ბ ნ მ , . /

Russian phonetic layout ge_ru

` 1 2 3 4 5 6 7 8 9 0 - =
   ღ ც უ კ ე ნ გ შ წ ზ ხ ჯ \
    ფ თ ვ ა პ რ ო ლ დ ჟ ძ
     ჭ ჩ ს მ ი ტ ქ ბ ყ ჰ

Chinese Zhuyin (Bopomofo)

This is one of several Zhuyin layouts. The letters ㄅㄆㄇㄈ down the left-hand side are roughly equivalent to "bpmf", and are commonly read Bopomofo, giving the alternate name of this writing system.

ㄅ ㄉ ˇ ˋ ㄓ ˊ ˙ ㄚ ㄞ ㄢ ㄦ =
 ㄆ ㄊ ㄍ ㄐ ㄔ ㄗ ㄧ ㄛ ㄟ ㄣ [
  ㄇ ㄋ ㄎ ㄑ ㄕ ㄘ ㄨ ㄜ ㄠ ㄤ ;
   ㄈ ㄌ ㄏ ㄒ ㄖ ㄙ ㄩ ㄝ ㄡ ㄥ

Japanese Hiragana and Katakana

setxkbmap -layout jp

The base keyboard is QWERTY. To switch to Katakana, use the Switch Group key combination. You can set this key combination with the -option option of the setxkbmap command. For example, setxkbmap -option grp:ctrl_alt_toggle sets the Control-Alt combination for switching.

ヌ フ ア ウ エ オ ヤ ユ ヨ ワ ホ ヘ
 タ テ イ ス カ ン ナ ニ ラ セ ゛ ゜ \
  チ ト シ ハ キ ク マ ノ リ レ ケ
   ツ サ ソ ヒ コ ミ モ ネ ル メ

Korean Hangeul

For Korean, the most popular keyboard layout is 두벌식 (2beolshik). This keyboard arrangement is used in an Input method that combines the letters into syllables. One types ㅎㅏㄴ ㄱㅡㄹ and gets 한글. The 두벌식 layout works well with US qwerty keyboards.

ㅂ ㅈ ㄷ ㄱ ㅅ ㅛ ㅕ ㅑ ㅐ ㅔ
 ㅁ ㄴ ㅇ ㄹ ㅎ ㅗ ㅓ ㅏ ㅣ 
  ㅋ ㅌ ㅊ ㅍ ㅠ ㅜ ㅡ

Cambodian kh

«​១​២​៣​៤​៥​៦​៧​៨​៩​០​ឥ​ឲ
   ឆ​ឹ​េ​រ​ត​យ​ុ​ិ​ោ​ផ
    ា​ស​ដ​ថ​ង​ហ​្​ក​ល​ើ​់
     ឋ​ខ​ច​វ​ប​ន​ម​៼​។​៊

More keyboards needed

Ethiopic can be typed on a syllabic keyboard or in a phonetic IME.

See also Input methods for typing languages whose character sets will not fit on a single keyboard layout.

How to create a keyboard layout

See How to create a keyboard layout for instructions.