एक कस्टम कीबोर्ड लेआउट सिस्टम को डिफ़ॉल्ट बनाएं - यहां तक ​​कि लॉगिन स्क्रीन के लिए भी


37

क्या मैं एक कस्टम कीबोर्ड लेआउट बना सकता हूं (एक जिसे डिफ़ॉल्ट रूप से ओएस एक्स के साथ शामिल नहीं किया गया था) सिस्टम डिफ़ॉल्ट - यहां तक ​​कि लॉगिन स्क्रीन के लिए भी?


(इस बीच, आप उत्तर को अस्वीकार कर सकते हैं, यह पाठकों को भ्रम हो सकता है)
ओ ० '।

1
@ ल्होरिस: हो गया!
मथियास बीनेंस

कृपया अपडेट नोट को हटाते हुए प्रश्न बी को अपडेट करें, सबसे अच्छा उत्तर अब नवीनतम ओएसएक्स संस्करणों पर भी काम करता है
बर्ट गोएथल्स

जवाबों:


13

यह OSX 10.9 Mavericks पर काम करता है, एक कीबोर्ड लेआउट के साथ, जिसे मैंने यूकुले के साथ बनाया था। यह मानते हुए कि आपके पास आपके सिस्टम में पहले से स्थापित लेआउट है, अपने खाते में लॉग इन करें और अपने कस्टम कीबोर्ड लेआउट को सक्रिय करें।

एक टर्मिनल खोलें और निम्नलिखित कमांड चलाएँ:

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

यदि आप XCode (जिसमें एक विशेष आलेखीय plist संपादक है) के बजाय यह परिवर्तन करने के लिए एक टेक्स्ट एडिटर (जैसे, TextWrangler) का उपयोग करने का इरादा रखते हैं , तो भी चलाएं :

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

अब, /tmp/com.apple.HIToolbox.plistटेक्स्ट एडिटर या XCode में खोलें ।

फ़ाइल के दौरान आपको KeyboardLayout IDएक पूर्णांक के KeyboardLayout Nameबाद और एक स्ट्रिंग के बाद एक कुंजी के कई उल्लेख मिलेंगे । इन स्ट्रिंग्स को अपने कस्टम कीबोर्ड लेआउट के नाम और आईडी पूर्णांक को अपने लेआउट की आईडी में बदलें (सही मानों को खोजने का सबसे आसान तरीका यह है कि आप फ़ाइल में पाई गई उपयोगकर्ता सेटिंग्स से तुलना करें ~/Library/Preferences/com.apple.HIToolbox.plist

इसके अलावा कुंजी का मान AppleCurrentKeyboardLayoutInputSourceIDतदनुसार बदला जाना चाहिए (शायद कुछ इस तरह से org.unknown.keylayout.NameOfYourLayout)। फिर से आप इस मूल्य को अपनी स्थानीय वरीयता फ़ाइल में पा सकते हैं।

एक बार ये परिवर्तन हो जाने के बाद, फ़ाइल को सहेजें और टर्मिनल पर वापस जाएँ। इसे सुरक्षित रूप से चलाने के लिए, आप मूल com.apple.HIToolbox.plistफ़ाइल की एक प्रति बना सकते हैं , बस अगर आपने कोई त्रुटि की है और वापस रोल करने की आवश्यकता है। उदाहरण के लिए, अपने दस्तावेज़ फ़ोल्डर में प्रतिलिपि सहेजने के लिए :

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

फिर निम्नलिखित के साथ अपना परिवर्तन स्थापित करें:

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

( plutilयदि आपने ऐसा पहले किया हो, तो अपनी फ़ाइल को वापस पाठ के रूप में परिवर्तित करना आवश्यक नहीं है ।)

टर्मिनल से बाहर निकलें, और कंप्यूटर को पुनरारंभ करें (लॉगआउट पर्याप्त नहीं है: फ़ाइल फिर से चालू नहीं होगी)। पुनरारंभ करने के बाद, आपको लॉगिन स्क्रीन में अपना कीबोर्ड लेआउट होना चाहिए।

नोट: यह संभव है कि यह फाइल कॉपी करने के लिए पर्याप्त हो गया होता है com.apple.HIToolbox.plistसे ~/Library/Preferences/करने के लिए /Library/Preferences/, फिर भी मेरे मामले में यह अधिक प्रविष्टियां हैं, तो मैं इसे सुरक्षित खेलने के लिए और सिर्फ मौजूदा फ़ाइल को संशोधित फैसला किया।


अभी इस कोशिश में, क्योंकि दूसरा जवाब काम नहीं आया। FWIW, यहाँ मेरी com.apple.HIToolbox.plistफाइल बदलावों के बाद कैसी दिखती है
Mathias Bynens

निर्दोष रूप से काम किया, धन्यवाद! मुझे खेद है कि मैं आपको कोई अधिक इनाम नहीं दे सकता, इसलिए मैं आपको इस उत्तर के लिए पुरस्कृत करने के लिए एक नया एक सेट करूंगा।
मैथियास ब्यनेंस 21

खुशी है कि यह मदद की। अतिरिक्त इनाम के लिए धन्यवाद! :-)
एरिक जे। फ्रेंकोइस

