ACC SHELL
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
<title>
Keyboard
</title>
<style type="text/css">body { background-color: #c8c8c8 }
h1 { color: #e00000 }
table { width: 100%/ border: none }
img { border: 0px }
.sigbox { background-color: #ffc080; border: solid thin #f96500 }
.sig { font: larger monospace }
.padtbl { background-color: #ffc080; padding: 10px; margin: 10px }
/* arrow */
.a { color: #606060 }
/* type, parameter */
.t, .p { color: #c05000 }
.pbox { width: 20% }
.descbox { }
.right { align: right }
.header {}
.footer { clear: both}
.menu { width: 10%; float: left }
.main { width: 90%; float: left }
</style>
</head>
<body>
<div class="header">
<i>YaST2 Developers Documentation:</i>
<a href="index.html">
<b>
Keyboard
</b>
</a>
<img class="right" alt="" src="/usr/share/doc/packages/yast2-devtools/images/yast2-mini.png" />
<hr />
</div>
<div class="menu">
<img alt="YaST" src="/usr/share/doc/packages/yast2-devtools/images/yast2-half.png" />
<br />
<br />
<a href="index.html">functions</a>
<br />
<a href="files.html">files</a>
<br />
<a href="intro.html">intro</a>
</div>
<div class="main">
<div class="sigbox">
<table class="padtbl">
<tr>
<td>
<h1>
Keyboard
</h1>
</td>
<td class="filecell">
Keyboard.ycp
</td>
</tr>
<tr>
<td>
Provide information regarding the keyboard.
</td>
</tr>
<tr>
<td>
<ul>
<li> Thomas Roelz <tom@suse.de></li>
<li> Maintainer: Jiri Suchomel <jsuchome@suse.cz></li>
</ul>
</td>
</tr>
<tr>
<td>
<p>This module has an unstable interface.</p>
</td>
</tr>
</table>
<table class="padtbl">
<tr>
<td>
Usage:
------
This module provides the following data for public access via Keyboard::<var-name>.
!!! These are to be used READ_ONLY !!!
Set in the constructor after the first import (only after probing):
kb_model
XkbLayout
unique_key
Set after having called SetKeyboard( keyboard ).
XkbModel
XkbVariant
XkbOptions
LeftAlt
RightAlt
ScrollLock
RightCtl
Apply
keymap
compose_table
current_kbd
ckb_cmd
xkb_cmd
This module provides the following functions for public access via Keyboard::<func-name>(...)
Keyboard() - Module constructor.
If saved module data exists in continue mode, these are read in.
Otherwise Hardware is probed.
MakeProposal() - return user-readable description of keyboard
Probe() - Force new hardware probing and set public data accordingly.
Save() - Save module data to /var/lib/YaST2/Keyboard_data.ycp
Restore() - Load module data from /var/lib/YaST2/Keyboard_data.ycp
SetKeyboard() - Set public data to values corresponding to the given language.
GetKeyboardForLanguage() - Get the keyboard language for a given language code.
Set() - Set the keyboard to the given keyboard language.
SetConsole() - Set the console keyboard to the given keyboard language.
SetX11() - Set the X11 keyboard to the given keyboard language.
Selection() - Get map of translated keyboards to be displayed in the GUI.
<h1>Imports</h1>
<ul>
<li>Arch</li>
<li>AsciiFile</li>
<li>Directory</li>
<li>HTML</li>
<li>Label</li>
<li>Language</li>
<li>Linuxrc</li>
<li>Misc</li>
<li>Mode</li>
<li>Package</li>
<li>ProductFeatures</li>
<li>Stage</li>
<li>XVersion</li>
</ul>
<h1>Global Variables</h1>
<ul>
<li>
<a href="#expert_on_entry">expert_on_entry</a>
</li>
<li>
<a href="#keyboard_on_entry">keyboard_on_entry</a>
</li>
</ul>
<h1>Global Functions</h1>
<ul>
<li>
<a href="#CalledRestore">CalledRestore ()</a>
</li>
<li>
<a href="#CheckKeyboardDuringUpdate">CheckKeyboardDuringUpdate (string destdir)</a>
</li>
<li>
<a href="#Export">Export ()</a>
</li>
<li>
<a href="#GetExpertValues">GetExpertValues ()</a>
</li>
<li>
<a href="#GetKeyboardForLanguage">GetKeyboardForLanguage (string sys_language, string default_keyboard)</a>
</li>
<li>
<a href="#GetKeyboardItems">GetKeyboardItems ()</a>
</li>
<li>
<a href="#GetX11KeyData">GetX11KeyData (string keymap)</a>
</li>
<li>
<a href="#Import">Import (map settings)</a>
</li>
<li>
<a href="#Keyboard">Keyboard ()</a>
</li>
<li>
<a href="#MakeProposal">MakeProposal (boolean force_reset, boolean language_changed)</a>
</li>
<li>
<a href="#Modified">Modified ()</a>
</li>
<li>
<a href="#Name">Name ()</a>
</li>
<li>
<a href="#Probe">Probe ()</a>
</li>
<li>
<a href="#Read">Read ()</a>
</li>
<li>
<a href="#Restore">Restore ()</a>
</li>
<li>
<a href="#Save">Save ()</a>
</li>
<li>
<a href="#Selection">Selection ()</a>
</li>
<li>
<a href="#Set">Set (string keyboard)</a>
</li>
<li>
<a href="#SetConsole">SetConsole (string keyboard)</a>
</li>
<li>
<a href="#SetExpertValues">SetExpertValues (map val)</a>
</li>
<li>
<a href="#SetKeyboard">SetKeyboard (string keyboard)</a>
</li>
<li>
<a href="#SetX11">SetX11 (string keyboard)</a>
</li>
<li>
<a href="#Summary">Summary ()</a>
</li>
<li>
<a href="#get_lang2keyboard">get_lang2keyboard ()</a>
</li>
<li>
<a href="#keymap2yast">keymap2yast ()</a>
</li>
</ul>
<h1>Local Functions</h1>
<ul>
<li>
<a href="#GetKbdSysconfig">GetKbdSysconfig ()</a>
</li>
<li>
<a href="#GetKeyboardName">GetKeyboardName (string kbd)</a>
</li>
<li>
<a href="#XkblayoutToKeyboard">XkblayoutToKeyboard (string x11_layout)</a>
</li>
<li>
<a href="#probe_settings">probe_settings ()</a>
</li>
<li>
<a href="#x11_setup_needed">x11_setup_needed ()</a>
</li>
</ul>
</td>
</tr>
</table>
</div>
<p />
<div class="sigbox">
<span class="sig" id="keyboard_on_entry">global
<b>keyboard_on_entry
<span class="a"> -> </span>
<span class="t">string</span>
</b>
</span>
</div>
<p>
keyboard set on start</p>
<div class="sigbox">
<span class="sig" id="expert_on_entry">global
<b>expert_on_entry
<span class="a"> -> </span>
<span class="t">map</span>
</b>
</span>
</div>
<p>
expert values on start</p>
<div class="sigbox">
<span class="sig" id="GetKbdSysconfig">local
<b>GetKbdSysconfig ()
<span class="a"> -> </span>
<span class="t">void</span>
</b>
</span>
</div>
<p>
GetKbdSysconfig()</p>
<div class="sigbox">
<span class="sig" id="keymap2yast">global
<b>keymap2yast ()
<span class="a"> -> </span>
<span class="t">map<string, string></span>
</b>
</span>
</div>
<p>
Return a map for conversion from keymap to YaST2 keyboard code()
Get the map of translated keyboard names.</p>
<dl>
<dt>
<b>Return value:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="t" />
</td>
<td class="descbox">of $[ keyboard_code : keyboard_name, ...] for all known
keyboards. 'keyboard_code' is used internally in Set and Get
functions. 'keyboard_name' is a user-readable string.
Uses Language::language for translation.
</td>
</tr>
</table>
</dd>
</dl>
<div class="sigbox">
<span class="sig" id="GetX11KeyData">global
<b>GetX11KeyData (string keymap)
<span class="a"> -> </span>
<span class="t">map</span>
</b>
</span>
</div>
<p>
GetX11KeyData()</p>
<p>
Get the keyboard info for X11 for the given keymap</p>
<dl>
<dt>
<b>Parameters:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="p">keymap</span>
</td>
<td class="descbox"></td>
</tr>
</table>
</dd>
</dl>
<dl>
<dt>
<b>Return value:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="t" />
</td>
<td class="descbox">containing the x11 config data
</td>
</tr>
</table>
</dd>
</dl>
<div class="sigbox">
<span class="sig" id="GetKeyboardName">local
<b>GetKeyboardName (string kbd)
<span class="a"> -> </span>
<span class="t">string</span>
</b>
</span>
</div>
<p>
Return human readable (and translated) name of the given keyboard map</p>
<dl>
<dt>
<b>Parameters:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="p">kbd</span>
</td>
<td class="descbox">keyboard map</td>
</tr>
</table>
</dd>
</dl>
<div class="sigbox">
<span class="sig" id="GetExpertValues">global
<b>GetExpertValues ()
<span class="a"> -> </span>
<span class="t">map</span>
</b>
</span>
</div>
<p>
GetExpertValues()</p>
<p>
Return the values for the various expert settings in a map</p>
<dl>
<dt>
<b>Return value:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="t" />
</td>
<td class="descbox">with values filled in
</td>
</tr>
</table>
</dd>
</dl>
<div class="sigbox">
<span class="sig" id="get_lang2keyboard">global
<b>get_lang2keyboard ()
<span class="a"> -> </span>
<span class="t">map</span>
</b>
</span>
</div>
<p>
Get the system_language --> keyboard_language conversion map.</p>
<dl>
<dt>
<b>Return value:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="t" />
</td>
<td class="descbox">conversion map
</td>
</tr>
</table>
</dd>
</dl>
<dl>
<dt>
<b>See</b>
</dt>
<dd>
<table>
<tr>
<td align="left" valign="top"><a href="#get_xkblayout2keyboard()">get_xkblayout2keyboard()</a></td>
</tr>
</table>
</dd>
</dl>
<div class="sigbox">
<span class="sig" id="GetKeyboardForLanguage">global
<b>GetKeyboardForLanguage (string sys_language, string default_keyboard)
<span class="a"> -> </span>
<span class="t">string</span>
</b>
</span>
</div>
<p>
GetKeyboardForLanguage()</p>
<p>
Get the keyboard language for the given system language.</p>
<dl>
<dt>
<b>Parameters:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="p">sys_language</span>
</td>
<td class="descbox"></td>
</tr>
<tr>
<td class="pbox">
<span class="p">default_keyboard</span>
</td>
<td class="descbox"></td>
</tr>
</table>
</dd>
</dl>
<dl>
<dt>
<b>Return value:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="t" />
</td>
<td class="descbox">The keyboard language for this language, e.g. "english-us"
or the default value if nothing found.
</td>
</tr>
</table>
</dd>
</dl>
<div class="sigbox">
<span class="sig" id="x11_setup_needed">local
<b>x11_setup_needed ()
<span class="a"> -> </span>
<span class="t">boolean</span>
</b>
</span>
</div>
<p>
run X11 configuration after inital boot</p>
<div class="sigbox">
<span class="sig" id="SetKeyboard">global
<b>SetKeyboard (string keyboard)
<span class="a"> -> </span>
<span class="t">boolean</span>
</b>
</span>
</div>
<p>
SetKeyboard()</p>
<p>
Set language specific module data to reflect the given keyboard layout.</p>
<dl>
<dt>
<b>Parameters:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="p">keyboard</span>
</td>
<td class="descbox"></td>
</tr>
</table>
</dd>
</dl>
<dl>
<dt>
<b>Return value:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="t" />
</td>
<td class="descbox">true - Success. Language set in public data.
false - Error. Language not set.
</td>
</tr>
</table>
</dd>
</dl>
<div class="sigbox">
<span class="sig" id="Restore">global
<b>Restore ()
<span class="a"> -> </span>
<span class="t">boolean</span>
</b>
</span>
</div>
<p>
Restore the the data from sysconfig.</p>
<dl>
<dt>
<b>Return value:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="t" />
</td>
<td class="descbox">true - Data could be restored
false - Restore not successful
</td>
</tr>
</table>
</dd>
</dl>
<dl>
<dt>
<b>See</b>
</dt>
<dd>
<table>
<tr>
<td align="left" valign="top"><a href="#Save()">Save()</a></td>
</tr>
</table>
</dd>
</dl>
<div class="sigbox">
<span class="sig" id="XkblayoutToKeyboard">local
<b>XkblayoutToKeyboard (string x11_layout)
<span class="a"> -> </span>
<span class="t">string</span>
</b>
</span>
</div>
<p>
XkblayoutToKeyboard()</p>
<p>
Convert X11 keyboard layout name to yast2 name for keyboard description.
e.g. "de" --> "german"</p>
<dl>
<dt>
<b>Parameters:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="p">x11_layout</span>
</td>
<td class="descbox"></td>
</tr>
</table>
</dd>
</dl>
<dl>
<dt>
<b>Return value:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="t" />
</td>
<td class="descbox">yast2 name for keyboard description</td>
</tr>
</table>
</dd>
</dl>
<div class="sigbox">
<span class="sig" id="probe_settings">local
<b>probe_settings ()
<span class="a"> -> </span>
<span class="t">void</span>
</b>
</span>
</div>
<p>
Probe keyboard and set local module data.</p>
<div class="sigbox">
<span class="sig" id="Probe">global
<b>Probe ()
<span class="a"> -> </span>
<span class="t">void</span>
</b>
</span>
</div>
<p>
Probe()</p>
<p>
Allow for intentional probing by applications.</p>
<dl>
<dt>
<b>See</b>
</dt>
<dd>
<table>
<tr>
<td align="left" valign="top"><a href="#Keyboard()">Keyboard()</a></td>
</tr>
</table>
</dd>
</dl>
<div class="sigbox">
<span class="sig" id="Keyboard">global
<b>Keyboard ()
<span class="a"> -> </span>
<span class="t">void</span>
</b>
</span>
</div>
<p>
Keyboard()</p>
<p>
The module constructor.
Sets the proprietary module data defined globally for public access.
This is done only once (and automatically) when the module is loaded for the first time.</p>
<dl>
<dt>
<b>See</b>
</dt>
<dd>
<table>
<tr>
<td align="left" valign="top"><a href="#Probe()">Probe()</a></td>
</tr>
</table>
</dd>
</dl>
<div class="sigbox">
<span class="sig" id="Read">global
<b>Read ()
<span class="a"> -> </span>
<span class="t">boolean</span>
</b>
</span>
</div>
<p>
Just store inital values - read was done in constructor</p>
<div class="sigbox">
<span class="sig" id="Modified">global
<b>Modified ()
<span class="a"> -> </span>
<span class="t">boolean</span>
</b>
</span>
</div>
<p>
was anything modified?</p>
<div class="sigbox">
<span class="sig" id="Save">global
<b>Save ()
<span class="a"> -> </span>
<span class="t">void</span>
</b>
</span>
</div>
<p>
Save the current data into a file to be read after a reboot.</p>
<div class="sigbox">
<span class="sig" id="Name">global
<b>Name ()
<span class="a"> -> </span>
<span class="t">string</span>
</b>
</span>
</div>
<p>
Name()
Just return the keyboard name, without setting anything.</p>
<dl>
<dt>
<b>Return value:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="t" />
</td>
<td class="descbox">user readable description.</td>
</tr>
</table>
</dd>
</dl>
<div class="sigbox">
<span class="sig" id="SetConsole">global
<b>SetConsole (string keyboard)
<span class="a"> -> </span>
<span class="t">string</span>
</b>
</span>
</div>
<p>
Set the console keyboard to the given keyboard language.</p>
<dl>
<dt>
<b>Parameters:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="p">keyboard</span>
</td>
<td class="descbox"></td>
</tr>
</table>
</dd>
</dl>
<dl>
<dt>
<b>Return value:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="t" />
</td>
<td class="descbox">The loadkeys command that has been executed to do it.
(also stored in Keyboard::ckb_cmd)</td>
</tr>
</table>
</dd>
</dl>
<div class="sigbox">
<span class="sig" id="SetX11">global
<b>SetX11 (string keyboard)
<span class="a"> -> </span>
<span class="t">string</span>
</b>
</span>
</div>
<p>
Set the X11 keyboard to the given keyboard language.</p>
<dl>
<dt>
<b>Parameters:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="p">keyboard</span>
</td>
<td class="descbox"></td>
</tr>
</table>
</dd>
</dl>
<dl>
<dt>
<b>Return value:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="t" />
</td>
<td class="descbox">The xkbset command that has been executed to do it.
(also stored in Keyboard::xkb_cmd)</td>
</tr>
</table>
</dd>
</dl>
<div class="sigbox">
<span class="sig" id="Set">global
<b>Set (string keyboard)
<span class="a"> -> </span>
<span class="t">void</span>
</b>
</span>
</div>
<p>
Set()</p>
<p>
Set the keyboard to the given keyboard language.</p>
<dl>
<dt>
<b>Parameters:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="p">keyboard</span>
</td>
<td class="descbox"></td>
</tr>
</table>
</dd>
</dl>
<dl>
<dt>
<b>Return value:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="t" />
</td>
<td class="descbox">
</td>
</tr>
</table>
</dd>
</dl>
<dl>
<dt>
<b>See</b>
</dt>
<dd>
<table>
<tr>
<td align="left" valign="top"><a href="#SetX11(), SetConsole()">SetX11(), SetConsole()</a></td>
</tr>
</table>
</dd>
</dl>
<div class="sigbox">
<span class="sig" id="MakeProposal">global
<b>MakeProposal (boolean force_reset, boolean language_changed)
<span class="a"> -> </span>
<span class="t">string</span>
</b>
</span>
</div>
<p>
MakeProposal()</p>
<p>
Return proposal string and set system keyboard.</p>
<dl>
<dt>
<b>Parameters:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="p">force_reset</span>
</td>
<td class="descbox"></td>
</tr>
<tr>
<td class="pbox">
<span class="p">language_changed</span>
</td>
<td class="descbox"></td>
</tr>
</table>
</dd>
</dl>
<dl>
<dt>
<b>Return value:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="t" />
</td>
<td class="descbox">user readable description.
If force_reset is true reset the module to the keyboard
stored in default_kbd.</td>
</tr>
</table>
</dd>
</dl>
<div class="sigbox">
<span class="sig" id="CalledRestore">global
<b>CalledRestore ()
<span class="a"> -> </span>
<span class="t">boolean</span>
</b>
</span>
</div>
<p>
CalledRestore()</p>
<p>
Return if the kbd values have already been read from
/etc/sysconfig/keyboard</p>
<div class="sigbox">
<span class="sig" id="Selection">global
<b>Selection ()
<span class="a"> -> </span>
<span class="t">map<string, string></span>
</b>
</span>
</div>
<p>
Selection()</p>
<p>
Get the map of translated keyboard names.</p>
<dl>
<dt>
<b>Return value:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="t" />
</td>
<td class="descbox">of $[ keyboard_code : keyboard_name, ...] for all known
keyboards. 'keyboard_code' is used internally in Set and Get
functions. 'keyboard_name' is a user-readable string.
</td>
</tr>
</table>
</dd>
</dl>
<div class="sigbox">
<span class="sig" id="GetKeyboardItems">global
<b>GetKeyboardItems ()
<span class="a"> -> </span>
<span class="t">list<term></span>
</b>
</span>
</div>
<p>
Return item list of keyboard items, sorted according to current language</p>
<div class="sigbox">
<span class="sig" id="SetExpertValues">global
<b>SetExpertValues (map val)
<span class="a"> -> </span>
<span class="t">void</span>
</b>
</span>
</div>
<p>
SetExpertValues()</p>
<p>
Set the values of the various expert setting</p>
<dl>
<dt>
<b>Parameters:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="p">val</span>
</td>
<td class="descbox">map with new values of expert settings</td>
</tr>
</table>
</dd>
</dl>
<div class="sigbox">
<span class="sig" id="CheckKeyboardDuringUpdate">global
<b>CheckKeyboardDuringUpdate (string destdir)
<span class="a"> -> </span>
<span class="t">void</span>
</b>
</span>
</div>
<p>
Special function for update mode only.
Checks for the keyboard layout on the system which should be updated and if it
differs from current one, opens a popup with the offer to change the layout.
See discussion in bug #71069</p>
<dl>
<dt>
<b>Parameters:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="p">destdir</span>
</td>
<td class="descbox">path to the mounted system to update (e.g. "/mnt")</td>
</tr>
</table>
</dd>
</dl>
<div class="sigbox">
<span class="sig" id="Import">global
<b>Import (map settings)
<span class="a"> -> </span>
<span class="t">boolean</span>
</b>
</span>
</div>
<p>
AutoYaST interface function: Get the Keyboard configuration from a map.</p>
<dl>
<dt>
<b>Parameters:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="p">settings</span>
</td>
<td class="descbox">imported map</td>
</tr>
</table>
</dd>
</dl>
<dl>
<dt>
<b>Return value:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="t" />
</td>
<td class="descbox">success</td>
</tr>
</table>
</dd>
</dl>
<div class="sigbox">
<span class="sig" id="Export">global
<b>Export ()
<span class="a"> -> </span>
<span class="t">map</span>
</b>
</span>
</div>
<p>
AutoYaST interface function: Return the Keyboard configuration as a map.</p>
<dl>
<dt>
<b>Return value:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="t" />
</td>
<td class="descbox">with the settings</td>
</tr>
</table>
</dd>
</dl>
<div class="sigbox">
<span class="sig" id="Summary">global
<b>Summary ()
<span class="a"> -> </span>
<span class="t">string</span>
</b>
</span>
</div>
<p>
AutoYaST interface function: Return the summary of Keyboard configuration as a map.</p>
<dl>
<dt>
<b>Return value:</b>
</dt>
<dd>
<table>
<tr>
<td class="pbox">
<span class="t" />
</td>
<td class="descbox">summary string (html)</td>
</tr>
</table>
</dd>
</dl>
</div>
<div class="footer">
<hr />
<i>YaST2 Developers Documentation</i>
<img class="right" alt="" src="/usr/share/doc/packages/yast2-devtools/images/yast2-mini.png" />
</div>
</body>
</html>
ACC SHELL 2018