Jadikan tata letak keyboard khusus sebagai standar sistem - bahkan untuk layar masuk

37

Bisakah saya membuat tata letak keyboard khusus (yang tidak disertakan dengan OS X secara default) sebagai sistem default - bahkan untuk layar login?

Mathias Bynens
sumber
(Sementara itu, Anda dapat menerima jawaban, jika pembaca mungkin bingung)
o0 '.
1
@Lohoris: Selesai!
Mathias Bynens
Harap perbarui pertanyaan b menghapus catatan pembaruan, jawaban terbaik sekarang juga berfungsi pada versi osx terbaru
Bert Goethals

Jawaban:

13

Ini berfungsi pada OSX 10.9 Mavericks, dengan tata letak keyboard yang saya buat dengan Ukulele. Dengan asumsi bahwa tata letak Anda telah diinstal di sistem Anda, masuk ke akun Anda dan aktifkan tata letak papan ketik khusus Anda.

Buka terminal dan jalankan perintah berikut:

cp /Library/Preferences/com.apple.HIToolbox.plist /tmp/

Jika Anda bermaksud menggunakan editor teks (mis., TextWrangler) untuk melakukan perubahan ini alih-alih XCode (yang memiliki editor plist grafis khusus), jalankan juga :

plutil -convert xml1 /tmp/com.apple.HIToolbox.plist

Sekarang, buka /tmp/com.apple.HIToolbox.plistdi editor teks atau di XCode.

Di seluruh file Anda akan menemukan beberapa menyebutkan KeyboardLayout IDkunci diikuti oleh integer dan KeyboardLayout Namediikuti oleh string. Ubah string ini ke nama tata letak keyboard khusus Anda dan bilangan bulat id ke ID tata letak Anda (cara termudah untuk menemukan nilai yang tepat adalah membandingkan dengan pengaturan pengguna Anda yang ditemukan dalam file ~/Library/Preferences/com.apple.HIToolbox.plist.

Juga nilai kunci AppleCurrentKeyboardLayoutInputSourceIDharus diubah sesuai (mungkin untuk sesuatu seperti org.unknown.keylayout.NameOfYourLayout). Sekali lagi Anda dapat menemukan nilai ini di file preferensi lokal Anda.

Setelah perubahan ini selesai, simpan file dan kembali ke terminal. Untuk memainkannya dengan aman, Anda dapat membuat salinan com.apple.HIToolbox.plistfile asli , kalau-kalau Anda membuat kesalahan dan harus memutar kembali. Misalnya, untuk menyimpan salinan di folder Dokumen Anda :

sudo cp /Library/Preferences/com.apple.HIToolbox.plist ~/Documents

Kemudian instal perubahan Anda dengan yang berikut:

sudo sh -c 'cat /tmp/com.apple.HIToolbox.plist > /Library/Preferences/com.apple.HIToolbox.plist'

(Tidak perlu mengkonversi file Anda kembali dari bentuk teks dengan plutiljika Anda melakukannya sebelumnya.)

Keluar dari terminal, dan nyalakan kembali komputer (logout tidak cukup: file tidak akan dibaca ulang). Setelah restart, Anda harus memiliki tata letak keyboard di layar login.

CATATAN: mungkin saja sudah cukup untuk menyalin file com.apple.HIToolbox.plistdari ~/Library/Preferences/ke /Library/Preferences/, namun dalam kasus saya memiliki lebih banyak entri, jadi saya memutuskan untuk memainkannya dengan aman dan hanya memodifikasi file yang ada.

Eric J. Francois
sumber
Cobalah ini sekarang, karena jawaban yang lain tidak berhasil. FWIW, inilah com.apple.HIToolbox.plisttampilan file saya setelah perubahan: gist.github.com/anonymous/d18bae208b5cf12e48be
Mathias Bynens
Bekerja dengan sempurna, terima kasih! Maaf saya tidak bisa memberi Anda hadiah lagi, jadi saya akan membuat yang baru hanya untuk menghargai Anda untuk jawaban ini.
Mathias Bynens
Senang itu membantu. Terima kasih untuk hadiah ekstra! :-)
Eric J. Francois
Bekerja seperti pesona. Tip yang bagus!
ƘɌỈSƬƠƑ
Ini fantastis. Saya sudah macet karena keyboard Belgia saya terlalu lama! Saya berharap saya bisa memberi Anda beberapa suara!
Bert Goethals
12

Saya menemukan tip lama MacWorld ini , yang menyarankan untuk menjalankan Setup Assistant lagi:

sudo /System/Library/CoreServices/Setup Assistant.app\
/Contents/MacOS/Setup Assistant

Pada awalnya saya pikir ini tidak didukung di Lion lagi karena menjalankan perintah ini tampaknya tidak berpengaruh. Hanya setelah memposting pertanyaan ini, saya perhatikan ada kesalahan ketik pada perintah. Karakter spasi perlu diloloskan dengan benar, atau lokasi biner perlu dikutip. Karena alasan ini, tip yang saya tautkan tidak berfungsi.

Inilah perintah yang benar:

sudo "/System/Library/CoreServices/Setup Assistant.app/Contents/MacOS/Setup Assistant"

Atau, ini juga akan berfungsi:

sudo /System/Library/CoreServices/Setup\ Assistant.app/Contents/MacOS/Setup\ Assistant

