এটি গুরুত্বপূর্ণ জন্য defaults
কমান্ড কী সঠিক "কীবোর্ড আইডি" ব্যবহার, এটা মনে করা হয়:com.apple.keyboard.modifiermapping.$VendorID-$ProductID-0
উদাহরণস্বরূপ, আমার ম্যাকবুক এয়ারের অভ্যন্তরীণ কীবোর্ডটি ব্যবহার করে: com.apple.keyboard.modifiermapping.1452-579-0
যখন আমার আইম্যাকের বহিরাগত কীবোর্ড ব্যবহার করেcom.apple.keyboard.modifiermapping.1118-219-0
সঠিক "কীবোর্ড আইডি" কীভাবে পাবেন? কমান্ড লাইনে আপনি ব্যবহার করতে পারেন:
ioreg -p IOUSB -c IOUSBDevice | grep -e class -e idVendor -e idProduct
প্রাসঙ্গিক পরামিতিগুলির সাথে আপনার USB ডিভাইসের একটি তালিকা পেতে:
[...]
+-o Natural® Ergonomic Keyboard 4000@fa140000 <class IOUSBDevice, id 0x100000452, registered, matched, active, busy 0 (115 ms), retain 12>
"idProduct" = 219
"idVendor" = 1118
আমার অনুমান যে তৃতীয় প্যারামিটার ("-0" অংশ) একটি "কাউন্টার", যদি আপনার একই ধরণের একাধিক কীবোর্ড থাকে।
সুতরাং, আমার বাহ্যিক কীবোর্ডে ক্যাপসলক কীটি স্যুইচ করতে আমি এখন ব্যবহার করতে পারি:
defaults -currentHost write -g com.apple.keyboard.modifiermapping.1118-219-0 -array-add '<dict><key>HIDKeyboardModifierMappingDst</key><integer>-1</integer><key>HIDKeyboardModifierMappingSrc</key><integer>0</integer></dict>'
এবং, সম্পূর্ণতার জন্য, ব্যবহার করার জন্য সম্ভাব্য কী কোডগুলির একটি তালিকা এখানে রয়েছে ( ম্যাক ওএস এক্স ইঙ্গিত থেকে ):
- কিছুই নয় - –1
- ক্যাপস লক - 0
- শিফ্ট (বাম) - 1
- নিয়ন্ত্রণ (বাম) - 2
- বিকল্প (বাম) - 3
- কমান্ড (বাম) - 4
- কিপ্যাড 0 - 5
- সহায়তা - 6
- শিফ্ট (ডান) - 9
- নিয়ন্ত্রণ (ডান) - 10
- বিকল্প (ডান) - 11
- কমান্ড (ডান) - 12
আপডেট: লরি রন্তাকে ধন্যবাদ এখানে একটি কমান্ড যা ব্লুটুথ এবং ইউএসবি কীবোর্ডগুলির জন্য কাজ করে:
ioreg -n IOHIDKeyboard -r | grep -e 'class IOHIDKeyboard' -e VendorID\" -e Product
যা আপনাকে কিছুটা আলাদা আউটপুট দেয়:
+-o IOHIDKeyboard <class IOHIDKeyboard, id 0x100000489, registered, matched, active, busy 0 (0 ms), retain 8>
| "Product" = "Apple Wireless Keyboard"
| "VendorID" = 1452
| "ProductID" = 570
defaults -currentHost write -g key 'value'
পরিবর্তে ব্যবহার করুন। এখনও কাজ করে না।