ক্যাপস-লক টগল এফেক্টটি কীভাবে পুনরায় তৈরি বা অক্ষম না করে প্রতিরোধ করবেন?


22

আমার একটি এক্স 11 প্রোগ্রাম রয়েছে যা ক্যাপস-লকটি ধরে এবং এটি ব্যবহার করে। সমস্যাটি হল, আমি নিয়মিত ক্যাপস-লক টগলিংটি অক্ষম করতে চাই, তবে এটি করার ফলে কীটি অক্ষম হবে বলে মনে হচ্ছে।

সুতরাং এক্স 11 কোনও ক্যাপস-লক কী-টিপসটির জন্য যা পায়, তা অবশ্যই পাওয়া উচিত (কীটি অক্ষম করে না, বা এটি অন্য কোনও কীতে পুনরায় তৈরি করা হয় না), তবে কী কী টিপসটিকে ক্যাপস-টগল-এ অনুবাদ না করে (যা কার্নেল স্তরে থাকতে পারে)? )।

আমি স্ক্যানকোড পরিবর্তন করার চেষ্টা করেছি, তবে এটি কীটি পুনরায় সরিয়ে ফেলল। আমি ক্যাপস্লক এন্ট্রি xmodmapখুব সাথে সরিয়েছি , কিন্তু এটি ক্যাপগুলি অক্ষম করে।

কীভাবে আমি কার্নেলটিকে ক্যাপস-কীটি উপেক্ষা করতে বলতে পারি (এটির নিয়মিত কার্যকারিতাটি), তবে তবুও বার্তাটি এক্স এর কাছে দিয়ে যায়?

আরও কিছু বিশদ যুক্ত করতে:

আমি যে প্রোগ্রামটি চালানোর চেষ্টা করছি তা হ'ল হিউম্যানাইজড 'এনসো'। যখন কোনও কী নেই তখন আমি ত্রুটিটি পাই "CRITICAL: root: quasimode key সন্ধান করতে পারলাম না"। যখন কোনও ত্রুটি নেই, আমি ক্যাপগুলি সহ এনসো ব্যবহার করতে পারি, তবে এসোএস এ এখনও পেতে সক্ষম হওয়ায় কীভাবে ক্যাপগুলি কার্যকারিতা অক্ষম করতে হয় তা স্যুফার খুঁজে পাইনি।


আপনি কী চেষ্টা করেছেন তার বিবরণ প্রদান করুন, যেমন সঠিক xmodmap এক্সপ্রেশন। আপনি কী করবেন এবং এটি কী ভুল করেছেন তা আপনি জানেন কিনা বা আপনি এটি সঠিকভাবে করেছেন কিনা তা অন্য কোনও কারণে অকার্যকর হয়েছে কিনা তা বিশদ ছাড়াই আমরা বলতে পারি না। এছাড়াও আপনি যে ওএসটি ব্যবহার করছেন তা আমাদের ওএস দিন কারণ কারও কারও কাছে এক্সক্লু সার্ভারের স্তরের নীচে ঘটে কীকোড প্রক্রিয়াজাতকরণ রয়েছে।
কাইল জোন্স

@ কাইল আমি "লক = Caps_Lock" সরানোর চেষ্টা করেছি, এবং তারপরে "কীকোড 66 =" (যা CapsLock এ ম্যাপ করা হয়েছিল)। আমি একটি 64 বিট মেশিনে 12.10 উবুন্টু চালাচ্ছি।
Chris2048

আর একটি সম্ভাব্যতা অন্য কীতে পুনরায় তৈরি করা। setxkbmap -option ctrl:nocapsথেকে remaps Control_Lউদাহরণস্বরূপ,।
ক্রিস ডাউন

বলছেন আপনি ঠিক আছেন আপনি যদি ক্যাপস-লকটি পুনরায় পুনরুদ্ধারের একটি উপায় দিতে পারি যদি আপনি নিয়ন্ত্রণ কীটি বলতে চান বা এটি কি আপনার পরে নেই? যেহেতু এটি দাঁড়িয়েছে এই প্রশ্নটি বিভ্রান্তিকর, তাই আপনি এখন পর্যন্ত কী চেষ্টা করেছেন সে প্রশ্নের সুনির্দিষ্ট বিবরণ যোগ করলে এটি সত্যিই অনেক দীর্ঘ যেতে পারে।
slm

ঠিক তেমনি আমরা খুব পরিষ্কার করছি, উবুন্টু ১২.১০-তে একটি বৈশিষ্ট্য রয়েছে যেখানে আপনি ক্যাপস-লক একটি অতিরিক্ত নিয়ন্ত্রণ কী তৈরি করতে পারেন। আপনি যখন "রিম্যাপিং" বলছেন তখন কি আপনি এইটাই ভাবছেন? এখানে কথোপকথনের স্ক্রিনশটটি রয়েছে: flickr.com/photos/11708996@N00/3010939023
slm

উত্তর:


28

আমি মনে করি Capslockকীটির টগলিং নিষ্ক্রিয় করার জন্য তবে কীটি সম্পূর্ণ একসাথে অক্ষম না করার জন্য, বা কীবোর্ডের অন্য কোনও কীতে পুনরায় সেট করার জন্য আমার কাছে একটি কৌশল রয়েছে ।

আপনি যদি আদেশটি ব্যবহার করেন:

setxkbmap -option caps:none

কীবোর্ডটি আর টগল করবে না। আমি আমার ল্যাপটপে ফেডোরা 14 চালাওয়ার বিষয়টি নিশ্চিত করেছি, LED আর জ্বলবে না, এবং স্বাভাবিক Capslockকার্যকারিতা চলে যায়।

তবে xev ব্যবহার করে এখনও বোঝা যাচ্ছে যে কীটি টিপছে:

