
여덟 살 난 아들은 왼손잡이이고 나는 오른손잡이입니다. 명령줄에서 기본 마우스 버튼과 보조 마우스 버튼을 쉽고 빠르게 전환할 수 있기를 바랍니다. 우리는 Windows 10을 사용합니다. 찾아보니이것, 이는 c 및 C#* 솔루션을 제공합니다. 나는 찾았다이것재부팅이 필요한 솔루션을 제공하고 스택 오버플로 답변에 대한 링크도 제공합니다. 그러나 내 생각에는 이것이 컴파일된 언어에 의존하지 않고도 가능해야 할 것 같습니다. PowerShell, Python, Perl을 사용하는 솔루션에 만족하겠습니다.nircmd유틸리티 등이 있지만 컴파일된 언어에 의존하고 싶지 않습니다.
도움을 주셔서 감사합니다.
- 참고 사항: 언어 이름은 이름이 C Sharp로 발음되더라도 "♯"(U+266F ♯ MUSIC SHARP SIGN) 문자가 아닌 "#"(U+0023 # NUMBER SIGN) 문자를 사용하는 것 같습니다. . 참조.https://en.wikipedia.org/wiki/C_Sharp_(programming_언어)#이름.
편집: 궁극적으로 Autohotkey 단축키를 사용하여 이 작업을 수행하고 싶었기 때문에 "...또는 단축키를 사용하여..."를 추가하도록 질문을 변경했습니다. Autohotkey가 스왑 자체를 수행할 수 있다는 것이 밝혀졌습니다. 나는 대답이 예를 들어 Autohotkey 단축키를 사용하여 호출할 Powershell 스크립트일 것이라고 가정했습니다. 허용되는 답변을 참조하십시오.
답변1
AHK에 대해 제가 생각해낸 내용은 다음과 같습니다. 마우스 버튼을 다시 바인딩하도록 전환합니다.ctrl+alt+m
swap:
swap=false
^!m::
swap := !swap
#if !swap
RButton::LButton
LButton::RButton
답변2
에 게시된 답변입니다.https://superuser.com/a/1357020/790554.
이것은 Autohotkey 버전입니다(수정/기반)https://github.com/jNizM/AHK_DllCall_WinAPI/blob/master/src/Mouse%20Input%20Functions/SwapMouseButton.ahk).
; autohotkey code - mapped to F12
F12::
buttonState := DllCall("user32.dll\SwapMouseButton", "UInt", 1)
if buttonState <> 0
{
buttonState := DllCall("user32.dll\SwapMouseButton", "UInt", 0)
}
이는 모든 Windows(Windows 10 포함)에서 잘 작동합니다. 저는 보통 이것을 키보드의 "F12" 키와 같은 단축키(Autohotkey 사용)에 매핑하고, 키를 누르면 즉시 마우스 왼쪽 버튼과 오른쪽 버튼 사이를 전환할 수 있습니다.