macOS Sierra でスペースキーを、シフトキーみたいに使いたい。

 ちょっとなにいってるかわからない。
 という話なんですが、スペースキーを押しつつ、別のキーを押した時、シフトキーと同じような挙動にしたい、ということなんである。
 SandS (Space and Shift)というやつなんである。


スポンサード リンク

 にゃんでそんなことを? という方は、「これまでのお話」を。
 いいからなにを試したんだ、という方は、「けっきょくどうしたか」をお読みください。あらかじめいっておくと、あんまりうまくいきませんでした。

追記

 いわゆる SandS を Mac でやるにあたって、新しい記事を書きました。
Hammerspoon で未熟 SandS – 夜コーヒー

これまでのお話

 日本語入力に AquaSKK を使っているんですよ。
 おれごときが! 偉そうに! どうもすみませんでした!
 みなさんは Google 日本語入力とか使って、芸能人の名前とか一発変換してらっしゃるんでしょうけども、AquaSKK って小説を書く用途に向いてるんじゃないかな、とおれは思っているんです。生意気いってすみませんでした!

 ともかく、SKK の入力方法は、漢字を打つたびにシフトキーを使う。シフトを多用するんである。
 しかしシフトキーって意外に遠いし、小指を酷使するので大変。
 そこへ、
「スペースバーにシフトの機能を付加すればいいじゃない」
 とかいいだした天才がいた。親指シフトという異教の民による発案だろう。
 そのアイディアは、キーリマップソフト karabiner を使うことで容易に実現できた。やってみると、実に便利なんである。
 スペースキーをぽん、と押せば普通にスペースが入力される。
 スペースキー + 別のキーを押すと、スペースキーはシフトの役割を果たすのである。
 スペース + m なら、入力は「M」になる、という具合。
 これでもって、親指を用いた SKK の入力が可能となり、SKK の民は救われたのであった。長らく平和は続き、またこれからも続いていくかに見えた。

 2016 年 9 月 21 日(日本時間)、アップルがダウンロード開始した新 OS 、macOS Sierra が日本を襲った。多くのひとが便利に使用していたキーリマップソフト karabiner が macOS Sierra に未対応だったため、日本全国で「んぎゃああ」という悲鳴が聞かれた。
「karabiner が対応してないのってわかってたことじゃん。OS のアップデートしなければすむことだよね?」
 などとおっしゃる向きがあるかもしれない。
 しかし一部のマカーはポン中みたいなものなので、新しいのが出たらダウンロード&インストールしないと体がもたないのである。
 かくいうおれも、スペースキーにシフトの機能をもたせる、という超絶便利技がつかえなくなってしまい、ネットの砂漠を流浪する難民となってしまったのであった。

 栄華を極めた karabiner の都は一時、滅びはしたものの、どうやら開発は続いていくらしいのでいずれ復興するだろう。それまでをどうするかが問題だ。
 おれがたどりついたのは、keyhac というソフトである。windows 版と、ありがたいことに Mac 版がある。windows 神がくださった慈雨を浴びるが思いである。

けっきょくどうしたか。

 つーことで、keyhac を試してみた。
 ダウンロードはこちら、Keyhac – Pythonによる柔軟なキーカスタマイズツールから。
 インストール、使用方法はこちら、keyhac User Manualへ。
 普通のインストールだけど、環境設定のセキュリティで、アクセシビリティの許可を入れてやんないといけない。

 問題は設定なのだ。Python で書くみたいだ。設定ファイルとなる config.py は、

~/ライブラリ/Application Support/keyhac/

 にある。

 デフォルトの config.py をコピーしてバックアップを取り、以下のような内容の書類を作って新しい config.py とした。ちょっと間違ってるかもだけど、おれの環境では動作した。

import sys
import os
import datetime
import subprocess

from keyhac import *

def configure(keymap):

    keymap.replaceKey( "Space", "Shift" )

    # Global keymap which affects any windows
    if 1:
        keymap_global = keymap.defineWindowKeymap()

        keymap_global[ "O-Shift" ] = "Space"

 ついで「英数」と「かな」を左右コマンドキーに割りあてようかと試したけど、どうやるのかわからない。っていうか、気づいてしまった。SandS はちゃんと動作するんだけど、こちらのソフトを起動していると、BetterTouchTool が動かなくなっちゃう。
 タッチパッドのジェスチャを拡張する、あの便利なやつである。
 これは致命的だ。
「致命的だなぁ」
 などというつぶやきを残して、旅はまだ続くのであった。
 おしまい。

※ 追記 これ、おれのやり方が間違ってるみたいです。もちっと精進して結果が出たらブログに書きます。

スポンサードリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です