From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Yuri Khan Newsgroups: gmane.emacs.devel Subject: Re: New key binding syntax Date: Fri, 5 Nov 2021 17:03:19 +0700 Message-ID: References: <20211004081724.6281.11798@vcs0.savannah.gnu.org> <1763939.ehZidYVhZF@galex-713.eu> <3412236.9QipagVtEG@galex-713.eu> 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="16723"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Richard Stallman , Emacs developers To: Alexandre Garreau Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Nov 05 11:04:26 2021 Return-path: Envelope-to: ged-emacs-devel@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 1miw5C-00047P-GQ for ged-emacs-devel@m.gmane-mx.org; Fri, 05 Nov 2021 11:04:26 +0100 Original-Received: from localhost ([::1]:40216 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1miw5B-0005ao-4G for ged-emacs-devel@m.gmane-mx.org; Fri, 05 Nov 2021 06:04:25 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:46780) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1miw4L-0004u4-P3 for emacs-devel@gnu.org; Fri, 05 Nov 2021 06:03:33 -0400 Original-Received: from mail-vk1-xa2d.google.com ([2607:f8b0:4864:20::a2d]:36398) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1miw4K-0001MN-BR; Fri, 05 Nov 2021 06:03:33 -0400 Original-Received: by mail-vk1-xa2d.google.com with SMTP id f126so4365293vke.3; Fri, 05 Nov 2021 03:03:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=p6PvkTUPIjke2QM/3vuVL5/0/qu/hqQ6zvtzHrw1kd8=; b=nA+LdF4tggBsUG1QO7XXsnVKTYvO2i07wYIRkoCLt5s7hjuF28d6vzrNbdF39+e5tt VC1rKexrIdo4NGB/eFVP/nf68bmQSBPeYScAZWrWg6ub7Ii1im8Ouyb/a4E1TLZGZDZh 0MkRK8lhsW2OgR/OhEGLm965qc11dftUxOGhV+uE8k4gsIAdxrtW/QAGUCoWqNAm49fw heQFqJld6wJkZrrCCPLe5u/TrQ9corexVJgTOFOO+Xey8Edk+sZKT8OppSnKqlDeDpHo W+xWWGk7rxoKEOQmKaPfKs65WARDTlRuj8O8Ag51jXLfIG9fFjFPoxQjHXV2Th/enBFB D6Bw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=p6PvkTUPIjke2QM/3vuVL5/0/qu/hqQ6zvtzHrw1kd8=; b=wuTyILl7O/ISxcIKDSK33p2uEePlGPa/GueFUwA7/aS2R/JHmqGxT5OZGjkgv3laIu 5Wo7jkWdJD/HMs6Kaji19jrQMIEFi8vRi4UyImP1nijsWAPMcKMiJesuHVrcQhr8/dqj HRKqOM+tgyFZGnJfbZuy7LgybaEFQRjRy50rbeTVTrjEet93F8mYOUlX6jaMuJXvkseZ 0N1uNueWqZJJj90GT1OblTDKCayTJE70jk1qqy5uHunkDzwAiz6MU2nUqt1ERGXcmA8O UuZr/lffvcu4H+t6ORXb4r8FCiuahVascNceVFS1uZKFZ6XxnyNHZ4nepqxoeHYIkQVj 5+8Q== X-Gm-Message-State: AOAM5302mHigdGiTJBQDEtEahoFLOebU5dHVRLVM0LVJAJoKCsO1C0BN TItXxdCe/i8UR3XW0VKz20MLB/z82DX35CTO6s13/wwubi0= X-Google-Smtp-Source: ABdhPJzDPpCqVM1S9uMe2kHNI1oiZZeW+Uv9fEOpTeQTApUsdAHdxEGCeXxnBqGw0U4bPzm6KHDxI8NhOHAE8d8ly7k= X-Received: by 2002:a1f:2906:: with SMTP id p6mr44292337vkp.19.1636106611157; Fri, 05 Nov 2021 03:03:31 -0700 (PDT) In-Reply-To: <3412236.9QipagVtEG@galex-713.eu> Received-SPF: pass client-ip=2607:f8b0:4864:20::a2d; envelope-from=yurivkhan@gmail.com; helo=mail-vk1-xa2d.google.com 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, 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-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:278756 Archived-At: On Fri, 5 Nov 2021 at 16:13, Alexandre Garreau wro= te: > so it=E2=80=99s like a down, b down, =E2=80=A6, f down=E2=80=A6 and then = until I release any key > between a and f, if I press down =E2=80=9Cg=E2=80=9D, the keyboard won=E2= =80=99t say anything to > the application/OS? As I said, it depends. (Also, I=E2=80=99d like to see you do that with just your left hand.) q w E r t A s D F G z x C v B > wdym by =E2=80=9Csimultaneously=E2=80=9D? =E2=80=9Cclose enough in time o= f pressing=E2=80=9D? or =E2=80=9Cwhile > the others haven=E2=80=99t been released yet=E2=80=9D? The latter. > what? I thought the usb kbd firmware worked by sending events that > triggered interruptions, not that it stored keystate itself :o I thought > keystate was saved and registered application-side, with each event Well, this explains your reactions. What travels over the wire is the state (level), not the changes (edges). It is the OS, input subsystem of the desktop, and possibly toolkit, that translates that into press, release, and autorepeat events. Otherwise, for example, what would happen if you held down a bunch of keys and then unplugged the keyboard? Should the host system remember that these keydowns originally came from device X and auto-generate posthumous keyups for them when device X is unplugged? (It is also the OS and the desktop=E2=80=99s input subsystem that interpret= s keyboard layouts and turns a Shift+AB01 into a capital Z on a US system or capital Y on a German system. But you probably knew that.)