From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Alan Davis Newsgroups: gmane.emacs.help Subject: Re: N-key rollover keyboards Date: Mon, 3 Aug 2020 14:48:34 -0700 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="8336"; mail-complaints-to="usenet@ciao.gmane.io" Cc: help-gnu-emacs , Yuri Khan To: Dmitry Alexandrov Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Mon Aug 03 23:49:21 2020 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1k2iKf-00023h-44 for geh-help-gnu-emacs@m.gmane-mx.org; Mon, 03 Aug 2020 23:49:21 +0200 Original-Received: from localhost ([::1]:36798 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k2iKe-0000qj-6p for geh-help-gnu-emacs@m.gmane-mx.org; Mon, 03 Aug 2020 17:49:20 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:48152) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k2iKL-0000qW-AY for help-gnu-emacs@gnu.org; Mon, 03 Aug 2020 17:49:01 -0400 Original-Received: from mail-il1-x131.google.com ([2607:f8b0:4864:20::131]:40226) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k2iKJ-0004Cl-Fq for help-gnu-emacs@gnu.org; Mon, 03 Aug 2020 17:49:01 -0400 Original-Received: by mail-il1-x131.google.com with SMTP id x1so12128618ilp.7 for ; Mon, 03 Aug 2020 14:48:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=nvKGwnomBRmg45bQ0WiS7eIfkKNM3fxHqXPvccTIZjg=; b=Ew/N/KBLESfZZltGfPrKooZNKPjFSuCbM00fsAncgA/MtFfx24YU1MI/uFnfeEkdcR UiVLkgbAF59jVizSZP9f+TTJhTYGiUieoo67C6jt+BSFCKZkIx7ybwbHzHokiZyzKnp8 Sz9UCIDupo8PJDk8+oP8G2lmmHT9/Er7BL5IalQtCy18zSSTV8ye97B8WGrGkweWsPUT i1cs7qDKL3gOhLFqjS8JcyZF5OvE7ECXxpCfcyllYy3DXi7GUADhKqTpxCoR6EAXYyPW cuAOx0NTcBXkqFo/3neswzFTuuDQgT3fseYwQQwumU6/U1wshgjWHxPIaOV+kWVTABZt 1qfA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=nvKGwnomBRmg45bQ0WiS7eIfkKNM3fxHqXPvccTIZjg=; b=kCD2SqngX1kx7vcpHC1ElJHdI1B3KvzqokV+lkS7b6T648L+5LBDr8dMf03yY/BHDy jqWetIuFapJ9Y4KS+/D1rII+Cf8quddm1ysQ3WLlkpnxM+7iS9yz44VcivbHM5YoQcUZ rIJlqouekeqDvxPIXIQymV5Oj+cAQsBPbZLup6Fkn0+JOTf0SrFaQYS87Au4mRTWe8m/ 9hFSWv26C2mtTROoUtWu6ZCWl/ylCpGOxuUWd6DH9WZuQ07lQhi5QMl/iNGFMOW8svCP K14AJ/0zH69R5Gz92DdoiTTQNF1Y6tfnAQ8z9agOr8gDMJ0TtoreGYy/BFMy6WgsndBr B3Tg== X-Gm-Message-State: AOAM532XuF28EL/Qa6DYS1Mhb8eJ1Mg5lWlKAgCFIQYxgpKixNPvPdqh KOfi4sa78CYJZ2BT8ktFNPtLwIsWYKFbwMeIl9U= X-Google-Smtp-Source: ABdhPJyrQ8Rp4WQjpCRlfVdEtdHLXeqKRHXHkBinp7RvP2xRXcTMd41DLTuAyq5k12w6SMCa2Yp8OSBB1bsToMrxKUE= X-Received: by 2002:a92:5f17:: with SMTP id t23mr1400476ilb.62.1596491337765; Mon, 03 Aug 2020 14:48:57 -0700 (PDT) In-Reply-To: Received-SPF: pass client-ip=2607:f8b0:4864:20::131; envelope-from=alan3davis@gmail.com; helo=mail-il1-x131.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:123630 Archived-At: 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=CA=BCs a= bout > circuit of the keyboard. > >> > >> It does matter, when you reconfigure modifiers in a human-friendly way= , > that is move one of the =E2=80=98controls=E2=80=99 (normally, the left on= e) closer to > =E2=80=98space=E2=80=99 =E2=80=94 under your thumb =E2=80=94 (ctrl:swap_l= alt_lctl setxkbmap(1) -option or > equivalent). > >> > >> Then, on many ordinary keyboards few combinations, that are in use in > Emacs, are indeed get =E2=80=98ghosted=E2=80=99. 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. https://www.bing.com/search?q=3Dkey+ghosting > > > 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=CA=BCve just= never > bumped into affected chords. Do an exhaustive check, if you are concerne= d: > > (while t > (let ((key (read-key))) > (message "%s: ok\n" (format-kbd-macro (vector key))) > (when (eql ?\C-g key) (keyboard-quit)))) > --=20 The foundation of morality is to have done, once and for all, with lying. ---Thomas Huxley,