Gotcha lain yang tidak disebutkan pada halaman yang saya tautkan: tata letak keyboard khusus perlu diinstal di /Library/Keyboard Layouts/(yaitu cd /Library/Keyboard\ Layouts), tidak ~/Library/Keyboard Layouts, agar muncul di layar pemilihan tata letak keyboard Setup Assistant.


Pembaruan: Pada OS X 10.8, Anda harus menjalankan perintah tambahan (yaitu menghapus file terlebih dahulu):

sudo rm /var/db/.AppleSetupDone; sudo "/System/Library/CoreServices/Setup Assistant.app/Contents/MacOS/Setup Assistant"

Selain itu, Anda harus membuat akun pengguna baru untuk menyelesaikan Setup Assistant - tetapi jangan khawatir, Anda dapat menghapus akun baru sesudahnya.

Trik ini tidak berfungsi lagi di versi OS X 10.8 terbaru.


Update: Berikut semua yang saya tahu tentang layout keyboard kustom pada OS X .

Mathias Bynens
sumber
Saya mengikuti langkah-langkah Anda untuk Mountain Lion 10.8 dan menjalankan setup assistant gain mengatur tata letak keyboard default saya ke Dvorak dan mencoba masuk tetapi itu tidak berhasil. saat reboot masih menggunakan qwerty untuk layar login.
pagi
Ya, sepertinya tidak berfungsi lagi sejak OS X 10.8. :(
Mathias Bynens
3

Saya menggunakan tata letak keyboard khusus yang dibuat dengan Ukelele di OS X 10.8.5 . Saya mengubah tata letak keyboard layar masuk dengan langkah-langkah berikut:

  1. terbuka Users & GroupsdiSystem Preferences
  2. Pilih Login Optionsdari bagian bawah panel kiri
  3. Memeriksa Show Input menu in login window
  4. Pergi ke layar login
  5. Pilih tata letak yang disukai di bawah Other input sourcesdari menu input, yang terletak di kanan atas
  6. Kembali dan hapus centang Show Input menu in login windowuntuk mencegah perubahan lebih lanjut pada tata letak login

Saya menemukan metode ini jauh lebih mudah daripada mengedit beberapa .plistfile acak dan menjalankan perintah Terminal.

Metode ini mungkin memerlukan akses administratif, karena Anda mungkin harus membuka kunci panel kanan di langkah 3. di atas dengan mengklik ikon kunci di bagian bawah.

Pembaruan: Sayangnya, ini sepertinya tidak berfungsi pada OS X 10.9.

Jawa
sumber
Saya telah memberi Anda hadiah karena ini sepertinya jawaban terbaik, tetapi tampaknya tidak berfungsi - itu selalu kembali ke tata letak keyboard AS standar. Untuk mengujinya, saya telah menggunakan tata letak keyboard yang memungkinkan saya mengetik tiga simbol dengan satu penekanan tombol, sehingga saya bisa melihat berapa banyak karakter bertopeng yang muncul di kotak input kata sandi. Setelah menerapkan langkah-langkah yang Anda sebutkan, saya hanya bisa memasukkan satu simbol pada satu waktu (sesuai keyboard AS).
Mathias Bynens
Bisakah Anda jelaskan apa yang tidak berfungsi dengan OS X 10.9? Saya dapat mengikuti langkah-langkah ini (saya tidak melakukan langkah 6) dengan sukses ketika menggunakan tata letak Workman (ditemukan di sini: workman.deekayen.net ). Namun masalah saya adalah bahwa jika tata letak itu dipilih dan saya mengunci komputer, menu input tidak akan muncul di layar masuk, sedangkan tidak apa-apa jika saya memiliki Dvorak atau sesuatu yang lain didukung oleh OS X. (yaitu saya melihat menu dan dapat beralih kembali ke AS jika diperlukan)
Timothée Boucher
@ TimothéeBoucher Komentar saya sebelumnya menjelaskan apa yang salah, dan bagaimana saya menguji ini.
Mathias Bynens
2

Setelah menginstal macOS Sierra, layout kustom saya diinisialisasi ulang ke default setiap kali setelah login di akun saya.

Apple menambahkan keyboard baru dan ID itu bertentangan dengan keyboard yang saya gunakan.

Untuk memvalidasi jika Anda menjalankan masalah ini:

sentuh sudo / Perpustakaan / Keyboard \ Tata Letak /

Hasil:

Keyboard Layouts: duplicate keyboard layout identifier 5000.
Keyboard Layouts: keyboard layout identifier 5000 has been replaced with 16383.

Keluaran mengklaim itu memperbaiki sesuatu tetapi sebenarnya tidak melakukan apa-apa. Saya masih harus mengedit tata letak sendiri dan mulai berfungsi seperti sebelumnya.

jrobichaud
sumber
Juga punya satu kustom saya berubah. Sayangnya, memperbaiki ID di file .plist tidak membantu saya.
Pavel Gurkov
@PavelGurkov apakah Anda menjalankan perintah sudo touch pada folder setelahnya? OS diminta untuk mempertimbangkannya.
jrobichaud
Ya, lakukan itu, tidak mendapat hasil sama sekali. Memeriksa semua yang saya bisa, tetapi masih ... Bekerja dengan sempurna pada El Capitan, tidak berhasil di Sierra.
Pavel Gurkov