আমি ম্যাকস সিয়েরায় কী কী পুনরায় তৈরি করব, যেমন, রাইট আল্ট থেকে ডান নিয়ন্ত্রণে?


44

আমি রাইট আল্ট থেকে রাইট কন্ট্রোলটির পুনরায় তৈরি করতে কারাবিনার ব্যবহার করেছি (ইমাস ব্যবহারকারী হিসাবে আমি নিয়ন্ত্রণের চেয়ে বেশি নিয়ন্ত্রণ করতে পারি) তবে সিয়েরায় আপডেট হওয়া এটি ভেঙে দেয় broke ডাউনগ্রেডিং কোনও বিকল্প নয়।

আমি সিয়েরায় কীভাবে কীভাবে পুনরায় পুনর্নির্মাণ করব? আমি বিশেষত রাইট আল্ট থেকে ডান নিয়ন্ত্রণের পুনর্নির্মাণ করতে চাই।

উত্তর:


39

অ্যাপলের প্রযুক্তিগত নোট টিএন 2450 কীগুলি কীভাবে পুনরায় তৈরি করতে হবে তা বর্ণনা করে। নীচের কমান্ডটি চালানো রাইট আল্টকে রাইট কন্ট্রোল হিসাবে পুনরায় তৈরি করবে।

hidutil property --set '{"UserKeyMapping":
    [{"HIDKeyboardModifierMappingSrc":0x7000000e6,
      "HIDKeyboardModifierMappingDst":0x7000000e4}]
}'

মনে রাখবেন যে উপরের কমান্ডটি সঠিক আল্ট এবং ডান নিয়ন্ত্রণটি স্যুইচ করছে না। তারা উভয়ই রাইট কন্ট্রোল হবে। আপনার যদি ম্যাকবুক থাকে তবে বাহ্যিক কীবোর্ডে প্লাগ না করা পর্যন্ত আপনি এটি লক্ষ্য করবেন না। আপনি যদি রাইট অল্ট এবং রাইট কন্ট্রোলটি স্যুইচ করতে চান তবে আপনাকে নীচের মত দ্বিতীয় স্যুইচ কমান্ড যুক্ত করতে হবে।

hidutil property --set '{"UserKeyMapping":
    [{"HIDKeyboardModifierMappingSrc":0x7000000e4,
      "HIDKeyboardModifierMappingDst":0x7000000e6},
     {"HIDKeyboardModifierMappingSrc":0x7000000e6,
      "HIDKeyboardModifierMappingDst":0x7000000e4}]
}'

প্রযুক্তিগত নোটের নীচে থাকা টেবিলটিতে প্রতিটি কীটির জন্য হেক্স মানগুলির একটি তালিকা রয়েছে। যে কোনও কীগুলি স্যুইচ করতে উপরের উত্তরটি সাধারণ করতে, আপনাকে অবশ্যই orতালিকা থেকে হেক্স মানটি একসাথে অবশ্যই করতে হবে 0x700000000। নিম্নলিখিত পাইথন কোড এটি করার একটি উপায় দেখায়।

In [1]: def convert(val):
   ...:     int_val = int(val, 16)
   ...:     int_ref = 0x700000000
   ...:
   ...:     return hex(int_ref | int_val)
   ...:

In [2]: r_alt = '0xE6'

In [3]: print(convert(r_alt))
0x7000000e6

সুন্দর ধন্যবাদ! এই আদেশের সাহায্যে ম্যাপিংগুলি তাদের ডিফল্টে পুনরুদ্ধার করার কোনও উপায় আছে কি?
Aᴄʜᴇʀᴏɴғᴀɪʟ

1
@ Cᴀʟʟᴏᴅᴀᴄɪᴛʏ যে কোনো একটি কি পুনরায় সেট করতে, আপনি কেবল কমান্ড আবার উভয় যে কী মান দিয়ে চালানো Srcএবং Dst
স্টিভেন সি হাওল

এটি পুনরায় বুটে ফিরবে। আমি প্রতিটি বুটে এই কমান্ডটি আবার চালাতে পারি, তবে আমি এটি না করা পছন্দ করব। এটি স্থায়ী করার কোনও উপায় আছে কি?
ফায়ার বুশ

