手札

こんにちは。kouyさんのキーカスタマイズその4が公開されました。
y-koutarou.hatenablog.com
再現が難しい設定ばかりです。同じキーに2つ以上の役割を持たせるのは、正直お手上げです。以前Space一度押しならEnter、二度押しならEscを出力するahkを書きましたが、どちらが押されても大差ない状態が存在するWeather Typingありきの話ですね。
jigendaddy.hatenablog.com

言い訳をすると、そもそものどかとAutoHotkeyでは勝手が違うとか、kouyさんは少なくとも10年はこの世界を知り尽くしているベテランなのに私は最近始めたばかりとか言い始めればきりがないのですが抑えます。なんとか代替手段を探しました。

あくまで「テンキー」としての入力なので、『ATOK』の機能で「テンキーからの入力を必ず半角にする」「確定文字で入力する」にできます。

キーカスタマイズ2020年版:その4 親指モディファイヤ - 紙とエンピツ_ブログ版

テンキーからの入力を常に半角にするくらいならどうにかなりそうです。

NumpadDot::Send,{.}{F10}^{m}
NumpadDiv::Send,{/}{F10}^{m}
NumpadMult::Send,+{vkBA}{F10}^{m}
NumpadAdd::Send,+{vkBB}{F10}^{m}
NumpadSub::Send,{-}{F10}^{m}
Numpad0::Send,{0}{F10}^{m}
Numpad1::Send,{1}{F10}^{m}
Numpad2::Send,{2}{F10}^{m}
Numpad3::Send,{3}{F10}^{m}
Numpad4::Send,{4}{F10}^{m}
Numpad5::Send,{5}{F10}^{m}
Numpad6::Send,{6}{F10}^{m}
Numpad7::Send,{7}{F10}^{m}
Numpad8::Send,{8}{F10}^{m}
Numpad9::Send,{9}{F10}^{m}

F10で半角英数に変換し、Ctrl+mで確定しています。純粋にテンキー由来の入力ではなく文字キーからの入力扱いですがそれはいいとします。

[PageUp] [PageDown] [Home] [End]はテンキーを使ってください。私の環境だとNumlockの状態が把握しにくかったので、NumLockLockを使用して通知領域から確認するようにしました。こういう機能があるとは知りませんでした。
www.vector.co.jp

矢印キーの入力はGoogle日本語入力ローマ字変換テーブルを使ってください。MS-IMEの方は自力で変換テーブルに追加してください。
keikenchi.com
マウス操作はマウスキーですね。
win10labo.info

音量変更はこちらのサンプルコード通りWin+↑で音量アップ、Win+↓音量ダウン、Win+←でミュートです。
ahkwiki.net

#Up::Send {Volume_Up}
#Down::Send {Volume_Down}
#Left::Send {Volume_Mute}

その他は諦めます。今日はAutoHotkey側の変更だけでKeySwap側の変更はありません。

再現の難しさ

kouyさんのキーカスタマイズその3が公開されました。
y-koutarou.hatenablog.com
IMEのオンオフが多く設定されていますが、私の技術だとIMEのコントロール以外の機能を同じキーに実装するのは難しそうです。残念ですが省きます。alt-ime-ahkを使用してくださいとしか言えません。
www.karakaram.com

右端にあるキーの設定ですが、昨日の私の設定だとAutoHotkeyでよく使用するカッコ

{}

が使えません。元の表現だとWin+]で[、Win+Ctrl+]で{を入力するようにしました。
ややこしくなってきたので今日の分と合わせてまとめておきます。

意図するキー出力 元のキー設定での入力表現 kouyさんのキー設定での入力
BackSpace ]
Ctrl+[ Ctrl+@
[ Win+] Win+BackSpace
] Win+バックスラッシュ Win+/
{ Win+Ctrl+] Win+Ctrl+BackSpace
} Win+Ctrl+バックスラッシュ Win+Ctrl+/
: BackSpace
_ Shift+- Shift+0

Win+Ctrl+BackSpaceだとCtrl+BackSpaceと間違えて消してしまいそうな気もするのですが、下手に弄ればもっとややこしくなりそうです。この辺にしておきます。

