<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hi Luciano,</p>
    <div class="moz-cite-prefix">On 2026-01-15 5:21 AM, Luciano
      Notarfrancesco via Cuis-dev wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAL5GDyo-Yr7n=XGpjrWVBPDKx+aH=FRrrSA+SqQTEuA=p5DMXA@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">
        <div dir="auto">Interesting, perhaps they do that in that
          mechanical keyboard because Alt and Command have commonly the
          same position in the keyboard? But they are conceptually
          different keys, and mechanical keyboards usually have firmware
          that can be set to Mac or PC mode with a keystroke, and
          changes the flags that the modifier keys set in the HID codes
          sent to the computer, right?</div>
      </div>
    </blockquote>
    <p>I don't know if that's right. My Logitech mechanical keyboard may
      allow that, but I never found the need. I use it with MacOS, and
      virtualized Ubuntu and Windows. Have tweaked a bit keyboard
      settings both @ MacOS and VMware level, though.</p>
    <blockquote type="cite"
cite="mid:CAL5GDyo-Yr7n=XGpjrWVBPDKx+aH=FRrrSA+SqQTEuA=p5DMXA@mail.gmail.com">
      <div dir="ltr">
        <div dir="auto">I see that mostly Alt is identified with Option,
          not Cmd. See for example the Alt page in wikipedia: <a
            href="https://en.wikipedia.org/wiki/Alt_key" target="_blank"
            style="font-size:inherit" moz-do-not-send="true"
            class="moz-txt-link-freetext">https://en.wikipedia.org/wiki/Alt_key</a></div>
        <div dir="auto">Or Apple documentation: <a
href="https://developer.apple.com/documentation/uikit/uikeymodifierflags?language=objc"
            style="font-size:inherit" target="_blank"
            moz-do-not-send="true" class="moz-txt-link-freetext">https://developer.apple.com/documentation/uikit/uikeymodifierflags?language=objc</a></div>
      </div>
    </blockquote>
    <p>You're right! I had forgotten I had configured MacOS to swap
      option and command on my Logi keyboard. The MacBook keyboard swaps
      their position, and the inconsistency between both keyboards was
      driving me insane.</p>
    <blockquote type="cite"
cite="mid:CAL5GDyo-Yr7n=XGpjrWVBPDKx+aH=FRrrSA+SqQTEuA=p5DMXA@mail.gmail.com">
      <div dir="ltr">
        <div dir="auto">I think the use of the keys in Cuis is a good
          tradeoff, I’m not proposing to change the editor shortcuts or
          any shortcuts that people are used to (and they are
          user-configurable anyway). But I’d like to have more
          consistent access to modifier keys across Mac and PC, and use
          them properly in my software following UX best practices and
          conventions. For example the tracker I’m developing, as most
          trackers, is very keyboard-oriented, and with good and
          consistent keyboard mappings the workflow can be very smooth
          and you can program songs super fast. I’d also like to use
          mostly the same shortcuts that Renoise uses in both Mac and
          PC.</div>
      </div>
    </blockquote>
    <p>Supporting that kind of use is our top priority. I mean it.</p>
    <blockquote type="cite"
cite="mid:CAL5GDyo-Yr7n=XGpjrWVBPDKx+aH=FRrrSA+SqQTEuA=p5DMXA@mail.gmail.com">
      <div dir="ltr">
        <div dir="auto">That’s why lately I found the need to both
          primary and secondary hotkeys, that are usually implemented
          with Command and Option on Mac and Control and Alt on PC. So I
          need separate access to modifier keys.</div>
      </div>
    </blockquote>
    <p>Makes sense! (*1) (See below)</p>
    <blockquote type="cite"
cite="mid:CAL5GDyo-Yr7n=XGpjrWVBPDKx+aH=FRrrSA+SqQTEuA=p5DMXA@mail.gmail.com">
      <div dir="ltr">
        <div>I think we can actually do this in Cuis without disrupting
          the existing mapping. What confused me was the idea that we
          shouldn't use the Option key in Cuis because it's not
          portable, and the fact that the VM translates Alt as Command
          in Windows. Looking at the VM source code for each platform, I
          see we have the following modifiers in Cuis/Squeak: Control,
          Command, Option, Shift. This follows Mac naming conventions,
          but it is internally consistent in Cuis even in Windows
          platforms. What the VM does in Windows is to map Alt to
          Command, Control without Alt to Control, and Control+Alt to
          Option. </div>
      </div>
    </blockquote>
    <blockquote type="cite"
cite="mid:CAL5GDyo-Yr7n=XGpjrWVBPDKx+aH=FRrrSA+SqQTEuA=p5DMXA@mail.gmail.com">
      <div dir="ltr">
        <div>This is why Alt seems to be the same as Command, they are
          not originally the same, it's just a translation made by the
          VM. </div>
      </div>
    </blockquote>
    <p>I wasn't aware of this.</p>
    <blockquote type="cite"
cite="mid:CAL5GDyo-Yr7n=XGpjrWVBPDKx+aH=FRrrSA+SqQTEuA=p5DMXA@mail.gmail.com">
      <div dir="ltr">
        <div>So I don't think the Option key should be forbidden as
          "unportable", and we could use it more freely to have richer
          hotkeys and gestures. For example, instead of
          rawMacOptionKeyPressed I think it should just be called just
          optionKeyPressed, and remove warnings or references to Mac
          regarding the Option key because it is actually a Squeak/Cuis
          modifier key. </div>
      </div>
    </blockquote>
    <p>Makes sense. I'd still include a comment saying "to generate
      this, use [control]+[alt] on Windows and Linux".</p>
    <p>The reason I made it scary to use Option is that I assumed that
      anyone happily developing on a Mac was at risk of writing software
      with features that would only be accessible on a Mac. But if
      there's a way to generate it on Windows and Linux, I'm all for it.
      Please prepare a cs doing as you say.</p>
    <blockquote type="cite"
