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 e37eb7f: Add support for pixel wheel deltas on NS Date: Sat, 27 Nov 2021 19:44:15 +0800 Message-ID: <8735nhbz74.fsf@yahoo.com> References: <20211125030922.2353.1129@vcs0.savannah.gnu.org> <837dcv4e79.fsf@gnu.org> <87wnkvflk7.fsf@yahoo.com> <83zgpr2uvr.fsf@gnu.org> <87fsrjfeb1.fsf@yahoo.com> <83r1b32lvr.fsf@gnu.org> <877dcvf8ec.fsf@yahoo.com> <831r323lgs.fsf@gnu.org> <87v90ecvoa.fsf@yahoo.com> <83lf1a1651.fsf@gnu.org> <875ysecd75.fsf@yahoo.com> <83fsri13k0.fsf@gnu.org> <87wnkuax4q.fsf@yahoo.com> <83y259zxgz.fsf@gnu.org> <87sfvhc1hp.fsf@yahoo.com> <83tufxzwq9.fsf@gnu.org> <87k0gtc0z5.fsf@yahoo.com> <87fsrhc0lz.fsf@yahoo.com> <83pmqlzvel.fsf@gnu.org> <877dctbzno.fsf@yahoo.com> <83ilwdzv0i.fsf@gnu.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="31969"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.60 (gnu/linux) Cc: emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Nov 27 12:45:04 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 1mqw8d-00089W-Ky for ged-emacs-devel@m.gmane-mx.org; Sat, 27 Nov 2021 12:45:03 +0100 Original-Received: from localhost ([::1]:41350 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mqw8c-0003G2-P4 for ged-emacs-devel@m.gmane-mx.org; Sat, 27 Nov 2021 06:45:02 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:60628) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mqw84-0002X1-UF for emacs-devel@gnu.org; Sat, 27 Nov 2021 06:44:28 -0500 Original-Received: from sonic301-31.consmr.mail.ne1.yahoo.com ([66.163.184.200]:45551) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mqw81-0008OA-T6 for emacs-devel@gnu.org; Sat, 27 Nov 2021 06:44:28 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1638013464; bh=8ljdwRjgZCXJPqxEnkWHbCsdQbGo+iKrMigTnVWnbCA=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From:Subject:Reply-To; b=ofxo4cSoo9Mku8p9mO7hhEcjy5teE/fekzuPuq9bBVOg+yP9M4ZaF9yGJAXctyEk2argcPZW1Q9nMjJwuV2Q/GzsnM655eV6Te6Th7Rn9PxK5508vZhKZ7oOolGPBkisv2FJ2cOSBompi0AeqnSKNCCmTA6bb31XuEGJjeWSC0rdm+sWyQlYgRjB+x6E1bAUrm5/JJ7TrU5ztwOeKZd8tocAnHF27tw4u303WM84c8Ntsqnj2jF3PspyNBhZK45dPUSaBLvTydsuLJottL3GTvp6S5YKTGGaVvgC+DOZATJ4immnmZeIrHFYUuWqa8Ve28ms354ME2tBReGYGNlRSw== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1638013464; bh=EPTowi3+TaIAAMOak+kNtjYuo79ukwAhZdQcFocT0X/=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=CUBwvjEaukQL9+eHpAVOTqPrexoceEn37jv37hLOiAjUrILGICPn02anmZTJV0s8A5SXlGPrYKT2HDf3ICoJXkOLes1c0nQdgUoBel/89UiQIjE/ILWqRAPTqcV3dtH9qvi4d1wvJfDx6+2ps/+DmU1G+9dLdx7sgrkMBJsZUPzjbQk+NWiad47i1kbOGL8oYsNtMKzsTWuWamj1vGcJIMeJhzQoRquGD6utR+O+uKbl30aHIbs7GF0IJa7OXd9OKX+AbBU39vK0Uo36xpVEXXG/DpSloZVIRUJJqEm1mUSZJ4iDQCpXXN5FCermGtpy/lglywJ/c0NWbSk3+Mrj2Q== X-YMail-OSG: oalrk80VM1l3k_Gwpugb3CwMF6DRwmmaByleEeXBQxDlp6_IbXrZrFOAdLnCcO7 z10FAM3DR70L8ngqm20kgvbeKvWQm8YxEkRvYMq1nAqOI4iyWydZLee9yYGsNw2nA3g117JAS1Ff M5OWmnIbIltzpVnlZJ26IEjlAjUxKPtsbNU83tiWvUkgnXvVwzpLlFr4WxSwCPumt2JuI9rfugpt rilgulEqKR0dG8SmxFtWeAaonEi5I8eUIz39wmmxMHU3Rn8Iwj0jvE630Y4AyrPZqe_C2qzdIIaN BtvoxemkiFG0oS72KxhRhw2mCiOiVAOJtx0CoETH8KByTtlNFyezpZWh_MQ3dHCMYesA0NQe7Cee xp6eRYYvtpyMWgGASrqpVq95W8cnbIgGroYN8_8mMH9E9qZxSqktUr1t82zk8nl2lC_WOqN0Gnv0 sv6pNMmH7s1PQwHBN9mf9aZ9FZ1R15IV20xxX6Gr9rQK_NYSCDK7xzonjP35dXJjDB7HspWhi55T R9JAL8MIltjDfE651.EG9Xzdnh6Vm0NBdN9WxKHUUci9ySKTNE2.8LYZAQyWnCRYwNx6GNI3dOAn PsVQQEHzh04VemfNuElMRgsA1XPeEFzRwwgM2ll.UW33et508KsuHALUuuCXGP5TZaHs2g_nPLVO UFTzOYtUNzXSaj92UwEacaqlfu2cKSR4akn5uLjVG0jzjyFsuIEwTowknO8XWqkuYHHx9JE.MQ9K 2CeeCEcqkukR9L69VgcOIEpvIMPjGVnbr1UYKlF3RZe.ktr.pQXEdOsWMmhr6UspNWDKZo.fESZq W20g0ap421Z7RVGvo7mKW42xG4m1RjLi_3hXrbSnze X-Sonic-MF: Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic301.consmr.mail.ne1.yahoo.com with HTTP; Sat, 27 Nov 2021 11:44:24 +0000 Original-Received: by kubenode518.mail-prod1.omega.sg3.yahoo.com (VZM Hermes SMTP Server) with ESMTPA ID e886f1b3f389bf396b2fea4c4d05a144; Sat, 27 Nov 2021 11:44:19 +0000 (UTC) In-Reply-To: <83ilwdzv0i.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 27 Nov 2021 13:40:45 +0200") X-Mailer: WebService/1.1.19306 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Received-SPF: pass client-ip=66.163.184.200; envelope-from=luangruo@yahoo.com; helo=sonic301-31.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 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:280331 Archived-At: Eli Zaretskii writes: >> From: Po Lu >> Cc: emacs-devel@gnu.org >> Date: Sat, 27 Nov 2021 19:34:19 +0800 >> >> >> @var{clicks}, if present, is the number of times in quick succession >> >> the wheel has been moved. >> >> > By "if present", do you mean it can be absent, or do you mean it can >> > be nil? If the latter, then "present" is not the right word. >> >> It can be absent, not nil. Thanks. > > Hmm... now I'm confused. Isn't this produced by this code in > keyboard.c: > > if (CONSP (event->arg)) > return list5 (head, position, make_fixnum (double_click_count), > XCAR (event->arg), Fcons (XCAR (XCDR (event->arg)), > XCAR (XCDR (XCDR (event->arg))))); > > ? If so, this always produces a 5-element list, and CLICKS is always > included. Right? Yes, but event->arg might not always be a cons. On X, it is only a cons in XInput 2 events that have precise scrolling information. When handling legacy events, it is nil. AFAIU (and this may not be a very accurate understanding), if event->arg is a cons, it means it might have line scroll information, and has pixel scroll information. Otherwise, if it is a number, it has only line information. Otherwise, if the wheel event is double or triple, `double_click_count' will be included. And otherwise, only the event name and position will be included. Thanks.