As blsub6 mentioned, you can change a registry value (with a command called from a batch file):
REG ADD "HKCU\Control Panel\Mouse" /t REG_SZ /v SwapMouseButtons /d 1 /f
or
REG ADD "HKCU\Control Panel\Mouse" /t REG_SZ /v SwapMouseButtons /d 0 /f
However, you need to logout before it will take effect.
The better solution is to make a tiny .exe with C# to swap the setting, as described in the answers to this question.
Make a text file which you can call swapmouse.cs
, containing this:
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
}
}
}
And compile it to swapmouse.exe
with this command:
"%SystemRoot%\Microsoft.NET\Framework64\v3.5\csc" swapmouse.cs
In more recent versions of .NET you may need to add /out:swapmouse.exe
and /target:exe
:
"[%SystemRoot%]\Microsoft.NET\Framework64\[version]\csc" /out:swapmouse.exe /target:exe swapmouse.cs
Then you just double-click that exe to swap the mouse buttons. It takes effect immediately.
Or, as rad mentions, you can create a shortcut, and define a keyboard shortcut/hotkey in the Shortcut tab of it's Properties.
I also have to change input source 50 times a day and came up with a useful method. Karabiner app might help you with this by customising Mac keybord settings.
It provides very finely customization of key repeat rate and you can also accelerate key repeat rate beyond the limits of OS X.
For example:
Open "Key Repeat" tab and change "Delay Until Repeat" and "Key Repeat".
For more details, check manual page and my blog.
Best Answer
If you have different files open in different 'tabs' then you can press F8 to switch the focus to the other tab. This is the same as clicking View > Focus on Another View or. It is also the same as clicking in another tab or on the tab name.