PrintScreenは個人的に使っていないので、本来の機能を切りました。F1はShift+F3自体をShift+qに変更しています。少し押しにくいですがいいとします。

定義ファイルを以下に置きます。どちらも昨日から変更しています。
KeySwap.n - Google ドライブ

vk1C::Send,{Enter}
vk1D::Send,{Left}
vkF2::Send,{Right}
^@::Send,{\}
#BackSpace::Send,{[}
#^BackSpace::Send,+{[}
#/::Send,{]}
#^/::Send,+{]}
Insert::AppsKey
+0::Send,+{\}
vkF3::Send,!{F4}
PrintScreen::Send,!{Space}{n}
ScrollLock::Send,!{Space}{x}
Pause::Send,!{F4}
+q::Send,+{F3}

かなり機能を削っていますが、現在の時点でもうミスがありそうです。見つけた方は遠慮なく教えて下さい。

追記

本筋から離れますが、IMEオンオフの件が引っかかっていました。薙刀式のマニュアルを見ていて気がついたのですがMS-IMEの設定で変換キーと無変換キーをそれぞれIMEのオンオフに割り当てる事が可能です。
oookaworks.seesaa.net
Google日本語入力で同様のキー設定を行う場合について書いておきます。

モード 入力キー コマンド
入力文字なし Muhenkan IMEを無効化
直接入力 Henkan IMEを有効化

キーカスタマイズという思想

こんばんは。kouyさんがキーカスタマイズの最新版を公開されています。実は以前から気になっていました。
y-koutarou.hatenablog.com
y-koutarou.hatenablog.com
のどかというソフトを使っていらっしゃるそうです。試用版はすでに起動できないらしいので私なりの設定法を考えました。
www.vector.co.jp
当初はすべてAutoHotkeyで行うつもりでしたが、右手一列シフトで例の設定を引きずる問題が文字キーで発生しました。IMEの状態に関わらず動作が必要ですから、IMEオン時に動作を限定するこれまでの手法が使えません。

キーボード全体に関わるような大きい変更ですから、レジストリを変更しても構わないと判断しました。KeySwapを使います。
pasokatu.com
細かい使い方は上のパソ活さんのエントリを見てください。ここでは簡単に設定ファイルのインポート手順を説明します。仮に4が未登録でそこに置くとします。

  1. 「ファイルを保存」をクリック時に表示される「4.未登録」などの設定が登録されていない数字をインポートする設定ファイルの拡張子にしてください。この場合だとkeymap.4です。
  2. 設定ファイルをKeySwapをインストールしたフォルダに置いてから起動し「ファイルから読み込み」で1で拡張子に設定した数字の場所(この場合だと4)にある名称が空白のファイルを開いてください。これで設定された情報が分かるはずです。
  3. 分かりやすく名称をつけたい場合は「ファイルを保存」からどうぞ。

ファイル名はKeySwap.nとしました。空いている番号にリネームしてください。拡張子が表示されていない方はどうにか頑張ってください。
KeySwap.n - Google ドライブ

ショートカットキーの設定もありますので、どのみちAutoHotkeyも必要です。残念ですがワンショットモディファイヤは私の技術では実装が難しそうです。代わりにCtrl+@で¥、Ctrl+:で[、Ctrl+/で]に設定しました。

vk1C::Send,{Enter}
vk1D::Send,{Left}
vkF2::Send,{Right}
^@::Send,{\}
^vkBA::Send,{[}
^/::Send,{]}
Insert::AppsKey
+0::Send,+{\}

全7回でまだ公開途中のようですから対応できるか不安ですね。完全に再現は不可能でも代替手段を探すなどしてある程度まではできればいいかなと思っています。

練習はP検日本語入力を4分ノーミスまで進めました。5分もクリアできればまた新しい手段を探すべきかもしれません。動いていれば道は見えると信じて動くだけです。


練習法を探して

こんばんは。今日は文章入力速度測定さんを打ちました。
文章入力速度測定 | 無料でタイピング速度診断ゲーム
今日の自己記録です。


昨日のエントリでは入力数100が目標と書きましたが、スピードを意識して上げるのは私の打ち方ではありません。50をキープして何度続けられるかを意識しています。現状だと4回が最大です。できれば10回くらいは続けられるようになりたいですね。

