Want to force yourself to use the keyboard in Emacs, and you don't have a cat available to obstruct your trackpad? Use this local or global minor mode to suppress the default mouse behaviours, as an alternative to using a cat (see picture below).
You might also consider the inhibit-mouse
package instead, which uses a more elaborate approach that better handles certain modes like evil,
and the built-in tab-bar.
Ensure disable-mouse.el is in a directory on your load-path, and
add the following to your ~/.emacs or ~/.emacs.d/init.el:
(require 'disable-mouse)
(global-disable-mouse-mode)If you use Evil, this may be insufficient, since the keymaps for
Evil's individual states will contain bindings for mouse
events. disable-mouse provides a function disable-mouse-in-keymap
which you can use to neutralise any keymap, so Evil users might use a
snippet like the following in addition to that above:
(mapc #'disable-mouse-in-keymap
(list evil-motion-state-map
evil-normal-state-map
evil-visual-state-map
evil-insert-state-map))Note that you won't be able to restore those Evil mouse bindings by turning off
disable-mouse-mode. You'll need to restart Emacs instead.
(As noted above, Evil users are likely to prefer the inhibit-mouse package.)
If you're an Emacs 24 user or you have a recent version of
package.el you can install disable-mouse from the
MELPA repository. The version of
disable-mouse there will always be up-to-date.
Enable global-disable-mouse-mode with M-x global-disable-mouse-mode, by using
the customisation interface, or by adding code such as the following
to your emacs startup file:
(global-disable-mouse-mode)If you want to only disable the mouse in only a certain mode, add
disable-mouse-mode to that mode's hook.
After writing this, I found handoff, which has a similar goal, but aims for more annoyance and frivolity.
inhibit-mouse provides only a global mode,
but it works by using input-decode-map, which gives better results overall, particularly for evil users.
These days you should probaby prefer that package to this one.
Author: Steve Purcell
Homepage: https://github.com/purcell/disable-mouse
This little library was extracted from the author's full Emacs configuration, which readers might find of interest.
