Đặt bố cục bàn phím tùy chỉnh theo mặc định của hệ thống - ngay cả đối với màn hình đăng nhập


37

Tôi có thể tạo bố cục bàn phím tùy chỉnh (mặc định không có OS X) theo mặc định của hệ thống - ngay cả đối với màn hình đăng nhập không?


(trong khi đó, bạn có thể không chấp nhận câu trả lời, độc giả có thể bị nhầm lẫn)
o0 '.

1
@Lohoris: Xong rồi!
Mathias Bynens

Vui lòng cập nhật câu hỏi b để xóa ghi chú cập nhật, câu trả lời hay nhất hiện nay cũng hoạt động trên các phiên bản osx mới nhất
Bert Goethals

Câu trả lời:


13

Điều này hoạt động trên OSX 10.9 Mavericks, với bố cục bàn phím mà tôi đã tạo bằng Ukulele. Giả sử rằng bạn đã cài đặt bố cục trong hệ thống của mình, hãy đăng nhập vào tài khoản của bạn và kích hoạt bố trí bàn phím tùy chỉnh của bạn.

Mở terminal và chạy lệnh sau:

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

Nếu bạn có ý định sử dụng trình soạn thảo văn bản (ví dụ: TextWrangler) để thực hiện thay đổi này thay vì XCode (có trình soạn thảo plist đồ họa chuyên dụng), cũng sẽ chạy :

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

Bây giờ, mở /tmp/com.apple.HIToolbox.plisttrong trình soạn thảo văn bản hoặc trong XCode.

Trong suốt tập tin, bạn sẽ tìm thấy một số đề cập đến một KeyboardLayout IDkhóa được theo sau bởi một số nguyên và KeyboardLayout Nametheo sau là một chuỗi. Thay đổi các chuỗi này thành tên của bố cục bàn phím tùy chỉnh của bạn và số nguyên id thành ID của bố cục của bạn (cách dễ nhất để tìm đúng giá trị là so sánh với các cài đặt người dùng của bạn được tìm thấy trong tệp ~/Library/Preferences/com.apple.HIToolbox.plist.

Ngoài ra, giá trị của khóa AppleCurrentKeyboardLayoutInputSourceIDphải được thay đổi tương ứng (có thể là một cái gì đó như org.unknown.keylayout.NameOfYourLayout). Một lần nữa bạn có thể tìm thấy giá trị này trong tệp ưu tiên địa phương của bạn.

Khi những thay đổi này được thực hiện, lưu tệp và quay trở lại thiết bị đầu cuối. Để chơi an toàn, bạn có thể tạo một bản sao của com.apple.HIToolbox.plisttệp gốc , chỉ trong trường hợp bạn gặp lỗi và cần quay lại. Ví dụ: để lưu một bản sao trong thư mục Tài liệu của bạn :

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

Sau đó cài đặt thay đổi của bạn với những điều sau đây:

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

(Không cần thiết phải chuyển đổi tệp của bạn ra khỏi dạng văn bản plutilnếu bạn đã làm như vậy trước đó.)

Thoát khỏi thiết bị đầu cuối và khởi động lại máy tính (đăng xuất là không đủ: tệp sẽ không được đọc lại). Sau khi khởi động lại, bạn nên bố trí bàn phím trong màn hình đăng nhập.

LƯU Ý: có thể sao chép tệp com.apple.HIToolbox.plisttừ đó là ~/Library/Preferences/đủ /Library/Preferences/, tuy nhiên trong trường hợp của tôi, nó có nhiều mục hơn, vì vậy tôi đã quyết định chơi an toàn và chỉ sửa đổi tệp hiện có.


Thử điều này ngay bây giờ, vì câu trả lời khác không hoạt động. FWIW, đây là com.apple.HIToolbox.plisttập tin của tôi trông như thế nào sau những thay đổi: gist.github.com/anonymous/d18bae208b5cf12e48be
Mathias Bynens

Làm việc hoàn hảo, cảm ơn! Tôi xin lỗi tôi không thể cung cấp cho bạn tiền thưởng nữa, vì vậy tôi sẽ chỉ thiết lập một cái mới chỉ để thưởng cho bạn câu trả lời này.
Mathias Bynens

Vui vì nó đã giúp. Cảm ơn vì tiền thưởng thêm! :-)
Eric J. Francois

Làm việc như người ở. Mẹo tuyệt vời!
ƘɌỈSƬƠƑ

Cái này thật tuyệt. Tôi đã bị sa lầy bởi bàn phím Bỉ mặc định của tôi từ lâu! Tôi ước tôi có thể cho bạn nhiều phiếu bầu!
Bert Goethals

12

Tôi đã tìm thấy mẹo MacWorld cũ này , đề nghị chạy lại Trợ lý thiết lập:

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

Lúc đầu, tôi nghĩ rằng điều này không còn được hỗ trợ trong Lion nữa vì việc chạy lệnh này dường như không có tác dụng gì. Chỉ sau khi đăng câu hỏi này, tôi mới nhận thấy có một lỗi đánh máy trong lệnh. Các ký tự khoảng trắng cần được thoát đúng hoặc vị trí của nhị phân cần được trích dẫn. Vì lý do này, mẹo tôi liên kết đến không hoạt động.

Đây là lệnh chính xác:

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

Ngoài ra, điều này cũng sẽ làm việc:

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

