লিনাক্সে অতিরিক্ত কী ছাড়াই চাপলে আমি কীভাবে SHIFT_L / SHIFT_R মানচিত্র করতে পারি?


13

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

বুদ্ধিটা

শিফট_এল বা শিফট_আর অতিরিক্ত কী ছাড়াই চাপলে এগুলি যথাক্রমে '(' এবং ')' তে ম্যাপ করা হয়, অন্যথায় তারা যথারীতি কাজ করে।

সমস্যাটি

ওএসএক্সের আওতায় তিনি এই সমস্ত কিছু করেন। আমি লিনাক্সের অধীনে এটি অর্জনের চেষ্টা করছি। এর জন্য সহজ সরল কোনও উপায় নেই কারণ আমি বুঝতে পারছি আপনি একা Shift_L এর জন্য একটি কী কনফিগার করতে xmodmap ব্যবহার করতে পারবেন না, এবং একটি পরিবর্তনকারী কী হিসাবে ব্যবহৃত হলে শিফ্টের জন্য অন্যটি ব্যবহার করতে পারবেন না।

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

লিনাক্সের অধীনে এটি সমাধান করার কোনও উপায় আছে কি?


আমি এটি চেষ্টা করে দেখিনি
q

2
এটি প্রায় এই প্রশ্নের সদৃশ । =)
টাইকা কাজুরা

উত্তর:


4

কি দারুন! মূল প্রশ্নে ব্যবহারকারী টিকা কাজুর মন্তব্যটি বেশ সঠিক - এটি কেবল কার্যকরভাবে সেই অন্যান্য প্রশ্নের সদৃশ নয়, তবে সেখানে প্রদত্ত উত্তর (" এক্সক্যাপ ব্যবহার করুন ") এই সমস্যাটি সমাধান করে!

এক্সক্যাপ রেপো ক্লোনিং এবং সংকলনের পরে (আমাকে প্রথমে আমার ফেডোরা বাক্সে libXtst-devel ইনস্টল করতে হয়েছিল), আমি নিম্নলিখিত কমান্ডের সাথে অনুরোধ করা সঠিক আচরণটি অর্জন করতে সক্ষম হয়েছি:

xcape -e "Shift_L=parenleft;Shift_R=parenright"

ভর্তি-কসরত পরীক্ষার পরে, এটি অত্যন্ত ভাল কাজ করে বলে মনে হচ্ছে । নিস!

অন্যান্য অপশন

আপনি যদি মাউস সংশোধক হিসাবে শিফট কীটি ব্যবহার করেন (যেমন আপনি যদি কোনও কিছুতে শিফট-ক্লিক করেন) তবে আপনি সম্ভবত এক্সক্যাপের টাইমআউট বিকল্পটি অন্তর্ভুক্ত করতে এবং একটি আরামদায়ক টাইমআউট মান পেতে চাইবেন, যাতে মাউস ডনের সাথে এককভাবে ব্যবহৃত একক শিফট কীগুলি ব্যবহার করতে পারেন উত্সাহী প্রথম বন্ধনী তৈরি করা হয় না। এক্সক্যাপ রিডম থেকে:

-t <timeout ms>

আপনি যদি এই সময়সীমাটির চেয়ে বেশি সময় ধরে কোনও কী ধরে রাখেন তবে এক্সক্যাপ কোনও মূল ইভেন্ট তৈরি করবে না। ডিফল্ট 500 এমএস।

সুতরাং, -tটাইমআউট মান সহ পতাকাটি অন্তর্ভুক্ত করে যা আপনার পক্ষে কাজ করে, আপনি কমপক্ষে timeout ms মিলিসেকেন্ডের জন্য শিফ্টটি চেপে রাখার পরেও আপনি মাউসের সাহায্যে শিফট-ক্লিক করতে সক্ষম হবেন ।

(ক্রেডিট, আবার, অন্যান্য প্রশ্নের উল্লেখ করার জন্য টিকা কাজুরা এবং সেখানে মূল উত্তরটির জন্য ডোন_ক্রিসটিকেও )


এই পদ্ধতির একটি সমস্যা হ'ল আমি প্রায়শই সম্পাদকদের কিছু পাঠ্য নির্বাচন করতে [শিফট] + [এলএমউস] টিপুন। মজার বিষয় হ'ল সাব্লাইম টেক্সটও [Ctrl] + [LMouse] ব্যবহার করে তাই [Ctrl] রিম্যাপিং সম্পর্কে প্রশ্নও সমস্যা তৈরি করে।
আনানফায়

