/disable-mouse

Disable the mouse in Emacs

Primary LanguageEmacs Lisp

Melpa Status Melpa Stable Status Support me

Disable the mouse in Emacs

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.

Cat disabling trackpad

Installation

Manual

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.

MELPA

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.

Related packages

After writing this, I found handoff, which has a similar goal, but aims for more annoyance and frivolity.

About

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.


💝 Support this project and my other Open Source work

💼 LinkedIn profile

✍ sanityinc.com

🐦 @sanityinc