xmodmap সমাধান
আমি মনে করি আপনি কী- ম্যাপগুলি সংশোধন করার জন্য একটি সরঞ্জাম xmodmap ব্যবহার করে এটি করতে পারেন । যেহেতু আমার কীবোর্ডে সঠিক Superকী নেই তাই আমি এই সমাধানটি নিশ্চিত করতে পারছি না, সুতরাং দয়া করে কোনও মন্তব্য করুন যদি এটি কাজ না করে।
সমস্ত পদক্ষেপ একটি টার্মিনালে সম্পন্ন হয়
বর্তমান পরিবর্তক মানচিত্র
রান প্রিন্ট করুন
xmodmap
এটি বর্তমান পরিবর্তক মানচিত্র মুদ্রণ করা উচিত যা এই জাতীয় কিছু পছন্দ করা উচিত
xmodmap: up to 4 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), 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 -pke > ~/.xmodmap.orig
এখন যদি কিছু ভুল হয়ে যায় তবে আপনি কেবল টাইপ করতে পারেন
xmodmap ~/.xmodmap.orig
আপনার মূল কী মানচিত্র পুনরুদ্ধার করতে। (আপনি যদি কিছু গুরুতর ভুল করেছেন এবং আপনি সঠিকভাবে আর টাইপ করতে না পারেন তবে একটি রিবুটও কাজ করে)
Super কীগুলির জন্য বর্তমান কী মানচিত্রটি পরীক্ষা করে
ধরে Superনিই যে কীগুলিতে পরপর কী কোড রয়েছে (এই ক্ষেত্রে 0x85 এবং 0x86) আমরা চলমান বর্তমান ম্যাপিং চেক করতে পারি
xmodmap -pke | grep -wA1 $((0x85))
অবশ্যই আপনার পরিবর্তক মানচিত্র থেকে আপনার কী কোড দ্বারা 0x85 পরিবর্তন করা উচিত। এটি আপনাকে দেওয়া উচিত
keycode 133 = Super_L NoSymbol Super_L
keycode 134 = Super_R NoSymbol Super_R
( $((0x85))
হেক্সাডেসিমাল সংখ্যাটি দশমিক রূপান্তর করে)
বামের আচরণটি Super ডানদিকে অনুলিপি করুনSuper
আপনি আগের পদক্ষেপ থেকে দেখতে পাচ্ছেন যে ডান Superকীটির কী কোড 134 রয়েছে তবে আমরা চাই যে বাম Superকীটির 1353 কোড রয়েছে এমন আচরণ করা উচিত using
xmodmap -e "keycode 134 = Super_L NoSymbol Super_L"
এটি
এখন কাজ করে কিনা তা পরীক্ষা করা হচ্ছে now
xmodmap -pke | grep -wA1 $((0x85))
তোমার দেখা উচিত
keycode 133 = Super_L NoSymbol Super_L
keycode 134 = Super_L NoSymbol Super_L
মানে উভয় কী এখন একই আচরণ করে। এছাড়াও পরিবর্তক মানচিত্রটি লাইনে পরিবর্তিত হওয়া উচিত mod4
, আমরা এটি চালিয়ে চেক করতে পারি
xmodmap | grep 'mod4'
যা দেওয়া উচিত
mod4 Super_L (0x85), Super_L (0x86), Super_L (0xce), Hyper_L (0xcf)
এবং অবশ্যই আপনি যে শর্টকাটগুলি উল্লেখ করেছেন তাও কাজ করা উচিত!
ম্যাপিংকে অবিচ্ছিন্ন করুন
যদি এটি কাজ করে তবে আপনি নিশ্চিত করতে পারেন যে আপনি বুট করার সময় এই সেটিংসটি স্বয়ংক্রিয়ভাবে প্রয়োগ হয়েছে। চালান
echo 'keycode 134 = Super_L NoSymbol Super_L' >> ~/.xmodmaprc
আপনার কাস্টম কী ম্যাপিং ফাইলটিতে সঞ্চয় করতে ~/.xmodmaprc
। চালান
echo 'xmodmap ~/.xmodmaprc' >> ~/.xsessionrc
আপনার উইন্ডো ম্যানেজারটি লোড হওয়ার পরে কাস্টম কী মানচিত্রটি কার্যকর হয়েছে তা নিশ্চিত করতে।
Settings Manager -> Keyboard
, মত একটি বিকল্প আছেexo-open --launch TerminalEmulator
? যদি তাই হয়, এটি দ্বিতীয় কলামে শর্টকাট বলে?