《NetBSD指南-8.1.2.wskbd》

NetBSD用户指南中文版、NetBSD pkgsrc指南中文版...

版主: lionux

主题已锁定
头像
leo
帖子: 2465
注册时间: 2010-01-21 3:27

《NetBSD指南-8.1.2.wskbd》

帖子 leo » 2010-03-02 15:16

8.1.2.1. 键盘映射
Wscons也允许设置键盘布局以将键盘映射成正常显示各种不同的国家字符的键盘。 例如将键盘布局设置成意大利式的键盘布局, 运行:

# wsconsctl -k -w encoding=it
encoding -> it
这个设定可以持续到下次重新启动。 要让其永久生效, 加 encoding 一行到 /etc/wscons.conf: 它将在下次重新启动后自动生效。

# cp /etc/wscons.conf /etc/wscons.conf.orig
# echo encoding it >>/etc/wscons.conf
请小心一些,并且按两次 > 字符. 如果你只按一次 >, 你将重写这个文件而不是添加一行. 这就是为什么我们总是在动一个标准文件前先备份它!

一个完全的键盘映射在 /usr/src/sys/dev/wscons/wsksymdef.h:

be - Belgian

de - German

dk - Danish

es - Spanish

fi - Finnish

fr - French

gr - Greek

hu - Hungarian

it - Italian

jp - Japanese

no - Norwegian

pl - Polish

pt - Portuguese

ru - Russian

sf - Swiss French

sg - Swiss German

sv - Swedish

ua - Ukrainian

uk - UK-English

us - US-English

也有一些"变种"可以用来改变键盘布局:

declk

dvorak

iopener

lk401

metaesc

nodead

swapctrlcaps

dvorak 使用德沃夏克键盘布局. swapctrlcaps 切换Caps Lock和左边Control键的功能。 iopener 是非标准的键盘布局,在Netpliance i-opener 并且将F1映射到Escape、而F2 到F12映射到F1到F11. 这些可以与其它的键盘布局组合使用,通过增加一个点后跟变种名称, 例如, us.iopener. 可以组合多个变种, 例如 us.dvorak.swapctrlcaps. 注意并非允许你随意组合。

你可以修改默认内核增加选项 options PCKBD_LAYOUT=KB_encoding 这里 encoding 是一个上述列表中的大写项(例如,PCKBD_LAYOUT=KB_FR). 变种可以被逐位或应该按位进入(例如: PCKBD_LAYOUT=KB_US|KB_SWAPCTRLCAPS).

在 X 下配置键盘布局在其它地方进行了描述.

8.1.2.1.1. 精通wscons-添加一个键盘布局
如果你喜欢的键盘布局没被支持, 你可以现在就给 src/sys/dev/wscons/wsksymdef.h 和 src/sys/dev/pckbport/wskbdmap_mfii.c 动个手术,做一个你自己的键盘布局。 确保 send-pr 一个 change-request PR 和你的作品, 这样其他人也可以分享了!

你可以通过使用wsconsctl测试你的键盘布局,而不应直接在键盘映射文件里修改键盘布局。 例如, 假设keycode 51 如果没有被改动过应该映射到一个逗号, 当按下'shift+它'应该映射到一个问号, 'alt+它'应该映射到一个分号,而'alt+shift+它'应该映射为冒号 , 键入下列命令:

wsconsctl -w "map += keycode 51=comma question semicolon colon"


8.1.2.2. 改变键盘重复速度
键盘重复速度可以用 wsconsctl(8) 工具来调整。有两个相关变量: repeat.del1, 用来指定字符重复开始前的延迟时间, 而 repeat.deln, 用来设定每个字符重复的延迟时间(一旦开始后)。

让我们看一个例子, 假设你想加速击键速度,你可以这样, 从命令行:

wsconsctl -w repeat.del1=300
wsconsctl -w repeat.deln=40
或, 你想每次启动系统后全自动设置, 你可以把下列几行加到 /etc/wscons.conf:

setvar repeat.del1=300
setvar repeat.deln=40

主题已锁定

在线用户

正浏览此版面之用户: 没有注册用户 和 1 访客