আমার xmodmap বাইন্ডগুলি শুধুমাত্র AltGr এর সাথে জড়িত থাকে কেন কিছু কীতে কাজ করে?


12

আমি আমার AltGR + রাইট_উইন্ডোগুলি পুনরায় তৈরি করতে চাই তবে কীভাবে তা আমি বুঝতে পারি না। আমি যা চেষ্টা করি তা বিবেচনা না করেই ডান উইন্ডো কী টিপলে নাম কিজিয়ামটি বের হয় যখন ডান Alt চাপতে থাকে বা না থাকে।

এই মুহুর্তে আমি যে xmodmap ফাইলটি পরীক্ষা করছি তার বিষয়বস্তু। আমার কীবোর্ডে 38 টি "এ" এর জন্য কীকোড, 48 অ্যাপোর্ট্রোফ / ডাবলকোটের জন্য কীকোড এবং ডান উইন্ডোজ কী এর জন্য 134 কীকোড।

keycode  38 = 1 2 3 4 5 6 7 8
keycode  48 = 1 2 3 4 5 6 7 8
keycode 134 = 1 2 3 4 5 6 7 8

আমি যখন রাইট_এল্ট + অ্যাজাস্টোফিকে টিপছি তখন এটি 5 হয় তবে ডান_আল্ট + এ এবং ডান_আল্ট + রাইট_উইন্ডো 1 দেয় (ডান আলট চাপলে এবং যখন তা হয় না উভয়ই) যা আমি চেয়েছিলাম তা নয়।

আমার বর্তমান কীবোর্ড লেআউটটি হ'ল us(alt-intl)এবং ডান আলটায় দৃশ্যত AltGr / Iso_Level3_Shift হিসাবে কাজ করার জন্য সেট আপ করা হয়েছে। এর আউটপুট xmodmap -pmনিম্নলিখিত:

xmodmap:  up to 4 keys per modifier, (keycodes in parentheses):

shift       Shift_L (0x32),  Shift_R (0x3e)
lock        Caps_Lock (0x42)
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)

ঠিক কী চলছে তা ধারণা নেই তবে আপনি যদি ইতিমধ্যে এটি না করে থাকেন তবে আপনি চালিত xevকরে বিভিন্ন কী সংমিশ্রণগুলি টিপতে চাইতে পারেন যে হার্ডওয়্যার এবং এক্স উইন্ডো স্তর পর্যন্ত আলাদা আলাদা কীটিপ্রেসগুলি শুরু হচ্ছে কিনা to
জো

আমি খুব একই সমস্যাটি অনুভব করছি। মুদ্রণ চেক এবং ইংলিশ ডাবল কোটস („/" / ") সমর্থন করার জন্য আমি কমা এবং ডট সংশোধন করতে চেয়েছিলাম যা অন্যথায় কমপোজ কী ব্যবহার করে লিখতে হবে। আমি us(cz_sk_de)কীবোর্ড বিন্যাস এবং xmodmap ব্যবহার করছি ।
পাভেল আইমর্দা

এখন কি? এটি যখন অন্য কোনও অনুগ্রহ নষ্ট করা বা নতুন প্রশ্ন শুরু করা বাস্তবসম্মত নয় যখন এই যখন বিষয়টি খুব সুন্দরভাবে বর্ণনা করে। এটি xorg এ ত্রুটির মত দেখাচ্ছে তবে আমি কোনও উল্লেখ খুঁজে পাইনি। স্বয়ংক্রিয়ভাবে পুরস্কৃত হওয়া সত্ত্বেও বিদ্যমান উত্তরটি স্পষ্টতই ভুল।
পাভেল rdিমারদা

আমি কাজটি জানি যে বিভিন্ন কী-বাইন্ডগুলি ছেড়ে দিয়েছি এবং ব্যবহারগুলি শেষ করেছি: / আমি সম্মত হই যে এটি কোনও বাগের মতো দেখাচ্ছে তবে আমি জানি না এটির সিস্টেমটি কী সম্পর্কিত এবং এটি কোথায় প্রতিবেদন করবে ...
hugomg