एक जादू की तरह काम किया। महान टिप!
ƘɌỈSƘɌỈ

यह शानदार है। मैं अपने बेल्जियन कीबोर्ड द्वारा लंबे समय तक डिफ़ॉल्ट रूप से धूमिल हुआ हूं! काश मैं तुम्हें कई वोट दे सकता है!
बर्ट गोएथल्स

12

मुझे यह पुराना मैकवर्ल्ड टिप मिला , जिसने सेटअप सहायक को फिर से चलाने का सुझाव दिया:

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

पहले मुझे लगा कि यह लायन में अब समर्थित नहीं है क्योंकि इस कमांड को चलाने से कोई प्रभाव नहीं पड़ता है। इस प्रश्न को पोस्ट करने के बाद ही, मैंने देखा कि कमांड में एक टाइपो है। अंतरिक्ष पात्रों को ठीक से भाग जाने की आवश्यकता है, या बाइनरी के स्थान को उद्धृत करने की आवश्यकता है। इस कारण से, मैं जिस टिप से जुड़ा था वह काम नहीं करता है।

यहाँ सही कमांड है:

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

वैकल्पिक रूप से, यह भी काम करेगा:

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

एक अन्य गेटचा जिसका उल्लेख मैंने उस पृष्ठ पर नहीं किया था जो इसके साथ जुड़ा था: कस्टम कीबोर्ड लेआउट को सेटअप सहायक के कीबोर्ड लेआउट चयन स्क्रीन में प्रदर्शित होने के लिए /Library/Keyboard Layouts/(यानी cd /Library/Keyboard\ Layouts) में स्थापित करने की आवश्यकता है ~/Library/Keyboard Layouts


अपडेट: OS X 10.8 के अनुसार, आपको एक अतिरिक्त कमांड चलाने की आवश्यकता होगी (यानी पहले एक फाइल हटा दें):

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

साथ ही, सेटअप सहायक को पूरा करने के लिए आपको एक नया उपयोगकर्ता खाता बनाना होगा - लेकिन चिंता न करें, आप बाद में नया खाता हटा सकते हैं।

यह चाल हाल के OS X 10.8 संस्करणों में काम नहीं करती है।


अपडेट: यहां वह सब कुछ है जो मैं ओएस एक्स पर कस्टम कीबोर्ड लेआउट के बारे में जानता हूं


मैंने माउंटेन लॉयन 10.8 के लिए आपके कदमों का अनुसरण किया और सेटअप सहायक लाभ को दौवरक को मेरा डिफ़ॉल्ट कीबोर्ड लेआउट सेट किया और लॉगिन करने की कोशिश की, लेकिन यह काम नहीं किया। रिबूट पर यह अभी भी लॉगिन स्क्रीन के लिए qwerty का उपयोग कर रहा था।
आम

