2013年5月3日星期五

树莓派折腾记录:键盘映射和控制台中文

在控制台上显示中文, fbterm 才是正道。使用方法 https://wiki.archlinux.org/index.php/Fbterm_(简体中文)
非根用户可使用键盘快捷方式 sudo chmod u+s /usr/bin/fbterm

fbterm 字体变白:
在 .bashrc 里加上
if [ "$TERM" = "linux" ]; then
echo -en "\e]P7ffffff"
fi
(实际是修改调色板,见 http://code.google.com/p/fbterm/ ,7本来是亮灰,个人觉得亮灰挺柔和的,没改)

歌颂伟大的 @csslayer 同学~中文输入用 fictx-fbterm , http://forum.ubuntu.org.cn/viewtopic.php?p=2708725
启动使用 fcitx-fbterm-helper -l
CTRL_SPACE 调出输入法,从中文切换到英文会有两个奇怪的字符, @csslayer 说是 fbterm 的问题。
fcitx 随 X 启动( http://tieba.baidu.com/p/1616335163 ): 编辑 /etc/xdg/lxsession/LXDE/autostart 开头加一行 @fcitx

按键映射
给树莓派用的键盘是 POLAR PTK-300 的代工厂贴自己牌子做的维尔晶 G13 (淘宝关键词"超迷你2.4G无线键盘带轨迹球鼠标",放毒文 http://www.mobile01.com/topicdetail.php?f=351&t=2491129 )。我主要是看中其键鼠一体有轨迹球,键盘按键大小跟普通键盘相差不太远(空中飞鼠之类的 pass ),有滚轮有中键( pass 掉一堆,话说我出掉罗技自由魔板除了蓝牙在 Linux 下驱动常常抽风之外最大的痛苦就是没有中键单击超级受不了),可以单手操作鼠标(空出一只手可以撸(?)……这样基本上就没什么别的选择了)。没有 Home End PageUp PageDown 看书不爽,不过有一堆多媒体键,自己动手丰衣足食就可以了~(一开始用了 xbindkeys ,只有 X 下可用,也有点大材小用。)
控制台和 X 下的按键映射是两套,分别做。
下面是我自己的配置,右侧一列四个多媒体键定义为上下翻页和Home/End,轨迹球旁边的键定义为下翻页。

控制台下的按键映射
参考 http://blog.chinaunix.net/uid-24362804-id-3310242.html Linux 键盘映射的修改(Console)
kbd 的 /etc/kbd/remap 可以改,改了没用, http://www.noah.org/wiki/CapsLock_Remap_Howto 提到了。
安装 console-tools ,会卸载 kbd 。
用 showkey 看键码(按一次键出来两个十六进制数,用前一个)。 dumpkeys 可以看到当前的键盘映射, loadkeys 可以应用修改好的键盘映射。
编辑 /etc/console-tools/remap ,增加如下行
========
/^.\+keycode \(144\|163\|164\|165\|166\) = .*/d;
# 轨迹球下方的按键,映射成下翻页
s/^keycode 144 =.*/keycode 144 = Next\n\tshift keycode 144 = Scroll_Forward\n\tshift shiftl keycode 144 = Scroll_Forward\n\tshift shiftr keycode 144 = Scroll_Forward\n\tshift shiftl shiftr keycode 144 = Scroll_Forward\n\tshift ctrll keycode 144 = Scroll_Forward\n\tshift shiftl ctrll keycode 144 = Scroll_Forward\n\tshift shiftr ctrll keycode 144 = Scroll_Forward\n\tshift shiftl shiftr ctrll keycode 144 = Scroll_Forward/;
#播放/暂停 映射成 上翻页
s/^keycode 164 =.*/keycode 164 = Prior\n\tshift keycode 164 = Scroll_Backward\n\tshift shiftl keycode 164 = Scroll_Backward\n\tshift shiftr keycode 164 = Scroll_Backward\n\tshift shiftl shiftr keycode 164 = Scroll_Backward\n\tshift ctrll keycode 164 = Scroll_Backward\n\tshift shiftl ctrll keycode 164 = Scroll_Backward\n\tshift shiftr ctrll keycode 164 = Scroll_Backward\n\tshift shiftl shiftr ctrll keycode 164 = Scroll_Backward/;
#快退 映射成 Home
s/^keycode 165 =.*/keycode 165 = Find/;
#快进 映射成 End
s/^keycode 163 =.*/keycode 163 = Select/;
#停止 映射成 下翻页
s/^keycode 166 =.*/keycode 166 = Next\n\tshift keycode 166 = Scroll_Forward\n\tshift shiftl keycode 166 = Scroll_Forward\n\tshift shiftr keycode 166 = Scroll_Forward\n\tshift shiftl shiftr keycode 166 = Scroll_Forward\n\tshift ctrll keycode 166 = Scroll_Forward\n\tshift shiftl ctrll keycode 166 = Scroll_Forward\n\tshift shiftr ctrll keycode 166 = Scroll_Forward\n\tshift shiftl shiftr ctrll keycode 166 = Scroll_Forward/;
========

好像是卸了 kbd 安了 console-tools 之后(我没卸掉重新安装测试,不确定)fcitx-fbterm-helper -l 启动的 fbterm 里, fcitx 打开时退格键按了没反应。解决方法:把  /usr/bin/fix_bs_and_del 加到 /etc/rc.local 里面去。

X 下的按键映射
使用 xmodmap 映射。查看键码用 xev 。需要安装 x11-xserver-utils 。
参考 https://wiki.archlinux.org/index.php/Xmodmaphttp://blog.chinaunix.net/uid-24362804-id-3310866.html Linux 键盘映射的修改(X)
我的 .xmodmaprc 内容如下
keycode 152 = Next NoSymbol Next
keycode 172 = Prior NoSymbol Prior
keycode 173 = Home NoSymbol Home
keycode 171 = End NoSymbol End
keycode 174 = Next NoSymbol Next
编辑 /etc/xdg/lxsession/LXDE/autostart ,加一行 @xmodmap $HOME/.xmodmaprc 。另外!还有一个操作,在 fcitx 中配置 Addon ,把 X Keyboard Integration 插件的 Allow to Override System XKB Settings 选项取消掉,不然 fcitx 一启动按键映射就回到原样了。


--
≋ὥ≋
触手什么的最有爱了~

没有评论:

发表评论