いいものをつくろう

CTOの日記

開発

macbookのキーボードを腱鞘炎の俺でも使えるように工夫した話

更新日:

やったことは

karabinerでキーマッピングを変更しただけです。

それに合わせて多少キーボード設定から他のショートカットキーも変更しましたが、それだけです。

私は長年10年以上、パソコンの標準のキーボードでタイピングすると一時間くらいで

痛みを感じ始めます。

ですから様々なキーボードを試してみて最近はmistel barroccoのml650に落ち着きました。

なのですが、

ノートパソコンの持ち運びと同時にキーボードももちあるいかないといけないどで

非常に煩わしいです。

さらに分裂キーボードでもさらに、キーボード配列を変えていました。

私の場合右手がワイパーのように動く動作を繰り返すと腱鞘炎が悪化する気がしていました。

Enterキーとバックスペースキーの2つは特に、この動きが発生する原因です。ですので

それらをFn+SpaceやFn + oキーに置き換えることで更に快適につかうことができるようになりました。

もう一つえ言えばHHKBで矢印キーが無いキーボードがあるかとおもいますが、あの状況を作り出して

同じくFnとの組合せで作り出し、殆どの操作が同じての角度で、ほぼ動きもない状態でほぼすべてのタイピングが

できるようになりました。

これを

普通のキーボードでもできないか、と

おもったのが最初の運です。

そこで

karabinerのマニュアルをみながらですね、一個一個やるわけです。

 

複合キーはこんな感じで

{
                            "from": {
                                "key_code": "i",
                                "modifiers": {
                                    "mandatory": [
                                        "left_gui"
                                    ]
                                }
                            },
                            "to": {
                                "key_code": "up_arrow"
                            }
                        }

でもっとシンプルなキーの置き換えは

{
                            "from": {
                                "key_code": "caps_lock"
                            },
                            "to": {
                                "key_code": "left_control"
                            }
                        }

 

でこちらが全体のこんふぃぐ

ぎょうぎょうしいですが、複合キー以外はGUIでやれますし。

コンフィグ自体はGUIでやるか、

~/.config/karabiner/karabiner.jsonをいじるかの二択です

