I think this is a good change. But I'd like to see more sample values
for the valid values of these properties -- the type of astring is a
bit .. hmm... non-specific. (And furthermore, perhaps some of the
values should actually take more specifically typed data, e.g. numbers
or booleans?
Hi Garrett and Liane,
The properties in system/keymap come from the file - /etc/default/kbd.
The file - /etc/default/kbd is to give users an interface to change
keyboard configurations. Currently /etc/default/kbd provides no default
value for keyboard configurations. The default keyboard configurations
are set by kernel drivers or modules. For example, keyboard repeat rate
and delay is set in kbtrans module. So I set null to the values of these
properties. And for some properties(repeat rate and beeper frequency),
their values are integer. But if I use 'integer' type to store these
properties, I need to set default values for them(null is invalid). So I
store the values of these properties as 'astring' type. The values of
these properties will be checked, when users configure keyboard using
system/keymap service. Thanks.
------
Regards,
Felix
Thanks.
- Garrett
On 05/20/10 01:08 AM, Frank Che wrote:
I'm sponsoring this case for Felix Feng. It is to convert keyboard
configurations supported by /etc/default/kbd to be properties of the
system/keymap service, and obsolete that file. The release binding is
minor. Timer is set to 05/27/2010.
-Frank
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.
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
<service_bundle type='profile' name='default'>
<service name='system/keymap' version='1' type='service'>
<instance name='default' enabled='true'>
<property_group name='keyboard-0' type='application'>
<propval name='layout' type='astring'
value='US-English' />
</property_group>
</instance>
</service>
</service_bundle>
[2] keyboard properties in svc:/system/keymap:default
<property_group name='keymap' type='system'>
<propval name='KEYBOARD_ABORT' type='astring' value='' />
<propval name='KEYCLICK' type='astring' value='' />
<propval name='REPEAT_DELAY' type='astring' value='' />
<propval name='REPEAT_RATE' type='astring' value='' />
<propval name='LAYOUT' type='astring' value='' />
<propval name='KBD_BEEPER_FREQ' type='astring' value='' />
<propval name='CONSOLE_BEEPER_FREQ' type='astring' value='' />
</property_group>
[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"
_______________________________________________
opensolaris-arc mailing list
opensolaris-arc@opensolaris.org