mika-jです。
御世話になります。
私は英語キーボードを使っているので
はらはらしながらこのトピックをを読みましたが、
とりあえず、キーボード設定は残るようなので良かったです。
確かに初心者にやさしくという事は大切ですが、
様々な環境でPuppyが使えるということも必要ではないでしょうか。
できれば、日本語キーボードを選んだら日本語キーボードの設定に、
英語キーボードの設定を選んだら英語キーボードの設定になるように
する事は出来ないでしょうか。
システム的にあるべき姿ではないかと思うのですが。
● 英語キーボードで入力できない文字がある点について
例えば、今自分は、4.00.2jpを使用させて頂いておりますが、
英語キーボードを選択すると
"¥" (シフトすると"|")と"`"(シフトすると"‾")が入力できません。
これは、日本語キーボード用に.xinitrcで
コード: 全て選択
xmodmap -e "keycode 49 = Zenkaku_Hankaku"
としているのと.Xmodmapに
コード: 全て選択
keycode 51 = bracketright braceright kana_MU kana_closingbracket
と設定している為です。(両方をコメントアウトすると正常に入力できるようになります)
なので、これをまとめて、.xinitrcに
コード: 全て選択
CONSKEYMAP="`cat /etc/keymap | cut -b 1-2`"
[ "$CONSKEYMAP" = "" ] && CONSKEYMAP="us"
if [ "$CONSKEYMAP" = "jp" ];then
xmodmap -e "keycode 49 = Zenkaku_Hankaku"
xmodmap -e "keycode 51 = bracketright braceright kana_MU kana_closingbracket"
fi
とかけば良いのではないでしょうか。キーマップ取得ロジックは
xorgwizardの先頭の方を参考にしました。
残念ながら、私は日本語キーボードを持っていないので
上のコードは英語キーボードでしか確認していませんが。
● usキーマップ時のキーボードレイアウトについて
あと、キーボードレイアウトも同様に英語キーマップ
を選んだ時には英語レイアウトにして頂けると嬉しいです。
参考に、4.00.2jp用xorgwizardのパッチイメージを以下に書いておきます。
(あくまで、参考の一例として捉えていただけると助かります。)
コード: 全て選択
# diff -c xorgwizard.org xorgwizard
*** xorgwizard.org 2008-11-12 22:23:07.000000000 +0900
--- xorgwizard 2008-11-12 23:25:43.000000000 +0900
***************
*** 63,68 ****
--- 63,69 ----
#v2.0.0
#read the console keymap (country layout), apply to xkb...
+ XKEYMODEL="pc102"
CONSKEYMAP="`cat /etc/keymap | cut -b 1-2`"
[ "$CONSKEYMAP" = "" ] && CONSKEYMAP="us"
case $CONSKEYMAP in
***************
*** 84,89 ****
--- 85,94 ----
uk) #united kingdom
XKEYMAP="gb"
;;
+ jp*) #japanese
+ XKEYMAP="$CONSKEYMAP"
+ XKEYMODEL="jp106"
+ ;;
*)
XKEYMAP="$CONSKEYMAP"
;;
***************
*** 391,399 ****
case "$ALINE" in
EndSection*)
if [ "$XSECTION" = "InputDevice" -a "$IDENTIFIER" = "Keyboard0" ] ; then
TEMPSECTION="$TEMPSECTION
Option ¥"XkbRules¥" ¥"xorg¥"
! Option ¥"XkbModel¥" ¥"pc102¥"
Option ¥"XkbLayout¥" ¥"$XKEYMAP¥" #xkeymap0"
elif [ "$XSECTION" = "Monitor" -a "$IDENTIFIER" = "Monitor0" ] ; then
TEMPSECTION="$TEMPSECTION
--- 396,408 ----
case "$ALINE" in
EndSection*)
if [ "$XSECTION" = "InputDevice" -a "$IDENTIFIER" = "Keyboard0" ] ; then
+ # TEMPSECTION="$TEMPSECTION
+ # Option ¥"XkbRules¥" ¥"xorg¥"
+ # Option ¥"XkbModel¥" ¥"pc102¥"
+ # Option ¥"XkbLayout¥" ¥"$XKEYMAP¥" #xkeymap0"
TEMPSECTION="$TEMPSECTION
Option ¥"XkbRules¥" ¥"xorg¥"
! Option ¥"XkbModel¥" ¥"$XKEYMODEL¥"
Option ¥"XkbLayout¥" ¥"$XKEYMAP¥" #xkeymap0"
elif [ "$XSECTION" = "Monitor" -a "$IDENTIFIER" = "Monitor0" ] ; then
TEMPSECTION="$TEMPSECTION
・英語キーボードで入力できない文字がある点について
・usキーマップ時のキーボードレイアウトについて
トピック趣旨とは少しずれるかもしれませんが、
以上二点を御検討頂けるとうれしいです。