8月 232020
 

僕は普段から HHK の USB Lite2 を利用していました。しかし、昔購入したヤツで、かな刻印ありなヤツです。何回もこのブログには書いていますが、僕はカナ入力の人なのです。で、 HHK は『カナ刻印無し』とか、いうモデルばっかりになってしまい、本当に「もうおしまいだぁ・・。」などと思っていたら、PFU は本当に HHK Lite2 の生産を中止したようで、もう二度と多分 PFU の HHK は買うことはないだろう。と、いう事態に・・。

 
では、新しいキーボードをどうするか。実は、 HHK Lite2 の『カナ刻印なし』バージョンが出てからずっと、探していたのですが、「キーボードって、出せて 8,000yenくらいまでかなぁ。」とか思っていました。そして、ちっこくて 106 でカナ刻印。

色々調べたらエレコムの TK-FCM103XBK と、いうキーボード (TK-FCM103BK と、どこが違うのだろう?) がほどほどな値段 (1,000yen をちょっと超える価格っ!!) であったので、とりあえず購入してみました。

 
使ってみた感じは HHK Lite2 より打刻音が小さくて良い感じかな。ベコベコ感は一緒ですね。値段相応ですが 6,000yen の HHK Lite2 とほぼ似たような感じでしょうか。

あ。一点だけ。 USB HUB がないのがちょっと悲しいかな。マウスの USB ドングル (子機部分) をキーボードの USB HUB につけていたのですが、それができなくなった。その点がちょっと悲しい点か・・。

さて。僕がいままで利用していた HHK Lite2 は USB 切換機で FreeBSD (Windows10) と Mac mini で共有していました。 HHK Lite2 を macOS で利用するにはドライバをインストールする必要があり、僕は macOS パックを購入していたのでキートップも Mac 用に換装していたのであります。
しかし、今回購入したキーボードは Windows 用であり macOS 向けではない。 FreeBSD や Windows で利用するには特に問題はないのですが、 macOS で利用すると [無変換]と[変換]キーは macOS では利用できないので、日本語入力のオン・オプができない。その部分をなんとかする必要がありました。

 
ちなみに、僕は macOS での日本語入力には ATOK パスポートを利用しています。 [無変換]と[変換]キーが使えないので、一応 FreeBSD の kinput2 のように (古いっ!! 僕は fcitx を利用しております;-) Shift-Space でオン・オフできるようには設定しました。

が、しかし、探してみると[無変換]と[変換]キーを使うことができるようにするアプリがあるようですね。以下の URL が参考になります。

https://karabiner-elements.pqrs.org
https://github.com/tekezo/Karabiner-Elements

GitHub にソースコードがあり、バイナリは下の URL からダウンロードできます。

ダウンロードして、インストールすると /Applications/Karabiner-Elements.app/ と Karabiner-EventViewer.app/ がインストールされます。
Karabiner-Elements を一回起動します。そしてなにもせず終了します。そのあと、以下のファイルを用意します。

$ cat ~/.config/karabiner/karabiner.json
{
    "profiles": [
        {
            "name": "Default profile",
            "selected": true,
            "simple_modifications": {
                        "japanese_pc_nfer": "japanese_eisuu",
                        "japanese_pc_xfer": "japanese_kana"
            }
        }
    ]
}

 
emacs とか vi で新規に作成してください。そして、再度 Karabiner-Elements を起動すると、トップページに設定ファイルの内容が反映されると思います。

~/.config/ に設定ファイルを入れるなんてのは freedesktop.org チックで中々良い雰囲気ですよねぇ。あ。余談でした;-)。

が、その前に Karabiner-Elements を起動するとセキュリティうんぬんと言われます。「システム環境設定」アプリを起動し「セキュリティとプライバシー」を選択したあと[セキュリティ]タブの「入力監視」メニューからインストールしたモノ (karabiner-*) にチェックを付けてあげる必要があります。

これで[無変換]と[変換]キーが有効になるので、かな漢字システムのオン・オフが有効になり、フツーの macOS 用のキーボードになります。

