From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Po Lu Newsgroups: gmane.emacs.devel Subject: Re: master 3b41141708: Expose the name of an event's input device to Lisp Date: Sun, 10 Apr 2022 08:37:31 +0800 Message-ID: <87bkx9lqno.fsf@yahoo.com> References: <164933858147.29834.15050766441005536059@vcs2.savannah.gnu.org> <87ee28xyg2.fsf@yahoo.com> <83ee28az95.fsf@gnu.org> <87fsmow1hz.fsf@yahoo.com> <83a6cway59.fsf@gnu.org> <87tub4uivu.fsf@yahoo.com> <83y20fakwn.fsf@gnu.org> <87o81bu7zj.fsf@yahoo.com> <83v8vjai4s.fsf@gnu.org> <87bkxbsqfl.fsf@yahoo.com> <835yniah0u.fsf@gnu.org> <8735impqw4.fsf@yahoo.com> <83v8vi8uyu.fsf@gnu.org> <871qy6o9p3.fsf@yahoo.com> <83o81a8qnd.fsf@gnu.org> <87zgkulbuu.fsf@yahoo.com> <83ilri8iag.fsf@gnu.org> <87k0by43an.fsf@gnus.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="14806"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.91 (gnu/linux) Cc: Stefan Monnier , Eli Zaretskii , Richard Stallman , emacs-devel@gnu.org To: Lars Ingebrigtsen Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Apr 10 02:38:29 2022 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 1ndLb2-0003fz-QR for ged-emacs-devel@m.gmane-mx.org; Sun, 10 Apr 2022 02:38:28 +0200 Original-Received: from localhost ([::1]:33170 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ndLb1-0002AA-Be for ged-emacs-devel@m.gmane-mx.org; Sat, 09 Apr 2022 20:38:27 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:33996) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ndLaM-0001VC-Ro for emacs-devel@gnu.org; Sat, 09 Apr 2022 20:37:46 -0400 Original-Received: from sonic302-22.consmr.mail.ne1.yahoo.com ([66.163.186.148]:44491) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ndLaK-0002aJ-5F for emacs-devel@gnu.org; Sat, 09 Apr 2022 20:37:46 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1649551062; bh=fpR2nVVk1GZFDWcOaswvOmfJ6mNvXSoIMUlrSjUGd3c=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From:Subject:Reply-To; b=TfNo/PTWV+LvXlY9JNDDMyIUaXFLEDX5keQHj/d2OVK0iVOcxTBPtnim8o907Yv6BlsKGC5OyELxHxcz0Wkt2p2VEHQpeJ4Pr6Nf3MEv+Z85Lr6Nij/ZAF+EvxosNogJN/RQnXc2hdlYeG1jIXATDcZHA4Z4MEyaMq8I9aOppcc6PUiiu3vZqVbAatyoYUDueUC/jz8sI2W+GOeKoTLQcALqLwGAAGDk9VWgZbzQbhaHUr+7pJWsuggKRHBvyTqOEtKI8vb3whxzU66p1gpfP5AqYVEoVgvBy7z4S8mWWu7b1VUXqlZyZLZ+UAZgLlqSKi9EkF55R+v9FLY8daowZQ== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1649551062; bh=g7Okf2ByJsiPXH9I8n6hxbr00VgbeDhXN32ce2l9IxP=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=pNCPZ/B24edVPSEXE51ZLlmfWMlYPxfG9VTJy+fuAma/eISv/frQPtotPtZJHyaJRO/IDpYDdmjHg6LIkLQVZs0T+Obj76drjASvz8i7M20l5qLms/BOa2tc3/Qs3GbAzH9i3QemjboD/dUu1zoiGiz7CQWKppIEAtJ3Y58qdByOjTg1SPGSbRfaFKdc8l1bTLMPk+M79Ge5Pmxk3Ex61yFQSZ9N2Kwjg8/YiZoC/UAxS2GgH7zwjiNGQPliRwoysJrEzyVbmh3YkdpJvxbsq74MnZJ0HVnwyHJYBjnsDTx9X2oy3+ZawjbpfoFrrYXhL4OWteONppsZpL/iQLm1hg== X-YMail-OSG: pwaNWM0VM1mz_tJXK5tLVSUAQBqLUCFrk5Zrf0lE0XyJOFKBypkaV6GJVQiY3Wl u5DFm1W2AmsXp1kylv0jdoSAQMtDC4Qs_otNdgwFIUbTBnzVFKLQajFAoKLL5BknIyKm4fv3noCd tbLBWFoQ8fKu3iYBqq58v7Witkck27VAFURyh4SVZN.9R5.vAXDS6jGmMenLh8McYULDDHciK8BK upTy1ZcerLey0DbQj2eB.3BYL8UeGc4waQdW.A1_8vHCe_Yul948UI9sXU1coJTNYnjmslgIABTa IkqDeLzcGWthHg8N6fiCRLiycsxI61h2X78LJpVY.AkJIUXMnvtLaJ7a9QaCG5RirM6KWg0IrBhX 2t77GxyJJW4nbQnB2o3Vm0ZvQTr7tCKCQdv_FGrTkFUy9BzBkNGQ2DAumDq3x_liAi8mQj3RBNHT KiAWZbX3gl9waovLKzORLpvgvU7fnwDgUscUWEoqLV5zvK1k.wjfYsVRIca4k0qs25yfDpQIoitg VAvrPtEOBiBOmI1NUGI4FsCZuXKITFTYOVCPjWhQxmKHek9xIt98zN.bBcl.ES55RFR5EVYM_pSQ R9we23kjTuFvK.rN4xJ7hF5looiCLXqa9TBPFYxq9T.wvgHBdWsUwAVMUiImtulhZyOMa0flAjkp waVFYJwrzFOipfSg2ogg0lQ5wSUDPnD0Lz6LWSNLztE.AcTQbC3bHYpGXnLzdGICbl5hirnmoQsM oksbAk0Yz8_sZ7qgcn1rdoJL0Ap0NDO3QybO4dpJZX517kf8lW103eR64ZqhDrAnGJFFnsqQzsHY bpLBdoW3V9RqomHg8XMGTlTJFN_HoFE8n6jAv16_19 X-Sonic-MF: Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic302.consmr.mail.ne1.yahoo.com with HTTP; Sun, 10 Apr 2022 00:37:42 +0000 Original-Received: by hermes--canary-production-sg3-65d7bd97b5-r89m2 (VZM Hermes SMTP Server) with ESMTPA ID 3436962d9ed2a10448120894b9ec540b; Sun, 10 Apr 2022 00:37:36 +0000 (UTC) In-Reply-To: <87k0by43an.fsf@gnus.org> (Lars Ingebrigtsen's message of "Sat, 09 Apr 2022 18:41:52 +0200") X-Mailer: WebService/1.1.20048 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Received-SPF: pass client-ip=66.163.186.148; envelope-from=luangruo@yahoo.com; helo=sonic302-22.consmr.mail.ne1.yahoo.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, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=unavailable 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:288073 Archived-At: Lars Ingebrigtsen writes: > For instance, I have a pedal that's a USB HID thingie. Amusingly > enough, stomping on the pedal gives me a "b" event. The key "b", > indistinguishable from a "b" from the keyboard. Exactly. This is partly the sort of use case I designed this feature for. > So if I could somehow say > > (keymap-set global-mode-map "[device footpad]-b" 'do-something) > > that would be ideal. Oh yes, that would be good as well. We could have the ability to bind keys to individual devices. I could imagine a different API that didn't put the device name into the name of the key, though: there could be a system for making keymaps "device-local", or even better device-specific bindings in a keymap: (keymap-set global-mode-map "b" #'do-something "name of footpad") And the "name of footpad" can reasonably be system dependent, since the user will be making such a customization, and he can look in the output of `xinput list' (or the system's input preferences.) We could also have a system like: (keymap-set global-mode-map "" #'pixel-scroll-precision-interpolate 'mouse) Where the last part doesn't have to be window system dependent, as long as it's one of the values documented in `device-class'. This is likely to make some things mysterious, so it will probably need adjustment to the `describe-keymap' output.