From unknown Tue Jun 17 22:29:52 2025 X-Loop: help-debbugs@gnu.org Subject: bug#72555: 30.0.60; [PATCH] NS: support passing key events to the system Resent-From: Kai Ma Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 10 Aug 2024 11:49:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 72555 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 72555@debbugs.gnu.org X-Debbugs-Original-To: "Bug reports for GNU Emacs, the Swiss army knife of text editors" Received: via spool by submit@debbugs.gnu.org id=B.172329051713806 (code B ref -1); Sat, 10 Aug 2024 11:49:02 +0000 Received: (at submit) by debbugs.gnu.org; 10 Aug 2024 11:48:37 +0000 Received: from localhost ([127.0.0.1]:39134 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sckaK-0003aa-VX for submit@debbugs.gnu.org; Sat, 10 Aug 2024 07:48:37 -0400 Received: from lists.gnu.org ([209.51.188.17]:35150) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sckaJ-0003aS-2v for submit@debbugs.gnu.org; Sat, 10 Aug 2024 07:48:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sckZp-0005hM-JM for bug-gnu-emacs@gnu.org; Sat, 10 Aug 2024 07:48:05 -0400 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sckZn-0007UH-TK for bug-gnu-emacs@gnu.org; Sat, 10 Aug 2024 07:48:05 -0400 Received: by mail-wm1-x344.google.com with SMTP id 5b1f17b1804b1-42122ac2f38so16496715e9.1 for ; Sat, 10 Aug 2024 04:48:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1723290480; x=1723895280; darn=gnu.org; h=to:date:message-id:subject:mime-version:from:from:to:cc:subject :date:message-id:reply-to; bh=g7jP+HIucZFBe0+jNiU6Eq3ImuGHeTXw2iB0mS3iLt4=; b=KlZs/QJfqDhDMz3e9ix/DRk+K+ttMkFiHcJfSE11BGuTvbe8VZHjsut5csXZlkzyaP ozi8JjJnmJdJd48EoDXct1/CpnEHcPZzBoEGzwJuL+xBOpN0J2B58Vx9CQKMIu52thin q2ofgPCjNZ/usQjg5m6OaMJBaiQjrxj5CjNj1lZq47/S4MV6xlEv7Z8cEXe70bSdyXqF X58BHPwA+N+41x1H/Mmx6Yks9L6jNYd//1dYpTKqMvkOr7+tXFhmEn/70iooIoJzWlwX RiJy27RA176pypmusIom1X99rcBh7aYgOworMkdzh14e5F7RTABu0lKv+Tc3lANDWefs H8qQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723290480; x=1723895280; h=to:date:message-id:subject:mime-version:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=g7jP+HIucZFBe0+jNiU6Eq3ImuGHeTXw2iB0mS3iLt4=; b=ftK/60VlCrpALy2HHsYuwVqCoDT0OpulqbktWJXkabEnyILzswtwzvnWea/sMfgvFN sMJNjsVpFtB+etyaP/zwhhqBUEHorqYvlaw3Gpdmx5bLh4JSF6aynNRhMuKEaysHsuhO V5AVH6NxW/7+aOTb6HipkpQuGtT9XD1JzXWCi2XkVoX/K3zYOter6Hd63SwGySg9WZXu /ZeZiNdwd+FBusqno0+DrRkA3iux4lYBsqSk0KFT9Sg7Lu237h0OKS+5XvTrOXHtGCBv LrqPH41S/wrK/FfXCBc6cMpdXsKKqc+v9s1wnq/MprkYSOcMdS5XNVr0lFvVNFjxfaFi Q/uA== X-Gm-Message-State: AOJu0Yy3CeTWNjB906IB5R/hMThtRVB73auPeMNBYF8SDSsMCft/McPy IZF3GoL0yJMHPMvCZ5jfPhOq4unPS4lJ5OSytxfWUiHY6Hv+KRf9OfQb8mhO X-Google-Smtp-Source: AGHT+IHjsQNDKUeYxHAVTbNRndnVjath4sAp+g7uBplKn5nTajFfIT1P46vJfzRByVjuk9Cfoqahww== X-Received: by 2002:a05:600c:458c:b0:424:8be4:f2c with SMTP id 5b1f17b1804b1-429c3abe633mr36302225e9.2.1723290479949; Sat, 10 Aug 2024 04:47:59 -0700 (PDT) Received: from smtpclient.apple ([2a02:2454:8758:c800:44b0:ad6c:55c6:dc74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4290c72d4c9sm114207925e9.8.2024.08.10.04.47.59 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 10 Aug 2024 04:47:59 -0700 (PDT) From: Kai Ma Content-Type: multipart/mixed; boundary="Apple-Mail=_AC80F4A8-D3D0-4BBF-AD7F-89A85F8DF0CC" Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.600.62\)) Message-Id: Date: Sat, 10 Aug 2024 13:47:48 +0200 X-Mailer: Apple Mail (2.3774.600.62) Received-SPF: pass client-ip=2a00:1450:4864:20::344; envelope-from=justksqsf@gmail.com; helo=mail-wm1-x344.google.com X-Spam_score_int: -15 X-Spam_score: -1.6 X-Spam_bar: - X-Spam_report: (-1.6 / 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, FROM_LOCAL_NOVOWEL=0.5, 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-Spam-Score: -0.8 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.8 (-) --Apple-Mail=_AC80F4A8-D3D0-4BBF-AD7F-89A85F8DF0CC Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii The attached patch adds ns-pass-keys-to-system and makes Emacs to send the key events to the system input manager when it's set. This can correct a number of problems that are hard to work around due to the current key handling logic of Emacs NSport. (1) The keydown event of Shift+Enter is never sent to the system input method. This causes an annoying problem for system input methods: if you press Shift+Enter in Emacs (that is three events: Shift down, Shift+Enter down, Shift up), the input method only sees Shift down and up. However, many input methods interprets a click of Shift differently (mostly toggling ASCII mode), and this causes unwanted behavior. (This was reported as #38293 in 2019.) This can only be fixed by Emacs, because to input methods, Shift+Enter is indistinguishable from a single Shift. (2) The input method may define some special keys and Emacs cannot make use of them. (3) Some system level shortcuts never work in Emacs. For example, Rectangle (think of it as a third-party window manager in macOS) will not receive any requests from Emacs windows. The fix is mostly modeled after Mitsuharu's Mac port, with a few adjustments for NS port. I've been using it for some time and there are no more defects known to me, so I decide it's time to send it to you. Regards, Kai --Apple-Mail=_AC80F4A8-D3D0-4BBF-AD7F-89A85F8DF0CC Content-Disposition: attachment; filename=0001-NS-Pass-key-events-to-system-first.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="0001-NS-Pass-key-events-to-system-first.patch" Content-Transfer-Encoding: quoted-printable =46rom=206e0a8ac127ce5da7fb50aca2fe63819719d2740f=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20Kai=20Ma=20=0ADate:=20= Sun,=2011=20Jun=202023=2014:29:25=20+0800=0ASubject:=20[PATCH]=20NS:=20= Pass=20key=20events=20to=20system=20first.=0A=0A*=20src/nsterm.h=20= (@interface=20EmacsView):=20Add=20keyEventsInterpreted=20and=0A= rawKeyEvent.=0A*=20src/nsterm.m=20(syms_of_nsterm):=20Add=20= ns-pass-keys-to-system.=0A([EmacsView=20keyDown]):=20Interpret=20key=20= events=20first=20if=0Ans-pass-keys-to-system=20is=20set.=0A([EmacsView=20= insertText]):=20Adjust.=0A([EmacsView=20doCommandBySelector]):=20Adjust.=0A= ([EmacsView=20markedRange]):=20Adjust.=0A([EmacsView=20selectedRange]):=20= Adjust.=0A---=0A=20src/nsterm.h=20|=20=202=20++=0A=20src/nsterm.m=20|=20= 44=20++++++++++++++++++++++++++++++++++++++++----=0A=202=20files=20= changed,=2042=20insertions(+),=204=20deletions(-)=0A=0Adiff=20--git=20= a/src/nsterm.h=20b/src/nsterm.h=0Aindex=20480f9febe5d..0ee01696f2c=20= 100644=0A---=20a/src/nsterm.h=0A+++=20b/src/nsterm.h=0A@@=20-481,6=20= +481,8=20@@=20#define=20NSTRACE_UNSILENCE()=0A=20=20=20int=20= maximized_width,=20maximized_height;=0A=20=20=20EmacsWindow=20= *nonfs_window;=0A=20=20=20BOOL=20fs_is_native;=0A+=20=20BOOL=20= keyEventsInterpreted;=0A+=20=20NSEvent=20*rawKeyEvent;=0A=20@public=0A=20= =20=20struct=20frame=20*emacsframe;=0A=20=20=20int=20= scrollbarsNeedingUpdate;=0Adiff=20--git=20a/src/nsterm.m=20= b/src/nsterm.m=0Aindex=209978ff6433e..e3c78822bb4=20100644=0A---=20= a/src/nsterm.m=0A+++=20b/src/nsterm.m=0A@@=20-6993,6=20+6993,8=20@@=20-=20= (void)keyDown:=20(NSEvent=20*)theEvent=0A=20=0A=20=20=20NSTRACE=20= ("[EmacsView=20keyDown:]");=0A=20=0A+=20=20rawKeyEvent=20=3D=20theEvent;=0A= +=0A=20=20=20/*=20Rhapsody=20and=20macOS=20give=20up=20and=20down=20= events=20for=20the=20arrow=20keys.=20=20*/=0A=20=20=20if=20([theEvent=20= type]=20!=3D=20NSEventTypeKeyDown)=0A=20=20=20=20=20return;=0A@@=20= -7096,12=20+7098,23=20@@=20In=20that=20case=20we=20use=20UCKeyTranslate=20= (ns_get_shifted_character)=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20code,=20fnKeysym,=20flags,=20emacs_event->modifiers);=0A=20= #endif=0A=20=0A-=20=20=20=20=20=20/*=20If=20it=20was=20a=20function=20= key=20or=20had=20control-like=20modifiers,=20pass=0A-=20=20=20=20=20=20=20= =20=20it=20directly=20to=20Emacs.=20=20*/=0A+=20=20=20=20=20=20/*=20It=20= was=20a=20function=20key=20or=20had=20control-like=20modifiers.=20=20*/=0A= =20=20=20=20=20=20=20if=20(fnKeysym=20||=20(emacs_event->modifiers=0A=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20&&=20= (emacs_event->modifiers=20!=3D=20shift_modifier)=0A=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20&&=20[[theEvent=20= charactersIgnoringModifiers]=20length]=20>=200))=0A=20=20=20=20=20=20=20=20= =20{=0A+=20=20=20=20=20=20=20=20=20=20/*=20Before=20passing=20it=20to=20= Emacs,=20check=20if=20there=20is=20a=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20system-level=20interpretation.=20=20*/=0A+=20=20=20=20=20=20=20=20=20= =20if=20(ns_pass_keys_to_system)=0A+=20=20=20=20=20=20=20=20=20=20=20=20= {=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20keyEventsInterpreted=20=3D=20= YES;=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20[self=20= interpretKeyEvents:=20@[theEvent]];=0A+=20=20=20=20=20=20=20=20=20=20=20=20= =20=20if=20(keyEventsInterpreted)=0A+=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20return;=0A+=20=20=20=20=20=20=20=20=20=20=20=20}=0A+=0A+=20=20= =20=20=20=20=20=20=20=20/*=20Pass=20it=20directly=20to=20Emacs.=20=20*/=0A= +=0A=20=20=20=20=20=20=20=20=20=20=20emacs_event->kind=20=3D=20= NON_ASCII_KEYSTROKE_EVENT;=0A=20=20=20=20=20=20=20=20=20=20=20/*=20= FIXME:=20What=20are=20the=20next=20four=20lines=20supposed=20to=20do?=20=20= */=0A=20=20=20=20=20=20=20=20=20=20=20if=20(code=20<=200x20)=0A@@=20= -7172,6=20+7185,15=20@@=20In=20that=20case=20we=20use=20UCKeyTranslate=20= (ns_get_shifted_character)=0A=20-=20(void)=20insertText:=20(id)=20string=0A= =20=20=20=20replacementRange:=20(NSRange)=20replacementRange=0A=20{=0A+=20= =20/*=20Don't=20interpret=20modified=20events=20(except=20Shift=20and=20= NumericPad).=20=20*/=0A+=20=20NSEventModifierFlags=20flags=20=3D=20= rawKeyEvent.modifierFlags=0A+=20=20=20=20&=20= NSEventModifierFlagDeviceIndependentFlagsMask;=0A+=20=20if=20(flags=20&=20= ~(NSEventModifierFlagShift=20|=20NSEventModifierFlagNumericPad))=0A+=20=20= =20=20{=0A+=20=20=20=20=20=20keyEventsInterpreted=20=3D=20NO;=0A+=20=20=20= =20=20=20return;=0A+=20=20=20=20}=0A+=0A=20=20=20if=20([string=20= isKindOfClass:[NSAttributedString=20class]])=0A=20=20=20=20=20string=20=3D= =20[string=20string];=0A=20=20=20[self=20unmarkText];=0A@@=20-7337,6=20= +7359,7=20@@=20-=20(NSRange)markedRange=0A=20=20=20=20=20?=20NSMakeRange=20= (0,=20[workingText=20length])=20:=20NSMakeRange=20(NSNotFound,=200);=0A=20= =20=20if=20(NS_KEYLOG)=0A=20=20=20=20=20NSLog=20(@"markedRange=20= request");=0A+=20=20keyEventsInterpreted=20=3D=20NO;=0A=20=20=20return=20= rng;=0A=20}=0A=20=0A@@=20-7440,9=20+7463,17=20@@=20-=20= (void)doCommandBySelector:=20(SEL)aSelector=0A=20=20=20if=20(NS_KEYLOG)=0A= =20=20=20=20=20NSLog=20(@"doCommandBySelector:=20%@",=20= NSStringFromSelector=20(aSelector));=0A=20=0A-=20=20processingCompose=20= =3D=20NO;=0A-=20=20if=20(aSelector=20=3D=3D=20@selector=20= (deleteBackward:))=0A+=20=20/*=20Either=20this=20is=20a=20function=20= key,=20or=20is=20a=20delete=20event=20when=0A+=20=20=20=20=20composition=20= is=20active.=20=20*/=0A+=0A+=20=20if=20(processingCompose=20=3D=3D=20NO)=0A= =20=20=20=20=20{=0A+=20=20=20=20=20=20/*=20The=20key=20event=20was=20not=20= interpreted=20by=20interpretKeyEvents:.=20=20*/=0A+=20=20=20=20=20=20= keyEventsInterpreted=20=3D=20NO;=0A+=20=20=20=20}=0A+=20=20else=20if=20= (aSelector=20=3D=3D=20@selector=20(deleteBackward:))=0A+=20=20=20=20{=0A= +=20=20=20=20=20=20processingCompose=20=3D=20NO;=0A=20=20=20=20=20=20=20= /*=20Happens=20when=20user=20backspaces=20over=20an=20ongoing=20= composition:=0A=20=20=20=20=20=20=20=20=20=20throw=20a=20'delete'=20into=20= the=20event=20queue.=20=20*/=0A=20=20=20=20=20=20=20if=20(!emacs_event)=0A= @@=20-11351,6=20+11382,11=20@@=20Convert=20an=20X=20font=20name=20(XLFD)=20= to=20an=20NS=20font=20name.=0A=20If=20`none',=20the=20key=20is=20ignored=20= by=20Emacs=20and=20retains=20its=20standard=20meaning.=20=20*/);=0A=20=20= =20ns_function_modifier=20=3D=20Qnone;=0A=20=0A+=20=20DEFVAR_BOOL=20= ("ns-pass-keys-to-system",=20ns_pass_keys_to_system,=0A+=20=20=20=20doc:=20= /*=20If=20non-nil,=20pass=20all=20key=20events=20to=20the=20system=20= input=20manager=0A+before=20they=20are=20passed=20to=20Emacs.=20=20*/);=0A= +=20=20ns_pass_keys_to_system=20=3D=20YES;=0A+=0A=20=20=20DEFVAR_LISP=20= ("ns-antialias-text",=20ns_antialias_text,=0A=20=20=20=20=20doc:=20/*=20= Non-nil=20(the=20default)=20means=20to=20render=20text=20antialiased.=20=20= */);=0A=20=20=20ns_antialias_text=20=3D=20Qt;=0A--=20=0A2.39.3=20(Apple=20= Git-146)=0A=0A= --Apple-Mail=_AC80F4A8-D3D0-4BBF-AD7F-89A85F8DF0CC-- From unknown Tue Jun 17 22:29:52 2025 X-Loop: help-debbugs@gnu.org Subject: bug#72555: 30.0.60; [PATCH] NS: support passing key events to the system References: In-Reply-To: Resent-From: Kai Ma Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 10 Aug 2024 19:49:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 72555 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 72555@debbugs.gnu.org Received: via spool by 72555-submit@debbugs.gnu.org id=B72555.17233193231382 (code B ref 72555); Sat, 10 Aug 2024 19:49:02 +0000 Received: (at 72555) by debbugs.gnu.org; 10 Aug 2024 19:48:43 +0000 Received: from localhost ([127.0.0.1]:40434 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1scs4w-0000ME-SX for submit@debbugs.gnu.org; Sat, 10 Aug 2024 15:48:43 -0400 Received: from mail-ed1-f66.google.com ([209.85.208.66]:42326) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1scs4u-0000Lz-TM for 72555@debbugs.gnu.org; Sat, 10 Aug 2024 15:48:41 -0400 Received: by mail-ed1-f66.google.com with SMTP id 4fb4d7f45d1cf-5b9d48d1456so1680417a12.1 for <72555@debbugs.gnu.org>; Sat, 10 Aug 2024 12:48:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1723319225; x=1723924025; darn=debbugs.gnu.org; h=to:date:message-id:subject:mime-version:content-transfer-encoding :from:from:to:cc:subject:date:message-id:reply-to; bh=UVhDqp/RiuWE/FL8KwsEcHDdXDURnGuxicgs7kLfqy4=; b=lccmXJ6qG1It98znxXrTHGZxDdb725AE1WwsWhvkpGOkTO1VgGERJtmLG/RRNxOt+0 vTOAR9pAjuGnISqJAg2scCPDFuZYmdy5vKCClQTonrg9Jrml40jQwqJTZbD/vp1leeex cbo9ypGepAd7ktoNQLtW9fQNHZnseO/VGchowAgwsqJlh8FhIxP7crMeQmSCg1xVso3i ZJUCMTSY/2LJVZVBJKb4JNlEpyWqknx4L8n8TEbIfl7/EFJ5gbWx73zom7zLI3pWdids W+9RJa+4pLfHj9hu29IN9/EwLbrfjMYtf7lnvL1ddsDQsjon7B4N4gP7uP3BLtjKgSB6 m7kQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723319225; x=1723924025; h=to:date:message-id:subject:mime-version:content-transfer-encoding :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=UVhDqp/RiuWE/FL8KwsEcHDdXDURnGuxicgs7kLfqy4=; b=Pf84hY69lLyhm1Wm++ttVE+ZZrIFjr8CAqdmbUbGSxkXX8hpGv6CPK0dSkPgVQ1AY5 nYEn8bJo+fPhwsHlx2So+TMVM6DzcFkkiavzwq0oYGgJYnAk5v8Bvqs34rorvsGvTB3o 70XczdYt0Z/Hn0QxX0RyYgvmmwo3GjlCO3aCcwnWxV+hshkf8wSCBlJ7LzuQWebdXw2R fWR9x9AhcxMPF2Fk4ppfJfnexM9Fq66+WuEHMQ13IzFCn+9RWFXZRigQbgAIHAAqf8s5 hoh/5cXqdQcRxpA1SPo2O0vuDTDuApgum8xD9jstl/8EH8XFW3d0blI2/RARvbj09zEu raZw== X-Gm-Message-State: AOJu0Yz19EdhLThk21DSCHB3MEISchtXS/nnVUgd2OwCfW1E98pX5r7X 8KzgnPbvV8rec05QSEoRmSPxpNV0qJPYc+PIqouv3Zzbd8gjdaexizZyVkb8 X-Google-Smtp-Source: AGHT+IELtTuV01Rp00at7BfE6mpIP+5hnKlRxI7dZzJd8O/AwmJcmc8EOSguqgqv2QsJ0bGb6a/oKg== X-Received: by 2002:a05:6402:51cb:b0:59c:50c3:af65 with SMTP id 4fb4d7f45d1cf-5bd0abc4ec1mr3797216a12.14.1723319224801; Sat, 10 Aug 2024 12:47:04 -0700 (PDT) Received: from smtpclient.apple ([2a02:2454:8758:c800:44b0:ad6c:55c6:dc74]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-5bd190ad1bcsm833299a12.30.2024.08.10.12.47.04 for <72555@debbugs.gnu.org> (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 10 Aug 2024 12:47:04 -0700 (PDT) From: Kai Ma Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.600.62\)) Message-Id: <0C40FE36-BB74-4DC2-B591-265E117D1881@gmail.com> Date: Sat, 10 Aug 2024 21:46:53 +0200 X-Mailer: Apple Mail (2.3774.600.62) X-Spam-Score: 0.5 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.5 (/) Do NOT test the patch. I just found the handling of certain keys = incorrect. (e.g. Control-/ seems to unconditionally triggers the alert beep. I=E2=80= =99d appreciate it if some experts can share their insights.) I will post a new patch once I find a solution.= From unknown Tue Jun 17 22:29:52 2025 X-Loop: help-debbugs@gnu.org Subject: bug#72555: 30.0.60; [PATCH] NS: support passing key events to the system Resent-From: Stefan Kangas Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 05 Oct 2024 01:14:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 72555 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Kai Ma Cc: 72555@debbugs.gnu.org Received: via spool by 72555-submit@debbugs.gnu.org id=B72555.17280908005622 (code B ref 72555); Sat, 05 Oct 2024 01:14:01 +0000 Received: (at 72555) by debbugs.gnu.org; 5 Oct 2024 01:13:20 +0000 Received: from localhost ([127.0.0.1]:36931 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1swtMF-0001SZ-Vq for submit@debbugs.gnu.org; Fri, 04 Oct 2024 21:13:20 -0400 Received: from mail-ed1-f45.google.com ([209.85.208.45]:44093) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1swtMD-0001SD-RY for 72555@debbugs.gnu.org; Fri, 04 Oct 2024 21:13:18 -0400 Received: by mail-ed1-f45.google.com with SMTP id 4fb4d7f45d1cf-5c8af23a4fcso3076742a12.0 for <72555@debbugs.gnu.org>; Fri, 04 Oct 2024 18:13:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1728090728; x=1728695528; darn=debbugs.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date :mime-version:references:in-reply-to:from:from:to:cc:subject:date :message-id:reply-to; bh=xYUdu7tOt/880qsWYZOOqFAEcZdFnICk9lVKGd8S7kU=; b=XlV02DLdQzmqliu5VESXab9dzfSRH7ND/ifxBrUFVzdqNEKJflNyCrrX0EUZ7zbnBC s29l3ffNKHXB/iLdITJ3M42Eonq/lUYCuzmZaQGetQ0wO8UOrx/NTmHXJTdrxzZLdn9p W1elitEfTb/cKiVAmtp2mT9H5QI0GAZPLFRFxzaND6uVCKJJB5UrmDANSR8DTtxUoi8E 0A/0MSvlgn9X6A341fHG0LQWJHQP8yGkK3NX9k9Yoy1IgrqFJygQQ8ZCnAbQv5GRDp9P qWo69ceBtWTR8lfeaahZxf35YfaqD7AAM30mpQ9zNLcjlapw+nKn/ugb70e1llrxAGws 6gqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1728090728; x=1728695528; h=content-transfer-encoding:cc:to:subject:message-id:date :mime-version:references:in-reply-to:from:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=xYUdu7tOt/880qsWYZOOqFAEcZdFnICk9lVKGd8S7kU=; b=VQhbgGwlOdFHUH+ruHXFCh2lHBhSPaYlKyRpnmgYR5S+/GPcaog1kfr+cBcfn00oxW vSsqPI0L6l2T861bYc7H2pYYiSvfun5YEhSvXAiLuZh/LY+/DE6ess1gW7GUK5aPvqbd 7RTLUCvNaWzXae+mFsOoMU20Tz5sCcg9Qw3RxQhZrwD6R1yk+1IqU6/B5/wwzVz0ptPk k6HmaTAHsFVJpJIVzqIP9LgoFFMmyVfagttCYdRsr6YaGcx/yFvvH42wSmkaxnRmQ1Ta WUE0W2FaY5TyGXujxR/xQVhQpNJbAVCVym8LC20eoJFo8IBD9AflHUkrTNF3qo+r3A/N iB9w== X-Gm-Message-State: AOJu0Yyzfwy/u7CadoGUH5CVsD/tQJKSLWDJF3YNswccXXFOgttaofw0 oYR1qzjyI/DYEPZ+IbSUTNRlhn2l9EoUYO0xa0BbmltXBVVB3Rd0LNrJPn8T25BgmIM2IQE3sqN X1xoZ++KLNck0EhQdejDi8zGtCvQ= X-Google-Smtp-Source: AGHT+IFpxa9crIOw+wa96qnRRTJMwPUrEuPIlif1KFnc+STnrFJohlxmahwqDonVyZEXj4Fvau8ORWATpXZZ7+YFi1s= X-Received: by 2002:a05:6402:c41:b0:5c5:cf1f:4433 with SMTP id 4fb4d7f45d1cf-5c8d2eb4937mr3269887a12.32.1728090728202; Fri, 04 Oct 2024 18:12:08 -0700 (PDT) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Fri, 4 Oct 2024 18:12:07 -0700 From: Stefan Kangas In-Reply-To: <0C40FE36-BB74-4DC2-B591-265E117D1881@gmail.com> (Kai Ma's message of "Sat, 10 Aug 2024 21:46:53 +0200") References: <0C40FE36-BB74-4DC2-B591-265E117D1881@gmail.com> MIME-Version: 1.0 Date: Fri, 4 Oct 2024 18:12:07 -0700 Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) tags 72555 - patch thanks Kai Ma writes: > Do NOT test the patch. I just found the handling of certain keys incorre= ct. > > (e.g. Control-/ seems to unconditionally triggers the alert beep. I=E2= =80=99d appreciate it if some experts can share their insights.) > > I will post a new patch once I find a solution. Thanks. Any updates here? From unknown Tue Jun 17 22:29:52 2025 X-Loop: help-debbugs@gnu.org Subject: bug#72555: 30.0.60; [PATCH] NS: support passing key events to the system Resent-From: Stefan Kangas Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 11 Feb 2025 19:22:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 72555 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Kai Ma Cc: 72555@debbugs.gnu.org Received: via spool by 72555-submit@debbugs.gnu.org id=B72555.173930167713686 (code B ref 72555); Tue, 11 Feb 2025 19:22:01 +0000 Received: (at 72555) by debbugs.gnu.org; 11 Feb 2025 19:21:17 +0000 Received: from localhost ([127.0.0.1]:58679 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1thvoq-0003Yf-Q2 for submit@debbugs.gnu.org; Tue, 11 Feb 2025 14:21:17 -0500 Received: from mail-ed1-x535.google.com ([2a00:1450:4864:20::535]:49662) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1thvol-0003YB-FE for 72555@debbugs.gnu.org; Tue, 11 Feb 2025 14:21:14 -0500 Received: by mail-ed1-x535.google.com with SMTP id 4fb4d7f45d1cf-5de5a853090so7786357a12.3 for <72555@debbugs.gnu.org>; Tue, 11 Feb 2025 11:21:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739301665; x=1739906465; darn=debbugs.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date :mime-version:references:in-reply-to:from:from:to:cc:subject:date :message-id:reply-to; bh=w8AxUaIgkTUqiyHcUw6KpuXdM/z7O0TdBo/iaZSmgAw=; b=EIjrEK5uXRCeZFmX3uFkfb8fWHyuD+mi8N4io5SQfmDxuiCUMsvu6RwgiQX2D6eRP5 BzsyjhVHTr8Xdx7D7XAUUoYpeYPVZoWNb4IwW+3GL6HgiiC981K1eI8Sra16DhzasVJV hhSAFgKlogvJO1ZszdrDI1kRSsWHth/34g1Etmv02iLLEuOr7n1HUAnvQww2LqTgCMg1 eyKxdUUN1Tqa6FkIBO13C1v2+2fYAb8Ghkm8WbzrCCziF6h/xpgzOXjconL5xS8jSB0x 9sqaChlmshrlEWFqR5wcWRg84wcadzL/ir5jUnErZ/2IY1LYhojzL8L0hereUej3bFjD 3dYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739301665; x=1739906465; h=content-transfer-encoding:cc:to:subject:message-id:date :mime-version:references:in-reply-to:from:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=w8AxUaIgkTUqiyHcUw6KpuXdM/z7O0TdBo/iaZSmgAw=; b=VHIp+dYJf3O5NHVseDDMUiPdc9zWvw9w0aWGsdXbaOmEe44qJtGULTqYjExCYmqu/Q ERqspoInPoJNbvwsgtLWesDfqUvQunkmeKQrIaOyKE02hvPPv4u4fimjTgpB/k57smhM BmwW84VYTIVm3rouxa4SMVkCsfu1xKWm1KjzGQteVjXS/abZUUNRo9BtZGpMn4AMVK4w 1i5xnYkPICVfy5ibTY/9MAGptI2w1058w2UEESQOWbnysqUchIdBBbrvwlWxjzmcMfEE AudHfMW9s6wwUP090mIy119Xj7WShHlD70VBcRqyTpmsSgP1Etl+jI1kN5bU6Eb+dwR+ e5BQ== X-Gm-Message-State: AOJu0YwoMfHsbXJVIe1PukpXsXqvyrKwwt3p1+mFQzYrAjVmF+8S5i4s K5sdNcXX6bdAYt8Sef++HCUN62jO7J0+wW2ua08bA8kz8wIsynM60QYKb39mx1+DqApgEm50+dQ 2/6bCtJqdbaotHk4v7vlwnvdnQMyCy2MGatt/Mg== X-Gm-Gg: ASbGncuL0hC+fisxo0lqqZ8+9ymcF6n1ednLAli/OQeRugOk65xsUPoP6v/vfjtGfgZ h7832fK4UATzG4yVsglT/rehxgmeCNQ9vrUfuDiyTeETwBMwA4twQO9Qo50ekh/UEHWIOAkwkgw == X-Google-Smtp-Source: AGHT+IGVKmUKYvZfGt15JsLN2HWcKkNE8Of9VfS8qtzttXTwlCKkklhBYgo7bIXJkhc19QPtxxpWta+6nS7arS2nWCU= X-Received: by 2002:a05:6402:2108:b0:5de:45b4:6f9e with SMTP id 4fb4d7f45d1cf-5deadde76dcmr289453a12.21.1739301665282; Tue, 11 Feb 2025 11:21:05 -0800 (PST) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Tue, 11 Feb 2025 11:21:04 -0800 From: Stefan Kangas In-Reply-To: References: <0C40FE36-BB74-4DC2-B591-265E117D1881@gmail.com> MIME-Version: 1.0 Date: Tue, 11 Feb 2025 11:21:04 -0800 X-Gm-Features: AWEUYZnCLgykW23bdh3rEPTXQm4435cZnmGPOcPY28nuInfESqOLnuT61DF8c9g Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Stefan Kangas writes: > tags 72555 - patch > thanks > > Kai Ma writes: > >> Do NOT test the patch. I just found the handling of certain keys incorr= ect. >> >> (e.g. Control-/ seems to unconditionally triggers the alert beep. I=E2= =80=99d appreciate it if some experts can share their insights.) >> >> I will post a new patch once I find a solution. > > Thanks. Any updates here? Friendly ping. From unknown Tue Jun 17 22:29:52 2025 X-Loop: help-debbugs@gnu.org Subject: bug#72555: 30.0.60; [PATCH] NS: support passing key events to the system Resent-From: Kai Ma Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 12 Feb 2025 07:36:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 72555 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: To: Stefan Kangas Cc: 72555@debbugs.gnu.org Received: via spool by 72555-submit@debbugs.gnu.org id=B72555.17393457526132 (code B ref 72555); Wed, 12 Feb 2025 07:36:01 +0000 Received: (at 72555) by debbugs.gnu.org; 12 Feb 2025 07:35:52 +0000 Received: from localhost ([127.0.0.1]:60662 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ti7Hk-0001aq-4N for submit@debbugs.gnu.org; Wed, 12 Feb 2025 02:35:52 -0500 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]:48447) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1ti7Hg-0001aX-Nh for 72555@debbugs.gnu.org; Wed, 12 Feb 2025 02:35:49 -0500 Received: by mail-wm1-x344.google.com with SMTP id 5b1f17b1804b1-436ce2ab251so44818775e9.1 for <72555@debbugs.gnu.org>; Tue, 11 Feb 2025 23:35:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1739345742; x=1739950542; darn=debbugs.gnu.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=jlY0RLsRv8jlLSbsaZZWmL63DKSc9TnC2pUMhlNfx9g=; b=ezn5TREh9HdYDz2mmop2sS3d0SSH3ejRtqURmIfcYu6mhCkzNYH6RJyrb/zIF18qbh zwZ2L4lk05o1AqBpP2DlScFuTxyEzIiYQPK4oVC5zqldOLrJP9VUgLsBBMTLl72VUmLr THhBgUPoXXRfQDCXez88N8Hhw9F8n7JUNP4Wedb1EchrsIbO4vkKoJJhXUf7WVAEG2j5 eFHnpxRNqg3oa9RcKUX1ojIl/eG05gwJtPOxHDuvAciW2za+8cK/Y+ZNMrGSjiNkGY1g p8w8ElSnY5q4G1KWl3wc+76fsm+/ZZ1AFPyQ5XUuBFnQMNyoM0EfstmIizePfhyvpfQK e8jA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1739345742; x=1739950542; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=jlY0RLsRv8jlLSbsaZZWmL63DKSc9TnC2pUMhlNfx9g=; b=wWfIgAMPZD+po/HJo8lbUwGwIqx4ts/8vCDt0tQ1YcOEG6yJaDaj0lUJ5wYiSJgK/i G5rVBi9JWJ68PmeCouZi0Ay48EWGVko/NVh8DBccPv8ztZ9mEa97Yns9wkjAfaRHI2Oa r65910q3etY2F+4PmAIHnFp0aO1kbeHgBaMMTpzKpJluRPOFVHR2Uovx/DpsusPwzZua yYJ4xh4My2bJ3WRHa1Pzac+1yZriizQBD0tzPTJJmpmmOU5QgrwAQRQ81nEhAwqkH0ky MOFlkSvvBycmrwAko5da8NbOMdAMKDzN0pKrKek+S1eW3XPvFwgnAt6oETnMXUWNh4hN ahqQ== X-Gm-Message-State: AOJu0YxMVrRSqdvWYOFeEXQPR3GSdV8hpiSRvywZ5IB8yQCB/nNK41wy BHH6hoXsL76TpiRIOZVRaNQZggTI8f7Qyk9kR2PLdwZ8rWnaVLaQ4DY6UdEO X-Gm-Gg: ASbGnctdYc5f/SDpyTjT+gwBcWlQEIM/dlN3662p4e1v8R8a/aLWbLEbWXhhBOTnPDp GiFXQkv9qDl8JU9DEGdYvbkaxkZPe40BjGK921oGQlsGYDPmSsrv1TIFF1uks2xxHb3DoW8maLK N6xLn9RoR5EqEqHAdDuU8/qFjVmkIjgxyww5FqzhMmuuSJXmG90A8lz9dP2sWvZj/7cUUZHugt9 ZD8BIISDHM1gcUyb7GKnuWk55cfnHNlYQC0GEUfXiRiGIAEnCoweSbVljEdZfVK1j7wCz6YthIp 82CAs717LT0BsBeFZJ5rShYe/Cn46kWzTLbvipcNWw== X-Google-Smtp-Source: AGHT+IFMBtpA/xy7hiCNrJ/6yh3FqxZFl7obkKyWHH2XxynHZ/Q1t/1PLOqeSZ/f+zrYv8HTaFnMig== X-Received: by 2002:a05:600c:512a:b0:439:4293:c581 with SMTP id 5b1f17b1804b1-439581b92dcmr16526625e9.19.1739345742021; Tue, 11 Feb 2025 23:35:42 -0800 (PST) Received: from smtpclient.apple ([2a02:3036:20e:56cb:3ce2:2c52:3240:2e42]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4395a04cd35sm11454065e9.2.2025.02.11.23.35.41 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 11 Feb 2025 23:35:41 -0800 (PST) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.300.87.4.3\)) From: Kai Ma In-Reply-To: Date: Wed, 12 Feb 2025 08:35:30 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: <159628C2-66A6-417D-9A70-A077507F16CE@gmail.com> References: <0C40FE36-BB74-4DC2-B591-265E117D1881@gmail.com> X-Mailer: Apple Mail (2.3826.300.87.4.3) X-Spam-Score: 0.5 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.5 (/) Sorry, I don=E2=80=99t have the capacity to work on this for the next = months. Please close it. I=E2=80=99ll resubmit a patch if I ever sort = this out in the future. According to my memories, the remaining problems are: 1. C-/ causes an unconditional beep because macOS has no default = keybinding for it. 2. C-q is intercepted by Cocoa=E2=80=99s own quoted insert. We can simply handle them inside Emacs, but I=E2=80=99m not sure whether = the list is complete. > On Feb 11, 2025, at 20:21, Stefan Kangas = wrote: >=20 > Stefan Kangas writes: >=20 >> tags 72555 - patch >> thanks >>=20 >> Kai Ma writes: >>=20 >>> Do NOT test the patch. I just found the handling of certain keys = incorrect. >>>=20 >>> (e.g. Control-/ seems to unconditionally triggers the alert beep. = I=E2=80=99d appreciate it if some experts can share their insights.) >>>=20 >>> I will post a new patch once I find a solution. >>=20 >> Thanks. Any updates here? >=20 > Friendly ping. From unknown Tue Jun 17 22:29:52 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Kai Ma Subject: bug#72555: closed (Re: bug#72555: 30.0.60; [PATCH] NS: support passing key events to the system) Message-ID: References: X-Gnu-PR-Message: they-closed 72555 X-Gnu-PR-Package: emacs Reply-To: 72555@debbugs.gnu.org Date: Sun, 23 Feb 2025 00:28:01 +0000 Content-Type: multipart/mixed; boundary="----------=_1740270481-17793-1" This is a multi-part message in MIME format... ------------=_1740270481-17793-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #72555: 30.0.60; [PATCH] NS: support passing key events to the system which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 72555@debbugs.gnu.org. --=20 72555: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D72555 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1740270481-17793-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 72555-done) by debbugs.gnu.org; 23 Feb 2025 00:27:03 +0000 Received: from localhost ([127.0.0.1]:57994 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tlzpn-0004bM-8J for submit@debbugs.gnu.org; Sat, 22 Feb 2025 19:27:03 -0500 Received: from mail-ed1-x52e.google.com ([2a00:1450:4864:20::52e]:42243) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from ) id 1tlzpk-0004aa-Ry for 72555-done@debbugs.gnu.org; Sat, 22 Feb 2025 19:27:01 -0500 Received: by mail-ed1-x52e.google.com with SMTP id 4fb4d7f45d1cf-5debbced002so6088593a12.1 for <72555-done@debbugs.gnu.org>; Sat, 22 Feb 2025 16:27:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1740270415; x=1740875215; darn=debbugs.gnu.org; h=content-transfer-encoding:cc:to:subject:message-id:date :mime-version:references:in-reply-to:from:from:to:cc:subject:date :message-id:reply-to; bh=UMML83gsocbDVzBEI8jl8APDL1rc9NdQ/DBO5QTAB2Q=; b=lsvYaLdus9h11uB8vUH7x93pBzt6KC5A1bjhmfRZZVpifUGHcdLF/uxufTKqVuK0Um 9cN/IvM0pNtR9XmrPZXYb6Q3/b/kafqXBetI4/6RIOl8wABF51WoEnkvMMCcJXuOeOjs iQor0tWh8siirO0udZ6unM0XhqNzz0R/Esh84rS0RomkDGMBeDh4dht99UBb+JlOHKPz Rqt1+WmkbBMXydvlBxtoNdWjj9+r8OrwupfrvNEC32vSh47Q2ID3YRapIgsvcC499WzF oNNzYu54XapB2FJ96/WYYuHfBl9ESh7xc0omPG4BCJ9dWgvzyRpyFLlIpHwXq17zreEq GmCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1740270415; x=1740875215; h=content-transfer-encoding:cc:to:subject:message-id:date :mime-version:references:in-reply-to:from:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=UMML83gsocbDVzBEI8jl8APDL1rc9NdQ/DBO5QTAB2Q=; b=IoX3ABdDebXhkoP4VsH+r7XfP+B6TMmbdl4X1M0HSKj5sW6UFzgDIqw/zF3al9h1Mk zq1sqUct/w/QyRdinLCxmyuxDGPZC+E792Z8jLvAyKb+3sQ30XAZkpOl9Fm6uYTVJRkl PTaxOqGp70yWSdR55n+Z0feqLveC8sCDZ0kOL/CI4H4fNWLLOYAWki0PjEnWvqX+pDtQ o/sYALjH4IrphiKvByCTf//DU6vWm1Mf7X+zriEYJABQK8SbAJE56/V12cwW4tZvDrkJ 14xnWtvk3xXN3rWMC+nWqmvQCZc5mWVcTZ/40O/zO6K9bk8BJv8W+eA0z0whCNbll0dJ Z+sQ== X-Gm-Message-State: AOJu0YynbIHevwFJwtrQb1joP604mW/SocHffv2KlqPQ9M/VX5GTjYJm kxc9qUCjgZXu1hQYmCa31MuX+MTwSixjtdCTzeJQgSHdRClNXFZ32P4F4JCYRltS92A3mm7331f F0QyYyzVMxcl8bKrKCgk/MftNOVc= X-Gm-Gg: ASbGncu5oGsfpRIi+WnR0ORjCa787pj7SB2y9iUAb7RQN1RMvowYeiAaJgSbCcGysuI iHEwqN/pQXf7e7rNshaPgqIROPilb13lp/OVlF7lfJFBDCSc7IuP8Z10SdJT3OD4pOwdkjdI7tE j9iYYcL1VS X-Google-Smtp-Source: AGHT+IGCDicWkVHC+2SEAeR7Zo4Zoa3JYCxcIq6RJ/jKBtpyzAj7sdse410ld2us+1+DklJdsht1AvlsMclHDLul8xs= X-Received: by 2002:a05:6402:3507:b0:5e0:5fe5:6166 with SMTP id 4fb4d7f45d1cf-5e0a121f2bfmr12637131a12.4.1740270414551; Sat, 22 Feb 2025 16:26:54 -0800 (PST) Received: from 753933720722 named unknown by gmailapi.google.com with HTTPREST; Sun, 23 Feb 2025 00:26:53 +0000 From: Stefan Kangas In-Reply-To: <159628C2-66A6-417D-9A70-A077507F16CE@gmail.com> References: <0C40FE36-BB74-4DC2-B591-265E117D1881@gmail.com> <159628C2-66A6-417D-9A70-A077507F16CE@gmail.com> MIME-Version: 1.0 Date: Sun, 23 Feb 2025 00:26:53 +0000 X-Gm-Features: AWEUYZnvvxqWpPymkdyRyr0iMQidQ-leKF68Llaj-rGFHJVLs8qFRWBgZdDscNk Message-ID: Subject: Re: bug#72555: 30.0.60; [PATCH] NS: support passing key events to the system To: Kai Ma Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 72555-done Cc: 72555-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Kai Ma writes: > Sorry, I don=E2=80=99t have the capacity to work on this for the next mon= ths. Please close it. I=E2=80=99ll resubmit a patch if I ever sort this out= in the future. > > According to my memories, the remaining problems are: > > 1. C-/ causes an unconditional beep because macOS has no default keybindi= ng for it. > 2. C-q is intercepted by Cocoa=E2=80=99s own quoted insert. > > We can simply handle them inside Emacs, but I=E2=80=99m not sure whether = the list is complete. OK, I'm therefore closing this bug report for now. Please report back if you make any further progress with this. Thanks in advance. ------------=_1740270481-17793-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 10 Aug 2024 11:48:37 +0000 Received: from localhost ([127.0.0.1]:39134 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sckaK-0003aa-VX for submit@debbugs.gnu.org; Sat, 10 Aug 2024 07:48:37 -0400 Received: from lists.gnu.org ([209.51.188.17]:35150) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sckaJ-0003aS-2v for submit@debbugs.gnu.org; Sat, 10 Aug 2024 07:48:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sckZp-0005hM-JM for bug-gnu-emacs@gnu.org; Sat, 10 Aug 2024 07:48:05 -0400 Received: from mail-wm1-x344.google.com ([2a00:1450:4864:20::344]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sckZn-0007UH-TK for bug-gnu-emacs@gnu.org; Sat, 10 Aug 2024 07:48:05 -0400 Received: by mail-wm1-x344.google.com with SMTP id 5b1f17b1804b1-42122ac2f38so16496715e9.1 for ; Sat, 10 Aug 2024 04:48:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1723290480; x=1723895280; darn=gnu.org; h=to:date:message-id:subject:mime-version:from:from:to:cc:subject :date:message-id:reply-to; bh=g7jP+HIucZFBe0+jNiU6Eq3ImuGHeTXw2iB0mS3iLt4=; b=KlZs/QJfqDhDMz3e9ix/DRk+K+ttMkFiHcJfSE11BGuTvbe8VZHjsut5csXZlkzyaP ozi8JjJnmJdJd48EoDXct1/CpnEHcPZzBoEGzwJuL+xBOpN0J2B58Vx9CQKMIu52thin q2ofgPCjNZ/usQjg5m6OaMJBaiQjrxj5CjNj1lZq47/S4MV6xlEv7Z8cEXe70bSdyXqF X58BHPwA+N+41x1H/Mmx6Yks9L6jNYd//1dYpTKqMvkOr7+tXFhmEn/70iooIoJzWlwX RiJy27RA176pypmusIom1X99rcBh7aYgOworMkdzh14e5F7RTABu0lKv+Tc3lANDWefs H8qQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723290480; x=1723895280; h=to:date:message-id:subject:mime-version:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=g7jP+HIucZFBe0+jNiU6Eq3ImuGHeTXw2iB0mS3iLt4=; b=ftK/60VlCrpALy2HHsYuwVqCoDT0OpulqbktWJXkabEnyILzswtwzvnWea/sMfgvFN sMJNjsVpFtB+etyaP/zwhhqBUEHorqYvlaw3Gpdmx5bLh4JSF6aynNRhMuKEaysHsuhO V5AVH6NxW/7+aOTb6HipkpQuGtT9XD1JzXWCi2XkVoX/K3zYOter6Hd63SwGySg9WZXu /ZeZiNdwd+FBusqno0+DrRkA3iux4lYBsqSk0KFT9Sg7Lu237h0OKS+5XvTrOXHtGCBv LrqPH41S/wrK/FfXCBc6cMpdXsKKqc+v9s1wnq/MprkYSOcMdS5XNVr0lFvVNFjxfaFi Q/uA== X-Gm-Message-State: AOJu0Yy3CeTWNjB906IB5R/hMThtRVB73auPeMNBYF8SDSsMCft/McPy IZF3GoL0yJMHPMvCZ5jfPhOq4unPS4lJ5OSytxfWUiHY6Hv+KRf9OfQb8mhO X-Google-Smtp-Source: AGHT+IHjsQNDKUeYxHAVTbNRndnVjath4sAp+g7uBplKn5nTajFfIT1P46vJfzRByVjuk9Cfoqahww== X-Received: by 2002:a05:600c:458c:b0:424:8be4:f2c with SMTP id 5b1f17b1804b1-429c3abe633mr36302225e9.2.1723290479949; Sat, 10 Aug 2024 04:47:59 -0700 (PDT) Received: from smtpclient.apple ([2a02:2454:8758:c800:44b0:ad6c:55c6:dc74]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4290c72d4c9sm114207925e9.8.2024.08.10.04.47.59 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 10 Aug 2024 04:47:59 -0700 (PDT) From: Kai Ma Content-Type: multipart/mixed; boundary="Apple-Mail=_AC80F4A8-D3D0-4BBF-AD7F-89A85F8DF0CC" Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.600.62\)) Subject: 30.0.60; [PATCH] NS: support passing key events to the system Message-Id: Date: Sat, 10 Aug 2024 13:47:48 +0200 To: "Bug reports for GNU Emacs, the Swiss army knife of text editors" X-Mailer: Apple Mail (2.3774.600.62) Received-SPF: pass client-ip=2a00:1450:4864:20::344; envelope-from=justksqsf@gmail.com; helo=mail-wm1-x344.google.com X-Spam_score_int: -15 X-Spam_score: -1.6 X-Spam_bar: - X-Spam_report: (-1.6 / 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, FROM_LOCAL_NOVOWEL=0.5, 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-Spam-Score: -0.8 (/) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.8 (-) --Apple-Mail=_AC80F4A8-D3D0-4BBF-AD7F-89A85F8DF0CC Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii The attached patch adds ns-pass-keys-to-system and makes Emacs to send the key events to the system input manager when it's set. This can correct a number of problems that are hard to work around due to the current key handling logic of Emacs NSport. (1) The keydown event of Shift+Enter is never sent to the system input method. This causes an annoying problem for system input methods: if you press Shift+Enter in Emacs (that is three events: Shift down, Shift+Enter down, Shift up), the input method only sees Shift down and up. However, many input methods interprets a click of Shift differently (mostly toggling ASCII mode), and this causes unwanted behavior. (This was reported as #38293 in 2019.) This can only be fixed by Emacs, because to input methods, Shift+Enter is indistinguishable from a single Shift. (2) The input method may define some special keys and Emacs cannot make use of them. (3) Some system level shortcuts never work in Emacs. For example, Rectangle (think of it as a third-party window manager in macOS) will not receive any requests from Emacs windows. The fix is mostly modeled after Mitsuharu's Mac port, with a few adjustments for NS port. I've been using it for some time and there are no more defects known to me, so I decide it's time to send it to you. Regards, Kai --Apple-Mail=_AC80F4A8-D3D0-4BBF-AD7F-89A85F8DF0CC Content-Disposition: attachment; filename=0001-NS-Pass-key-events-to-system-first.patch Content-Type: application/octet-stream; x-unix-mode=0644; name="0001-NS-Pass-key-events-to-system-first.patch" Content-Transfer-Encoding: quoted-printable =46rom=206e0a8ac127ce5da7fb50aca2fe63819719d2740f=20Mon=20Sep=2017=20= 00:00:00=202001=0AFrom:=20Kai=20Ma=20=0ADate:=20= Sun,=2011=20Jun=202023=2014:29:25=20+0800=0ASubject:=20[PATCH]=20NS:=20= Pass=20key=20events=20to=20system=20first.=0A=0A*=20src/nsterm.h=20= (@interface=20EmacsView):=20Add=20keyEventsInterpreted=20and=0A= rawKeyEvent.=0A*=20src/nsterm.m=20(syms_of_nsterm):=20Add=20= ns-pass-keys-to-system.=0A([EmacsView=20keyDown]):=20Interpret=20key=20= events=20first=20if=0Ans-pass-keys-to-system=20is=20set.=0A([EmacsView=20= insertText]):=20Adjust.=0A([EmacsView=20doCommandBySelector]):=20Adjust.=0A= ([EmacsView=20markedRange]):=20Adjust.=0A([EmacsView=20selectedRange]):=20= Adjust.=0A---=0A=20src/nsterm.h=20|=20=202=20++=0A=20src/nsterm.m=20|=20= 44=20++++++++++++++++++++++++++++++++++++++++----=0A=202=20files=20= changed,=2042=20insertions(+),=204=20deletions(-)=0A=0Adiff=20--git=20= a/src/nsterm.h=20b/src/nsterm.h=0Aindex=20480f9febe5d..0ee01696f2c=20= 100644=0A---=20a/src/nsterm.h=0A+++=20b/src/nsterm.h=0A@@=20-481,6=20= +481,8=20@@=20#define=20NSTRACE_UNSILENCE()=0A=20=20=20int=20= maximized_width,=20maximized_height;=0A=20=20=20EmacsWindow=20= *nonfs_window;=0A=20=20=20BOOL=20fs_is_native;=0A+=20=20BOOL=20= keyEventsInterpreted;=0A+=20=20NSEvent=20*rawKeyEvent;=0A=20@public=0A=20= =20=20struct=20frame=20*emacsframe;=0A=20=20=20int=20= scrollbarsNeedingUpdate;=0Adiff=20--git=20a/src/nsterm.m=20= b/src/nsterm.m=0Aindex=209978ff6433e..e3c78822bb4=20100644=0A---=20= a/src/nsterm.m=0A+++=20b/src/nsterm.m=0A@@=20-6993,6=20+6993,8=20@@=20-=20= (void)keyDown:=20(NSEvent=20*)theEvent=0A=20=0A=20=20=20NSTRACE=20= ("[EmacsView=20keyDown:]");=0A=20=0A+=20=20rawKeyEvent=20=3D=20theEvent;=0A= +=0A=20=20=20/*=20Rhapsody=20and=20macOS=20give=20up=20and=20down=20= events=20for=20the=20arrow=20keys.=20=20*/=0A=20=20=20if=20([theEvent=20= type]=20!=3D=20NSEventTypeKeyDown)=0A=20=20=20=20=20return;=0A@@=20= -7096,12=20+7098,23=20@@=20In=20that=20case=20we=20use=20UCKeyTranslate=20= (ns_get_shifted_character)=0A=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20code,=20fnKeysym,=20flags,=20emacs_event->modifiers);=0A=20= #endif=0A=20=0A-=20=20=20=20=20=20/*=20If=20it=20was=20a=20function=20= key=20or=20had=20control-like=20modifiers,=20pass=0A-=20=20=20=20=20=20=20= =20=20it=20directly=20to=20Emacs.=20=20*/=0A+=20=20=20=20=20=20/*=20It=20= was=20a=20function=20key=20or=20had=20control-like=20modifiers.=20=20*/=0A= =20=20=20=20=20=20=20if=20(fnKeysym=20||=20(emacs_event->modifiers=0A=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20&&=20= (emacs_event->modifiers=20!=3D=20shift_modifier)=0A=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20&&=20[[theEvent=20= charactersIgnoringModifiers]=20length]=20>=200))=0A=20=20=20=20=20=20=20=20= =20{=0A+=20=20=20=20=20=20=20=20=20=20/*=20Before=20passing=20it=20to=20= Emacs,=20check=20if=20there=20is=20a=0A+=20=20=20=20=20=20=20=20=20=20=20= =20=20system-level=20interpretation.=20=20*/=0A+=20=20=20=20=20=20=20=20=20= =20if=20(ns_pass_keys_to_system)=0A+=20=20=20=20=20=20=20=20=20=20=20=20= {=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20keyEventsInterpreted=20=3D=20= YES;=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20[self=20= interpretKeyEvents:=20@[theEvent]];=0A+=20=20=20=20=20=20=20=20=20=20=20=20= =20=20if=20(keyEventsInterpreted)=0A+=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20return;=0A+=20=20=20=20=20=20=20=20=20=20=20=20}=0A+=0A+=20=20= =20=20=20=20=20=20=20=20/*=20Pass=20it=20directly=20to=20Emacs.=20=20*/=0A= +=0A=20=20=20=20=20=20=20=20=20=20=20emacs_event->kind=20=3D=20= NON_ASCII_KEYSTROKE_EVENT;=0A=20=20=20=20=20=20=20=20=20=20=20/*=20= FIXME:=20What=20are=20the=20next=20four=20lines=20supposed=20to=20do?=20=20= */=0A=20=20=20=20=20=20=20=20=20=20=20if=20(code=20<=200x20)=0A@@=20= -7172,6=20+7185,15=20@@=20In=20that=20case=20we=20use=20UCKeyTranslate=20= (ns_get_shifted_character)=0A=20-=20(void)=20insertText:=20(id)=20string=0A= =20=20=20=20replacementRange:=20(NSRange)=20replacementRange=0A=20{=0A+=20= =20/*=20Don't=20interpret=20modified=20events=20(except=20Shift=20and=20= NumericPad).=20=20*/=0A+=20=20NSEventModifierFlags=20flags=20=3D=20= rawKeyEvent.modifierFlags=0A+=20=20=20=20&=20= NSEventModifierFlagDeviceIndependentFlagsMask;=0A+=20=20if=20(flags=20&=20= ~(NSEventModifierFlagShift=20|=20NSEventModifierFlagNumericPad))=0A+=20=20= =20=20{=0A+=20=20=20=20=20=20keyEventsInterpreted=20=3D=20NO;=0A+=20=20=20= =20=20=20return;=0A+=20=20=20=20}=0A+=0A=20=20=20if=20([string=20= isKindOfClass:[NSAttributedString=20class]])=0A=20=20=20=20=20string=20=3D= =20[string=20string];=0A=20=20=20[self=20unmarkText];=0A@@=20-7337,6=20= +7359,7=20@@=20-=20(NSRange)markedRange=0A=20=20=20=20=20?=20NSMakeRange=20= (0,=20[workingText=20length])=20:=20NSMakeRange=20(NSNotFound,=200);=0A=20= =20=20if=20(NS_KEYLOG)=0A=20=20=20=20=20NSLog=20(@"markedRange=20= request");=0A+=20=20keyEventsInterpreted=20=3D=20NO;=0A=20=20=20return=20= rng;=0A=20}=0A=20=0A@@=20-7440,9=20+7463,17=20@@=20-=20= (void)doCommandBySelector:=20(SEL)aSelector=0A=20=20=20if=20(NS_KEYLOG)=0A= =20=20=20=20=20NSLog=20(@"doCommandBySelector:=20%@",=20= NSStringFromSelector=20(aSelector));=0A=20=0A-=20=20processingCompose=20= =3D=20NO;=0A-=20=20if=20(aSelector=20=3D=3D=20@selector=20= (deleteBackward:))=0A+=20=20/*=20Either=20this=20is=20a=20function=20= key,=20or=20is=20a=20delete=20event=20when=0A+=20=20=20=20=20composition=20= is=20active.=20=20*/=0A+=0A+=20=20if=20(processingCompose=20=3D=3D=20NO)=0A= =20=20=20=20=20{=0A+=20=20=20=20=20=20/*=20The=20key=20event=20was=20not=20= interpreted=20by=20interpretKeyEvents:.=20=20*/=0A+=20=20=20=20=20=20= keyEventsInterpreted=20=3D=20NO;=0A+=20=20=20=20}=0A+=20=20else=20if=20= (aSelector=20=3D=3D=20@selector=20(deleteBackward:))=0A+=20=20=20=20{=0A= +=20=20=20=20=20=20processingCompose=20=3D=20NO;=0A=20=20=20=20=20=20=20= /*=20Happens=20when=20user=20backspaces=20over=20an=20ongoing=20= composition:=0A=20=20=20=20=20=20=20=20=20=20throw=20a=20'delete'=20into=20= the=20event=20queue.=20=20*/=0A=20=20=20=20=20=20=20if=20(!emacs_event)=0A= @@=20-11351,6=20+11382,11=20@@=20Convert=20an=20X=20font=20name=20(XLFD)=20= to=20an=20NS=20font=20name.=0A=20If=20`none',=20the=20key=20is=20ignored=20= by=20Emacs=20and=20retains=20its=20standard=20meaning.=20=20*/);=0A=20=20= =20ns_function_modifier=20=3D=20Qnone;=0A=20=0A+=20=20DEFVAR_BOOL=20= ("ns-pass-keys-to-system",=20ns_pass_keys_to_system,=0A+=20=20=20=20doc:=20= /*=20If=20non-nil,=20pass=20all=20key=20events=20to=20the=20system=20= input=20manager=0A+before=20they=20are=20passed=20to=20Emacs.=20=20*/);=0A= +=20=20ns_pass_keys_to_system=20=3D=20YES;=0A+=0A=20=20=20DEFVAR_LISP=20= ("ns-antialias-text",=20ns_antialias_text,=0A=20=20=20=20=20doc:=20/*=20= Non-nil=20(the=20default)=20means=20to=20render=20text=20antialiased.=20=20= */);=0A=20=20=20ns_antialias_text=20=3D=20Qt;=0A--=20=0A2.39.3=20(Apple=20= Git-146)=0A=0A= --Apple-Mail=_AC80F4A8-D3D0-4BBF-AD7F-89A85F8DF0CC-- ------------=_1740270481-17793-1--