@ অন্নান আপনি কি এক্সক্যাপের সময়সীমা বিকল্প সমন্বয় করার জন্য পরীক্ষা করেছেন? README থেকে: " -t <timeout ms>আপনি যদি এই সময়সীমাটির চেয়ে বেশি সময় ধরে কোনও কী ধরে রাখেন তবে এক্সক্যাপ কোনও মূল ইভেন্ট তৈরি করবে না Def ডিফল্ট 500 এমএস।" ... যতক্ষণ না xcape মডিফায়ারের কী-ডাউন ইভেন্টে হস্তক্ষেপ করে (আমি মনে করতে পারি না), এটি এটিকে উত্সাহী কীগুলি তৈরি করা থেকে বিরত রাখতে হবে, তবুও আপনি যতক্ষণ ধরে ধরে রাখছেন ততক্ষণ আপনি এটিকে মাউস-নির্বাচন সংশোধক হিসাবে ব্যবহার করতে দিচ্ছেন ।
এফআরডি

@ অান্নান শুনে খুব ভালো লাগল, -tপতাকাটির ব্যবহারের পরামর্শ দেওয়ার জন্য আমি আমার উত্তর আপডেট করেছি !
এফআরডি

1

এটি একটি আকর্ষণীয় চ্যালেঞ্জ, এবং আমি একটিকে সম্মত করি যে এক্সপুট পুরোপুরি উপযুক্ত বলে মনে হচ্ছে না। আমি এক্সমোডম্যাপের সামর্থ্য নিয়ে কিছুটা সময় কাটিয়েছি এবং হতাশ হয়ে আপনি যা করতে চান তা অর্জনের কাছাকাছি এসেছি ... সেখানে পৌঁছানোর ব্যবস্থা না করেই।

এক্সমোডম্যাপ ব্যবহার করে, বাম-শিফট কীতে প্যারেনলেটকে স্থানান্তরিত কীসিম্বল হিসাবে নির্ধারণ করা সম্ভব:

xmodmap -e 'keysym Shift_L = Shift_L parenleft Shift_L parenleft'

যা sorta কাজ, অন্তত আমার ফেডোরা 17 বাক্সে পরীক্ষা করতে, কিন্তু না একটি সন্তোষজনক ভাবে। আমি দেখতে পেয়েছি যে এই ম্যাপিংটি জায়গায় রেখে, শিফট কীটি এখনও স্বাভাবিকভাবে কাজ করে এবং কোনও উত্সাহিত প্যারেনস দেয় না, তবে (হতাশার সাথে) এটি নির্ভরযোগ্যভাবে বাম-পেরেনগুলিও তৈরি করতে পারেনি। যে কারণেই হোক না কেন, কীটি নিজেকে নির্ভরযোগ্যভাবে সংশোধন করার জন্য উপস্থিত হয় না , যা প্রাথমিকভাবে তার স্থানান্তরিত কার্যভারটি ভেঙে দেয়। যে কারণেই হোক না কেন, পর পর কয়েকবার বাম-শিফটে আঘাত হানার ফলে অবশেষে এটি বাম-পেরেন উত্পাদন শুরু করতে পারে তবে কেবল চতুর্থ বা পঞ্চম প্রেসের পরে।

এক আচরণ আমি করেনি নোটিশ, তবে, যে আপনার সাথে একটি "কাছাকাছি যথেষ্ট" অ্যানালগ হিসেবে কাজ করতে সক্ষম হতে পারেন: আমি দেখা গেছে যে ম্যাপিং parenleft এবং parenright Shift_L এবং Shift_R সম্মুখের পর, আমি নির্ভরযোগ্যভাবে ডান বন্ধনী দ্বারা "রেলিং" টাইপ করতে পারে দুটি Shift কী জুড়ে - অন্য কথায়, এই ম্যাপিং সহ:

xmodmap -e 'keysym Shift_L = Shift_L parenleft Shift_L parenleft'
xmodmap -e 'keysym Shift_R = Shift_R parenright Shift_R parenright'

শিফট_এল টিপুন এবং তারপরে শিফট_আর টিপুন, তারপরে উভয়কেই মুক্তি দিবেন, অন্যদিকে ডান-পেরেন বা বাম-পেরেন আউটপুট তৈরি করবে। (পেরেন ম্যাপিংগুলি অবশ্যই বিপরীত হতে পারে; অবশ্যই কোন উপায়টি আরও "প্রাকৃতিক" মনে হয়েছে তা আমি ঠিক সিদ্ধান্ত নিতে পারিনি))

আপনি যে সঠিক আচরণটি সন্ধান করছেন আমি তা অর্জন করতে গিয়েই তত কাছাকাছি ছিল; একা xmodmap ব্যবহার করা সম্ভব বলে মনে হচ্ছে না।

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

... তবে, কীভাবে এটি করা হবে বা আপনি যখন শিফট কীটি টিপবেন ততবার প্রয়োজনীয় প্রসেসিংয়ে ডুবে যাওয়া কতটা আক্রমণাত্মক তা আমার একেবারেই ধারণা নেই। :-)


0

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

কীম্যাপগুলি পরিবর্তন করার সরঞ্জামগুলি /programming/6812/mapping-my-custom-keys-in-debian

হতে পারে http://www.tldp.org/HOWTO/Keyboard-and-Console-HOWTO-14.html

এবং এটি সক্ষম করতে একটি স্ক্রিপ্ট লিখুন।

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