অ্যাপ্লিকেশন কীম্যাপগুলির জন্য ক্যাপলকটি সংশোধক কী হিসাবে


11

আমি বিকাশকারী এবং বর্তমানে আমি ওয়েবসাইট বিকাশের জন্য পাইচর্ম আইডিই সহ উবুন্টু লিনাক্স ব্যবহার করছি। টাইপিং পারফরম্যান্সের উন্নতির জন্য আমি ক্যাপসলককে হাইপার_এলে পরিবর্তন বিবেচনা করি এবং এক্সমোডম্যাপ ব্যবহার করে এটি মোড 3 এ নিয়োগ করি। এর পরে আমি 'i' কী'র জন্য 'আপ' এর জন্য মোড 3 মানচিত্র করতে চাই। এখন পর্যন্ত আমি যা করেছি তা হ'ল:

xmodmap -e "keysym Caps_Lock = Hyper_L"

আউটপুট যেমন:

shift       Shift_L (0x32),  Shift_R (0x3e)
lock        Hyper_L (0x42)
control     Control_L (0x25),  Control_R (0x69)
mod1        Alt_L (0x40),  Alt_R (0x6c),  Meta_L (0xcd)
mod2        Num_Lock (0x4d)
mod3      
mod4        Super_L (0x85),  Super_R (0x86),  Super_L (0xce),  Hyper_L (0xcf)
mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)

তারপরে আমি Mod4 থেকে হাইপার_এল সরিয়েছি

xmodmap -e "remove Mod4 = Hyper_L"

এর পরে আমি হাইপার_এলকে মোড 3 এ নিয়োগের চেষ্টা করেছি

xmodmap -e "add Mod3 = Hyper_L"

তবে আমি নিম্নলিখিত হিসাবে ত্রুটি পেয়েছি:

X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  118 (X_SetModifierMapping)
  Value in failed request:  0x17
  Serial number of failed request:  11
  Current serial number in output stream:  11

তো, এখানে কী সমস্যা ছিল? আমি কীভাবে এটি কাজ করতে পারি? আমার পদ্ধতির কি ঠিক আছে? অথবা কাস্টম কীগুলির জন্য মোড 3 ব্যবহার করার জন্য আমার আলাদা পদ্ধতির ব্যবহার করা উচিত?

PS আমি মাইক্রোসফ্ট ন্যাচারাল আরগনোমিক 7000 কীবোর্ড ব্যবহার করছি using

উত্তর:


20

ইন্টারনেটে বাজিলিয়ান উত্তর রয়েছে, তাদের বেশিরভাগই বিভ্রান্তিকর।

কীটি আপনার হাইপার কীতে 'কীডকোড 66' মানচিত্রের প্রয়োজন তা অন্য মড mod 1,2,4,5 s এর (কেবল উপস্থিত থাকলে) থেকে কীটির ম্যাপিংটি সরিয়ে, এবং তারপরে মোড 3 সেট করুন।

~ / .Xmodmap খুলুন এবং নিম্নলিখিতগুলি রাখুন:

! Unmap capslock
clear Lock
keycode 66 = Hyper_L

! Leave mod4 as windows key _only_
remove mod4 = Hyper_L

! Set mod3 to capslock
add mod3 = Hyper_L

এই চালান

xmodmap ~/.Xmodmap

যদি কিছু ভুল হয়ে যায় তবে আপনি আপনার কীবোর্ডটি এটির সাথে পুনরায় সেট করতে পারেন:

setxkbmap -layout us

কোনও কিছুর বিস্ফোরণের সম্ভাব্য কারণগুলি হিপার_এল অন্য কোথাও ম্যাপ করা হয়েছে। হাইপার_এল এর সাথে আর কী আবদ্ধ তা নির্ধারণ করার জন্য আরোগোড ছাড়াই xmodmap চালিয়ে এটি ঠিক করুন। আপনার কী অপসারণ করতে হবে তা যখন আপনি জানেন তখন আপনার .Xmodmap ফাইলটিতে একটি 'BINDING = Hyper_L' সরান uck

আপনি X11 সেশনগুলি খুললে .Xmodmap ফাইলটি লোড হবে, আপনি পরবর্তী সময় লগইন করবেন বা রিবুট করার সময় আপনার এই ম্যাপিংটি থাকা উচিত।