2
@firebush এই পোস্টটি মত এই ক্রমাগত কমান্ড করতে একটি লগইন হুক ব্যবহার সুপারিশ: stackoverflow.com/a/46460200/629530
firebush

1
@ স্টিভেনসি.হোয়েল কীভাবে ফাংশন সংশোধকগুলির সংমিশ্রণ সম্পর্কে? উদাহরণস্বরূপ, \ আমার কীবোর্ডের পিছনে স্ল্যাশ Shift+Option+7যা আমি খুব সহজতর কিছুতে প্রতিস্থাপন করতে চাই Option+.যা আমি খুব কমই ব্যবহার করি। আমি কেমন করে ঐটি করি? আপনার সাহায্যের জন্য ধন্যবাদ.
Nanashi No Gombe

15

আরও সাধারণ এবং ব্যবহারকারী-বান্ধব পদ্ধতি হ'ল কারাবাইনার-এলিমেন্টগুলি ব্যবহার করা , যা কারাবিনার একটি সংস্করণ যা সিয়েরায় কাজ করে।


2
কারাবাইনার-উপাদানগুলির উপর দ্রুত আপডেট । এটি ম্যাকওএস হাই সিয়েরা 10.13.3 (17 ডি 102) এ কাজ করে আমি সফলভাবে আমার ডান কমান্ড এবং বিকল্প কীগুলি অদলবদল করেছিলাম।
স্টিভ ক্লিমেন্ট 0

তৃতীয় পক্ষের অ্যাপগুলি কখনই "বেশি সাধারণ" হয় না। কেন কেউ ওএস-এ তৈরি করা অ্যাপ্লিকেশনগুলির কাজগুলির সাথে তাদের সিস্টেমকে বিশৃঙ্খলা করবে?
বাচসউ

1
@ বাছসৌ এটি আরও সাধারণ যা আপনাকে আরও অনেকগুলি স্টাফ করার অনুমতি দেয়, যেমন কী সংমিশ্রণ, ম্যাক্রোগুলি এবং প্রোফাইলগুলি সেট আপ করতে বা কোনও অভ্যন্তরীণ এবং বাহ্যিক কীবোর্ডগুলির জন্য ভাগ করা এবং / অথবা বিভক্ত ম্যাপিং কনফিগারেশন ব্যবহার করে।
জানোশ

@ বাছসৌ আমি আমার প্রতিটি কীবোর্ডের জন্য আলাদা আলাদা প্রোফাইল রাখি, সুতরাং সেগুলি একই রকম হয়। খুব সুন্দর অ্যাপ
আলেক্সজি

9

এটি স্টিভেন সি হাওলের উত্তরের একটি সংযোজন।

স্ক্যান্ডিনেভিয়ান কীবোর্ড সহ আমার কাছে একটি নতুন ম্যাকবুক প্রো রয়েছে। এই নতুন মডেলের আর কোনও ইস্ক কী নেই, যা আমার জন্য একটি গুরুত্বপূর্ণ প্রতিবন্ধক।

আমি আবিষ্কার করেছি যে নিম্নলিখিতটি § কী (উপরের বাম, 1 এর বাম এবং উপরে ট্যাব কী) অনুবাদ করবে - যা আমি মনে করি না যে আমি আজকের আগে কোনও কিছুর জন্য ব্যবহার করেছি - ইস্ক তৈরি করার জন্য।

hidutil property --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000064,"HIDKeyboardModifierMappingDst":0x700000029}]}'

অ্যাপলের ডকুমেন্টেশনে (স্টিভেনের উত্তর থেকে সংযুক্ত) এটিকে "কীবোর্ড অ-মার্কিন ডলার এবং |" হিসাবে লেবেলযুক্ত করা হয়েছে (0x64)।

