Eu uso meu mouse com as duas mãos e gosto de alternar por motivos de conforto. No entanto, isso é dificultado pela necessidade de passar por um zilhão de camadas de menus para trocar os botões a cada vez. Existe uma maneira fácil de criar um único atalho de teclado que troque o botão esquerdo e direito do mouse?
Editar: Meu sistema operacional é o Windows 7.
Responder1
Como blsub6 mencionou, você pode alterar um valor de registro (com um comando chamado de um arquivo em lote):
REG ADD "HKCU\Control Panel\Mouse" /t REG_SZ /v SwapMouseButtons /d 1 /f
ou
REG ADD "HKCU\Control Panel\Mouse" /t REG_SZ /v SwapMouseButtons /d 0 /f
No entanto, você precisa sair antes que entre em vigor.
Omelhor soluçãoé fazer um pequeno .exe com C# para trocar a configuração, conforme descrito nas respostas paraessa questão.
Crie um arquivo de texto que você possa chamar swapmouse.cs
, contendo isto:
using System.Runtime.InteropServices;
using System;
class SwapMouse
{
[DllImport("user32.dll")]
public static extern Int32 SwapMouseButton(Int32 bSwap);
static void Main(string[] args)
{
int rightButtonIsAlreadyPrimary = SwapMouseButton(1);
if (rightButtonIsAlreadyPrimary != 0)
{
SwapMouseButton(0); // Make the left mousebutton primary
}
}
}
E compile-o swapmouse.exe
com este comando:
"%SystemRoot%\Microsoft.NET\Framework64\v3.5\csc" swapmouse.cs
Em versões mais recentes do .NET, pode ser necessário adicionar /out:swapmouse.exe
e /target:exe
:
"[%SystemRoot%]\Microsoft.NET\Framework64\[version]\csc" /out:swapmouse.exe /target:exe swapmouse.cs
Em seguida, basta clicar duas vezes nesse exe para trocar os botões do mouse. Entra em vigor imediatamente.
Ou, como rad menciona, você pode criar um atalho e definir um atalho/tecla de atalho de teclado na guia Atalho de suas Propriedades.
Responder2
O melhor código AHK:
Run, main.cpl
Send, {Space}{Enter}
Eu também uso mouse com as duas mãos e também tenho Win7, esse código funciona bem!
Responder3
Esta é a versão do Autohotkey (modificada/baseada emhttps://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)
}
Isso funciona bem com todos os Windows (incluindo o Windows 10). Normalmente mapeio-o para uma tecla de atalho, como a tecla "F12" no meu teclado (usando Autohotkey), e posso alternar entre o botão esquerdo e direito do mouse instantaneamente pressionando uma tecla. Não há necessidade de se preocupar em carregar o painel de controle ou configurar o registro/reinicialização.
Responder4
Maneira do teclado de alternar os botões do mouse no Windows Vista (talvez 7) e superior:
- Chave do Windows
- digite "rato"
- Barra de espaço
- Digitar
Sim, são 8 pressionamentos de tecla, mas não é tão ruim... Já fiz isso várias vezes