あ。そーそー。実際に必要な Karabiner-Elements とは別に Karabiner-EventViewer.app というアプリもインストールされますが、んー。僕的には、こーいうのが欲しかった。 Xorg でいうところの xev と同じ機能も持ったアプリになります。xev と同じくキー名とか番号が表示されるので xev 同様、そこはかとなく重宝します;-)。

 
あともう一点。
当然ながら Ctrl キーと CapsLock キーをひっくり返す必要があります。そして、このキーボード特有なのかもしれないですが、 macOS で利用すると Command キーと Option キーが逆な雰囲気です。それぞれをひっくり返す必要があります。

しかし、この辺りの設定は macOS 側でできます。 キーボードの修飾キーをひっくり返すのは OS の標準機能でサポートしているようです。

「システム環境設定」アプリを起動し「キーボード」を選択すると[キーボード]タブの右下に[修飾キー…]があるのでそこをクリックしてキーを入れ替えます。

僕の場合はこんな感じで入れ替えました。

これで Windows 専用キーボードもフツーに macOS で利用可能な状態になりました。

 
結構長い間 PFU の HHK (Lite2 だけど) を使い続けていた (約 20 年くらいかな? PS/2 から USB に切り替えて、今の Lite2 は二個目かな。自宅と職場でそれぞれ使っていたので計 6 台くらい買ったかな。) んだけど、『カナ刻印なし』とかいう (僕的に思うには) 非常にすっとぼけた製品を出してきたので『だめだこりゃ。』感が非常に強かったのですが、今回、ほどほどの価格で、まぁ、そこそこの機能のキーボードが手に入ったのでヨシとしています。
実は、一個購入したあと、三日後にもう一個注文してしまいました。1,000yen ちょっとの価格だし、何個手元にあっても良いかなー;-)。

macOS でも Windows 向けキーボードが利用できることが確認できたし、今回購入したキーボードがエレコムから発売され続ける限り、これを買い続けようかなぁ。などと思っております。

