Hi Ivan --

This looks like an unexpected configuration of your platform. ABNT2 itself is not an issue but maybe the way your platform handles dead keys such as the circumflex. If you just hit that key


and immediately see U+0302 in your workspace, it means that your platform is not doing the composition but expecting the application (here: Squeak) to do that. Well, Squeak does not do that. Yes, you can add a manual mapping for your personal Squeak image for this specific case but it might be easier to just install a keyboard driver/layout in your GNOME that supports dead keys itself.

It might be specific to the platform (here: Ubuntu) what it means to not handle dead keys. One might expect a single it on that key to than see, for example, the circumflex (ASCII 94) directly. Or that U+0302 is in your case, so that the application actually knows what it should do. Compose the next key character into the previous one. Using such specific Unicode composition code points even for that might be a "rather new" feature. I did not know about that.

But Squeak cannot yet compose key characters. I suggest to install a keyboard layout with dead keys on your platform. Sorry for the inconveniences.

Happy Squeaking! :-)

Best,
Marcel

Am 11.01.2024 15:44:42 schrieb Ivan Reche <ivan.reche@gmail.com>:


Em ter., 9 de jan. de 2024 às 17:01, Thiede, Christoph <Christoph.Thiede@student.hpi.uni-potsdam.de> escreveu:
Hi,

Von: lewis@mail.msen.com <lewis@mail.msen.com>
Gesendet: Sonntag, 7. Januar 2024 03:56 Uhr
An: The general-purpose Squeak developers list <squeak-dev@lists.squeakfoundation.org>; Ivan Reche <ivan.reche@gmail.com>
Cc: A friendly place to get answers to even the most basic questions about Squeak. <beginners@lists.squeakfoundation.org>
Betreff: [squeak-dev] Re: [Newbies] Help with keyboard layout when typing a caret
 
> On 2024-01-06 22:55, Ivan Reche wrote:
> >
> > > Em sáb., 6 de jan. de 2024 19:47, <lewis@mail.msen.com> escreveu:
> > >
> > > <bump>
> > >
> > > Does anyone have any advice or suggestions to help Ivan with how to
> > > enter a caret (^) on a Portuguese ABNT2 keyboard?
> > >
> >
> > I'm an experienced developer, so I could help investigating. It's
> > probably
> > something simple to fix, but maybe hard to troubleshoot.
> >
> > Is it easy to run Squeak in some kind of debugger so I can try to track
> > the
> > behavior when I input the caret?
>
> There is a utility for displaying incoming (keyboard and other) events
> in
> Squeak. Unfortunately I cannot remember what it is.
>
> @Marcel, can you remind us how to display incoming keyboard events from
> the VM event queue?

You can open the keyboard exerciser from the world menu (by red-clicking anywhere on the grey background) > objects > demo. Just place it anywhere in the world, hover it, and press a key the displaying the unfiltered keyboard events. You can hover it and share us a screenshot of the resulting tooltip. For this particular issue, the preselected option (Test key stroke) should fit.

> > Also, how do I understand what Squeak means
> > by the red interrogation mark? Can I see the actual chat code for it?
> > Maybe
> > it can help us understand the issue.
> >
>
> The red interrogation mark is being displayed in a Workspace in your
> Squeak display. Yes, it is possible to see the actual characters that
> are being display. It is a bit hard to describe (but easy to do). Here
> is one way to do it:
>
> 1) Use the mouse to highlight the Workspace.
> 2) Click middle mouse button to activate the "halo" icons around
> the workspace. These give you direct ability to inspect and interact
> with the Workspace on your screen.
> 3) Find the round "Debug" halo icon, one down from the upper right
> icon, with a little graphic that looks like a wrench.
> 4) Click the icon and then select "explore model"
> 5) Navigate the object explorer, opening "contents" which is the
> Text object that is being displayed in your workspace.
> 6) The "contents" Text object consists of "string" (the characters
> being displayed) and "runs" (formatting for the string). Navigate
> into the string to see the list of characters being displayed in
> your workspace.
> 7) One of the characters in the string will be the thing that you
> tried to input as a caret (^) character. You can drill into that in
> the object explorer to see what it actually is. I don't know what
> you will see, but you expected it to be a caret character, and
> this is what you ended up with instead, so maybe it will give a
> clue.

(Actually, a simpler way is to place a dollar ($) character right before the question mark, select both the dollar and the question mark, and press Cmd + I to inspect it to evaluate it as a literal character expression. The title of the opened window will tell us the ASCII code of that character. I suspect that this is NOT a 63, which would be a regular question mark, but a much larger number of a special character that the default fonts in the image cannot display.)

I'm sorry, I'm using GMail and I have no idea how to make it behave with mailing lists. At least I'm not top posting :)

Christoph's tip was on point! After evaluating the char, it's char 770, which seems to be U+0302, which is called "Combining Circumflex Accent", which seems to be a variation of the caret (and the font in my Squeak build doesn't seem to support it). Never saw this symbol before.

Typing the caret in other programs in my desktop environment will give me the U+005E symbol, which is "Circumflex Accent".

When I get some more time, I'll look into the debugger stuff. Thanks a lot for the replies.

 

> > Thanks a lot!
> >
>
> Please join us on the squeak-dev list. Your original question is
> quite simple, but debugging it might be a challenge :-)
>
> https://lists.squeakfoundation.org/mailman3/lists/squeak-dev.lists.squeakfoundation.org/
>
> Dave

Best,
Christoph