投稿者: the 猫
-
-
キーのリマッピング
少し修正したので貼っておこー
バグ修正
- アクティブ画面を移動したときに画面サイズが数ピクセル分小さく表示されるバグを修正。
Windows11の場合のみ、固定値(7px)分だけ画面サイズを拡大した。画面サイズをマウスで変更できるように1pxだけ余白を残している。
なお、デスクトップのテーマ等によっては意図した通り補正できない可能性がある。 - Ctrl + 矢印キーのモディファイア「*」を削除。
Ctrl + Win + 左右キーが無効化されていたので「*」を削除した。 - アクティブ画面の移動/リサイズに失敗した場合の動作を修正。
スクリプトが異常終了しないように修正した。
機能追加
- Ctrl + iキー :上キー
- Ctrl + kキー :下キー
- Ctrl + jキー :左キー
- Ctrl + lキー :右キー
- Ctrl + uキー :Homeキー
- Ctrl + oキー :Endキー
- Alt + qキー :アクティブ画面左上寄せ
- Alt + aキー :アクティブ画面左下寄せ
- Alt + wキー :アクティブ画面右上寄せ
- Alt + sキー :アクティブ画面右下寄せ
作ったもの
「キーのリマッピング」のソースファイル
https://ahkscript.github.io/ja/docs/v2/misc/Remap.htm
#SingleInstance Force ; ---------------------------------------- ; helper function ; ---------------------------------------- ; OS情報取得 GetWinOSVersion() { osVersion := StrSplit(A_OSVersion, ".") major := osVersion[1] minor := osVersion[2] build := osVersion[3] If (major == "10") If (minor == "0") If (build >= "20000") Return 11 Return 10 } ; ディスプレイ情報取得 getDisplayInfo(&x, &y, &width, &height) { MonitorGetWorkArea(1, &Left, &Top, &Right, &Bottom) x := Left y := Top width := Right - Left height := Bottom - Top } ; 画面位置取得 getWindowPosition(windowPosition, &x, &y, &width, &height) { ; ディスプレイ情報取得 getDisplayInfo(&x, &y, &width, &height) ; 画面サイズ補正 ; 画面の左,右,下に隙間が空くので補正する。 ; ウインドスタイル「WS_SYSMENU」が設定されていない画面は補正なし。(例:VSCode) edge := 0 if (GetWinOSVersion() == 11) { style := WinGetStyle("A") if (style & 0x00080000) { ; WS_SYSMENU edge := 7 ; px } } ; 画面位置計算 if (windowPosition == 1) { x := x - edge y := y width := width / 2 + edge * 2 height := height + edge } if (windowPosition == 2) { x := width * 0.1 y := y width := width * 0.8 + edge * 2 height := height + edge } if (windowPosition == 3) { x := width / 2 - edge y := y width := width / 2 + edge * 2 height := height + edge } if (windowPosition == "q") { x := x - edge y := y width := width / 2 + edge * 2 height := height / 2 + edge } if (windowPosition == "a") { x := x - edge y := height / 2 + y width := width / 2 + edge * 2 height := height / 2 + edge } if (windowPosition == "w") { x := width / 2 - edge y := y width := width / 2 + edge * 2 height := height / 2 + edge } if (windowPosition == "s") { x := width / 2 - edge y := height / 2 + y width := width / 2 + edge * 2 height := height / 2 + edge } OutputDebug("x=" x " y=" y " width=" width " height=" height) } ; 画面位置設定 setWindowPosition(windowPosition) { getWindowPosition(windowPosition, &x, &y, &width, &height) try { hwnd := WinGetID("A") WinMove(x, y, width, height, hwnd) } } ; ---------------------------------------- ; main ; ---------------------------------------- ; 矢印キー × 5 ^Up::Send "{UP 5}" ^Down::Send "{Down 5}" ^Left::Send "{Left 5}" ^Right::Send "{Right 5}" ; 上下左右 ^*i::Send "{UP}" ^*k::Send "{Down}" ^*j::Send "{Left}" ^*l::Send "{Right}" ^*u::Send "{Home}" ^*o::Send "{End}" ; 削除 ^*h::Send "{BS}" ; 画面移動(左/中央/右) !1::setWindowPosition("1") !2::setWindowPosition("2") !3::setWindowPosition("3") ; 画面移動(左上/左下/右上/右下) !q::setWindowPosition("q") !a::setWindowPosition("a") !w::setWindowPosition("w") !s::setWindowPosition("s") ; 音量調整 ^F10::Send "{VOLUME_MUTE}" ^F11::Send "{VOLUME_DOWN}" ^F12::Send "{VOLUME_UP}"
Ctrl + 矢印キー:矢印キー5回連打
Ctrl + iキー :上キー*
Ctrl + kキー :下キー*
Ctrl + jキー :左キー*
Ctrl + lキー :右キー*
Ctrl + uキー :Homeキー*
Ctrl + oキー :Endキー*
Ctrl + hキー :BackSpace
Alt + 1キー :アクティブ画面左寄せ
Alt + 2キー :アクティブ画面中央寄せ
Alt + 3キー :アクティブ画面右寄せ
Alt + qキー :アクティブ画面左上寄せ*
Alt + aキー :アクティブ画面左下寄せ*
Alt + wキー :アクティブ画面右上寄せ*
Alt + sキー :アクティブ画面右下寄せ*
Ctrl + F10 :音量ミュート
Ctrl + F11 :音量Down
Ctrl + F12 :音量UP*:機能追加
既知の問題点
モニター1台の環境を前提としているため、別途修正するかもしれない。
- アクティブ画面を移動したときに画面サイズが数ピクセル分小さく表示されるバグを修正。
-
-
#岡奈なな子 さんのチェキをプレゼント!
ほしいーーーー!
岡奈なな子の飾らないスタイル「YouTubeに自分の人生の記録を残していく」
https://wanibooks-newscrunch.com/articles/-/5165
よきよきー