Segfault quando si passa a un layout di tastiera personalizzato da Touch Bar

6

Sto utilizzando un layout di tastiera personalizzato , creato da Ukelele. Mi stava servendo bene per anni, fino a quando non ho iniziato a usarlo su un MacBook Pro con Touch Bar. Ho aggiunto il pulsante "Cambia lingua di input" alla striscia di controllo della Touch Bar e ogni volta che lo premo, la lingua cambia. Ha funzionato bene per settimane, ma all'improvviso non è solo il passaggio dalla Touch Bar. Ma passa dalla barra dei menu e dalla tastiera in alto.

Ora alcuni dettagli tecnici. Ho provato ad usare sia un file .keylayout che un file bundle. Ho provato a installarlo sia in /Library/... che in ~/Library/... . Quando compare il problema, non è facile recuperarlo, anche con i riavvii. Rimozione / aggiunta di nuovo il mio layout personalizzato non funziona la maggior parte del tempo. La Touch Bar cambia usando le lingue integrate.

Ho contattato lo sviluppatore di Ukelele, ma non ha potuto testarlo perché non aveva un MacBook Pro con Touch Bar e non ne avevo idea.

Quindi ho esaminato i registri e ho trovato un arresto anomalo della Touch Bar:

Jul 23 21:45:17 xxxx com.apple.DFRSystemExtra.InputMenu[763]: objc[763]: Class TIMLog is implemented in both /System/Library/CoreServices/Menu Extras/TextInput.menu/Contents/SharedFrameworks/TextInputUI.framework/Versions/A/TextInputUI (0x102c88858) and /System/Library/CoreServices/ControlStrip.app/Contents/XPCServices/com.apple.DFRSystemExtra.InputMenu.xpc/Contents/MacOS/com.apple.DFRSystemExtra.InputMenu (0x102c64958). One of the two will be used. Which one is undefined.
Jul 23 21:45:18 xxxx com.apple.xpc.launchd[1] (com.apple.DFRSystemExtra.InputMenu[763]): Service exited due to signal: Segmentation fault: 11 sent by exc handler[0]

Ho notato una differenza: le lingue incorporate mostrano un nome in lingua di 2 lettere sul pulsante Barra di contatto, mentre il mio layout personalizzato mostra un'icona. Non ho trovato un modo in Ukelele per fare in modo che il mio layout personalizzato mostri un'abbreviazione in 2 lettere, forse qualcuno può suggerire un modo in cui posso provare. Quindi la mia ipotesi è che ciò avvenga a causa dell'icona del layout personalizzato, ma è stata copiata da un layout integrato.

    
posta Pablo 23.07.2017 - 22:07
fonte

1 risposta

1

Sto utilizzando il layout Bépo e ho riscontrato lo stesso problema.

Ho ricreato il file .icns utilizzando il comando iconutil . Ho appena fornito le icone 16x16, 16x16 @ 2x e 32x32.

  1. Crea una cartella denominata <your_layout>.iconset
  2. Metti le tue icone dentro. DEVONO essere nominati icon_16x16.png , [email protected] , icon_32x32.png , ..., [email protected] .
  3. Esegui il comando iconutil -c icns <your_layout>.iconset
  4. Copia il file .icns risultante sul layout della tastiera.

Da allora non ho più avuto alcun arresto di TouchBar sullo switch di layout.

    
risposta data 11.08.2017 - 00:18
fonte

Leggi altre domande sui tag