Subject: bug#74134: 29.4; emacs-pgtk and emacs-gtk-x11 does not react the same way to c-s-u

From: [email-masked]
Date: Thu, 31 Oct 2024 20:39:29 +0100

Eli Zaretskii <[email-masked]> writes:

>> From: [email-masked]
>> Date: Thu, 31 Oct 2024 13:19:40 +0100
>> 
>> 
>> I would like to be able to enter unicode chars the same way you do in
>> other applications under wayland or x11, using control shift u + 4 hex
>> chars ret.
>> 
>> In emacs-pgtk it seems like c-s-u tries to do this, because a little U
>> with underscore appears, same as in firefox, but then you cant type the
>> hex code.
>> 
>> In emacs-gtk-x11, c-s-u works as advertized in the emacs manual at
>> least, it runs universal-argument.
>> 
>> I would prefer it if c-s-u could be configuered to enter unicode same as
>> in other applications, if possible.
>
> Isn't this the following known issue from PROBLEMS?
>
>   ** Certain keys such as 'C-S-u' are not reported correctly.
>
>   Some keys with modifiers such as Shift and Control might not be
>   reported correctly due to incorrectly written GTK input method
>   modules.  This is known to happen to 'C-S-u' and 'C->', which are
>   misreported as 'C-u' and '>'.
>
>   To disable the use of GTK input methods, evaluate:
>
>     (pgtk-use-im-context nil)
>
>   This will also cause system input methods and features such as the
>   Compose key to stop working.
>
>   On X Windows, users should not use Emacs configured with PGTK, since
>   this and many other problems do not exist on the regular X builds.

Thanks!

    (pgtk-use-im-context nil)

inhibited the broken gtk input method c-s-u behaviour, and now the code below can be
made to emulate the behaviour in other applications.

;; enable standard linux unicode input
(define-key global-map (kbd "C-S-u") 'read-unicode-char)

(defun read-unicode-char (c1 c2 c3 c4 _trailing_space_ignored)
  "Convert unicode input C1 C2 C3 C4 to the corresponding insert char call."
  (interactive "c\nc\nc\nc\nc")
  (insert-char (string-to-number (format "%c%c%c%c" c1 c2 c3 c4) 16)))

PS
I'm using Sway/Wayland and emacs-pgtk looks better than emacs-gtk-x11
there. Maybe I'll go back to X11 when the novelty of Sway faded.

-- 
Joakim Verona
[email-masked]