Background
==========
Currently the keyboard configurations (layout, keyclick, beeper frequency etc)
are stored in file /etc/default/kbd.
During installation, the sysidkbd (PSARC/2006/390) will get the keyboard
configurations (so far only keyboard layout) and save the configurations into
eeprom(1M) or /etc/default/kbd according to platform. When system boots up,
service svc:/system/keymap:default will set the saved keyboard
configurations into kernel.
Users can modify file /etc/default/kbd to change kernel keyboard configurations.
Requirement
===========
For Solaris Next, there will be some system configuration changes for the
install process. New installer will use SMF profile to customize
keyboard configurations. Keyboard configurations will be stored in
SMF service properties. And sysidkbd will be removed. So the content of
legacy keyboard configuration file - /etc/default/kbd should be moved to be
properties of system/keymap service. See [1] for example of SMF profile
which would serve for keyboard configuration.
Proposal
========
1. Export keyboard configurations from /etc/default/kbd and import them to
properties of svc:/system/keymap:default - see [2] for keyboard service
properties. Property value descriptions and constraints will be added in
the SMF template.
2. Obsolete file /etc/default/kbd. This file will no longer exist in the system
3. Modify existing /etc/default/kbd consumers, so that they operate on SMF
property instead of the file. The following consumer was found in ON gate
kbd(1) - usr/src/cmd/kbd/kbd.c
For this consumer, file /etc/default/kbd is only referred in this usage:
kbd -i [-d keyboard device]
This project will update the implementation of 'kbd -i' so that
it will not read file /etc/default/kbd, but get keyboard configuration
values directly from the keymap service. The man page for kbd will
also be updated. See [3] for kbd(1) related PSARC cases.
Exported Interfaces
===================
Name Commitment Comments
-----------------------------------------------------------------------
keymap Committed keyboard configuration
SMF property group
keymap.keyboard_abort
keymap.keyclick
keymap.repeat_delay
keymap.repeat_rate
keymap.layout
keymap.kbd_beeper_freq
keymap.console_beeper_freq
References
==========
[1] Example of SMF profile configuring keyboard properties
[2] keyboard properties in svc:/system/keymap:default
[3] kbd(1) related PSARC cases
PSARC/2002/771 - Layout option to "kbd"
PSARC/2005/535 - zero-CountryCode keyboard layout support in kernel
PSARC/2008/193 - kbd -s output change from "Taiwanese" to "Traditional-Chinese"