$ xev
...
...
KeyPress event, serial 35, synthetic NO, window 0x6800001,
    root 0xb1, subw 0x0, time 261504852, (167,-15), root:(353,268),
    state 0x10, keycode 66 (keysym 0xffffff, VoidSymbol), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 35, synthetic NO, window 0x6800001,
    root 0xb1, subw 0x0, time 261504971, (167,-15), root:(353,268),
    state 0x10, keycode 66 (keysym 0xffffff, VoidSymbol), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False
    ...

তাই অন্যান্য চাপ প্রয়োগকারী ইভেন্টগুলিকে বাছাইয়ের জন্য কীটি চাপ দেওয়া হচ্ছে এখনও অক্ষত রয়েছে।

setxkbmap

ফাইলটিতে /usr/share/X11/xkb/rules/xorg.lstআপনি কী বিকল্পগুলি দিতে পারেন তার সম্পূর্ণ তালিকা রয়েছে setxkbmap

"ক্যাপ" এর জন্য এই ফাইলটির মাধ্যমে গ্রিপিং আমি এই লাইনটি লক্ষ্য করেছি:

caps:none            CapsLock is disabled

এই ফাইলটিতে অন্যান্য মান রয়েছে তাই যদি এটি না হয় তবে আপনি সম্ভবত বিকল্প বিকল্পগুলির মধ্যে একটির পরিবর্তে স্যুট করতে পারেন।

$ grep cap /usr/share/X11/xkb/rules/xorg.lst
  grp:caps_switch      CapsLock (while pressed), Alt+CapsLock does the original capslock action
  grp:caps_toggle      CapsLock
  grp:shift_caps_toggle Shift+CapsLock
  grp:shift_caps_switch CapsLock (to first layout), Shift+CapsLock (to last layout)
  grp:alt_caps_toggle  Alt+CapsLock
  lv3:caps_switch      CapsLock
  lv3:caps_switch_latch CapsLock (chooses 3rd level, latches when pressed together with another 3rd-level-chooser)
  ctrl:nocaps          Make CapsLock an additional Ctrl
  ctrl:swapcaps        Swap Ctrl and CapsLock
  grp_led:caps         CapsLock
  caps                 CapsLock key behavior
  caps:internal        CapsLock uses internal capitalization. Shift "pauses" CapsLock
  caps:internal_nocancel CapsLock uses internal capitalization. Shift doesn't affect CapsLock
  caps:shift           CapsLock acts as Shift with locking. Shift "pauses" CapsLock
  caps:shift_nocancel  CapsLock acts as Shift with locking. Shift doesn't affect CapsLock
  caps:capslock        CapsLock toggles normal capitalization of alphabetic characters
  caps:numlock         Make CapsLock an additional NumLock
  caps:swapescape      Swap ESC and CapsLock
  caps:escape          Make CapsLock an additional ESC
  caps:backspace       Make CapsLock an additional Backspace
  caps:super           Make CapsLock an additional Super
  caps:hyper           Make CapsLock an additional Hyper
  caps:shiftlock       CapsLock toggles Shift so all keys are affected
  caps:none            CapsLock is disabled
  compose:caps         CapsLock
  shift:breaks_caps    Shift cancels CapsLock
  shift:both_capslock  Both Shift-Keys together toggle CapsLock
  shift:both_capslock_cancel Both Shift-Keys together activate CapsLock, one Shift-Key deactivates

তথ্যসূত্র


5
যদি আপনি দুর্ঘটনাক্রমে ক্যাপসলকটি দিয়ে কমান্ডটি চালনা করেন তবে আপনি চালিয়ে xkbmap পুনরায় সেট করতে পারেন setxkbmap -option ""
নেমো

এটি এক্সেভে প্রদর্শিত হয়, তবে ভালভ সোর্স 2 ইঞ্জিনে সত্যই কাজ করে না।
ভেলকান

1

আপনি যদি কীটিটির Caps Lockস্বাভাবিক প্রভাবটি দেখতে না চান Lockতবে Caps_Lockকীসিমটি ধরে রেখে আপনি পরিবর্তনটি বন্ধ করতে পারেন ।

xmodmap -e 'clear Lock'

এটি ক্যাপসলক অক্ষম বলে মনে হচ্ছে না।
Chris2048

@ Chris2048 আমার জন্য কাজ করে ™। এটি কিছু এক্সকেবি সেটিংসের সাথে বা কিছু অ্যাপ্লিকেশনগুলির সাথে বেমানান থাকতে পারে (অ্যাপ্লিকেশনগুলি তাদের নিজস্ব ক্যাপস লক প্রসেসিং করে, তাদের বেশিরভাগ একই লাইব্রেরির ফাংশন ব্যবহার করে তবে ব্যতিক্রমগুলি রয়েছে)।
গিলস 'অসন্তুষ্ট হওয়া বন্ধ করুন'

0

এটি অন্য প্রশ্নের জন্য আমি যে উত্তর দিয়েছি তার সাথে এটি একই রকম । এক্সকেবি কোডের এই স্নিপেটটি কৌশলটি করা উচিত।

partial modifier_keys
xkb_symbols "capsoff" {
    key <CAPS> {
        type[Group1] = "ONE_LEVEL",
        symbols[Group1] = [ Caps_Lock ],
        actions[Group1] = [ NoAction() ]
    };
};

এই কোথায় যেতে হবে? আমি এই ধরণের স্নিপেটগুলি 10 মিনিটের জন্য এটি সন্ধান না করে দেখছি। এটি কি আরও সম্পূর্ণ ফাইলের অংশ হতে পারে বা এটি একা দাঁড়িয়ে ডিফল্ট কনফিগারেশনে প্রয়োগ করতে পারে?
নিকানা রেক্লাওয়াইকস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.