এসেস্ক এবং কন্ট্রোল সিস্টেম ওয়াইডে ক্যাপসলকটি পুনরায় চাপুন


18

ক্যাপসলক কী সিস্টেমটি প্রশস্ত করে পুনরায় পুনরায় তৈরি করা সম্ভব যে ক্যাপসলক বোতামটি নিজে চাপলে এটি এস্কেপ কী হিসাবে কাজ করে এবং অন্য কী দিয়ে চাপলে এটি নিয়ন্ত্রণ কী হিসাবে কাজ করে?


5
এটি দেখে মনে হচ্ছে এটি খুব কঠিন হবে। উদাহরণস্বরূপ, এটি কী ডাউন ইভেন্টগুলি তৈরি করতে পারে না, কারণ আপনি কী কী সবেমাত্র চাপছিলেন তা জানেন না। যদি এটি অন্য কী না চাপলে ছেড়ে দেওয়া হয়, তবে এটি ছিল এস্কেপ, অন্যথায় এটি নিয়ন্ত্রণ ছিল।
সিজেএম

উত্তর:


16

আমি xcape নামে একটি খুব ভাল সমাধান পেয়েছি । পুনরায় পড়া থেকে:

xcape ডেমন হিসাবে চালিত হয় এবং নিয়ন্ত্রণ কীটি বাধা দেয়। যদি কন্ট্রোল কীটি নিজে থেকে চাপ দেওয়া হয় এবং প্রকাশ করা হয় তবে এটি একটি এস্কে কী ইভেন্ট উত্পন্ন করবে।

আপনি যদি ক্যাপসটিতে আপনার ক্যাপস লক কীটি পুনরায় তৈরি করে থাকেন তবে এটি আরও অর্থবোধ করে। এই প্রোগ্রামের ভবিষ্যতের সংস্করণগুলি আপনার জন্য এই ম্যাপিংটি করতে পারে তবে আপাতত এটি আপনাকে নিজেরাই করতে হবে।


এটি করার জন্য আমি একটি হ্যাকি স্ক্রিপ্ট তৈরি করেছি: github.com/cmatheson/super-caps
ক্যাম

6

আমি ক্যাপসকে এস্কেপ ম্যাপ করেছিলাম যাতে আমি ভিমে টাইপ করা আরও স্বাচ্ছন্দ্য বোধ করি। আমি ব্যবহার করেছি xmodmap, এবং এটি ভিতরে রাখা ~/.Xmodmap

clear Lock
keycode 0x42 = Escape