বেশ কয়েকটি "নন-ইউএস" কীগুলি আবিষ্কার করা শক্ত কারণ তারা সাধারণত এমন কীগুলি উল্লেখ করে যা আপনার ব্যবহার করা কীবোর্ডে আলাদা লেবেল রয়েছে। (আমি এটিও আবিষ্কার করেছি যে "গ্রাভ অ্যাকসেন্ট এবং টিল্ড" বাম পাশের শিফট এবং জেড এর মধ্যে থাকা কীটি বোঝায় যা আমার কীবোর্ডে উত্পন্ন হয় which <আমি কোন কী "নন-ইউএস #এবং ~" এর সাথে সাদৃশ্যপূর্ণ তা প্রতিষ্ঠা করতে অক্ষম ছিলাম এবং আমি খুঁজে পাওয়ার পরেও আরও পরীক্ষা নিইনি) আমার কী।) আপনি যদি পরীক্ষা করতে চান তবে আপনার প্রয়োজনীয় কীটি না পাওয়া পর্যন্ত টার্মিনালে স্ক্রিপ্টটি চালানোর চেষ্টা করুন:

for ((i=1;i<=128;++i)); do
    printf '0x7000000%0x\n' "$i"
    printf '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x7000000%0x,"HIDKeyboardModifierMappingDst":0x70000000a}]}' "$i" |
    xargs -0 hidutil property --set >/dev/null
    read -p "Type some stuff: "
    hidutil property --set '{"UserKeyMapping":[{}]}' >/dev/null
done

এটি কীকোডগুলির উপরে লুপ করে এবং একবারে এটির পরিবর্তিত করে, এই আশায় যে আপনি পরীক্ষার মাধ্যমে একটি কীটি খুঁজে পেতে পারেন যা আপনার জন্য বিশেষভাবে কার্যকর নয়। যখন আপনার কাছে জিজ্ঞাসা করা হয় তখন কিছু টাইপ করার চেষ্টা করুন - আপনি gযা প্রত্যাশা করেছিলেন তার পরিবর্তে যদি আপনি কিছু পান তবে আপনি সঠিক কী কোডটি পেয়ে গেছেন । ( 0x70000000aযদি আপনার gপক্ষে সুবিধাজনক পছন্দ না হয় তবে অন্য কোনও কিছুর বদলে যেতে পারেন Maybe সম্ভবত আপনি gকীটি পুনর্নির্মাণ করতে চান ?) আপনি টাইপিং সম্পন্ন করার পরে, পরবর্তী কীটিতে এগিয়ে যাওয়ার জন্য কেবল এন্টার টিপুন।

এটি মূল্যবান কিসের জন্য, লুপের ভিতরে থাকা সর্বশেষ আদেশটি হ'ল আপনি কীভাবে সমস্ত UserKeyMappingসেটিংস জ্যাপ করেন :

hidutil property --set '{"UserKeyMapping":[{}]}'

আপনি যখন প্রাথমিকভাবে চালান hidutil property --get UserKeyMappingএটি উত্পাদন করে

(null)

তবে মনে হচ্ছে সেটিংসটি জ্যাপ করার জন্য আপনি এই মানটি ফিরিয়ে দিতে পারবেন না (বা বরং এটি এই ইনপুটটিকে গ্রহণ করে কিন্তু উপেক্ষা করে)।

(আপনি যদি টার্মিনালের সাথে অপরিচিত থাকেন তবে আপনার প্রম্পট বা অনুরূপ forনা হওয়া পর্যন্ত কেবল জিনিসটি অনুলিপি করুন / আটকান ))donebash$

অনুযায়ী এই সংশ্লিষ্ট স্ট্যাক ওভারফ্লো প্রশ্ন আপনি আপনার বাড়িতে ডিরেক্টরির মধ্যে একটি স্ক্রিপ্ট ফাইলে কমান্ড রাখা এবং আপনার থেকে এটি যোগ করতে পারেন launchdকনফিগারেশন এই পরিবর্তনের অনড় রাখার।

যদি কিছু পাঠক নিজেরাই এটি করতে স্বাচ্ছন্দ্য বোধ না করে থাকেন তবে এখানে একটি দ্রুত স্ক্রিপ্ট রয়েছে যা এটি আপনার জন্য করে। আবার, টার্মিনাল প্রম্পটে এটিকে অনুলিপি করুন / আটকান।

