キーボードの補修をした

41710094011 abf04f659a

KBC Poker X というメカニカルコンパクトキーボードを利用しています.最近外で使っているNotePC のキーがいくつか壊れて効かなかったりして外にも持ち運んでいます.持ち運び方が雑でむき出しのままパニアバッグに突っ込んだりしていました.そのせいか最近 `]’ key の効きが悪くなってきました.このキーはよく使うし,Linux Desktop ではShift + Ins をよく使うのですが,このキーボードでは `Fn + ]’ で Ins になっているので更に良く使います.
普通ならキーボードごと交換になりますが,このキーボードのキースイッチは Cherry MX (の赤軸)を使っているのでキースイッチが壊れている場合別途キースイッチだけ購入して交換が可能なはずです,キーキャップを外してスイッチを触るとグラグラします.でもキースイッチに型がある感じではありません.更に分解して裏側の基盤を確認してみました(要+ドライバー).

44001692861 8c71a52766

以下の丸部分が該当キーの裏側ですが,もともとハンダがほとんど乗っていなかったようです.これは効かなくなるのも当然ですね…….

43283005284 d6f52a9340

ということで以下のようにハンダを盛ってみるとグラつきもなくなりキー入力も問題なくなりました :)

42192424220 ae7d00c294

追記)これとなりのキーの写真ですね.間違えたorz

MATE環境でのキーボードレイアウト変更方法

先日setxkbmapでXのキーボードレイアウトをアドホックに変更できるようにしたのですが,

MATE環境だと切替後暫くすると設定が戻ってしまいます. setxkbmapの代わりにdconfの設定を書き換えればいいのではと思いdconf dump /してそれらしい項目を探して書き換えてみると設定の見た目は変わるのですが実際に入力してみると設定が反映されません.

$ dconf write /org/mate/desktop/peripherals/keyboard/kbd/layouts "['us', 'jp']"

dconfには他にそれらしい設定は無さそうです.


$ dconf dump /|grep us
start-with-status-bar=true
custom-format=''
button-lid-ac='suspend'
button-suspend='suspend'
button-lid-battery='suspend'
layouts=['us', 'jp']
mousekeys-accel-time=1200
mousekeys-max-speed=750
mousekeys-enable=false
mousekeys-init-delay=160
$ dconf dump /|grep jp
layouts=['us', 'jp']

GUIで設定変更をして設定が反映された前と後でも/org/mate/desktop/peripherals/keyboard/kbd/layouts部分しか変わっていません.dconf以外のどこかにも設定がありそうです.

$ dconf dump / > /tmp/before
$ # GUIで設定変更
$ dconf dump / > /tmp/after
$ diff /tmp/before /tmp/after
 
193c193
< layouts=['us', 'jp']
---
> layouts=['jp', 'us']

ここでGUIの設定画面(「システム」->「設定」->「ハードウェア」->「キーボード」の「レイアウト」タブ)を見ると複数のレイアウトが登録できます.ここに日本語と英語を登録して,「オプション」ボタンを押して「Switching to another layout」に適当なショートカットを選ぶとこのショートカットでレイアウト変更ができるのに気づきました.

Screenshot at 2016-04-03 12:48:47

Screenshot at 2016-04-03 12:48:35

ということで最近の環境だとこの機能で切り替えるのが良さそうです.

—-



Xでキーボードレイアウトをアドホックに変更する

今日本語キーボードのNotePCを設定しています,これまではこのマシンはi386のテストや横に置いて動画再生などをする程度にしか使っていなかったのですが,X220の調子が悪いので外に持ち出せるマシン出来ないかと設定中です.

小さなA5サイズのマシンな上に日本語配列(購入時は英語配列となっていたが日本語配列のものが届いた……)なので英語配列の外部キーボードを利用したいところです.

こんな感じでGUIで設定してもいいのですが,繋ぎ直すたびにこれをするのは面倒です. Screenshot at 2016-03-31 18:27:09

コンソールではloadkeysというコマンドでアドホックにキーボードレイアウト変更が出来ます.