আমি এখানে কিছু তথ্য পেয়েছি ... blog.azundris.com/archives/193-X-treme-pain-XKB-vs-XModMap.html
পাভেল Šimerda

উত্তর:


7

পৃথক কী ম্যাপিং কনফিগার করতে xmodmap ব্যবহার করা

এটি আমার নিজের গবেষণার ফলাফলগুলি লেখার সময়।

আমি ভেবেছিলাম যে xmodmap এ আমি অবশ্যই কিছু মিস করেছি এবং এটি খুব ভাল ডকুমেন্টেড নয় এবং লোকেরা বিভ্রান্ত হয়। তবে দেখা গেল যে XKB এবং xmodmap সম্পর্কিত X.Org নকশাটি কেবল বোকা।

এপিক ব্যর্থ: xmodmap

বিদ্যমান ম্যাপিংগুলিকে আপনার মূল কীবোর্ড লেআউটে প্রকৃতপক্ষে উপস্থিত থাকা পর্যন্ত আপনি xmodmap ব্যবহার করতে পারেন। প্রশ্নে বর্ণিত ক্ষেত্রে আপনি AltGr ব্যবহার করার জন্য কোনও কীগুলির আচরণ প্রসারিত করতে পারবেন না। আপনি ইতিমধ্যে AltGr ব্যবহার করা কী-কোডগুলির জন্য কেবলমাত্র AltGr কীওয়ার্ড পরিবর্তন করতে পারেন।

আরও দেখুন: http://blog.azundris.com/archives/193-X-treme-pain-XKB-vs-XModMap.html

কার্যতালিকা: মোড_সুইচ

এই কর্মসংস্থানটি @ নেড ed৪ দ্বারা উত্তরে বর্ণিত হয়েছে। আপনি remap করতে AltGrথেকে ISO_Level3_Shiftথেকে Mode_switch

পুনরায় তৈরির জন্য আমি নিম্নলিখিত কমান্ড লাইনটি সফলভাবে ব্যবহার করেছি AltGr

xmodmap -e 'keycode 108 = Mode_switch'

অসুবিধাটি হ'ল এটি আপনার বর্তমান কীবোর্ড লেআউটটি ভেঙে দেবে তবে আপনি xmodmapইতিমধ্যে উল্লিখিত @ নেড .৪ ব্যবহার করে একে একে সমস্ত ম্যাপিং পুনরায় তৈরি করতে পারবেন ।

কার্যতালিকা: কীবোর্ড বিন্যাসে পরিবর্তিত

আমি us(cz_sk_de)আমার কীবোর্ড লেআউট হিসাবে ব্যবহার করছি এবং আমি যে কীগুলি প্রসারিত করতে চাইছিলাম তার জন্য কনফিগারেশন যুক্ত করে এটি সংশোধন করার চেষ্টা করেছি।

key <AB08>  { [ comma, less, doublelowquotemark, leftdoublequotemark ] };
key <AB09>  { [ period, greater, ellipsis, rightdoublequotemark ] };

(বিভাগে xkb_symbols "cz_sk_de"এর /usr/share/X11/xkb/symbols/us)

পরিবর্তিত সংস্করণটি ব্যবহার করতে কেবল কীবোর্ড বিন্যাসটি পুনরায় সেট করুন।

setxkbmap 'us(cz_sk_de)'

এখন আপনি (1) টাইপ করতে পারেন চেক ও ইংরেজি উদ্ধৃতি চিহ্ন এবং সমন্বয় ব্যবহার উপবৃত্ত ,, ., Shiftএবং AltGrকী এবং / অথবা (2) ঐ ব্যবহার কীগুলি পুনরায় ম্যাপ xmodmapএখন যে তারা সংজ্ঞায়িত করা হয়।

