投稿者: 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キー :アクティブ画面右下寄せ

    作ったもの

    keyremap_20240610.zip

    「キーのリマッピング」のソースファイル

    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台の環境を前提としているため、別途修正するかもしれない。

  • キーのリマッピング

    AutoHotkey V1→V2

    https://猫猫猫.tokyo/?p=886

    作ったもの

    keyremap_20240501.zip

    ファイルとして公開してなかったので今更ながら置いておく。

  • 755番(※写真はイメージです)
  • #岡奈なな子 さんのチェキをプレゼント!

    ほしいーーーー!

    岡奈なな子の飾らないスタイル「YouTubeに自分の人生の記録を残していく」

    https://wanibooks-newscrunch.com/articles/-/5165

    よきよきー