先日購入したUMPC、OneMix 3 Proはのキーボードはこんな感じ。
ONE-NETBOOK OneMix3 Pro ミニパソコン 日本語配列キーボード搭載 ( Intel Core i5-10210Y / 16GB RAM + 51...
一応日本語キーボードたと言っていますが、スペースキーの両端に変換/無変換キーがないですし、他にも色々と不便な点があります。通常ファンクションキーがある最上段に追いやられた連中や、スペースの右にもってこられた「;」「:」など、高速でキータイプするには地味に変則的で手が止まります。
少しでも快適に使えるようにAutoHotKeyを使ってリマップをしてみました。
行った変更をまとめると、
- スペース右の「;」を変換キーに
- スペース左のAltを無変換キーに
- 「;」を入力したい時はCtrlを押しながら(Shiftを押しながらだと普通に「+」が入る)
- (Tabを完全にCtrlに置き換えはできないので)よく使うCtrl+アルファベットのショートカットをTab+でもできるように
- Tabを2連打すると通常Tabキー動作
- (押しやすさで)Win+QでAlt+Tab動作
という感じ。IMEのON/OFFで変換/無変換キーをバリバリ使うので、それよりは「;」の使用頻度は低かろうということで置き換えました。
Altを押しながらのショートカット(メニューバー項目の(F)とか)はあまり使わないので保留。たぶん、単押しで変換、長押しだとショートカット待ち、という風にもできるんじゃないかと思います。
本来Ctrlがほしい場所にTabがきているので、これを使ってコピペ、全選択、アンドゥなど使用頻度の高いショートカットは繰り出せるようしました。またTabキー自体が小さくて押しづらいので、結局左下のCtrlを使うことも少なくないですが。
またATOK側もこれにあわせていくつかキーバインドを変更しました。
- 「変換」キーでIME ON
- 「無変換」キーでIME OFF
- 入力中文字がない時のTabキーを割当無しに(デフォルトで推測変換になっていて、4.の動作とバッティングするため)
スペース左右でIME ON/OFFができるようになったことでかなり文章入力が打てるようになった気がします。記号類はどうしても厳しいですが、まぁこれでコード書いたりはしないので。SNSの書き込みやちょっとしたメールが楽になったから良しという感じです。
余談ですが、カーソルキーの音量と輝度調整がFn押しながらやっても効かないなと思って仕方なくGUIでやってたんですが、さらにShiftを押さなければならないということが判明しました。FnだけだとHome/End/Pg Up/Downで、さらにモディファイヤが必要だったのですね。Hone/End/PgUp/Dnはあまり使わないので、逆でもいいなと思うんですが、たぶんFnキーはAutoHotKeyで触れない気がするので試してないです。
2022.12.26追記: AutoHotKeyのスクリプト記法は2.0でリニューアルされました。以下のスクリプトは1.x時代のもので最新版では動かない可能性があります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
^;::Send,; ;Ctrl+;で「;」 +;::NumpadAdd ;Shift+Ctrl+;で「+」 `;::vk1C ;「;」キーを変換キー LAlt::vk1D ;左Altを無変換キー ;~Tab::Return ;Tabキー単体は通常動作 Tab & a::^a ;Tabキー+特定キーをCtrlショートカットにアサイン Tab & z::^z Tab & x::^x Tab & c::^c Tab & v::^v Tab & s::^s Tab & u::^u Tab & i::^i Tab & o::^o Tab & p::^p ;Tab連打で通常Tab動作 Tab:: If (A_PriorHotKey == A_ThisHotKey and A_TimeSincePriorHotkey < 200) { Send,{Tab} } Return ;通常のAlt+Tab動作を再現 LAlt & Tab:: AltTabMenu := true If GetKeyState("Shift","P") Send {Alt Down}{Shift Down}{Tab} else Send {Alt Down}{Tab} return #If (AltTabMenu) ~*LAlt Up:: Send {Shift Up}{Alt Up} AltTabMenu := false return #If ;Win+qでもAlt+Tab動作を再現 LWin & q:: AltTabMenu := true If GetKeyState("Shift","P") Send {Alt Down}{Shift Down}{Tab} else Send {Alt Down}{Tab} return #If (AltTabMenu) ~*LWin Up:: Send {Shift Up}{Alt Up} AltTabMenu := false return #If |