cite="mid:CAL5GDyo-Yr7n=XGpjrWVBPDKx+aH=FRrrSA+SqQTEuA=p5DMXA@mail.gmail.com">
      <div dir="ltr">
        <div>Same for the Command key, currently the selector
          commandAltKeyPressed seems too platform-specific, I think
          calling it just commandKeyPressed would be more appropriate
          for Cuis (it is the internal Cuis modifier key, not the
          platform key). What do you think?</div>
      </div>
    </blockquote>
    <p>I'm not so sure about this one. On Linux and Windows, the way to
      generate that is the Alt key. Removing that could be a bit
      alienating to Linux and Windows users.</p>
    <p>I'd like to go back to something you said above (*1). I think we
      need the concept of primary and secondary modifier key. We need
      something like #isPrimaryModifier and #isSecondaryModifier, or
      whatever names suit you and additional functionality you may need.
      These would be platform specific and behave as you described. Are
      you willing to write this code? I'd be delighted to integrate it.</p>
    <p>Thanks!</p>
    <blockquote type="cite"
cite="mid:CAL5GDyo-Yr7n=XGpjrWVBPDKx+aH=FRrrSA+SqQTEuA=p5DMXA@mail.gmail.com">
      <div>
        <div>
          <div><br>
            <div class="gmail_quote">
              <div dir="ltr" class="gmail_attr">On Wed, Jan 14, 2026 at
                22:05 Juan Vuletich <<a href="mailto:juan@cuis.st"
                  target="_blank" moz-do-not-send="true"
                  class="moz-txt-link-freetext">juan@cuis.st</a>>
                wrote:<br>
              </div>
              <blockquote class="gmail_quote"
style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">Hi
                Luciano,<br>
                <br>
                The thing is that "Alt" and "Command" are actually the
                same key! <br>
                Keyboard hardware for regular PCs and Macs is
                electronically equivalent. <br>
                For instance, click on the first picture at <br>
                <a
href="https://www.logitech.com/en-us/shop/p/mx-mechanical"
                  rel="noreferrer" target="_blank"
                  moz-do-not-send="true" class="moz-txt-link-freetext">https://www.logitech.com/en-us/shop/p/mx-mechanical</a>
                . The 3 keys at the <br>
                bottom left are [ctrl] [option|start] [command|alt] ,
                with dual PC/Mac <br>
                names engraved on them.<br>
                <br>
                The decision here is between being more consistent with
                the platform, or <br>
                making Cuis more consistent with itself, regardless of
                the platform. The <br>
                use of Morphic, and not a platform specific UI toolkit
                suggests the <br>
                second option, and it has been what we have done so far.<br>
                <br>
                In any case, on Text Editors things like cmd-a and
                ctrl-a behave the <br>
                same, both doing "select all". That's the easiest way to
                make it <br>
                consistent for everybody, but that wastes key
                combinations!<br>
                <br>
                But we can change that.<br>
                <br>
                I guess it could be useful to start with some concrete
                examples that you <br>
                think should behave differently than they do today. Can
                you suggest a few?<br>
                <br>
                Thanks!<br>
                <br>
                On 2026-01-14 4:35 AM, Luciano Notarfrancesco via
                Cuis-dev wrote:<br>
                > In Cuis we are equating the Command key in Mac with
                the Alt key in PC. <br>
                > I think this is wrong, the convention for
                multiplatform applications <br>
                > is to identify Command in Mac with Control in PC
                (although Mac also <br>
                > has Control), and Alt is identified with Option
                (they are used to <br>
                > modify the behavior of the hotkey or gesture, i.e.
                to provide an <br>
                > alternate action or a second option in addition to
                the primary action).<br>
                ><br>
                > Is there a good reason for this in Cuis? Does
                Squeak do something <br>
                > different? Should we change it to make it more
                consistent with <br>
                > conventions?<br>
                ><br>
                -- <br>
                Juan Vuletich<br>
                <a href="http://www.cuis.st" rel="noreferrer"
                  target="_blank" moz-do-not-send="true">www.cuis.st</a><br>
                <a href="http://github.com/jvuletich" rel="noreferrer"
                  target="_blank" moz-do-not-send="true">github.com/jvuletich</a><br>
                <a href="http://researchgate.net/profile/Juan-Vuletich"
                  rel="noreferrer" target="_blank"
                  moz-do-not-send="true">researchgate.net/profile/Juan-Vuletich</a><br>
                <a href="http://independent.academia.edu/JuanVuletich"
                  rel="noreferrer" target="_blank"
                  moz-do-not-send="true">independent.academia.edu/JuanVuletich</a><br>
                <a
href="http://patents.justia.com/inventor/juan-manuel-vuletich"
                  rel="noreferrer" target="_blank"
                  moz-do-not-send="true">patents.justia.com/inventor/juan-manuel-vuletich</a><br>
                <br>
              </blockquote>
            </div>
          </div>
        </div>
      </div>
      <br>
      <fieldset class="moz-mime-attachment-header"></fieldset>
    </blockquote>
    <pre class="moz-signature" cols="72">-- 
Juan Vuletich
<a class="moz-txt-link-abbreviated" href="http://www.cuis.st">www.cuis.st</a>
github.com/jvuletich
researchgate.net/profile/Juan-Vuletich
independent.academia.edu/JuanVuletich
patents.justia.com/inventor/juan-manuel-vuletich</pre>
  </body>
</html>