{
    "global": {
        "check_for_updates_on_startup": true,
        "show_in_menu_bar": true,
        "show_profile_name_in_menu_bar": false
    },
    "profiles": [
        {
            "complex_modifications": {
                "parameters": {
                    "basic.simultaneous_threshold_milliseconds": 50,
                    "basic.to_delayed_action_delay_milliseconds": 500,
                    "basic.to_if_alone_timeout_milliseconds": 1000,
                    "basic.to_if_held_down_threshold_milliseconds": 500,
                    "mouse_motion_to_scroll.speed": 100
                },
                "rules": []
            },
            "devices": [
                {
                    "disable_built_in_keyboard_if_exists": true,
                    "fn_function_keys": [],
                    "identifiers": {
                        "is_keyboard": true,
                        "is_pointing_device": false,
                        "product_id": 626,
                        "vendor_id": 1241
                    },
                    "ignore": false,
                    "manipulate_caps_lock_led": false,
                    "simple_modifications": []
                },
                {
                    "disable_built_in_keyboard_if_exists": true,
                    "fn_function_keys": [],
                    "identifiers": {
                        "is_keyboard": true,
                        "is_pointing_device": true,
                        "product_id": 626,
                        "vendor_id": 1241
                    },
                    "ignore": true,
                    "manipulate_caps_lock_led": false,
                    "simple_modifications": []
                },
                {
                    "disable_built_in_keyboard_if_exists": false,
                    "fn_function_keys": [],
                    "identifiers": {
                        "is_keyboard": true,
                        "is_pointing_device": false,
                        "product_id": 635,
                        "vendor_id": 1452
                    },
                    "ignore": false,
                    "manipulate_caps_lock_led": true,
                    "simple_modifications": [
                        {
                            "from": {
                                "key_code": "i",
                                "modifiers": {
                                    "mandatory": [
                                        "left_gui"
                                    ]
                                }
                            },
                            "to": {
                                "key_code": "up_arrow"
                            }
                        },
                        {
                            "from": {
                                "key_code": "i",
                                "modifiers": {
                                    "mandatory": [
                                        "right_gui"
                                    ]
                                }
                            },
                            "to": {
                                "key_code": "up_arrow"
                            }
                        },
                        {
                            "from": {
                                "key_code": "j",
                                "modifiers": {
                                    "mandatory": [
                                        "left_gui"
                                    ]
                                }
                            },
                            "to": {
                                "key_code": "left_arrow"
                            }
                        },
                        {
                            "from": {
                                "key_code": "j",
                                "modifiers": {
                                    "mandatory": [
                                        "right_gui"
                                    ]
                                }
                            },
                            "to": {
                                "key_code": "left_arrow"
                            }
                        },
                        {
                            "from": {
                                "key_code": "k",
                                "modifiers": {
                                    "mandatory": [
                                        "left_gui"
                                    ]
                                }
                            },
                            "to": {
                                "key_code": "down_arrow"
                            }
                        },
                        {
                            "from": {
                                "key_code": "k",
                                "modifiers": {
                                    "mandatory": [
                                        "right_gui"
                                    ]
                                }
                            },
                            "to": {
                                "key_code": "down_arrow"
                            }
                        },
                        {
                            "from": {
                                "key_code": "l",
                                "modifiers": {
                                    "mandatory": [
                                        "left_gui"
                                    ]
                                }
                            },
                            "to": {
                                "key_code": "right_arrow"
                            }
                        },
                        {
                            "from": {
                                "key_code": "l",
                                "modifiers": {
                                    "mandatory": [
                                        "right_gui"
                                    ]
                                }
                            },
                            "to": {
                                "key_code": "right_arrow"
                            }
                        },
                        {
                            "from": {
                                "key_code": "o",
                                "modifiers": {
                                    "mandatory": [
                                        "left_gui"
                                    ]
                                }
                            },
                            "to": {
                                "key_code": "delete_or_backspace"
                            }
                        },
                        {
                            "from": {
                                "key_code": "right_option"
                            },
                            "to": {
                                "key_code": "right_control"
                            }
                        },
                        {
                            "from": {
                                "key_code": "spacebar",
                                "modifiers": {
                                    "mandatory": [
                                        "left_gui"
                                    ]
                                }
                            },
                            "to": {
                                "key_code": "return_or_enter"
                            }
                        },
                        {
                            "from": {
                                "key_code": "spacebar",
                                "modifiers": {
                                    "mandatory": [
                                        "right_gui"
                                    ]
                                }
                            },
                            "to": {
                                "key_code": "return_or_enter"
                            }
                        },
                        {
                            "from": {
                                "key_code": "caps_lock"
                            },
                            "to": {
                                "key_code": "left_control"
                            }
                        },
                        {
                            "from": {
                                "key_code": "left_control"
                            },
                            "to": {
                                "key_code": "caps_lock"
                            }
                        }
                    ]
                }
            ],
            "fn_function_keys": [
                {
                    "from": {
                        "key_code": "f1"
                    },
                    "to": {
                        "consumer_key_code": "display_brightness_decrement"
                    }
                },
                {
                    "from": {
                        "key_code": "f2"
                    },
                    "to": {
                        "consumer_key_code": "display_brightness_increment"
                    }
                },
                {
                    "from": {
                        "key_code": "f3"
                    },
                    "to": {
                        "key_code": "mission_control"
                    }
                },
                {
                    "from": {
                        "key_code": "f4"
                    },
                    "to": {
                        "key_code": "launchpad"
                    }
                },
                {
                    "from": {
                        "key_code": "f5"
                    },
                    "to": {
                        "key_code": "illumination_decrement"
                    }
                },
                {
                    "from": {
                        "key_code": "f6"
                    },
                    "to": {
                        "key_code": "illumination_increment"
                    }
                },
                {
                    "from": {
                        "key_code": "f7"
                    },
                    "to": {
                        "consumer_key_code": "rewind"
                    }
                },
                {
                    "from": {
                        "key_code": "f8"
                    },
                    "to": {
                        "consumer_key_code": "play_or_pause"
                    }
                },
                {
                    "from": {
                        "key_code": "f9"
                    },
                    "to": {
                        "consumer_key_code": "fastforward"
                    }
                },
                {
                    "from": {
                        "key_code": "f10"
                    },
                    "to": {
                        "consumer_key_code": "mute"
                    }
                },
                {
                    "from": {
                        "key_code": "f11"
                    },
                    "to": {
                        "consumer_key_code": "volume_decrement"
                    }
                },
                {
                    "from": {
                        "key_code": "f12"
                    },
                    "to": {
                        "consumer_key_code": "volume_increment"
                    }
                }
            ],
            "name": "egonomic",
            "parameters": {
                "delay_milliseconds_before_open_device": 1000
            },
            "selected": true,
            "simple_modifications": [],
            "virtual_hid_keyboard": {
                "country_code": 0,
                "mouse_key_xy_scale": 100
            }
        }
    ]
}

 

以上です

-開発

Copyright© CTOの日記 , 2020 All Rights Reserved.