From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id P7IJFr5GxmBeJQAAWB0awg (envelope-from ) for ; Sun, 13 Jun 2021 13:56:14 -0400 Received: by simark.ca (Postfix, from userid 112) id 499631F163; Sun, 13 Jun 2021 13:56:14 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,MAILING_LIST_MULTI,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 Received: from sourceware.org (server2.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 6C9331E01F for ; Sun, 13 Jun 2021 13:56:13 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id BE057388A438 for ; Sun, 13 Jun 2021 17:56:12 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BE057388A438 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1623606972; bh=cdTluLAk5hfqwCq62dlbXjixFJoDQQo4AsZNTIkbS0g=; h=Date:To:In-Reply-To:References:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=a4OKIQ4oldRyupOZgbazBh3hvou9AiMl7wLpPEwOm/Bd4PU2u8jp+sDl5yhLWR+Ky QbubOE2wJCsv2CPp6xqmgl67Ffz6+N3F7UNkZRlnWBmurgRIBoSZ4sGE86AhGCSvmd YmNn3jRak98GyXzSMxElaOAVoaqM5PZlPhGxKsLs= Received: from sonic301-22.consmr.mail.ir2.yahoo.com (sonic301-22.consmr.mail.ir2.yahoo.com [77.238.176.99]) by sourceware.org (Postfix) with ESMTPS id 770DE3857004 for ; Sun, 13 Jun 2021 17:55:52 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 770DE3857004 X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1623606950; bh=U8zV04oXcCI+X3jUUPjFpWnr2qO1JPm+onpODrJFk5A=; h=X-Sonic-MF:Date:From:To:Subject:From:Subject; b=F/l6X5mgtXEmwBazNPBAjwgzyij+lXMLKaYQsLVaxbjdfCwVNj6EeTsVk5Oy8SXemREYPUqKjCjhaIg8PSx//NF3JsAAY7UjlNhPUXC9KUDmyPoAOggHdkiTVwYDtdMQGP6NC1Bs9iPQvT4unnCFIvPpGm7OmFQiDy9ZQJt1niIgoLAzt07oVrOrlg8Kj0hOMoXOVfUhisD5ZMaFe32nKj3eFuPjILgxsPuxzlw1czrAbXy4oyRdd18IZ2fIQ3FQ3Y4lH+av/5pz4rKi5A4W/v2RQyyvXCFx7JFnthiE4450RMHT9ITDNUiiMZ7pQ6pgV2OR0ZZm2Onw2aO7Jzq1uw== X-YMail-OSG: KRlI7uMVM1mNr3_mg.w6sLWhHBS0fZ7oYMwHqzpe93Mu9QpHUXCMwZ49bmkUQPU Zjdg76wFj7VTVPJ879OVWXYeMALVlM.n0Z538VcUaHqcTkaqPlKmp3E1GKYqN15UP1ELfC12_m6p L6X4NmmJYhkFZl4s5hx1K2cUTJY_RLjwd.rsM7QKpca.1sa_nXBz2_uyaVfqPr45BJGQdY.sV3uT EhuVSMdrbGdCweTGS0lMxvPpDK70LFaOQp6UL6pvCw6yn6WWHSN9HnLRWE9BtjD3CTlQZCac9.vn We9vO6yKZNVoSiPucHOyquPQcJnV.AgYvGpnealbLq8lJWUlwCRuiaIsUk8hHNIogMp_BBYpdqJS Q39drGzgEmKu7wWAzNsTO8aSt17qKdGmdi.VrMboFH4UhG7YHuzGZPqmq7ibRWDvxAsJsyd4enFx XvGeBv2lSx8NA81sZ9iApgHUSoqoCTWlhme3O7oAIbWB4hYkOz2Et.NPVGOPbj4ag7r4NmJk2huY 4LsO4k507KlnbBRLYop.IyMXHMhKzINS_LmCYaY1n7XMp3JKVHvnuWBHh30NWyeQ4jSuqft1q_Ib tBqqW4cJ_NTXxWHi0XkB51SFiND.H2os0LSv9WoGM4wqgBrIEjzp032pfkktwsoyVeLkjYan5xaj vYxrwEGeruYS2hlLN2NtiZ35T4PhhmF0rD.hxZ6m0rJTBDSzm8aMvpzXgfNzk51CyKHdjpr8a2up LIQ60cj9T1INMILwCwBiPwlTtvnIkLvnJBzxLmvQMOQ7sLNI1cege3JlkisFFDO57yy82XgNgrSf Hze0GEY81K.9dmdOJxAp7EmIP_QXzqQIVKl7X8TJNUlyeoQWPlg9N2DWoGFOrlKQ0wrWAdJaDCb4 fbng4Z6Czv0h48bYRbdpTJUBAzyCl.nsuKUJz9BV_UjJXrhoRYGS3D_OZCbwMmWGk_t9tMaPzYLL 7Uv6DrPeGMOO6foyGtpsHbGEo7znIFsfb5pyWG3fQR7J608Sm8FO72xJnQHspB2GdtrNgTYxz20Q ebupWJ0NHIgDEiBNAioWgb6E1oW.qN.63ZNFlmCjG.UmVEOOGvsAlDTJZLmxmVtuwT0._wSW0EMN 5zsh0P5nMbZA2VLWSGoabWFcdt4gqa7FZ1KsLa8MrhgmxoRXTDlvFRencVcKQtiAO._JZjDxnSyh m.n34LypCQnYe59Hj9qzt5BnLyIByDTztkKL98GCARR2C9z_mYOTwZQkYL9NnPLoiZUtDzGQ.d3W nsSHSL6L2sjZJlIPznYaRswijirkiWiQZlFnxG9oyPca_fUMBFtWoDYIBQMl8RMQ3D5HMMwUwoCv Ll7PKPJ5ywObTXj1BAW_xrZrNTPV_xJhnbzkx2.FTbyZlV1guvnfimotNGGUSL7LNdRsMz64Wji4 TPGxprwh2SRMzCjJp2eH5Sjcc.aJ1la6ofeSL1fBh9W75BD1VAZXN7xxJoLz3h7KQn9z8K4i2g5p PbXp2IClutXZouQUkCW370PMo87eWiPHVzHlo9v_3QA28YLLm6bi3D.IINzQ3A0r69_05qdrLWUr oOrZzXFnr.r.L9JusmiLlQF6ljHF5VuY3Ka42FCVElXJZb61bxkBNxP79DgnR1a06VKAslSnCXeV qKfKkJV_gUfFQotm01bPHdcxy7qFrhkSeSeKUJHzuj.wN_kcZ.bYTk4e2rAHhWYu3HBN7DbVMeJp 7FDZ4U1YcfcU9IRFG0QlziRSSUPuURLEBh.m00BUxqjBz51CovZ7WtDBsb3ZwFf3j4mreY1qsrST gNUdaor5PQEPHUK0yczTswM7_AGL6Tu1ThsadJTkYDjxMJJXFFWMqsWo_Vo1hv4POHZQBZUieWb. 0rM_F7kuzSNQT6FYhiVSBErBtV_cSXeH4jCp0RBPoXy9FjBemo14a_OdUgz4HIyK7q18xDq7p95u WlIWAy17V0tSBVOnu9YufbKSbEejXfKlXqUyDaBKfq_Q0v3VD6XCyQ6vFduNSaP8E0wauiYapfLy I7DRSsKoOEAzTTgpPpxl8UsJytdT7fmk_ufwitTdpMdXKrwXgRe_Zj1066jJUtbcNdnWY2HrxtC0 .vcqZKggAYfoWal76IzF3aE_FamMlVKFtA_ojUSnJMZ9PpqL6futtXaGRIN4b4jtD.H98fTVgcmv 56NL66lKcdiNl5JkCMBxsKQxLjLw6nmWFM6ZPzJMH_EU_6U5jXkAynSsPP2gUL6FeFUi4mygvxmh UvK6.douF2Pq.Ab72KgDI9rJ9Oso.PCLYBAY3m.J.NfUkfU5F3PJjiaz.raMR4AUlWDTlq0b.jt9 e.D6Cx7DEBz7r9klTPV_wGbYcRISClD5nr__QCsToRwSxWqkfAuO58DBclQe18ejFKguZEWOd4mK QRDF7MFbo.QgBJiUmFEqbXhdFExvfIwcyKWbaj4U2Hht6q0u5pIyAbMmLV8nP92iGHUxWfn6xesO JxzZDtT.kF2NvxZv4VfIF7qgdtgv2bjBmX2v1SZck6WMjAPkkDioGyrY_w6AXg3M7V2IRKF15LGA v_tVNBC3MBIac72TFurlD1tL0Am2YpgB6O9.z.someV4p7V2coR.ek5j4pTejyD18u_mmoK9hD0Z fPd_s6TXJ2K8Skrw- X-Sonic-MF: Received: from sonic.gate.mail.ne1.yahoo.com by sonic301.consmr.mail.ir2.yahoo.com with HTTP; Sun, 13 Jun 2021 17:55:50 +0000 Date: Sun, 13 Jun 2021 17:55:00 +0000 (UTC) To: Hannes Domani via Gdb-patches , Tom Tromey , Pedro Alves Message-ID: <2109712188.9612122.1623606900952@mail.yahoo.com> In-Reply-To: <25580f20-76bc-4fd0-8426-5474d5ed5d22@palves.net> References: <20210603151453.15248-1-ssbssa.ref@yahoo.de> <20210603151453.15248-1-ssbssa@yahoo.de> <87r1hhoi03.fsf@tromey.com> <1760297979.5212997.1622816480782@mail.yahoo.com> <0936428e-80c4-c192-cdfd-817ff9bcfab0@palves.net> <877dj9o4ch.fsf@tromey.com> <3facd73a-bfea-d46c-85a7-101ea893998f@palves.net> <8cfc78b7-ecdc-b435-5c1f-f027c8704f9e@palves.net> <1231900744.5510610.1622904017896@mail.yahoo.com> <87wnr1h80t.fsf@tromey.com> <287323544.8784317.1623409369460@mail.yahoo.com> <1761936332.9225994.1623501145444@mail.yahoo.com> <6afbe909-91d6-af32-d496-ca112dcfb43a@palves.net> <455337ea-65c3-42b5-0ec0-3c85b85ba054@palves.net> <1500249367.9517443.1623589447782@mail.yahoo.com> <25580f20-76bc-4fd0-8426-5474d5ed5d22@palves.net> Subject: Re: [PATCH v3] Make the TUI command window support the mouse MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Mailer: WebService/1.1.18368 YMailNorrin X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Hannes Domani via Gdb-patches Reply-To: Hannes Domani Cc: Joel Brobecker Errors-To: gdb-patches-bounces+public-inbox=simark.ca@sourceware.org Sender: "Gdb-patches" Am Sonntag, 13. Juni 2021, 19:26:00 MESZ hat Pedro Alves Folgendes geschrieben: > On 2021-06-13 2:04 p.m., Hannes Domani wrote: > >=C2=A0 Am Sonntag, 13. Juni 2021, 04:46:15 MESZ hat Pedro Alves Folgendes geschrieben: > > > > This is great, thank you for doing this. > > > > I just tried it, and I had just one problem, see below. > > > > >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* For the standard keys, we can find = them efficiently in the > >> +=C2=A0=C2=A0=C2=A0 key_xxx macros, defined by ncurses.=C2=A0 We could= also hardcode > >> +=C2=A0=C2=A0=C2=A0 sequences readline understands, and/or use rl_get_= termcap. > >> +=C2=A0=C2=A0=C2=A0 See readline/readline.c:bind_arrow_keys_internal f= or > >> +=C2=A0=C2=A0=C2=A0 hardcoded sequences.=C2=A0 */ > >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 switch (ch) > >> +=C2=A0=C2=A0=C2=A0 { > >> +=C2=A0=C2=A0=C2=A0 case KEY_NPAGE: /* page down */ > >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return start_sequence (key_npage); > >> +=C2=A0=C2=A0=C2=A0 case KEY_PPAGE: /* page up */ > >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return start_sequence (key_ppage); > >> +=C2=A0=C2=A0=C2=A0 case KEY_DOWN: > >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return start_sequence (key_down); > >> +=C2=A0=C2=A0=C2=A0 case KEY_UP: > >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return start_sequence (key_up); > >> +=C2=A0=C2=A0=C2=A0 case KEY_RIGHT: > >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return start_sequence (key_right); > >> +=C2=A0=C2=A0=C2=A0 case KEY_LEFT: > >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return start_sequence (key_left); > >> +=C2=A0=C2=A0=C2=A0 case KEY_HOME: > >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return start_sequence (key_home); > >> +=C2=A0=C2=A0=C2=A0 case KEY_END: > >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return start_sequence (key_end); > >> +=C2=A0=C2=A0=C2=A0 case KEY_DC: /* del */ > >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return start_sequence (key_dc); > >> +=C2=A0=C2=A0=C2=A0 case KEY_IC: /* ins */ > >> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return start_sequence (key_ic); > >> +=C2=A0=C2=A0=C2=A0 } > > > > PDcurses doesn't have these key_npage/key_ppage/key_down/... variables, > > so I had to use the hardcoded sequences as you described. > > This is working for the arrow keys and home/end, and for del I used '\0= 04' > > instead, but I didn't see any for page up/down and ins. > > Ack.=C2=A0 \004 is ctrl-d=C2=A0 ('d' & 0x1f).=C2=A0 I'm a bit wary of har= dcoding it, > since I imagine there might be some users out where that have bound > ctrl-d to some other action in their inputrc. > > readline's bind_arrow_keys_internal has: > > #if defined (__MINGW32__) >=C2=A0=C2=A0 rl_bind_keyseq_if_unbound ("\340H", rl_get_previous_history); >=C2=A0=C2=A0 rl_bind_keyseq_if_unbound ("\340P", rl_get_next_history); >=C2=A0=C2=A0 rl_bind_keyseq_if_unbound ("\340M", rl_forward_char); >=C2=A0=C2=A0 rl_bind_keyseq_if_unbound ("\340K", rl_backward_char); >=C2=A0=C2=A0 rl_bind_keyseq_if_unbound ("\340G", rl_beg_of_line); >=C2=A0=C2=A0 rl_bind_keyseq_if_unbound ("\340O", rl_end_of_line); >=C2=A0=C2=A0 rl_bind_keyseq_if_unbound ("\340S", rl_delete); >=C2=A0=C2=A0 rl_bind_keyseq_if_unbound ("\340R", rl_overwrite_mode); > >=C2=A0=C2=A0 /* These may or may not work because of the embedded NUL. */ >=C2=A0=C2=A0 rl_bind_keyseq_if_unbound ("\\000H", rl_get_previous_history)= ; >=C2=A0=C2=A0 rl_bind_keyseq_if_unbound ("\\000P", rl_get_next_history); >=C2=A0=C2=A0 rl_bind_keyseq_if_unbound ("\\000M", rl_forward_char); >=C2=A0=C2=A0 rl_bind_keyseq_if_unbound ("\\000K", rl_backward_char); >=C2=A0=C2=A0 rl_bind_keyseq_if_unbound ("\\000G", rl_beg_of_line); >=C2=A0=C2=A0 rl_bind_keyseq_if_unbound ("\\000O", rl_end_of_line); >=C2=A0=C2=A0 rl_bind_keyseq_if_unbound ("\\000S", rl_delete); >=C2=A0=C2=A0 rl_bind_keyseq_if_unbound ("\\000R", rl_overwrite_mode); > #endif > > So would "\340S" and "\340R" work instead?=C2=A0 See attached patch. > > > > > I'm not sure if it's even a problem for page up/down, they seem to not = be used > > by readline, but I couldn't make ins work. > > Ins works for me on konsole, and on a linux virtual console.=C2=A0 It doe= s not work > on xterm and rxvt.=C2=A0 Nor on konsole + ssh.=C2=A0 Nor under screen.=C2= =A0 I confirmed that > I get the same key sequence for the insert key on all those cases (run "c= at" + press > the key).=C2=A0 It's the same with bash and gdb in non-tui mode.=C2=A0 It= 's not specific to this > patch.=C2=A0 I would guess readline is somehow finding that the terminal = does not support > overwrite mode. > > > > > And rl_get_termcap returned for everything except "le" NULL, but I assu= me > > that's just how it is on Windows. > > Unfortunate. > > Here's a new version.=C2=A0 Does this one work for you? Yes, with this everything works, thanks. Hannes