How to bind super and arrow keys to windmove in Emacs?

I'm trying to bind Super and the arrow keys, (s-up, s-down, etc) to change windows in Emacs. Unfortunately I'm having trouble setting it correctly.

I am running Kubuntu 13.04 with Emacs 24.3.1.

xev sees the Windows key as being bound to Super_L.

KeyPress event, serial 40, synthetic NO, window 0x4800001,
root 0x251, subw 0x0, time 7320920, (-362,216), root:(898,899),
state 0x0, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False

I've tried the following in my .emacs:

(when (fboundp 'windmove-default-keybindings) (windmove-default-keybindings 'super))

I've used describe-function (C-h f) to verify that the windmove commands are bound to super and a directional key, like s-left. However, when I try to use the combination, nothing happens.

I've checked by using view-lossage (C-h l) to see what's being pressed and the super plus directional keys don't show up.

Interestingly, I can bind super and some other key, like s-h and the windmove functions work fine.

This is driving me crazy. Any help is appreciated.

1 Answer

A possible explanation for this is that your window manager is catching these key bindings and doesn't forward them to Emacs.

Try looking for Super+arrows bindings in your window manager's configuration, and deactivate them.

2

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like