まぁ、僕的にはこんなにお安くなくとも良いのでは?と、ちょっと思っているんですけどもねf(^^;;。

8月 022020
 

今回も ThinkPad X13 で FreeBSD を動かすネタです。前回のエントリは「ThinkPad X13 AMD で利用する FreeBSD。」というネタでしたが、結局のところ FreeBSD/amd64 12.1-RELEASE ではだいじなものが動作しない。と、いう結果に終わりました。

その後、それなりに使い続けているのですが、中々厳しい状況においてもそれなりに許せる点もあるので、その辺りについて先に書いてみます。

 
o. 音は出るね。
/dev/sndstat を覗いてみると音は出るみたいです。

Installed devices:
pcm0: <ATI R6xx (HDMI)> (play)
pcm1: <ATI R6xx (HDMI)> (play)
pcm2: <ATI R6xx (HDMI)> (play)
pcm3: <Realtek (0x0257) (Analog)> (play/rec) default
pcm4: <Realtek (0x0257) (Right Analog Headphones)> (play)
No devices installed from userspace.

 
本体で音を出すのは Realtek 側のデバイスを利用する必要があるのですが、前のエントリでは「イヤホンジャックに切り替えられない」と、書いていたのですが、実はそんなことはなく、ちゃんと切り替えできました。

ただ、利用できない状態の場合もあります。例えば動画を mpv で見るとき、止まってしまいます。色々オプションを変えて確認したところ mpv -no-audio test.mp4 とかで再生できることが解りました。
つまり、mpv で動画の再生ができないのは Realtek のドライバがちょっと怪しいからなのね。と、いうことが解りました。

で、回避策ですが、Windows10 をリブートして FreeBSD を起動するとサウンドデバイスが怪しい。しっかりとシャットダウン状態から起動すると音が出るような感じです。通電している状態からの初期化がうまくいってないのかな?と、いう雰囲気です。

まぁ、音が出るのでヨシとしておきますf(^^;;。

 
o. suspend/redume もしないし画面の明るさ変えられないけど・・。
いやぁ・・。半分あきらめの境地で xf86-video-scfb を利用していますが、比較的新しい AMD APU を利用している人は以下の URL を見てみると良いかもです。

amd vega and radeon series vga card driver for FreeBSD 12.1 tutorial for beginner

Picasso は大丈夫そうですね。 Renoir はまだちょっと無理っぽい・・。

そして、drm-v5.0-fbsd12.1.zip を使い、 linuxkpi のソースにパッチを当てると suspend/resume もするみたいです。

いやぁ・・。早く Renoir に対応してくれないかなぁ・・。

 
画面の明るさを調整できないのは、AC アダプタ運用時には特に気にならないです。それにしても液晶ディスプレーが大きくて綺麗なので scfb でも結構それなりに綺麗に映ります。明るい画面だとなおさら綺麗に見えるっ!!

負け惜しみです・・。 orz

ThinkPad E145 の場合は 起動中の BIOS の画面とか、FreeBSD のブートセレクタの画面が出ているときに ThinkPad の Fn ボタンで画面の明るさが調整できた (FreeBSD が起動して acpi.ko に制御が渡るといきなりボタンが無効化される。 acpi.ko が悪さしていることは、文字通り、目に見えている) のですが、今はそれができない。最大の明るさで光っています。 xrandr でも制御できない。

 
と、いうことで、本題に行きましょうか。

ThinkPad X13 AMD に FreeBSD/amd64 12.1-RELEASE をインストールしていて、実はタッチパットの動作が怪しかったのであります。

どの辺りが怪しかったかというと、

  • タッチしてツーツーと指を動かしてもカーソルの動きがやたらと遅い
  • 二本指でスクロールしてくれない
  • KDE5 の「KDE システム設定」の「ハードウェア」→「入力デバイス」→「マウス」の [タッチパッド] のメニューで認識していない

みたいな感じです。一応、タップしてクリック風の動作はするし、タッチしてズズズとずらすとマウスカーソルが動いてくれるので『ま。こんなモノなのかな。新製品は。』などと、思っておりましたが、二本指でスクロールができないのは不便なことこの上ないので、やはり調べてみることにしました。

 
1. iichid って?
ports に sysutils/iichid というのがあります。これをインストールします。

GitHub に設定方法が書いてあるので、参考にして、色々設定します。

https://github.com/wulf7/iichid

/boot/loader.conf で ig4 iicbus と iichid を kldload するように設定しろ。って、書いてあります。その通りします。
xorg.conf のマウスの部分の設定も上記 URL に書かれているようにします。しかし、二本指スクロールの設定はなくてええんかい? と、なるのでありますが・・。

実は /boot/loader.conf にはもう一個設定が必要です。

 
2. /boot/loader.conf の設定
フツー、ThinkPad を利用している人は赤ポッチのマウスとタッチパッドの両方を利用したいと考えます。その設定を /boot/loader.conf に書きます。上記の kldload 分と合わせて書いたものはこんな感じです。

hw.psm.synaptics_support="1"
hw.psm.trackpoint_support="1"

ig4_load="YES"
iic_load="YES"
iichid_load="YES"

 
synaptics_support はタッチパットサポートの設定で trackpoint_supportは赤ポッチサポートですね。
そして xorg.conf のマウス部分の設定に入ります。

Section "InputClass"
    Identifier          "libinput touchpad catchall"
    MatchIsTouchpad     "on"
    MatchDevicePath     "/dev/input/event*"
    Driver              "libinput"
    Option              "NaturalScrolling" "on"
    Option              "ScrollMethod"     "twofinger"
    Option              "Tapping" "on"
    Option              "DisableWhileTyping" "on"
    Option              "AccelSpeed" "0.42"
EndSection

Section "InputClass"
    Identifier  "Trackpoint Wheel Emulation"
    Driver              "evdev"
    MatchProduct        "TPPS/2 IBM TrackPoint"
    MatchDevicePath     "/dev/input/event*"
    Option              "EmulateWheel"          "true"
    Option              "EmulateWheelButton"    "2"
    Option              "Emulate3Buttons"       "false"
    Option              "XAxisMapping"          "6 7"
    Option              "YAxisMapping"          "4 5"
EndSection

 
ThinkPad E145 の場合はこれで動いていました。以前のエントリの「FreeBSD に KDE5 が降ってきた。」で libinput を使うようにしました。その流れのまま ThinkPad X13 AMD の設定をしていたのですが、上記のような現象。 ScrollMethod twofinger が効いてない。

 
何回か、試してみましたが、ダメでした。で、色々と調べたところ、今の時代 hw.psm.synaptics_support ではなく hw.psm.elantech_support というのを使うと良いみたいなのであります。と、いうことで全て設定を見直してみました。

 
3. 結局 hw.psm.elantech_support=1 だね
まずは正しいと思われる設定を色々としていくことにします。

 
o./boot/loader.conf

#hw.psm.synaptics_support="1"
hw.psm.elantech_support="1"
hw.psm.trackpoint_support="1"

ig4_load="YES"
iic_load="YES"
iichid_load="YES"

evdev_load="YES"
uinput_load="YES"
cuse_load="YES"

 
ThinkPad X13 AMD の場合は hw.psm.synaptics_support ではなく hw.psm.elantech_support を 1 にします。
一応 iichid 関連を kldload するようにしました。
その下 evdev は libinput 系の Xorg で利用するときに必要なカーネルモジュールです。これらも kldload するようにしました。

とは言いつつ、僕の場合、デスクトップに KDE5 を利用しているので Wayland べったりです。 ports 的にインストールしたのは以下になるでしょうかね。

 
xf86-input-evdev-2.10.6_5
xf86-input-keyboard-1.9.0_4
xf86-input-libinput-0.30.0
xf86-input-mouse-1.9.3_3
xf86-input-synaptics-1.9.1_6 (多分、これはもう要らない)

 

o.Xorg.conf のマウス設定

Section "InputClass"
    Identifier          "libinput touchpad catchall"
    Driver              "libinput"
    MatchDevicePath     "/dev/input/event3"
    MatchIsTouchpad     "on"

    Option "AccelSpeed"  "0.1"
    Option "ClickMethod" "clickfinger"
    Option "DisableWhileTyping"  "on"
    Option "HorizontalScrolling" "on"
    Option "LeftHanded"          "off"
    Option "NaturalScrolling"    "on"
    Option "ScrollMethod"        "twofinger"
    Option "Tapping"             "on"
    Option "TappingDrag"         "on"
    Option "TappingDragLock"     "on"
EndSection

Section "InputClass"
    Identifier          "Trackpoint Wheel Emulation"
    Driver              "evdev"
#   MatchProduct        "TPPS/2 IBM TrackPoint"
    MatchDevicePath     "/dev/input/event4"
    Option              "EmulateWheel"          "true"
    Option              "EmulateWheelButton"    "2"
    Option              "Emulate3Buttons"       "false"
    Option              "XAxisMapping"          "6 7"
    Option              "YAxisMapping"          "4 5"
EndSection

 
上の部分がタッチパットで、下の設定が赤ポッチ(トラックポイント)です。 xinput list とか、コマンド打つとか /var/log/Xorg.0.log をひたすら眺めて /dev/input/event の何番目が割り当てられるのか確認する必要があります。

僕の場合 hw.psm.synaptics_support のときは event0 だったのに hw.psm.elantech_support にしたら event3 になりました。そしてトラックポイントは event4 になりました。

 
『hw.psm.synaptics_support=1 を設定しましょう。』と書かれているサイトはよく見るのですが『hw.psm.elantech_support=1 を設定しましょう。』ってのは、まだあまり見かけないので、今回のエントリーを書いてみました。
タッチパットが思ったとおりの動作をしない場合は hw.psm.synaptics_support ではなく hw.psm.elantech_support を指定してトライしてみてはいかがでしょうか。

 
ちなみにですが hw.psm.elantech_support を利用したら KDE システム設定のメニューにも正しく表示されるようになりました。

 
デバイス的には ETPS/2 Elantech Touchpad として認識されました。 ET な PS/2 なマウスって感じ? (なにそれ? f(^^;;)

xorg.conf で設定している値がそのまま KDE の設定画面から調整できるのが良いですよねぇ。これも Wayland の恩恵かなぁ;-)。