মূল অসুবিধাটি হ'ল এটি setxkbmapকীবোর্ড লেআউটের জন্য স্বেচ্ছাসেবী অবস্থানগুলিকে সমর্থন করে না বলে আপনার হোম ডিরেক্টরি পরিবর্তে আপনাকে সিস্টেম কনফিগারেশনে লিখতে হবে।

উপসংহার

এটি X.Org এর ওভাররিঞ্জাইনার্ড এবং খারাপ ডিজাইনের একটি উদাহরণ বলে মনে হচ্ছে যেখানে একটি কী কোড এবং সংশোধনকারীদের সংমিশ্রণের মতো একটি তুচ্ছ জিনিসও সমস্যা হিসাবে দেখা দেয়। সরঞ্জামগুলি কোনও পার্শ্ব প্রতিক্রিয়া ছাড়াই কেবল ব্যবহারকারী কনফিগারেশনে স্বতন্ত্র কী ম্যাপিংগুলি পরিবর্তন করার কোনও যুক্তিসঙ্গত উপায় সরবরাহ করে বলে মনে হচ্ছে না।


"আপনি AltGr ব্যবহার করার জন্য কোনও কীগুলির আচরণ প্রসারিত করতে পারবেন না" - দেখে মনে হচ্ছে এটির পাশাপাশি সমস্যাটি ছিল! ধন্যবাদ।
hugomg

5

প্রথম পদক্ষেপ: AltGr ব্যবহারযোগ্য করুন

আমি জানতে পেরেছিলাম যে AltGr-Modised কীগুলি কেবলমাত্র আমার সিস্টেমে কাজ করে যদি আমিও AltGr-Key এর সাথে পুনরায় Mode_switchতৈরি করি তবে:

xmodmap -e "keycode 108 = Mode_switch Mode_switch Mode_switch Mode_switch"

আপনার যদি পৃথক কীবোর্ড থাকে তবে 108আপনার কোডটি আপনার সাথে প্রতিস্থাপনের প্রয়োজন হতে পারে , টাইপ করে চেক করুন

xmodmap -pke | grep Alt_R

তারপরে সেই নম্বরটি ব্যবহার করুন। (কীটি সাধারণত আমার পরিচিত Alt_Rসিস্টেমে কল করা হয়))

বিকল্পভাবে, Alt_R এখনও অন্য কিছুতে নিযুক্ত না করা থাকলে এটি কাজ করতে পারে:

xmodmap -e "keysym Alt_R = Mode_switch Mode_switch Mode_switch Mode_switch"

আপনার AltGr পরিবর্তনকারী এখন আপনার সংশোধক তালিকার মধ্যে 3 অবস্থান (শিফট: 4 সহ) পরিবেশন করবে।

দ্বিতীয় ধাপ: প্রয়োজনীয় হিসাবে কী বরাদ্দ করুন

আপনার ইচ্ছার যে কোনও কী-বোর্ডের জন্য আপনি AltGr-ভেরিয়েন্টগুলি বরাদ্দ করতে পারেন। আপনার যদি অন্যান্য কী থাকে যা এখন পছন্দসই কোডের সাথে সামঞ্জস্য নয়, আপনার অন্য কী (যেমন আপনি পরীক্ষা করেছেন) এর মতো আপনাকে এগুলি পুনরায় নিয়োগ করতে হবে।

তৃতীয় পদক্ষেপ: এটিকে স্ক্রিপ্টে রূপান্তর করুন

এখন আপনার xmodmapকমান্ডগুলি নিয়ে যান এবং আপনার ডিফল্ট কীবোর্ডে সমস্ত (তবে কেবল) পরিবর্তনগুলি একটি ফাইলে লিখুন - এটি একটি সম্পূর্ণ কীম্যাপ লোড করার চেয়ে দ্রুত। প্রতিটি লগইনের পরে এবং যখনই কোনও প্রক্রিয়া দ্বারা কী ম্যাপটি পুনরায় সেট হয়ে যায় তখন এই স্ক্রিপ্টটি শুরু করুন।