প্রয়োগ করতে: xmodmap ~/.Xmodmap। আপনি এটি কোনও ফাইল যেমন ~ / .bash_profile এ রাখতে পারেন (আমি ~ / .xinitrc এ দিয়েছি, কারণ আমি লগইন পরিচালক ব্যবহার করি না।

CapsLock + [[অন্য কী]] মানচিত্র করতে, ব্যবহার বিবেচনা করুন xbindkeys


4

সিস্টেম-ওয়াইড রিম্যাপিং কীগুলির জন্য একটি লিনাক্স-কেবলমাত্র সমাধান হল একটি সহজ ইউদেব নিয়ম write এটি এক্স এর উপর নির্ভর করবে না, যে কোনও টার্মিনাল বা অ্যাপ্লিকেশনটিতে কাজ করবে এবং কেবলমাত্র দুটি ফাইল অনুলিপি করে কোনও সাম্প্রতিক লিনাক্স ইনস্টলের মধ্যে বহনযোগ্য।

আপনাকে ২ টি ফাইল লিখতে হবে: একটি ওদেব নিয়মযুক্ত একটি যা কার্নেলটিকে কীগুলি পুনর্নির্মাণ করতে এবং আপনার প্রয়োজনীয় প্রকৃত ম্যাপিংগুলি অন্তর্ভুক্ত করে।

এই পদ্ধতিটি ব্যবহার করে আমি আমার পুরো কীবোর্ডটি পুনরায় তৈরি করেছি, কোডটি অনুপ্রেরণা হিসাবে কার্যকর হতে পারে http://git.adirat.com/carpalx-keyboard


লিঙ্কটি মারা গেছে, আপনি এটি আপডেট করতে পারেন? ধন্যবাদ!
কেইড

আমি এটি আপডেট করেছি, বিলম্বের জন্য দুঃখিত
গিমসুডো

বিটবকেট বলে "আপনার কাছে এই সংগ্রহস্থলের অ্যাক্সেস নেই।" আপনি কি আবার এটিকে জনসমক্ষে করতে পারবেন? ধন্যবাদ!
তিয়ানয়ি কুঁই

@ তিয়ানিয়কিউই এখনই লিঙ্কটি পরীক্ষা করুন
গিম্মসুডো

1
আমার জন্য লিঙ্কটি মারা গেছে বা অবরুদ্ধ। কোনও সুযোগ আপনি নিজের উত্তরে প্রকৃত ফাইলগুলি রাখতে পারেন?
গোলকধাঁধা


1

আমি আস্কউবুন্টু সম্পর্কে একটি পৃথক শব্দযুক্ত প্রশ্ন জুড়েছিলাম যার একটি ভাল উত্তর ছিল , তবে আমার সিস্টেমে কাজ করার জন্য আমাকে এটিকে সামান্য পরিবর্তন করতে হয়েছিল।

প্রতি লুই এবং সের্গির মন্তব্য সেখানে আমি এই সমাধানটি নিয়ে এসেছি যা উবুন্টু ১.0.০৪ (জেনিয়াল) এ আমার জন্য কাজ করছে এবং আমি এটি অন্যান্য লিনাক্স সিস্টেমে আমার সাথে ব্যবহার করব।

আমি এক্সক্যাপ ইনস্টল করেছি এবং .profileআমার হোম ডিরেক্টরিতে আমার ফাইলটিতে নিম্নলিখিত কোডের লাইনগুলি রেখেছি।

হালনাগাদ পদ্ধতি:

বিভিন্ন ডিসপ্লে ম্যানেজার (জিডিএম / কেডিএম / এসডিডিএম / ইত্যাদি) অদ্ভুত উপায়ে আচরণ করে এবং setxbmapসাসপেন্ড / পুনঃসূচনা বা লক / আনলকের পরে পুনরায় সেট করার কারণে আমি আবিষ্কার করেছি যে কীভাবে বিকল্পগুলি সেটির উত্তরাধিকারী হয় এবং কীভাবে ডোন ' এটি সব সময় পুনরায় সেট করুন। কারণ আমি স্থগিত হয়েছি এবং আমার প্রচুর পরিমাণে পুনরায় কাজ শুরু করার প্রয়োজন হয়েছিল তা নিশ্চিত করার জন্য যে আমার প্রচুর অনুলিপি xcapeচালিত হয়নি যা নীচের নতুন স্ক্রিপ্টে সমাধান হয়েছে।

প্রথমে কীবোর্ড কনফিগারেশনটি সংশোধন করুন sudo gedit /etc/default/keyboardএবং সেট করুন XKBOPTIONS="ctrl:nocaps"এবং তারপরে আপনার ~/.xprofileনীচে একক লাইন রাখুন।

ps aux | grep -i '[x]cape' && killall -9 xcape; hash xcape 2>&1 >/dev/null && xcape -e 'Control_L=Escape' -t 100 &

আশা করি স্ক্রিপ্টের বিভিন্ন বিভাগ আপনাকে কিছুটা সময় / ঝামেলা সাশ্রয় করবে এবং আটকে থাকা লগইনগুলি রোধ করবে। প্রথমে এটি পরীক্ষা করে দেখেছে যে ইতিমধ্যে কোনও দৃষ্টান্ত চলছে এবং এটি মেরে ফেলেছে, যেহেতু একমাত্র কাজটি xcapeহ'ল সিএসটিএল-এর ম্যাপ Esc, এটি নিরাপদ, তারপরে hashঅংশটি নিশ্চিত করে যে আপনি xcape ইনস্টল করেছেন অন্যথায় লগইন করার চেষ্টা করার সময় আপনার সিস্টেমটি স্তব্ধ হয়ে যেতে পারে কারণ সমস্ত স্টার্টআপ স্ক্রিপ্টগুলি পরিষ্কারভাবে প্রস্থান করার আশা করা হচ্ছে।

পুরানো উপায়:

setxkbmap -option 'caps:ctrl_modifier'; xcape -e '#66=Escape'

Sergiy:

উবুন্টু ১৪.০৪-তে সিস্টেম সেটিংসে কোনও কীবোর্ড লেআউট নেই বলে ক্যাপস লক টু সিটিআরএল করার জন্য আমি জিনোম-টুইক-টুল ব্যবহার করেছি। তারপরে xcape -e 'Control_L = Escape' কাজ করেনি, তবে xcape -d ব্যবহার করার পরে আমি আবিষ্কার করেছি যে ক্যাপস লকটি কীকোড 66 66 উত্পন্ন করে এবং যথাক্রমে এটি পুনরায় সরিয়ে নিয়েছে: xcape -e '# 66 = Escape' Escape - সের্গেই বাইলোজিওরভ 4 সেপ্টেম্বর 4 '14 এ 10:08 এ

লুই:

এই ব্লগ পোস্ট অনুসারে, একা xcape দিয়ে এটি করা সম্ভব: setxkbmap -option 'caps: ctrl_modifier'; xcape -e 'Caps_Lock = Escape' setxkbmap -option 'caps: ctrl_modifier'; xcape -e 'Caps_Lock = Escape; Control_L = Escape; Control_R = Escape' - লুই সিমোনাও 4 আগস্ট '15 এ 10:06

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