仕事効率化

AutoHotKeyでFILCO Majestouch MINILAのキー配置を再現する

toshi

私はFILCOのMajestouch MINILAが好きで、3年ほど使用していた。
MINILAはファンクションキーと組み合わせたショートカットが秀逸で、ホームポジションから手を動かすことなく、カーソルキーやバックスペース、Home、Endキーが押せるため、作業効率が上がる優れ物だった。

AutoHotKeyを使用して、MINILAを再現したセットを本記事に記載する。
もし興味があれば、是非使用して欲しい。

本AutoHotKeyの設定内容

今回紹介するスクリプトの内容は、↓の画像の通りとなっている。

基本的には、MINILAのキー配置を踏襲している。

「無変換」と「変換」キーをFnキー化

  • MINILAと同じく、親指ファンクションのレイアウト

左手 : カーソルキー

  • 左手には、Fn + E / S / D / F でカーソルキーに割り当て
  • FPSの移動に使う【WASD】キーと1列ずれていると覚えると、覚えやすいかもしれない

右手 : 各種便利キー

  • 右手には各種便利キーを割り当て。
    キーレイアウト図上で、省略表記になっているキーの意味は以下の通り。
    • Bs : Backspace
    • Del : Delete
    • PgUp : Page Up
    • PgDn : Page Down
    • Ins : Insert

省いたキー

以下の3種は使用頻度が少なく、かつ誤爆した時に面倒なので、本設定からは抜いてある。

  • Ps/SR (Print Screen)
  • ScLk (Screen Lock)
  • Po/Br (Pause / Break)

すぐに使いたい人向け (.exeファイル)

すぐに使いたい人向けに、実行ファイルは 本ブログのGitHub で公開している。
リンク先から以下の手順でクリックすれば、実行ファイル(.exe)を入手可能だ。

これをダブルクリックで実行するだけで、お使いのPCでMINILAのショートカットが使用可能となる。

追加でカスタムしたい人向け

自分でカスタムしたい人に向けて、スクリプトのソースを公開する。
至ってシンプルな作りになっているため、キー追加などは簡単に出来ると思う。

#Requires AutoHotkey v2.0

;########################################
;vk1D (無変換キー) および vk1C (変換キー) との組合せ
;########################################
MoveCursor(direction) {
    if GetKeyState("Shift") {
        Send "+" direction
    } else {
        Send direction
    }
}

; 無変換キー (vk1D) の組合せ
vk1D & e::MoveCursor("{Up}")        ; 無変換 + e = ↑
vk1D & d::MoveCursor("{Down}")      ; 無変換 + d = ↓
vk1D & s::MoveCursor("{Left}")      ; 無変換 + s = ←
vk1D & f::MoveCursor("{Right}")     ; 無変換 + f = →
vk1D & k::MoveCursor("{Home}")      ; 無変換 + k = Home
vk1D & <::MoveCursor("{End}")       ; 無変換 + < = End
vk1D & l::MoveCursor("{PgUp}")      ; 無変換 + l = PgUp
vk1D & >::MoveCursor("{PgDn}")      ; 無変換 + > = PgDn
vk1D & j::MoveCursor("{Insert}")    ; 無変換 + j = Insert
vk1D & sc027::Send "{BS}"           ; 無変換 + ; = BackSpace
vk1D & m::Send "{Del}"              ; 無変換 + m = Delete

; 変換キー (vk1C) の組合せ
vk1C & e::MoveCursor("{Up}")        ; 変換 + e = ↑
vk1C & d::MoveCursor("{Down}")      ; 変換 + d = ↓
vk1C & s::MoveCursor("{Left}")      ; 変換 + s = ←
vk1C & f::MoveCursor("{Right}")     ; 変換 + f = →
vk1C & k::MoveCursor("{Home}")      ; 変換 + k = Home
vk1C & <::MoveCursor("{End}")       ; 変換 + < = End
vk1C & l::MoveCursor("{PgUp}")      ; 変換 + l = PgUp
vk1C & >::MoveCursor("{PgDn}")      ; 変換 + > = PgDn
vk1C & j::MoveCursor("{Insert}")    ; 変換 + j = Insert
vk1C & sc027::Send "{BS}"           ; 変換 + ; = BackSpace
vk1C & m::Send "{Del}"              ; 変換 + m = Delete

AutoHotKeyのデメリット

AutoHotKeyにも弱点がある。
いくつかのアプリケーションで、特定の上下のカーソルキーが認識されない問題があった。

私が知る限りでは以下のアプリケーションのみだが、恐らくこれ以外にも発症するアプリケーションは存在すると思う

  • Microsoft OneNote : 上下カーソルキーを認識しない。

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

ABOUT ME
toshi
toshi
会社員, 組込みSW開発PM
社畜気味な会社員で、1児の父です。
組込みSW開発のプロマネをしています。
開発効率化のためのスクリプトも書いてます。
記事URLをコピーしました