同じような感じでXでも設定できないか探してみました. setxkbmapコマンドで実現できそうです.しかし,以下のようにうまく行く時とエラーになる場合があります.

$ setxkbmap -layout us
$ setxkbmap -layout jp
Error loading new keyboard description

少し試行錯誤してこんな感じでエラーが出なくなりました.

$ setxkbmap -model pc105 -layout us,jp
$ setxkbmap -model pc105 -layout jp,us

適当なキーにこれを割り当てておくと便利な感じです.

余録

現在の設定の確認

$ setxkbmap -print -verbose 10

Setting verbose level to 10
locale is C
Trying to load rules file ./rules/evdev...
Trying to load rules file /usr/share/X11/xkb/rules/evdev...
Success.
Applied rules from evdev:
rules:      evdev
model:      pc105
layout:     us
Trying to build keymap using the following components:
keycodes:   evdev+aliases(qwerty)
types:      complete
compat:     complete
symbols:    pc+us+inet(evdev)
geometry:   pc(pc105)
xkb_keymap {
    xkb_keycodes  { include "evdev+aliases(qwerty)" };
    xkb_types     { include "complete"  };
    xkb_compat    { include "complete"  };
    xkb_symbols   { include "pc+us+inet(evdev)" };
    xkb_geometry  { include "pc(pc105)" };
};

ちょっと変わったminiUSB-B Cableを買う

デモの時やスマホなどでこの折りたたみキーボード( Targus PA875 )が重宝しています.確か秋葉原で結構前に3千円くらいで買ったような気がします.最近はBluetoothが主流ですが有線も安定してていい感じです.

久しぶりに使おうとしたらケーブル皮膜が剥けてしまっています.断線はしていないようで今のところ利用できますが出先で使えないと致命的.しかしコネクタは一般的なUSB形状とは違い四角いもの.

IMG_20160308_074032IMG_20160308_074044IMG_20160308_073704IMG_20160308_073652IMG_20160308_073524

以下のページの「ヒロセ4P:四角(4P)」と同じようです.

こういうコネクタに強いCOMONのページをみるとありました.

秋葉原に行ければ千石(確か巻取りじゃないのも店頭に置いてあったはず)やコンピュエース辺りで買うのですが遠いので通販を.(千石はひと通り試せるようになっています)最近はこの手のはメール便を使えるフタバヤさんをよく利用しています.前回はAmazonのマーケットプレイス経由で買いましたが今回はポイントが残ってたので楽天店から購入.

そして届いたのがこれです.
普通に使えました.

IMG_20160308_043453

ロゴも張り替えたのでぱっと見同じです.これで安心して利用できます.
ということで,Targus PA875のUSBはヒロセ4PやHIROSE Typeと呼ばれているもので,COMON EC-HABHが適合するよという情報でした.

おまけ?

$ dmesg | tail
   :
[125061.384207] CPU1: Package temperature/speed normal
[125491.780430] usb 2-1.1: new low-speed USB device number 4 using ehci-pci
[125491.880961] usb 2-1.1: New USB device found, idVendor=0a81, idProduct=0101
[125491.880969] usb 2-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[125491.880975] usb 2-1.1: Product: USB Keyboard
[125491.880980] usb 2-1.1: Manufacturer: CHESEN
[125491.886178] input: CHESEN USB Keyboard as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1/2-1.1:1.0/0003:0A81:0101.0003/input/input21
[125491.940690] hid-generic 0003:0A81:0101.0003: input,hidraw0: USB HID v1.10 Keyboard [CHESEN USB Keyboard] on usb-0000:00:1d.0-1.1/input0
[125491.947369] input: CHESEN USB Keyboard as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1/2-1.1:1.1/0003:0A81:0101.0004/input/input22
[125492.000811] hid-generic 0003:0A81:0101.0004: input,hidraw1: USB HID v1.10 Device [CHESEN USB Keyboard] on usb-0000:00:1d.0-1.1/input1
$ lsusb -d 0a81:0101
Bus 002 Device 005: ID 0a81:0101 Chesen Electronics Corp. Keyboard