এই কনফিগারেশনটি আমার উবুন্টু 14.04 সেটআপের জন্য কাজ করে। আপনার যদি আলাদা * নিক্স থাকে এবং এটি কাজ করে না, দয়া করে আপনার চারপাশে পেতে যা করেছেন তা পোস্ট করুন এবং আমি এটি উত্তরে অন্তর্ভুক্ত করব।


@antindexer এটি আপনার পক্ষে কাজ করে?
হিমাথহে

আমি বেশ কয়েকটি উত্তর চেষ্টা করেছিলাম, এবং এটিই আমার পক্ষে কাজ করেছে। কমপক্ষে, এটি একটি খালি ধাতব লিনাক্স ইনস্টল করা হয়েছে। অদ্ভুতভাবে, এটি কিউএমইউ / কেভিএম-এ ব্যর্থ হয়, কেবল ক্যাপস লক কী-র বিকল্প প্রেসগুলিতে কাজ করে।
ডায়াগন

0

আমি জানি এই প্রশ্নটি বেশ পুরানো, তবে আমার সমাধানটি আমার ভাগ করে নেওয়া দরকার, যেহেতু (হতাশার সাথে) হেমন্তের উত্তর আমার পক্ষে কার্যকর হয়নি। আমার জন্য কাজ করে কী শেষ হয়েছে:

setxkbmap -layout us -option lv3:caps_switch -variant intl

এটি মোড 3 কী হিসাবে ক্যাপসলক সক্ষম করবে, "আমাদের" এ লেআউট সেট করবে এবং ভেরিয়েন্টটি "ইন্টেল" এ সেট করবে। যদি আপনি মাছের মতো ইন্টারেক্টিভ শেল ব্যবহার করেন, তবে সম্ভাব্য পরামিতিগুলির একটি সম্পূর্ণ তালিকা পেতে আপনি "-layout", "-শক্তি" বা "-ভারিয়েন্ট" এর পরে ট্যাব টিপতে পারেন।

পরবর্তী পটভূমি: আমি এক বছর আগে উবুন্টু মেশিনে আই 3 উইন্ডো ম্যানেজারটি চালাচ্ছি, প্রমিত জিনোম পরিবেশ থেকে স্যুইচ করে xmodmap পদ্ধতির চেষ্টা করেছি। আমি "আমাদের" এক্স কেবি কীবোর্ড লেআউটটি সংশোধন করেছি, বিশেষত মৃত চাবিযুক্ত আন্তর্জাতিক - জিনোম-ডেস্কটপ-ম্যানেজার ব্যবহার করার সময় এটি দুর্দান্ত কাজ করেছে (মোড 3 কী হিসাবে ক্যাপস-লক সেট করার বিকল্প রয়েছে), তবে আমি পারিনি এটি এক্সমোডম্যাপের সাথে কাজ করতে পান। এটি আমার ভুল ছিল: আমি ভেবেছিলাম জিডিএম জিইআইআই মোডো-তে ক্যাপস লক ম্যাপ করতে এক্সমোডম্যাপ ব্যবহার করছে তবে বাস্তবে এটি এই এক্স 11 বিকল্পটি সেট করে। এখন আমি আর্চে স্যুইচ করেছি তখন আমি এটি বের করতে বাধ্য হয়েছিল।

আমি লোকালেক্টেল, এক্সমোডম্যাপ, সেটএক্সবিব্যাপ এবং টেস্টিং লেআউটগুলিতে একটি ঘুম যোগ করে আবার অংশটি ফেরত পাঠানোর জন্য ম্যান পেজগুলি পড়ার জন্য এটির সাথে বিশৃঙ্খলা তৈরির পরিকল্পনার জন্য কারও পরামর্শ দিচ্ছি:

setxkbmap ... ; sleep 10; setxkbmap <INSERT DEFAULT SETTINGS>

এটি আমার বেশ ভাল সময় সাশ্রয় করেছে।

তবে আমি এখনও বুঝতে পারি না যে এক্সমোডম্যাপের পদ্ধতিটি কীভাবে কাজ করে না। আশা করি এটি কাউকে সাহায্য করবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.