हाँ, यह OS X 10.8 के बाद से काम नहीं करता है। :(
मथियास बीनेंस

3

मैं ओएस एक्स 10.8.5 में उकेले के साथ बनाया गया एक कस्टम कीबोर्ड लेआउट का उपयोग कर रहा हूं । मैंने निम्न चरणों के साथ लॉगिन स्क्रीन कीबोर्ड लेआउट को बदल दिया है:

  1. ओपन Users & GroupsमेंSystem Preferences
  2. Login Optionsबाएं पैनल के नीचे से चयन करें
  3. चेक Show Input menu in login window
  4. लॉगिन स्क्रीन पर जाएं
  5. Other input sourcesशीर्ष दाईं ओर स्थित इनपुट मेनू से पसंदीदा लेआउट का चयन करें
  6. Show Input menu in login windowलॉगिन लेआउट में और बदलावों को रोकने के लिए वापस जाएं और अनचेक करें

मुझे कुछ यादृच्छिक .plistफ़ाइलों को संपादित करने और इसे चलाने की अपेक्षा यह विधि बहुत आसान लगी।

इस पद्धति के लिए प्रशासनिक पहुँच की आवश्यकता हो सकती है, क्योंकि आपको संभवतः नीचे 3. पर लॉक आइकन पर क्लिक करके चरण 3 में दाएँ फलक को अनलॉक करना होगा।

अद्यतन: अफसोस की बात है, यह ओएस एक्स 10.9 पर काम नहीं करता है।


मैंने आपको इनाम से सम्मानित किया है क्योंकि यह सबसे अच्छा उत्तर लगता है, लेकिन यह वास्तव में काम नहीं करता है - यह हमेशा डिफ़ॉल्ट कीबोर्ड कीबोर्ड लेआउट पर वापस जाता है। इसका परीक्षण करने के लिए, मैंने एक कीबोर्ड लेआउट का उपयोग किया है जो मुझे एक कीस्ट्रोक के साथ तीन प्रतीकों को टाइप करने की अनुमति देता है, ताकि मैं देख सकूं कि पासवर्ड इनपुट बॉक्स में कितने नकाबपोश अक्षर दिखाई देते हैं। आपके द्वारा बताए गए चरणों को लागू करने के बाद, मैं एक समय में (यूएस कीबोर्ड के अनुसार) केवल एक प्रतीक दर्ज कर सकता था।
मैथियास बिएनेंस 21

क्या आप बता सकते हैं कि OS X 10.9 के साथ क्या काम नहीं करता है? मैं इन चरणों का पालन करने में सक्षम हूं (मैंने चरण 6 को सफलतापूर्वक नहीं किया) जब वर्कमैन लेआउट का उपयोग किया गया (यहां पाया गया: workman.deekayf.net )। हालाँकि मेरी समस्या यह है कि यदि उस लेआउट का चयन किया जाता है और मैं कंप्यूटर को लॉक कर देता हूं, तो इनपुट मेनू लॉगिन स्क्रीन में दिखाई नहीं देगा, जबकि यह ठीक है अगर मेरे पास Dvorak या कुछ और है जो मूल रूप से OS X द्वारा समर्थित है। (यानी मुझे मेनू दिखाई दे रहा है) और यदि आवश्यक हो तो वापस अमेरिका जा सकते हैं)
टिमोथी बाउचर

@ टिमोथी बाउचर मेरी पिछली टिप्पणी बताती है कि क्या गलत है, और मैंने यह कैसे परीक्षण किया।
मैथियास ब्यनेंस

2

MacOS Sierra को स्थापित करने के बाद मेरे कस्टम लेआउट को मेरे खाते में लॉगिन के बाद हर बार डिफ़ॉल्ट पर वापस रीइंक्रिटाइज़ किया गया।

Apple ने नए कीबोर्ड जोड़े और जिस कीबोर्ड का मैं उपयोग कर रहा था, उससे आईडी विवाद कर रहा था।

इस समस्या को चलाने के लिए मान्य करने के लिए:

sudo टच / लाइब्रेरी / कीबोर्ड / लेआउट /

उत्पादन:

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

आउटपुट का दावा है कि यह कुछ ठीक करता है लेकिन यह वास्तव में कुछ भी नहीं करता है। मुझे अभी भी लेआउट को स्वयं संपादित करना था और यह पहले की तरह काम करना शुरू कर दिया।


साथ ही मेरा रिवाज बदल गया। अफसोस की बात है कि .plist फ़ाइलों में आईडी को ठीक करने से मुझे मदद नहीं मिली।
पावेल गुरकोव

@PavelGurkov के बाद आपने फ़ोल्डर पर sudo टच कमांड चलाया? ओएस के लिए इस पर विचार करना आवश्यक था।
jrobichaud

हाँ, यह किया, कोई उत्पादन नहीं मिला। सब कुछ मैं कर सकता था की जाँच की, लेकिन ... एल Capitan पर निर्दोष रूप से काम किया, सिएरा पर कोई भाग्य नहीं।
पावेल गुरकोव
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.