田舎者Yの日記

定年退職して農業に従事している者のブログ

(海外からスパムコメントが続きましたので、コメントは承認制にします。)

UbuntuでMicrosoft Natural Ergonomic Keyboard 4000 を使う

 数々の失敗を繰り返すうちに、気がついたらMicrosoft Natural Ergonomic Keyboard 4000(MSNEK4K) をUbuntuで使うことができるようになっていた。もちろんPC本体に差し込めば規格内のキーボードならばどれでも使うことはできるが、ここで言うのは拡張機能まで使えるようになっていたということだ。とにかく Microsoft Natural Ergonomic Keyboard 4000 (以下 MSNEK4K) には標準以外にもいろいろなキーが付いている。それらがちゃんと機能するというのは嬉しいものだ。

 タッチタイピングができない私にとって左右に分かれたキーボードというのは使いづらかったのだが、最近は徐々に慣れてきた。それにしたがって通常の形状のキーボードでも多少タッチタイピングできるようになった気がする。エルゴノミクス・キーボードは左右にキーが別れているので自然と右手の指が叩くべきキーと左のそれがわかるようになる。以前タッチタイピングのできない者はエルゴノミクス・キーボードを買うべきではないと書いたが、そんなことはないかもしれない。タッチタイピングの練習をしたい人には購入するという選択肢もアリあのかもしれない。


 さて、私のUbuntu 7.10 で MSNEK4K を使えるようになった経緯は複雑である。ちょっと長くなるが顛末を記し、最後に自分なりにまとめてみる。

 結局、Ubuntuの起動を短縮しようとして内部エラーが起こるようになり、それをまた修正しようとhalパッケージを再インストールしたら、内部エラーを回避できただけでなくエルゴノミクス・キーボードの拡張機能が使えるようになっていたのだ。


 最初に MSNEK4K を購入した際、Ubuntuでも拡張機能を使えないかと考えた。そこで見つけたのが以下のページである。

 HOWTO: Microsoft Natural Ergonomic Keyboard 4000 - enabling special keys - Ubuntu Forums


 このページに書かれているようにパッチをあててみたのだが変化がなかった。

 しばらく MSNEK4K の拡張機能のことを忘れていた。一方、最近Ubuntuの起動時間が長く感じられるようになってきた。短くしようとして見つけたのが以下のページである。その結果多少短くはなったのだが、「内部エラー」(Internal error)が起こるようになってしまった。デスクトップにログインすると "Failed to initialize HAL!" のメッセージが表示させるようになってしまった。

 Ubuntuの起動を19秒にする等のチューニングのメモ (blog@browncat.org)



 結局以下のページを参考にパッケージhalを再インストールし /etc/init.d/rc の一部を元の通り "CONCURRENCY=none" としてリブートしたら内部エラーを回避できた。

 Internal error: failed to initialize HAL! - Ubuntu Forums



 その後「これでやっと元通りになった」と思っていたら日本語入力時にファンクションキー(F1〜F12)の動きが正常でないことに気がついた。私はひらがな入力の途中の英文はF10キーで変換するのだが、それが働かない。キーが壊れたのだと思っていたのだが”FLock"が機能していることに気がついた。"Flock"は MSNEK4K の拡張キーの一つである。どうやらファンクションキーを別の機能に再割り当てできるようである。そこで初めて Microsoft Natural Ergonomic Keyboard 4000 が「正常に」動いていることに気づいた次第である。

Ubuntuで Microsoft Natural Ergonomic Keyboard 4000 を使う方法(たぶんw)

 私が試行錯誤の末に見つけたので間違っているかもしれない。でも私と同じくらいのレベルで同じ悩みにハマっている人のいるかもしれないのでメモしておく。いつもお願いしているおだが、試される方は自己責任でやってください。

  1. まず次のページを参考にパッチを適用する。( HOWTO: Microsoft Natural Ergonomic Keyboard 4000 - enabling special keys - Ubuntu Forums )
  2. HALパッケージを再インストールする。( "sudo apt-get --reinstall install hal" )

 以上の方法でうまくいくと(私は)思う。うまく行かなかったらコメントをいただけるとありがたい。(といっても私が責任取れるわけではないのですがwww)