|
USB日本語106/109キーボードでアンダースコア(_)が入力できない
|
|
|
| コンソールでアンダースコアが入力できない問題の原因は、kbdmuxというデバイスドライバです。kbdmuxは、PS2キーボードとかUSBキーボードとかの違いを気にせずにすむように、パソコンに複数のキーボードをつないだとき、とりあえずどれでもそれなりに使えるぞ、というようにしてくれる、仮想的なキーボードデバイスです。ただ、一部のキーコードの処理が抜けていて、日本語キーボードの場合、アンダースコアのキーの処理が抜けてしまっています。 |
|
|
|
|
設定
|
|
システム
|
USB日本語106/109キーボードでアンダースコア(_)が入力できない
|
| |
|
|
|
|
|
【CLI環境(Xが起動していない環境)】
# ee /boot/loader.conf 以下を追加
hint.kbdmux.0.disabled="1"
/boot/device.hintsに
hint.kbdmux.0.disabled="1"
でもよいのですが・・
カーネルをインストールするときに上書きされるので
ee /boot/loader.conf の方がベスト
【X Window環境】
1. 以下の内容の任意のファイルを作成(ここではusbkbdとします。) # ee /root/usbkbd
keycode 228 = backslash underscore
2. 作成したファイル名を引数にあてて、xmodmapコマンドを実行 # xmodmap /root/sbkbd
コンソール上でUSBキーボードからや_を入力するには?
これは方法が2種類あります。 方法1 kernelにfreebsd-6.1-kbdmux_usb_jp106.patchを当てる。
ダウンロードしたpatchファイルは/tmpに保存すると仮定します。
# cd /usr # patch -p0 < /tmp/freebsd-6.1-kbdmux_usb_jp106.patch # cd /usr/src/sys/i386/conf # config GENERIC # cd ../compile/GENERIC # make cleandepend; make depend # make # make install
64bitOSの場合は/usr/src/sys/i386/confではなく /usr/src/sys/amd64/confとなります。
方法2 keymapを書き換える。
# ee /usr/share/syscons/keymaps/jp.106.kbd (053の行を以下のように編集) 053 '/' '?' '_' nop ...
OS再起動または以下を実行。 # kbdcontrol -l /usr/share/syscons/keymaps/jp.106.kbd
「Ctrl+/」でアンダーバー入力可能となります。
X Window 上でUSBキーボードからや_を入力するには?
xmodmap を使用することで入力可能となります。
例 keycode 228 = backslash underscore という内容のファイルを作成する
# xmodmap ファイル名
|
|
|