Come creare un layout di tastiera personalizzato in OS X?


67

Di recente mi sono trasferito su OS X e trovo insoddisfacente il layout del sistema "Russian Phonetic" (non è quello a cui sono abituato). Come posso creare un layout personalizzato?

Ho letto di Ukelele , ma il layout che ho creato e copiato Library/Keyboard Layoutsnon viene visualizzato nelle Preferenze tastiera.

Sto usando OS X 10.9 Mavericks. Ho cercato soluzioni su Internet, ma la maggior parte erano obsolete.


Quale layout hai usato prima di MacOS? Di Paul Gorodyansky? Ti dispiacerebbe condividere il tuo layout Ukelele?
davidair,



10.9 e versioni successive sembrano utilizzare un diverso tipo di file di layout di tastiera; Ukelele si è rotto anche per me con quell'aggiornamento. Ho perso la tastiera OCS personalizzata - OCS utilizza alcuni caratteri cirillici strani in luoghi strani.
Aramis,

Risposte:


64
  1. Apri Ukelele e scegli Archivio> Nuovo dalla sorgente di input corrente. Nelle nuove versioni di Ukelele, assegna automaticamente anche un nuovo ID al layout della tastiera.
  2. Modifica il layout della tastiera.
  3. Salvare il layout della tastiera in una posizione temporanea come il desktop. (Il salvataggio diretto /Library/Keyboard Layouts/non riesce in modo silenzioso.) È possibile utilizzare uno dei due formati. I popover in stile iOS mostrati quando si tengono i tasti funzionano solo con il formato bundle. Il formato del singolo file XML (predefinito) è però più semplice. Quando si utilizza XML, assicurarsi che il file sia salvato con .keylayoutun'estensione.
  4. Sposta il layout della tastiera in /Library/Keyboard Layouts/. I layout della tastiera ~/Library/Keyboard Layouts/non possono essere selezionati nelle finestre di dialogo della password o nella finestra di accesso.
  5. Riavvia il computer. Disconnettersi e riconnettersi non è sufficiente.
  6. Abilita il nuovo layout di tastiera dalle Preferenze di Sistema.

Per applicare le modifiche a un layout di tastiera, esegui sudo touch /Library/Keyboard\ Layouts/e riavvia.

Vedi https://web.archive.org/web/20151030180252/http://osxnotes.net/keylayout-files-and-ukelele.html per ulteriori informazioni.


Aggiornamento (ottobre 2015): è disponibile una nuova versione di Ukelele (3.0.0) che include l'opzione per installare il layout dall'app. Avevo ancora bisogno di andare alle preferenze di sistema per attivarlo, ma non avevo bisogno di passare dalla riga di comando.


1
Grazie! Ho una nota importante, però: i file XML salvati da Ukelele devono avere .keylayoutestensione. In questo modo ha funzionato :)
mik01aj,

L'uso del formato bundle consente di inserire un file di icone .icns all'interno del bundle (stessa posizione di .keylayout) e un'icona di scelta può apparire accanto alla sorgente di input. (Ukelele può aggiungere un'icona al pacchetto tramite il menu. È necessario un .icns).
ebukva,

1
È inoltre possibile aggiungere un'icona per un file keylayout XML, ad esempio salvando il file icns come /Library/Keyboard Layouts/My Keyboard Layout.icns.
Lri,

invece di salvarlo da qualche parte e spostarlo manualmente, puoi avviare ukelele come root in modo che possa salvare direttamente nei layout / libreria / tastiera
Rayjax

Ho anche dovuto modificare .keylayout direttamente il file per modificare l' nameattributo nella riga 5. Prima di questo non veniva visualizzato nelle Preferenze di Sistema, probabilmente perché aveva lo stesso nome di un layout esistente. Nessun altro ha riscontrato questo? o_O
da

12

Creazione del file di layout della tastiera

Anch'io ho usato Ukelele per generare un layout di tastiera. È quindi possibile esportare il file .bundleo .keylayoute copiarlo /Library/Keyboard Layouts.

sudo cp KeyboardLayout.keylayout /Library/Keyboard\ Layouts/

Se vuoi avere l'icona della tastiera raggruppata in un file, Ukelele offre un'opzione di esportazione in bundle. Quindi in questo caso copia il .bundlefile. In alternativa, puoi tenere separate le icone e copiarle con lo stesso nome nella stessa cartella.

sudo cp KeyboardLayout.icns /Library/Keyboard\ Layouts/

Dopo il riavvio è possibile aggiungere l'origine di input nel menu Preferenze di Sistema-> Tastiera-> Sorgenti di input. Probabilmente disponibile in Altri o nella lingua se hai collegato una lingua alla tastiera in Ukelele.

Menu sorgente di input

Come creare un file .icns

mkdir layout.iconset

Quindi aggiungere i seguenti PNG alla cartella:

# All sizes necessary
icon_16x16.png
icon_16x16@2x.png
icon_32x32.png
icon_32x32@2x.png
icon_128x128.png
icon_128x128@2x.png
icon_256x256.png
icon_256x256@2x.png
icon_512x512.png
icon_512x512@2x.png

Non hai bisogno di tutto questo, ma questa è la lista ufficiale. Alcuni sono ridondanti nel numero di pixel, ma indicano la densità.

iconutil --convert icns --output layout.icns layout.iconset/

Progetto di esempio su GitHub

Il mio progetto ucraino-russo su GitHub è una demo che sta attualmente lavorando su Mavericks 10.9.5.


2
+1 per il collegamento al progetto ucraino-russo. Condividendolo con alcuni compagni ora. Grazie uomo!
Sea Coast of Tibet,


1
Molto +1 per il link al progetto russo-ucraino. Ti supportiamo, @CameronLowellPalmer (e altri)!
Per Lundberg,

5

Ukelele potrebbe funzionare per te, basta essere avvisato che sembra essere il rifiuto delle chiavi a livello di software (piuttosto che a livello di hardware), quindi probabilmente inizierai a imbatterti in problemi come alcune app che non riconoscono modificatore o speciali combinazioni di tasti, non potendo per usarlo nelle finestre di dialogo della password, ecc.

Se stai cercando una soluzione più robusta, dai un'occhiata a Karabiner .


Karabinier è anche meglio perché non devi copiare il file di configurazione, funziona direttamente. E puoi abilitarlo all'avvio nella configurazione predefinita misc / system
bormat

-1

Utilizzare la versione stabile Ukelele 1.8.4 precedente ... Non è necessario il riavvio

Ho OS X 10.10.5 (Yosemite). La versione attuale di Ukelele non ha funzionato anche dopo aver provato diversi altri suggerimenti. Alla fine ho disinstallato la versione corrente e installato la versione stabile precedente (1.8.4). Dopo quello ha funzionato bene. Non è stato necessario riavviare. Basta salvare il nuovo layout in Layout libreria / tastiera. Quindi apri le preferenze della tastiera, le fonti di input. Aggiungi facendo clic su +e dovresti vedere il nuovo layout in "Altri".

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.