他にもいい練習があればと思いパソ活さんのブログを見直していたらP検無料タイピング練習というサイトが気になりました。
pasokatu.com
pasokatu.com
デフォルトだと5分に設定されています。Weather Typingだと、70ワードが5分程度の長さでしたからノーミス打ち切りはなかなか難しそうです。相当長く感じますね。ミスに気が付きにくいのも辛いポイントです。音が出るか何かしらの変化がほしいですね。

せっかく見つけたサイトですから5分ノーミスを目標に打ちますが、もう少し他に練習法を探してもいいかもしれません。もっと変換ありの練習をしたい気持ちもあります。

タイプウェルのランキングが去年更新を停止しました。これから先はタイピングソフトやサイトで練習をする行為が時代遅れと言われてしまうのかもしれません。変化する時代に追いつけるように新しい手法を受け入れていきたいですね。

継配列かな一覧表

こんばんは。今日は継配列Qwertyと対応させるリストを作りました。以下の50音表から配列を知りたい文字にカーソルを合わせてください。Qwertyのキーがポップアップで表示されるはずです。ミスがあれば遠慮なく教えて下さい。
50音表

以下は検索用のリストです。

文字 キー 切継
,(カンマ) 単打
e 単打
o 単打
pd キ切
q 単打
m 単打
p 単打
nd タ切
ek イ継
c 単打
rk ナ継
h 単打
u 単打
tk ャ継
;(セミコロン)k ッ切
n 単打
gk テ継
;(セミコロン)j ッ大
;(セミコロン) 単打
g 単打
v 単打
r 単打
z 単打
uk ス継
vk ト継
w 単打
/(スラッシュ) 単打
zk ニ継
fd ラ切
ud ス切
qk オ継
,(カンマ)d ア切
yd モ切
/(スラッシュ)k ハ継
ak ン継
y 単打
tj ャ大
bdj ョ切大
bj ョ大
t 単打
bd ョ切
b 単打
f 単打
wk ノ継
.(ピリオド) 単打
.(ピリオド)d ル切
ck コ継
od ウ切
pk キ継
,(カンマ)k ア継
fk ラ継
a 単打
zd ニ切
,(カンマ)j ア大
ej イ大
oj ウ大
pdj キ切大
qj オ大
s
x

csvファイルはこちらに置いておきます。
https://docs.google.com/spreadsheets/d/e/2PACX-1vRqg3hOZb6J-L77jK1AO6a-HOzhtTgkD_sUMrxlwFyrNFMI1jLHZFlvbqU5wlvnrGaViQU1aisbtVjv/pub?gid=0&single=true&output=csv

最近はこのような説明用の文書作成などに時間を費やしていたのもあって控えていましたが、やはりタイピングがしたいですね。血が騒ぎます。当面はタイ速さんの姉妹版である文章入力速度測定さんで挑戦したいと思います。今日の結果です。


とりあえず当面は入力数100文字に挑戦します。どこまでやれるか楽しみですね。

作成時の注意点

こんばんは。今日は雀躍配列をAutoHotkeyで実装しました。
suzume.ahk - Google ドライブ
これも継配列と同様にめんめんつさんが作成された配列です。


シンプルで実装しやすいですね。コードは昨日より見やすいと思います。

今日コードを書いていて気がついた点があります。配列作成時に重要な割に目立たない点なので書き留めておきます。仮にaを入力した場合bcを出力、xを入力した場合yzを出力したいとします。
例1

a::Send,{b}{c}
x::Send,{y}{z}
入力 出力
a bc
x yz

意図通り出力されます。今度はx入力でzaを出力したいとします。
例2

a::Send,{b}{c}
x::Send,{z}{a}
入力 私が意図していた出力 実際の出力
a bc bc
x za zbc

x入力でzaを出力したい場合例2のコードは機能しません。1行目のaの設定をずるずる引きずってしまっています。これを防ぐにはどうすればいいか迷っていました。現状私の出した結論は、IME.ahkを使ってIMEの状態を判定しオンの場合のみ機能させています。
例3

#include ime.ahk
#If IME_GET()
a::Send,{b}{c}
x::Send,{z}{a}
入力 私が意図していた出力 実際の出力
a bc bc
x za za

