Menu

#2374 Can't enter some characters from a Turkish keyboard on a Mac

Bug
closed-fixed
nobody
5
2023-02-07
2023-01-12
No

On a Mac from the System settings, add the Turkish Q keyboard to Keyboard > Input Sources (click the Edit.. button, then + button, then add Turkish Q keyboard). From the main menubar, switch keyboards to the Turkish Q keyboard. Within a Scintilla view, click on the keys from the Turkish Q keyboard with your mouse and you'll see the characters entered into the Scintilla view. Now click on the ı key (it's the lowercase i key without the dot) and you'll see that character isn't entered. I've included screenshots from macOS Ventura but older versions of macOS should be similar. I've verified that this problem exists in Scintilla 4 and 5.

5 Attachments

Discussion

  • Neil Hodgson

    Neil Hodgson - 2023-01-12

    There is some confusion between character code 'ı' = 305 and Scintilla's cross-platform Keys enumeration SCK_END = 305 in KeyTranslate or ScintillaCocoa::KeyboardInput.

     
  • Chinh Nguyen

    Chinh Nguyen - 2023-01-12

    Well it looks like key enumerations 300-315 in Scintilla.h will have issues according to https://unicodelookup.com/#latin/2.

     
    • Neil Hodgson

      Neil Hodgson - 2023-01-13

      Its probably simplest to special case 300-315 inside ScintillaCocoa::KeyboardInput and not send these characters through to KeyTranslate or consume them. Returning false from KeyboardInput would then have them passed to interpretKeyEvents: and later arrive as text to insert. That wouldn't allow assigning functions to these keys with Scintilla's SCI_ASSIGNCMDKEY which is fairly unlikely.

       
  • Neil Hodgson

    Neil Hodgson - 2023-01-13
    • status: open --> open-fixed
     
  • Neil Hodgson

    Neil Hodgson - 2023-01-13

    Committed fix as [d902bb].

     

    Related

    Commit: [d902bb]

  • Neil Hodgson

    Neil Hodgson - 2023-02-07
    • status: open-fixed --> closed-fixed
     

Log in to post a comment.