[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: N-key rollover keyboards

From: Alan Davis
Subject: Re: N-key rollover keyboards
Date: Mon, 3 Aug 2020 14:48:34 -0700

Thank you.  An impressive bit of coding.  Executing this code in emacs,
then serially typing in various keys, combinations results in an "ok" in
the minibuffer.  There was one combination that executed an i3 command anv
moved the window to the other display.   This gives me something to work
on.  An emacs instance in a terminal ($emacs -nw ) om either urxvt or st
gives the same result.  I wonder why the combination Shift-Ctrl-B passes
through to i3 and is executed, but not other commands.   This is so in
either of these terminals as well as in an emacs window.

Is there a similar tool that can be used in bash?

Alan Davis

On Mon, Aug 3, 2020 at 11:17 AM Dmitry Alexandrov <> wrote:

> Alan Davis <> wrote:
> > On Sun, Aug 2, 2020, 10:04 Dmitry Alexandrov <> wrote:
> >> FWIW, N-key rollover is not really about USB or protocols; itʼs about
> circuit of the keyboard.
> >>
> >> It does matter, when you reconfigure modifiers in a human-friendly way,
> that is move one of the ‘controls’ (normally, the left one) closer to
> ‘space’ — under your thumb — (ctrl:swap_lalt_lctl setxkbmap(1) -option or
> equivalent).
> >>
> >> Then, on many ordinary keyboards few combinations, that are in use in
> Emacs, are indeed get ‘ghosted’.  And M-C-b with inner M- and C- is a very
> likely variant.
> >>
> >> Two-key chords can never be affected, of course.
> >
> > 'ghosted'?
> Yes.
> > Does this mean these apparently problematic combinations require N-key
> rollover?
> No, not necessary.  Much cheaper redesign of a circuit would suffice.
> > I am also using org-mode with several multiple-key chords.  I cannot
> remember any instance where these have been a problem.
> So, evidently, either your keyboards are not affected or youʼve just never
> bumped into affected chords.  Do an exhaustive check, if you are concerned:
>         (while t
>           (let ((key (read-key)))
>             (message "%s: ok\n" (format-kbd-macro (vector key)))
>             (when (eql ?\C-g key) (keyboard-quit))))

The foundation of morality is to have done, once and for all, with lying.
                     ---Thomas Huxley,

reply via email to

[Prev in Thread] Current Thread [Next in Thread]