これなら意図通りx入力でza(Qwertyローマ字なら「ざ」)が出力されます。正直理屈はよく分かりませんがいいとします。IME.ahkの作者の方に感謝ですね。偶然見つけただけですが、誰かのお役に立てば幸いです。

追記

配列仕様について思いっきり勘違いをしていました。修正しましたので既にダウンロードされた方がいたら、お手数ですが再度やり直していただければ幸いです。まだミスがあるかもしれませんので見つけた方は遠慮なく指摘してください。

論理を積む

継配列の紹介ページが公開されました。もしかしたら昨日のエントリでめんめんつさんを焦らせてしまったのかもしれません。

これで配列自体は実装できました。ただし①エンター・バックスペースの位置変更と②カタカナ直接入力の設定ができていません。

カタカナ切継法による新日本語入力「継配列」 - 継配列

2をもう少し詳しく説明すると、Google日本語入力だと変換前に全角カタカナモードで入力を行うと漢字変換ができない問題があります。それならMS-IMEを使えばいいのではと思われる方がいるかも知れませんが、配列定義ファイルのインポートができません。Google日本語入力MS-IMEのどちらにもこの場合問題が発生します。

MS-IMEで配列定義を一つ一つ地道に編集するのは現実的ではありませんし、レジストリを弄るという手もあるようですがこれは最終手段です。お勧めはできません。めんめんつさんはGoogle日本語入力のキー設定とDvorakJを使って解決されようとしています。無論作成者の方の意志が最優先ですが、私なりに考えた方法をまとめておきます。

Google日本語入力でカタカナ入力ができないのは非常に残念ですが必ずしもデメリットばかりとも言えません。IME.ahkで全角カタカナモードであるか判断の必要がありませんし、入力されたカタカナをひらがなに変換する必要もありません。BackSpaceとEnterを日本語入力時に文字キーへ設定すればいいだけならahkファイルはこれで話が済みます。

#include ime.ahk
#If IME_GET()
i::Send,{Enter}
l::Send,{Backspace}
#If

Google日本語入力を使う場合最大の問題は配列をカタカナでイメージして覚えられない点にあります。そこで配列を覚えるまではMS-IMEと昨日作成したahkファイルを使ってはどうでしょうか。
jigendaddy.hatenablog.com
配列を十分に覚えられたら下のツイートにあるGoogle日本語入力の変換テーブルと上に書いた5行のahkをコピペして使ってください。


途中で折れかけましたが、なんとか自分なりに納得できるゴールまでたどり着けました。タイピングと同じで簡単に諦めない心が大事ですね。

追記


もう少しどうにかならないかと思って自分なりに試行錯誤しました。Google日本語入力の設定とAutoHotkeyでどうにかなりそうです。

これら設定では「普段使ってないキー」が1つ必要です。

カタカナ切継法による新日本語入力「継配列」 - 継配列

めんめんつさんは普段使わないキーをGoogle日本語入力の設定に使用されていますが、設定したキーを実際に使う方法を考えました。ここではCtrl+Qを使用するとします。原則他のキーと被らない、かつGoogle日本語入力で設定可能である必要があります。「キー設定の選択」側の「編集」ボタンからキー設定を開いて以下のように設定してください。

モード 入力キー コマンド
変換前入力中 Ctrl+Q ひらがなに表示切替
入力文字なし Ctrl+Q 全角カタカナに入力切替

入力時に以下のahkファイルが必要です。ime.ahkを同じフォルダに置いてください。Space入力で設定したキー(この場合はCtrl+Q)と、変換キーを出力します。他のキーを設定する場合はその都度キーリストホットキーを見て調整してください。

#include ime.ahk
#If IME_GET()
Space::Send,^{q}{vk1C}
i::Send,{Enter}
l::Send,{Backspace}
#If

日本語入力時を始める際に全角カタカナモードでない場合は、設定したキー(この場合はCtrl+Q)を押して全角カタカナモードに変更してください。

後はめんめんつさんの作成されたローマ字変換テーブルを設定すれば継配列が使えるはずです。直接私の作成した継配列のahkファイルを使う方法よりはいくらかマシでしょう。