mkdir -p "$HOME"/bin
printf '%s\n' '#!/bin/sh' \
    'hidutil property --set '"'"'{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000064,"HIDKeyboardModifierMappingDst":0x700000029}]}'"'" \
    >"$HOME"/bin/userkeymapping
chmod 755 "$HOME"/bin/userkeymapping
cat<<: >"$HOME"/Library/LaunchAgents/userkeymapping.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>userkeymapping</string>
    <key>ProgramArguments</key>
    <array>
        <string>$HOME/bin/userkeymapping</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
</dict>
</plist>
:
launchctl load "$HOME"/Library/LaunchAgents/userkeymapping.plist

স্পষ্টতই যদি আপনি 0x700000064স্ক্রিপ্টে বা ফাইলটিতে "$HOME"/bin/userkeymappingএটি পরিবর্তন করার প্রয়োজনের চেয়ে অন্য কোনও কী দিয়ে শেষ করেন তবে আপনি যদি ইতিমধ্যে উপরেরটি চালিয়ে যান তবে এটি তৈরি শেষ হয়।


এই উত্তরের পূর্ববর্তী সংস্করণটি ব্যবহারের পক্ষে পরামর্শ দিচ্ছিল LoginHookতবে এটি আমার পক্ষে কাজ করছে না এবং স্ট্যাকওভারফ্লো . com/ a/ 22872222/874188 এর উপর ভিত্তি করে আমি launchdপরিবর্তে একটি পদ্ধতির দিকে চলে এসেছি ।
ট্রিপলি

উত্সাহী ভিআইভি / ভিএম ফ্যান হিসাবে এটি ঠিক আমি যা খুঁজছিলাম is ধন্যবাদ.
ফিলিপ কেয়ার্নস

7

আপনি যা করতে চান তা হ'ল একক কী পুনর্নির্মাণ

উদাহরণ: ম্যাকে কীভাবে এস্কেপ কী রিম্যাপ করা যায়

  1.  অ্যাপল মেনুতে যান এবং "সিস্টেম পছন্দসমূহ" নির্বাচন করুন এবং তারপরে "কীবোর্ড" পছন্দ প্যানেলটিতে যান এবং "কীবোর্ড" ট্যাবটি নির্বাচন করুন

  2. নীচের ডানদিকে "মোডিফায়ার কী" বোতামটি ক্লিক করুন

  3. আপনি এস্কেপ ক্রিয়াকলাপটি সম্পাদন করতে পুনরায় তৈরি করতে এবং সংশোধন করতে চান কীটি চয়ন করুন: ক্যাপস লক (আমাদের প্রস্তাবনা), নিয়ন্ত্রণ, বিকল্প বা কমান্ড
  4. আপনি একটি হার্ডওয়্যার এস্কেপ কী হিসাবে পুনর্নির্মাণ করতে চান এর সাথে সম্পর্কিত ড্রপডাউন তালিকা থেকে "এস্কেপ" নির্বাচন করুন এবং তারপরে পরিবর্তনটি সেট করতে "ওকে" ক্লিক করুন

উল্লেখ


2
এটি আপনাকে এই উত্তরটিতে গণনা করা চারটি কীগুলির উপর নিয়ন্ত্রণ দেয়।
ট্রিপলি

সঠিক, এবং খুব সহায়ক। যদি কেউ অতিরিক্ত কীগুলি পুনরায় তৈরি করতে চান তবে কারাবাইনার বিবেচনা করুন
জেসনলোনহার্ড

দেখে মনে হচ্ছে কোনও নির্দিষ্ট কী, যেমন "ডান ⌥", নির্দিষ্ট করার উপায় নেই। আপনি যে সুনির্দিষ্টভাবে পেতে পারেন তা হ'ল "যে কোনও ⌥" এর মতোই সিগন্যাল।
মার্চাকো

সঠিক, তবে ভাল অংশটি আপনাকে কেবল এটি কাজ করে এমন কোনও ইনস্টল করতে হবে না।
জেসনলোনহার্ড

0

আপনি যদি ডিফল্টগুলি পুনরুদ্ধার করতে চান তবে:

# setting it to 'null' does not work on my MBP High Sierra
hidutil property --set '{"UserKeyMapping":[]}'
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.