スポンサーリンク

Macで新型TrackPointキーボードを使う時のKeyRemap4MacBookの設定いろいろ

はじめに

前回に続き、新型ThinkPadトラックポイント・キーボード(有線版、0B47208)のお話です。スクロール周りに問題があることを書いたので、割と簡単に対応できるいくつかの方法をまとめてみます。無線板(Bluetooth)も同じだと思います。

ミドルボタン(センターボタン、中ボタン)の挙動を変更するので、KeyRemap4MacBookを使います。そこまで使い方に詳しくないということもありますが、KeyRemap4MacBookの使い方は、色々なサイトに説明がありますので省きます。

ミドルボタン(単独)を無効にする

ミドルクリック(センタークリック、中クリック)が機能(発生)すると、スクロールが効かなくなるので、ミドルボタンの単独クリックを無効にします。ただ、ミドルクリックを必要とするアプリもあるので、コマンドキーとあわせるとミドルクリックとして機能するようにします。


    LENOVO
    0x17ef



    LENOVO_0B47208
    0x6047



    COMMAND + MIDDLE to MIDDLE_CLICK
    MIDDLE_BUTTON to VK_NONE
    DeviceVendor::LENOVO, DeviceProduct::LENOVO_0B47208
    thinkpad.trackpoint.commandmiddle2middleclick
    __PointingButtonToPointingButton__ PointingButton::MIDDLE, ModifierFlag::COMMAND_L, PointingButton::MIDDLE
    __PointingButtonToKey__ PointingButton::MIDDLE, KeyCode::VK_NONE

他のマウスのミドルボタン(ホイールボタン)は機能して欲しいので、デバイスのフィルタリングをしています。

しばらく、この設定で使っていたのですが、いつものようにFirefoxで検索して、気になるリンクをミドルクリックで新規タブに開いて・・・、さてまとめてみようと思ったら、コマンドキーを押し忘れて1つも開いていないことがありました。この設定はイマイチ・・・かな。

ミドルボタンを単独で多用していた人には、慣れるまで使いものにならないと思います。

ミドルボタン単独で操作したい

やっぱりミドルボタン単独で操作したくなります。そこで、ミドルボタンをダブルクリックするとミドルクリックとなるようにしました。根本的な解決にはなりませんが、何かを押しながら操作するより個人的には確実です。ミドルボタンを無効にするのは同じです。ただ、無効と判定される前に、設定時間内(サンプルでは500ms以内)に2回クリックされたらミドルクリックを発生させる処理をいれます。デバイスフィルタは省いていますので、必要に応じて追加します。


    DOUBLE_MIDDLE_CLICK to MIDDLE_CLICK
    thinkpad.trackpoint.doublemiddleclick2middleclick

    
        PointingButton::MIDDLE
        Millisecond::RawValue::500
        
            __PointingButtonToPointingButton__
            PointingButton::MIDDLE,
            PointingButton::MIDDLE
        
    

    
        __PointingButtonToKey__
        PointingButton::MIDDLE,
        KeyCode::VK_NONE
    

横スクロールを可能にする

次は横スクロールの対応ですが、Shiftキーを押しながらの縦スクロールが、横スクロールになるので、特に何もしていません。

Macではトラックポイントを横に動かしても、スクロールイベントが発生しないので、どうにもできません。残念すぎる仕様です。もしかしたら情報があるのかもしれませんが、今のところ不明です。

といっても、個人的にShiftキー以外の選択肢が欲しいので、スクロール中に左クリックボタンまたはコマンドキーで横スクロールに切り替わるようにしています。


    MIDDLE + LEFT to HORIZONTAL_SCROLL
    MIDDLE + COMMAND to HORIZONTAL_SCROLL
    thinkpad.trackpoint.horizontalscroll

    
        __PointingButtonToKey__
        PointingButton::LEFT, ModifierFlag::NONE,
        KeyCode::VK_MODIFIER_EXTRA1,

        Option::KEYTOKEY_BEFORE_KEYDOWN,
        KeyCode::VK_MOUSEKEY_LOCK_BUTTON_LEFT,

        Option::KEYTOKEY_AFTER_KEYUP,
        KeyCode::VK_MOUSEKEY_LOCK_BUTTON_ALL_FORCE_OFF,
    

    
        __ScrollWheelToScrollWheel__
        ModifierFlag::COMMAND_L | ModifierFlag::NONE,
        ModifierFlag::SHIFT_L
    

    
        __ScrollWheelToScrollWheel__
        ModifierFlag::EXTRA1 | ModifierFlag::NONE,
        ModifierFlag::SHIFT_L
    

横スクロール(おまけ)

Shiftキーのことを知らずに試した設定です。

縦スクロール時に左クリックボタンを押すと、横にスクロールする設定です。実際は、縦スクロールをアローキー(矢印キー)に変換することでスクロールっぽく見せています。上スクロールで左、下スクロールで右へ移動します。

動くには動きますが、トラックポイントの操作具合によってはカクつきます。また、テキスト編集可能なエディタで実行すると、カーソルが移動するだけなので、アローキーがスクロールとして機能するWebブラウザなどにしか使えないです。


    VERTICAL_SCROLL to ARROW_KEY
    thinkpad.trackpoint.verticalscroll2arrowkey

    
        __PointingButtonToKey__
        PointingButton::LEFT, ModifierFlag::NONE,
        KeyCode::VK_MODIFIER_EXTRA1,

        Option::KEYTOKEY_BEFORE_KEYDOWN,
        KeyCode::VK_MOUSEKEY_LOCK_BUTTON_LEFT,

        Option::KEYTOKEY_AFTER_KEYUP,
        KeyCode::VK_MOUSEKEY_LOCK_BUTTON_ALL_FORCE_OFF,
    

    
        __ScrollWheelToKey__
        ScrollWheel::UP, ModifierFlag::EXTRA1 | ModifierFlag::NONE,
        KeyCode::CURSOR_LEFT
    
    
        __ScrollWheelToKey__
        ScrollWheel::DOWN, ModifierFlag::EXTRA1 | ModifierFlag::NONE,
        KeyCode::CURSOR_RIGHT
    

    
        __PointingButtonToKey__
        PointingButton::MIDDLE,
        KeyCode::VK_NONE
    

Key Repeatの設定にあるScrollWheel to Keyを短くする必要があります(0など)。

はっきりってイマイチでした\(^o^)/

ただ、前から気になっていたVK_MODIFIER_EXTRAの使い方が分かったような気がします。

ミドルクリックが発生するタイミングを変更する

以下引用、

xinputでEvdev Middle Button Timeoutの値を変えると中ボタンのプレスイベントの挙動が変わる。この設定では、中ボタンを押して離すまでの時間において、中クリックと認識される許容範囲の指定が出来るみたいだけど、この許容時間を過ぎた後にポインタを動かすと中ボタンのプレスイベントが発生しない。この値の設定次第では、「中ボタンクリック判定はかなりタイトだけど、中ボタンとポインタをほぼ同時押ししなければ中クリック暴発しない」

IBM/Lenovo トラックポイント付き単体キーボード6 2ch – ハードウェア板

Ubuntuでの内容らしいのですが、MacのOS内部については詳しくないので、この点については他の方に期待します。

おわりに

キャップがロープロファイルという、ちょっと背の低いタイプに変わったんですね。硬くてイマイチだったので、旧型と交換しました。少し頭の部分が飛び出ますが、問題なく使えています。

縦スクロールの使い勝手は以前と全く同じになりました。横スクロールとミドルクリックは少し使い勝手が悪いですが、打鍵感(タッチ感?)が新型のほうが好きなので、しばらくは新型を使ってみましょう。