Một hình ảnh xác thực khác không được đề cập trên trang tôi đã liên kết đến: bố trí bàn phím tùy chỉnh cần được cài đặt trong /Library/Keyboard Layouts/(nghĩa là cd /Library/Keyboard\ Layouts), chứ không phải ~/Library/Keyboard Layoutsnó xuất hiện trong màn hình lựa chọn bố trí bàn phím của Trợ lý thiết lập.


Cập nhật: Kể từ OS X 10.8, bạn sẽ cần chạy thêm một lệnh (nghĩa là xóa tệp trước):

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

Ngoài ra, bạn sẽ phải tạo một tài khoản người dùng mới để hoàn thành Trình trợ lý thiết lập - nhưng đừng lo, bạn có thể xóa tài khoản mới sau đó.

Thủ thuật này không hoạt động nữa trong các phiên bản OS X 10.8 gần đây.


Cập nhật: Dưới đây là tất cả những gì tôi biết về bố trí bàn phím tùy chỉnh trên OS X .


Tôi đã làm theo các bước của bạn cho Mountain Lion 10.8 và chạy phần trợ lý thiết lập đã đặt bố cục bàn phím mặc định của tôi thành Dvorak và cố gắng đăng nhập nhưng nó không hoạt động. khi khởi động lại nó vẫn đang sử dụng qwerty cho màn hình đăng nhập.
am

Vâng, nó dường như không hoạt động nữa kể từ OS X 10.8. :(
Mathias Bynens

3

Tôi đang sử dụng bố cục bàn phím tùy chỉnh được tạo bằng Ukelele trong OS X 10.8.5 . Tôi đã thay đổi bố cục bàn phím màn hình đăng nhập với các bước sau:

  1. Mở Users & GroupstrongSystem Preferences
  2. Chọn Login Optionstừ dưới cùng của bảng điều khiển bên trái
  3. Kiểm tra Show Input menu in login window
  4. Đi đến màn hình đăng nhập
  5. Chọn bố cục ưa thích bên dưới Other input sourcestừ menu đầu vào, nằm ở trên cùng bên phải
  6. Quay lại và bỏ chọn Show Input menu in login windowđể ngăn thay đổi thêm cho bố cục đăng nhập

Tôi thấy phương pháp này dễ dàng hơn nhiều so với việc chỉnh sửa một số .plisttệp ngẫu nhiên và chạy các lệnh đó là Terminal.

Phương pháp này có thể yêu cầu quyền truy cập quản trị, vì bạn có thể phải mở khóa khung bên phải ở bước 3. ở trên bằng cách nhấp vào biểu tượng khóa ở phía dưới.

Cập nhật: Đáng buồn thay, điều này dường như không hoạt động trên OS X 10.9.


Tôi đã trao cho bạn tiền thưởng vì đây có vẻ là câu trả lời hay nhất, nhưng nó thực sự không hoạt động - nó luôn quay trở lại bố cục bàn phím mặc định của Hoa Kỳ. Để kiểm tra điều này, tôi đã sử dụng bố cục bàn phím cho phép tôi nhập ba ký hiệu bằng một lần nhấn phím, để tôi có thể thấy có bao nhiêu ký tự đeo mặt nạ xuất hiện trong hộp nhập mật khẩu. Sau khi áp dụng các bước bạn đã đề cập, tôi chỉ có thể nhập một biểu tượng tại một thời điểm (theo bàn phím Hoa Kỳ).
Mathias Bynens

Bạn có thể mô tả những gì không hoạt động với OS X 10.9? Tôi có thể thực hiện theo các bước sau (Tôi đã không thực hiện bước 6) thành công khi sử dụng bố cục Workman (tìm thấy ở đây: workman.deekayen.net ). Tuy nhiên, vấn đề của tôi là nếu bố cục đó được chọn và tôi khóa máy tính, menu đầu vào sẽ không hiển thị trong màn hình đăng nhập, trong khi đó tôi vẫn có Dvorak hoặc một cái gì đó được hỗ trợ bởi OS X. (tức là tôi thấy menu và có thể chuyển về Mỹ nếu cần)
Timothée Boucher

@ TimothéeBoucher Nhận xét trước đây của tôi mô tả những gì sai và cách tôi đã kiểm tra điều này.
Mathias Bynens

2

Sau khi cài đặt macOS Sierra, bố cục tùy chỉnh của tôi được khởi tạo lại về mặc định mỗi lần sau khi đăng nhập vào tài khoản của tôi.

Apple đã thêm bàn phím mới và ID bị xung đột với bàn phím tôi đang sử dụng.

Để xác thực nếu bạn có vấn đề này chạy:

sudo touch / Thư viện / Bàn phím \ Bố cục /

Đầu ra:

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

Đầu ra tuyên bố nó sửa một cái gì đó nhưng thực tế nó không làm gì cả. Tôi vẫn phải tự chỉnh sửa bố cục và nó bắt đầu hoạt động như trước.


Cũng có một tùy chỉnh của tôi thay đổi. Đáng buồn thay, sửa ID trong các tệp .plist không giúp tôi.
Pavel Gurkov

@PavelGurkov bạn đã chạy lệnh sudo touch trên thư mục sau? Nó được yêu cầu cho hệ điều hành để xem xét nó.
jrobichaud

Vâng, đã làm điều đó, không có đầu ra nào cả. Đã kiểm tra mọi thứ tôi có thể, nhưng vẫn ... Làm việc hoàn hảo trên El Capitan, không gặp may mắn trên Sierra.
Pavel Gurkov
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.