সোলারিস, আইআরআইএক্স এবং লিনাক্সের অধীনে আমি কয়েক বছর ধরে এটি নিয়ে অনেক পরীক্ষা-নিরীক্ষা করেছি এবং আমার জ্ঞানের কাছে এটিই আলটগ্রির কাজ করার একমাত্র সমাধান - এবং এটি আমার জন্য ২০ বছরেরও বেশি সময় ধরে ভাল কাজ করেছে।


1
এটির সাহায্যে ডান উইন্ডো কী "1" এর পরিবর্তে "3" হিসাবে অভিনয় শুরু করে। যাইহোক, এখন বিদ্যমান সমস্ত Altgr সংশোধক কাজ করা বন্ধ করে দিয়েছে (আমার ধারণা তাদের কাজ করার জন্য "3" এর পরিবর্তে "5" হওয়া দরকার ছিল?)
hugomg

এটি চেষ্টা করার জন্য ধন্যবাদ। দয়া করে পোস্ট করুন xmodmap -pmএবং xmodmap -pke | grep -w SOMECHANGEDKEYএই পরিস্থিতিতে, একটি কীটির জন্য যা আর কাজ করে না।
নেড 64

(তারপরে xmodmapআপনার আউটপুট অনুযায়ী আমাদের নতুন সংশোধক যুক্ত করতে হবে )
নেড 64

xmodmap -pke | grep Alt_Rআমার সিস্টেমে কোনও ফল দেয় না। আমার সিস্টেমটি জেন্টো স্থিতিশীল সহ লেনোভো থিংকপ্যাড এক্স 230। আমিও সঙ্গে চেষ্টা grep -iনিষ্ফল।
পাভেল আইমর্দা

আমি চেষ্টা করেছিলাম এবং সমস্যাটি হ'ল চিঠিগুলি us(cz_sk_de)আমার জন্য কাজ করা বন্ধ করে দেওয়া। সুতরাং এই উত্তরটি আমার পক্ষে কাজ করে না এবং অন্য অনেকের জন্যও কাজ করে না।
পাভেল আইমারদা

1

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

আপনি চালাতে পারেন

xmodmap -e "keycode 108 = Mode_switch"

এক্সটামোডম্যাপের সাহায্যে আল্টিজিআরটিকে পুনরায় ফিরিয়ে আনতে কোনও কীকোডের তৃতীয় অ্যাসাইনমেন্ট আউটপুট হবে যখন আপনি এখন AltGR টিপবেন, তবে এটি সম্পূর্ণ কীবোর্ড বিন্যাসটি পুরোপুরি ভেঙে যাবে কারণ কোনও AltGR কী বাইন্ডিংস AltGR কী দিয়ে আর কাজ করবে না।

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

এর আদর্শ কীটি সুপার_আর যা আল্টজির ঠিক পাশেই, এর কীকোড 134 However তবে সমস্ত কীবোর্ডগুলি সেগুলিতে নেই এবং আমার ক্ষেত্রে ল্যাপটপে আমার এটিও নেই, তাই আমি এটিকে শেষের সাথে আবদ্ধ করার সিদ্ধান্ত নিয়েছি অবশিষ্ট কীটি যা আমি ব্যবহারিকভাবে কখনও ব্যবহার করি না, রাইট কন্ট্রোল।

xmodmap -e "keycode 105 = Mode_switch"

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

আমি মনে করি এটি একটি নোংরা ফিক্স।

দ্বিতীয় কর্মক্ষেত্রটি বের করতে কিছুটা সময় নিয়েছে। Sxhkd (xbindkeys বিকল্প) ব্যবহার করে

আপনি যদি এটি ~ / .config / sxhkd / sxhkdrc এ যুক্ত করেন :

~ISO_Level3_Shift
    xdotool key Mode_switch

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

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