OLPC Khmer Keyboard: Difference between revisions

From OLPC
Jump to navigation Jump to search
m (Added link to Localisation/Changing Keyboard wiki page)
(→‎Gnome Desktop: Changed 13.2.9 to 13.2.7 version.)
 
(3 intermediate revisions by the same user not shown)
Line 34: Line 34:
XKBVARIANT="olpc2,olpc"
XKBVARIANT="olpc2,olpc"

Notes:

1. It is necessary to edit the file using sudo.

2. Do not edit the value of XKBMODEL which may be different to what is shown above.


Once you have edited and saved the file, restart the XO. Then, when using Sugar, to change the keyboard from US to Kh, press the "Multiply/Divide" key (far right, second row from bottom).
Once you have edited and saved the file, restart the XO. Then, when using Sugar, to change the keyboard from US to Kh, press the "Multiply/Divide" key (far right, second row from bottom).


So if you are using the Write activity in Sugar, you can switch between the keyboard sets by pressing the "Multiply/Divide" key as you enter characters in the document.
So if you are using the Write activity in Sugar, you can switch between the keyboard sets by pressing the "Multiply/Divide" key as you enter characters in the document.

Some keyboards do not have the "Multiply/Divide" key e.g. XO mechanical (non-membrane) keyboards and conventional USB keyboards. For these keyboards you can add an additional key combination to activate the toggle function.

If you edit the file as below, pressing both Shift keys will activate the toggle function.

XKBMODEL="olpc"
XKBLAYOUT="us,kh"
XKBVARIANT="olpc2,olpc"
XKBOPTIONS="grp:shifts_toggle"


It may be convenient to use a script to set up dual keyboard operation when preparing a batch of XO laptops.
The following snippet illustrates how this can be done:

echo " Set up the Khmer/English dual language keyboard"
XKBMODEL=`cat /etc/sysconfig/keyboard | grep "XKBMODEL" `
mv /etc/sysconfig/keyboard /etc/sysconfig/keyboard.bak # Backup the file
echo $XKBMODEL > /etc/sysconfig/keyboard
echo 'XKBLAYOUT="us,kh"' >> /etc/sysconfig/keyboard
echo 'XKBVARIANT="olpc2,olpc"' >> /etc/sysconfig/keyboard
echo 'XKBOPTIONS="grp:shifts_toggle"' >> /etc/sysconfig/keyboard
cp /etc/sysconfig/keyboard /etc/sysconfig/keyboard.new # Backup the file


===Gnome Desktop===

NOTE: This section only applies for XO Software earlier than 13.2.7. It is not necessary to apply this workaround in 13.2.7 and higher versions.

For XO software prior to 13.2.7, in dual-language laptops, the toggle key(s) does not work in Gnome by default, because Gnome takes control of keyboard settings, overriding OLPC OS.


To use with Gnome desktop, see [[Release_notes/13.2.6#Keyboard_language_switch_key_does_not_work_in_Gnome|a workaround]].
To use with Gnome desktop, see [[Release_notes/13.2.6#Keyboard_language_switch_key_does_not_work_in_Gnome|a workaround]].


Workaround is to open Gnome Terminal, paste this command, and then restart Gnome"
===Limitations===


gsettings set org.gnome.settings-daemon.plugins.keyboard active false
* On XO laptops with mechanical keyboard, there is no "Multiply/Divide" key, but another key can be set up.

Note: It is important to enter the above command '''without''' using sudo.

===Limitations===


* On XO laptops with mechanical keyboard, or external USB keyboards, there is no "Multiply/Divide" key, but another key combination can be set up as described above.


* On XO laptops running software versions earlier than 13.2.7 it is necessary to apply a workaround to get the keyboard toggle to work in Gnome.


[[Category: OLPC Cambodia]]
[[Category: OLPC Cambodia]]

Latest revision as of 23:22, 7 June 2018

  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



NB: Please be aware that changes to this keyboard are in discussion. See this localization list thread. cjl 04:15, 16 October 2008 (UTC). The proposed new keyboard is shown as well as the current keyboard. Kimquirk 01:46, 3 November 2008 (UTC)


Khmer keyboard layout proposal (new)

Khmer (proposed)


Khmer keyboard layout (current)

Khmer (final)


OLPC section of the XKB symbol file

A general description of how to change keyboard layouts is available here: Changing Keyboard Layouts

To use the Khmer layout along with the standard US layout, edit the /etc/sysconfig/keyboard file as follows:

The original contents of the file look like this:

 XKBMODEL="olpc"
 XKBLAYOUT="us"
 XKBVARIANT="olpc"

Edit the file (eg with sudo gedit ...) so that it looks like this:

 XKBMODEL="olpc"
 XKBLAYOUT="us,kh"
 XKBVARIANT="olpc2,olpc"
 

Notes:

1. It is necessary to edit the file using sudo.

2. Do not edit the value of XKBMODEL which may be different to what is shown above.


Once you have edited and saved the file, restart the XO. Then, when using Sugar, to change the keyboard from US to Kh, press the "Multiply/Divide" key (far right, second row from bottom).

So if you are using the Write activity in Sugar, you can switch between the keyboard sets by pressing the "Multiply/Divide" key as you enter characters in the document.

Some keyboards do not have the "Multiply/Divide" key e.g. XO mechanical (non-membrane) keyboards and conventional USB keyboards. For these keyboards you can add an additional key combination to activate the toggle function.

If you edit the file as below, pressing both Shift keys will activate the toggle function.

 XKBMODEL="olpc"
 XKBLAYOUT="us,kh"
 XKBVARIANT="olpc2,olpc"
 XKBOPTIONS="grp:shifts_toggle"


It may be convenient to use a script to set up dual keyboard operation when preparing a batch of XO laptops. The following snippet illustrates how this can be done:

 echo " Set up the Khmer/English dual language keyboard"
 XKBMODEL=`cat /etc/sysconfig/keyboard | grep "XKBMODEL" `
 mv /etc/sysconfig/keyboard /etc/sysconfig/keyboard.bak # Backup the file
 
 echo $XKBMODEL                         > /etc/sysconfig/keyboard
 echo 'XKBLAYOUT="us,kh"'              >> /etc/sysconfig/keyboard
 echo 'XKBVARIANT="olpc2,olpc"'        >> /etc/sysconfig/keyboard
 echo 'XKBOPTIONS="grp:shifts_toggle"' >> /etc/sysconfig/keyboard
 
 cp /etc/sysconfig/keyboard /etc/sysconfig/keyboard.new # Backup the file


Gnome Desktop

NOTE: This section only applies for XO Software earlier than 13.2.7. It is not necessary to apply this workaround in 13.2.7 and higher versions.

For XO software prior to 13.2.7, in dual-language laptops, the toggle key(s) does not work in Gnome by default, because Gnome takes control of keyboard settings, overriding OLPC OS.

To use with Gnome desktop, see a workaround.

Workaround is to open Gnome Terminal, paste this command, and then restart Gnome"

 gsettings set org.gnome.settings-daemon.plugins.keyboard active false

Note: It is important to enter the above command without using sudo.

Limitations

  • On XO laptops with mechanical keyboard, or external USB keyboards, there is no "Multiply/Divide" key, but another key combination can be set up as described above.
  • On XO laptops running software versions earlier than 13.2.7 it is necessary to apply a workaround to get the keyboard toggle to work in Gnome.