Hey there!
Total newbie here. I'm playing with Squeak on my vacation and I've noticed that, whenever I try to type a caret (^), which I believe is core to using Smalltalk, Squeak will insert an interrogation mark (?) in its place. I believe it must be something related to keyboard layout, but I have no idea on how to troubleshoot and fix this.
Here is a screenshot to show what's happening:
[image: image.png]
My keyboard layout works just fine on GNOME. Thanks in advance!
My environment: OS: Linux (GNOME DE) Keyboard layout: Portuguese ABNT2 Squeak version: Squeak6.0-22104-64bit-202206021410-Linux-x64
On 2023-12-30 16:51, Ivan Reche wrote:
Hey there!
Total newbie here.
Hello Ivan, Happy holidays and welcome to Squeak!
I'm playing with Squeak on my vacation and I've noticed that, whenever I try to type a caret (^), which I believe is core to using Smalltalk, Squeak will insert an interrogation mark (?) in its place. I believe it must be something related to keyboard layout, but I have no idea on how to troubleshoot and fix this.
Here is a screenshot to show what's happening:
My keyboard layout works just fine on GNOME. Thanks in advance!
My environment: OS: Linux (GNOME DE) Keyboard layout: Portuguese ABNT2 Squeak version: Squeak6.0-22104-64bit-202206021410-Linux-x64
I do not know the answer to your question, but it may be a complex issue so I am CC'ing the squeak-dev developers' list for help.
From what I can gather from a search on the net (https://kbdlayout.info/KBDBR/), the caret key may require some special handling for the Portuguese ABNT2 keyboard. Possibly gnome knows about this and Squeak does not.
Does anyone on the squeak-dev list have a tip for how to enter a caret (^) on a Portuguese ABNT2 keyboard? Replies should include to the beginners list please. Screen shots from the original message (I cannot forward them) are at https://lists.squeakfoundation.org/archives/list/beginners@lists.squeakfound...
Dave
<bump>
Does anyone have any advice or suggestions to help Ivan with how to enter a caret (^) on a Portuguese ABNT2 keyboard?
My original reply to the beginners list on Dec 30 may have been blocked, so I am copying Ivan directly on this message.
Original question on the beginners list is at https://lists.squeakfoundation.org/archives/list/beginners@lists.squeakfound...
and squeak-dev follow up is at https://lists.squeakfoundation.org/archives/list/squeak-dev@lists.squeakfoun...
Thanks,
Dave
Here is a screenshot to show what's happening:
My keyboard layout works just fine on GNOME. Thanks in advance!
My environment: OS: Linux (GNOME DE) Keyboard layout: Portuguese ABNT2 Squeak version: Squeak6.0-22104-64bit-202206021410-Linux-x64
I do not know the answer to your question, but it may be a complex issue so I am CC'ing the squeak-dev developers' list for help.
From what I can gather from a search on the net (https://kbdlayout.info/KBDBR/), the caret key may require some special handling for the Portuguese ABNT2 keyboard. Possibly gnome knows about this and Squeak does not.
Does anyone on the squeak-dev list have a tip for how to enter a caret (^) on a Portuguese ABNT2 keyboard? Replies should include to the beginners list please. Screen shots from the original message (I cannot forward them) are at https://lists.squeakfoundation.org/archives/list/beginners@lists.squeakfound...
Dave
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?
My original reply to the beginners list on Dec 30 may have been blocked, so I am copying Ivan directly on this message.
Original question on the beginners list is at https://lists.squeakfoundation.org/archives/list/beginners@lists.squeakfound...
and squeak-dev follow up is at https://lists.squeakfoundation.org/archives/list/squeak-dev@lists.squeakfoun...
Thanks,
Dave
Here is a screenshot to show what's happening:
My keyboard layout works just fine on GNOME. Thanks in advance!
My environment: OS: Linux (GNOME DE) Keyboard layout: Portuguese ABNT2 Squeak version: Squeak6.0-22104-64bit-202206021410-Linux-x64
I do not know the answer to your question, but it may be a complex issue so I am CC'ing the squeak-dev developers' list for help.
From what I can gather from a search on the net ( https://kbdlayout.info/KBDBR/), the caret key may require some special handling for the Portuguese ABNT2 keyboard. Possibly gnome knows about this and Squeak does not.
Does anyone on the squeak-dev list have a tip for how to enter a caret (^) on a Portuguese ABNT2 keyboard? Replies should include to the beginners list please. Screen shots from the original message (I cannot forward them) are at https://lists.squeakfoundation.org/archives/list/beginners@lists.squeakfound...
Dave
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? 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.
Thanks a lot!
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?
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.
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.squeakfou...
Dave
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:
- Use the mouse to highlight the Workspace.
- 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.)
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.squeakfou...
Dave
Best, Christoph
Resending to beginners list. ________________________________ Von: Thiede, Christoph Christoph.Thiede@student.hpi.uni-potsdam.de Gesendet: Dienstag, 9. Januar 2024 21:01 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: AW: [squeak-dev] Re: [Newbies] Help with keyboard layout when typing a caret
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:
- Use the mouse to highlight the Workspace.
- 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.)
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.squeakfou...
Dave
Best, Christoph
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:
- Use the mouse to highlight the Workspace.
- 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.squeakfou...
Dave
Best, Christoph
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
[cid:27e0be92-ccc1-4f1f-90da-6221a7126449]
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.demailto:Christoph.Thiede@student.hpi.uni-potsdam.de> escreveu: Hi,
Von: lewis@mail.msen.commailto:lewis@mail.msen.com <lewis@mail.msen.commailto:lewis@mail.msen.com> Gesendet: Sonntag, 7. Januar 2024 03:56 Uhr An: The general-purpose Squeak developers list <squeak-dev@lists.squeakfoundation.orgmailto:squeak-dev@lists.squeakfoundation.org>; Ivan Reche <ivan.reche@gmail.commailto:ivan.reche@gmail.com> Cc: A friendly place to get answers to even the most basic questions about Squeak. <beginners@lists.squeakfoundation.orgmailto: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.commailto: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:
- Use the mouse to highlight the Workspace.
- 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.squeakfou...
Dave
Best, Christoph
On Sat, 06 Jan 2024 22:47:11 +0000, David Lewis wrote:
Does anyone have any advice or suggestions to help Ivan with how to enter a caret (^) on a Portuguese ABNT2 keyboard?
I am typing this ^ on an ABNT2 keyboard in Squeak 4.1 32 bits. I do have to type a space after hitting the caret key for the character to actually appear.
The environment variables in this Ubuntu 18 installation include
LANG=en_US.UTF-8 LANGUAGE=en_US:en
I don't think this makes a difference. If I remember correctly Squeak uses the C environment variables do decide things and these are not set in my system.
Sorry that this doesn't help.
-- Jecel
Hi Jecel,
I noticed the same on my Qwertz (German) keyboard after switching from Windows to Ubuntu 22 (Gnome). On my keyboard/input method, I have two options to work with the dead key:
1. Press the dead key followed by a space 2. Press the dead key twice
While the first one causes exactly the problem you mentioned, the second way results in a regular circumflex for me. Does it work for you, too?
I'm investigating this further and am working on a possible fix.
Best, Christoph
beginners@lists.squeakfoundation.org