R&D, Vim, X-Mouse and Logitech Anywhere MX

signal processing, XR, sim racing, microscopes, STM32 and ESP32 projects


R&D, Vim, X-Mouse and Logitech Anywhere MX

25 Feb 2019

My R&D process (roughly)

do {
  do {
    research()
    contemplate()
    copy()
    paste()
  } while (!credible())
  do {
    copy()
    paste()
    edit()
    build()
    debug()
    log()
  } while (broken())
  do {
    test()
    evaluate()
    log()
  } while (failing())
} while (!presentable())

… where log() also involves copy() and paste().
Fewer actions for copy() and paste() save time and aggravation.

I am so depressingly old; my first PC was a Sinclair ZX80
and my second was an IBM 5100.
From a user interface perspective,
Unix peaked for me at OpenWindows 3 - SunOS 4.1.4
The ability to save state and position of each client window at logout
and restore at login seems to be lost, along with X mouse behavior.
X mouse behavior can still be at least approximated on macOS and Windows.

X mouse and macOS

X mouse copy/paste for macOS is useful and not too hard to implement,
but wants focus-follows-pointer, and I prefer autoraise.
Given Apple’s Aqua Desktop with detached top menu bars,
X mouse autoraise is unpopular,
but see dwell and Creating Panels for Switch Control and Dwell Control.
In my experience, while Accessibility Keyboard nicely implements autoraise among windows,
it also simulates left-button for any GUI elements over which the pointer hovers.

X mouse and Windows

Gvim 8.1 installation

snapshot of Vim installation settings

~/_vimrc

set nobk			" Don't create backups; use Git
set backspace=indent,eol,start	" enable Backspace during insert, etc
" https://blog.sourcerer.io/making-vim-great-again-cdfbc281428b
" disable swap file and put all data in memory
set noswapfile
" highlight (by cursor drag) copies to Windows clipboard
set guioptions+=a
  

X-Mouse Button Control may be better than True X-Mouse Gizmo,
but the latter seemed simpler to adapt.
Reserving middle button press for opening hyperlinks in new Chrome browser tabs
required a minor Registry hack, as does enabling focus-follows-pointer autoraise.

TxMouse.reg

REGEDIT4

[HKEY_CURRENT_USER\Software\<appro@fy.chalmers.se>\TXMouse]
"AutoRaiseDelay"=dword:00000200
"ExemptedClasses"="EXCEEDW:*;XWinClass;cygwin/x*;VNCviewer;wMFService*;UIMainClass;TSSHELLWND;MSPaintApp;Basilisk*;tty;Chrome_WidgetWin*"
"ExemptedModules"="vmware.exe;msrdp.ocx;mstscax.ocx;wfica.ocx;"
"RapidClickInterval"=dword:0000014d
"TwoButtons"=dword:0
  

A 3 button mouse is essential for efficient X mouse usage,
and middle button separate from scroll wheel reduces missed pastes. Hyperscroll is worthwhile,
and Logitech’s original Anywhere MX hyperscroll mouse with separate middle button has the best power switch,
but button switches have been problematic.