From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id YE1wClN46mEKowAAgWs5BA (envelope-from ) for ; Fri, 21 Jan 2022 10:09:39 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id sFrKB1N46mGJTAEA9RJhRA (envelope-from ) for ; Fri, 21 Jan 2022 10:09:39 +0100 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id C3FD633D8E for ; Fri, 21 Jan 2022 10:09:38 +0100 (CET) Received: from localhost ([::1]:55124 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nApvN-0008G1-EW for larch@yhetil.org; Fri, 21 Jan 2022 04:09:37 -0500 Received: from eggs.gnu.org ([209.51.188.92]:54376) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nAn1j-0000Z6-2k for emacs-orgmode@gnu.org; Fri, 21 Jan 2022 01:03:59 -0500 Received: from [2607:f8b0:4864:20::1036] (port=44616 helo=mail-pj1-x1036.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nAn1h-0001GA-Co for emacs-orgmode@gnu.org; Fri, 21 Jan 2022 01:03:58 -0500 Received: by mail-pj1-x1036.google.com with SMTP id v11-20020a17090a520b00b001b512482f36so5376247pjh.3 for ; Thu, 20 Jan 2022 22:03:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=references:user-agent:from:to:subject:date:in-reply-to:message-id :mime-version; bh=XVuBXs1DujbNGGT55unaatiLZAPzyzoikYXZzsjlPhI=; b=aBCmQiomI1Q63zleQWJfko7ue1iANaws0AafY+vhsWKuhyxDbKNAY+CVXrwmUKo+cM AaVFB/JBdNSSjQtBn8y9Jc/bnD7ZrvG8JV6MXbw0/g33Zi4+MyZFp+P/27rbNWPw/xjX VEudOUsNsWmRcC82Vq1e0iMiAEt6q172XT/I2S0Q1jkg2Pu5lUA2qemLcQ81tcZtFPQN K6bvGcMwySfKIdDK0rNCSNnGWqZKQ2ASHihWtYVOcwnPMJ3q+vEkuWhZpRMJ3nL2mA/h 8CohkBrFWzYc/YHQgc8UcQ7S0zdpWaT5UbHQBeKNf36BLtE+R36/J4QHlUD181tAYmEC AJ6g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:references:user-agent:from:to:subject:date :in-reply-to:message-id:mime-version; bh=XVuBXs1DujbNGGT55unaatiLZAPzyzoikYXZzsjlPhI=; b=VnwQraY43PHkOvrpbrsT3Hr8ieRAECgRBgtZpVrsAm+db3UvweoI2uvCFZdYTg/1jP Ow4/oE2RSHxIvHbSGnU6yLD6F7in0rnht0doo7UiKaFcJfCgf6Rx7FL2aGSOZYN+X4KH Y1gJXNOqx50ONwhbkh+2PwPP6em0xqr0Y6JzhMAJybSGtraDCdZ9wP4+3tudLB4sVJmL IRCgaCTUxvgxLTzgDxpU66ikO96lOEESJsZAhBekVuWLncGOIJ6o/NI9LRvzyc2HoWVO 1DYQ84Nb7qJikDmzzXsbTSZrqnROdCiriuLDfmwxuVZmI+JZ3v2yXzM6gf5Kp5p9M5w5 afWQ== X-Gm-Message-State: AOAM531z/hRYkkpvvRfqFyTsEX0ofT+8Ma5WFYghCKWLJURWI5BDDpIL NHA6c2Pk3/grM7UrWZPZxcPhV7NojJ0= X-Google-Smtp-Source: ABdhPJxLT28d5VuwGfurJP2UFr6BOdu6jPSvAy8Llyv1KB/PDIXlQbqXWdJ/2gk8snabFItlHipTlg== X-Received: by 2002:a17:902:7fc8:b0:14a:e403:2f18 with SMTP id t8-20020a1709027fc800b0014ae4032f18mr2640017plb.45.1642745035930; Thu, 20 Jan 2022 22:03:55 -0800 (PST) Received: from dingbat (2001-44b8-31f2-bb00-07a0-e967-8677-2c39.static.ipv6.internode.on.net. [2001:44b8:31f2:bb00:7a0:e967:8677:2c39]) by smtp.gmail.com with ESMTPSA id g11sm5478567pfj.21.2022.01.20.22.03.54 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 20 Jan 2022 22:03:55 -0800 (PST) References: <877daw6i8l.fsf@hornfels.zedat.fu-berlin.de> <878rvblwmx.fsf@localhost> <87y23b6dvz.fsf@hornfels.zedat.fu-berlin.de> <874k5zlsd2.fsf@localhost> <87sftj6ard.fsf@hornfels.zedat.fu-berlin.de> <871r13kvfg.fsf@localhost> User-agent: mu4e 1.7.6; emacs 28.0.91 From: Tim Cross To: emacs-orgmode@gnu.org Subject: Re: Extend the existing alternative set of key bindings for terminals (was: Second Ctl in keychord not detected) Date: Fri, 21 Jan 2022 16:26:00 +1100 In-reply-to: <871r13kvfg.fsf@localhost> Message-ID: <874k5x4oc7.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::1036 (failed) Received-SPF: pass client-ip=2607:f8b0:4864:20::1036; envelope-from=theophilusx@gmail.com; helo=mail-pj1-x1036.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 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, PDS_HP_HELO_NORDNS=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1642756178; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=XVuBXs1DujbNGGT55unaatiLZAPzyzoikYXZzsjlPhI=; b=uatn58rFbD+HwgHyZvagHBbdY0H3lNAlFTieJ7wjpfoMdLgSRZPp4cvpEn43S68d5bPIfD xmD9qdZsjKvigpUdB9jZWL0snDUTzeqztF8w4+NDeGhVaQNq87Kua420W83pUrz24/5j7n SdhxN5bQskxTTeJkoMyrfkqigo5Ue1FP2jXO0Np4+pk2QqSmrsfeYW9zs1r7kBitOzFjLi bAyCp9ju87nrDWLoZ5TM6i6Xs1FBpYjTgnDiC/9bVGcrVUGnwem/o4tB90nHzUydeHgdCl F4gil4p75nA2yBNjIcJSVV7Ryzm0Tc9TgIsEisHnZtLx9xZci9qs8G9tYjcvrA== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1642756178; a=rsa-sha256; cv=none; b=FMJ70CdcRKRGHF499wUS8IpOZd/vxc7iX/k6jW1ycmf99MyTRfh/ZpSic3on0RLkAe+t/K c6quAt2PqoGuyaqtJcrveCeNWdd8zn1m3tEDA4RXgGIZC3R+VNoTmGTlb10xCbCj9nzTRg 5sOqE9PBMueRE2N0cq8GC2oXGdNPZSn5DYBRxOD2q2jU0UGBpLhsD18eqGIxjyf+5AXCSm UBVmyR7Q4upW0/zLVOBDPvBnOjYbhAHZvDzgo70jG0Alp7OSCG7Hnaj4vvdsS5SkThQKxs mAUIKHsMMsWhwIVOQS/RQr7+hVW0i3ixcE1ehWpMoKnYJEYMFbSkL5cOY6OOhg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=aBCmQiom; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -4.32 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=gmail.com header.s=20210112 header.b=aBCmQiom; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: C3FD633D8E X-Spam-Score: -4.32 X-Migadu-Scanner: scn1.migadu.com X-TUID: ZqiaatW9ZBwV Ihor Radchenko writes: > Also, it appears to me that we may keep losing terminal-incompatible > keys in future unless we provide some mechanisms to check terminal > compatibility automatically. Any ideas? > No ideas on this. Problem being I don't think there is anything like a terminfo service which will tell you about what capabilities/bindings a terminal emulator has. Just some thoughts on this - I fear any such attempt is likely to end up in a game of 'wack-a-mole'. While it makes some sense to provide alternative key bindings for Emacs running under the GNU Linux console, especially given the limitations under the console are well defined and constant, I'm not sure we can provide reliable solutions or tests for different terminal emulators (which will often 'reserve' various key bindings for their own use. This is especially true for more advanced terminal emulators like tmux. An alternative which might be worth considering would be to improve documentation on using different popular terminal emulators, like tmux which could cover both adapting org key bindings and adapting the key bindings the emulator uses (a very quick google on this indicates you can change the tmux bindings, but that detail is apparently not well documented). Such documentation could include some guidelines on how to identify the issue, identify at what layer (window manager, terminal emulator, communication protocol etc) the problematic binding is being intercepted etc. The interactions at this layer can be complex and confusing, especially for users who don't have a clear model of how all the layers interact. A more long term strategy which I wonder if we should consider is whether org would benefit from adopting the use of something like the hydra package. Org needs a lot of key bindings - many more than most other modes. Available bindings are in short supply. Perhaps leveraging off something like hydras would both offer more flexibility and make it easier to manage. Likewise, could transient mode help in this area?