এক্সবিন্দকিগুলি সঠিকভাবে কাজ করবে না


10

আমার কিছুটা সমস্যা আছে আমি আমার আগের সিস্টেম থেকে কিছু হটকিগুলি পুনরায় তৈরি করতে চেয়েছিলাম তবে আমি এটির সাথে সঠিকভাবে কাজ করতে পারি না xbindkeys

xbindkeys সংমিশ্রণটি সনাক্ত করে তবে কোনওভাবে কমান্ডটি ট্রিগার করে না।

আমি যদি কমান্ডটি ব্যবহার করি

xdotool key braceleft

এটি {কনসোলে সঠিক সাইনটি আউটপুট করে। তবে আমি যদি xbindkeys মধ্যে একই কমান্ডটি ব্যবহার করি তবে কিছুই হয় না। যদি আমি কমান্ডটি firefoxএটির সাথে প্রতিস্থাপন করি তবে এটি সঠিকভাবে কাজ করে এবং ফায়ারফক্স খোলে, তাই আমি অনুমান করি xbindkeysকাজ করে।

আমি নিম্নলিখিতগুলি অর্জন করতে চাই:

আমি {সক্রিয় উইন্ডোতে Alt_R+ 7বা Alt_Left+ Ctrl+ দিয়ে অক্ষরটি টাইপ করতে চাই 7যাতে আমি উভয়ই ব্যবহার করতে পারি। আমি জানি Alt_R(AltGr) সঠিক উপায় তবে জার্মান কীবোর্ডগুলিতে AltGr(Alt_R) কী দিয়ে ব্রেসেলফিটটি টাইপ করা কোনওরকম শক্ত তাই এর পরিবর্তে আমাকে Alt_L+ Control+ 7ব্যবহার করতে হবে (যেমন আমার আগের সিস্টেমে ব্যবহৃত হত)। আমি একরকম এটি 12.04 এ সঠিকভাবে কাজ করতে পেরেছি তবে 14.04 এ এটি কাজ করতে পারি না।

কোন পরামর্শ? আমি বেশ কয়েকটি কমান্ড চেষ্টা করেছিলাম। এঁরা সকলেই কনসোলে কাজ করেছেন তবে এক্সবাইন্ডকি কর্তৃক মৃত্যুদণ্ড কার্যকর করার সময় তাদের কেউই কাজ করেননি

xdotool type '{'
xdotool key braceleft
xdotool key ISO_Level3_Shift+7
xvkbd -xsendevent -text '{'
xvkbd -xsendevent -text '\[Alt_R]+7'

এটি আমার কনফিগারেশন, যা কাজ করবে না

"xdotool key braceleft"
Control+Alt + 7

তবে, এটি কাজ করে:

"firefox"
Control+Alt + 7

সমাধান সম্পাদনা

আমি আরও কয়েকটি জিনিস চেষ্টা করার সময় আমি লক্ষ্য করেছি যে এক্সডটুল খুব শীঘ্রই ট্রিগার হতে চলেছে। আমি কনফিগারটি এইভাবে পরিবর্তন করেছি:

"sleep 1 && xdotool type --delay 15 '{'"
Control+Alt + 7

এখন এটি সক্রিয় উইন্ডোতে সঠিক {চিহ্নটি প্রেরণ করে। এখন আর একমাত্র জিনিসটি নিদ্রা হ্রাস করা এবং একটি কার্যক্ষম মানতে দেরি করা, কারণ 1 সেকেন্ডটি কিছুটা দীর্ঘই বলে মনে হচ্ছে :)

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

সমস্ত অসুবিধাজনিত জার্মান AltGr অক্ষরের জন্য এটি আমার বর্তমান কনফিগারেশন

"sleep 0.2 && xdotool type --delay 15 '{'"
Control+Alt + 7

"sleep 0.2 && xdotool key --delay 15 at"
Control+Alt + q

"sleep 0.2 && xdotool type --delay 15 '€'"
Control+Alt + e

"sleep 0.2 && xdotool type --delay 15 '['"
Control+Alt + 8

"sleep 0.2 && xdotool type --delay 15 ']'"
Control+Alt + 9

"sleep 0.2 && xdotool type --delay 15 '}'"
Control+Alt + 0

"sleep 0.2 && xdotool type --delay 15 '~'"
Control+Alt + plus

তবে আপনি যদি একাধিক @ চিহ্নগুলি টাইপ করতে চান (উদাহরণস্বরূপ) আপনাকে সিআরটিএল + আল্ট + কি উদ্দেশ্য হিসাবে চাপতে হবে তবে সমস্ত কী ছেড়ে দিন এবং তারপরে আবার টিপুন। এটি যাইহোক, AltGr এর পরিবর্তে কন্ট্রোল + অল্ট বিকল্প না রাখার চেয়ে অনেক ভাল তবে এটি আমার মতো কার্যকর হিসাবে কার্যকর নয়। সম্ভবত আমি এরও সমাধান খুঁজে পাব।


হুঁ, এটি একটি ভাল সন্ধান! আপনার নিজের প্রশ্নের উত্তর দেওয়ার জন্য কোনও রেপ সীমা নেই, কেবল একটি সময়সীমা । আপনি যদি ফিরে এসে এই উত্তরটি ২৪ ঘন্টার মধ্যে পোস্ট করতে পারেন তবে দুর্দান্ত হবে। আপনি যদি এটি যত্ন নেন তবে এটি আপনাকে কিছু প্রতিনিধিও দেবে। আপনি যদি সত্যিই চিন্তা না করেন তবে আমি আপনার সমাধানটি কয়েক দিনের মধ্যে আমার উত্তরটিতে অন্তর্ভুক্ত করব।
টেরডন

xdotoolকী চেপে ধরে কীভাবে কীভাবে পুনরাবৃত্তি করবেন তা কী কখনও খুঁজে পেয়েছেন ?
ফারহহার

সত্যি কথা বলতে কি আমি এখনই চেষ্টা করে দেখিনি। আমি সফলভাবে লিগ অফ লেজেন্ডসকে 60fps দিয়ে মসৃণভাবে চালানোর জন্য পেয়েছি (12.04 এ এটি শুরু হবে না) যাতে আমি যখন বাড়িতে থাকি, পুরো সময়টাই খেলছিলাম।
ইলো

আমি কয়েক দিন ধরে কাজ করে কিছু শর্টকাট পাইনি। সমাধানটি সহজ ছিল: আমার উবুন্টু ডেস্কটপ xbindkeys এর আগে শর্টকাট পেয়েছিল। কেবল কেবোর্ড সেটিংস সম্পাদনা করুন, ক্রিয়া সহ একটি নতুন কাস্টম শর্টকাট যুক্ত করুনxdotool getactivewindow key Home
বার্নিনলিয়ো

দেখে মনে হচ্ছে আপনি কোনও জার্মান কীবোর্ড বিন্যাস অনুকরণ করার চেষ্টা করছেন। আপনি কেবল সিস্টেম সেটিংসে আপনার কীবোর্ড বিন্যাসটি স্যুইচ করবেন না কেন?
রাপ্তি

উত্তর:


4

xdotoolরিয়েল কীগুলি টিপতে থাকাকালীন সমস্যাটি হল জর্গ বারবার কী কী চাপার ইভেন্টগুলি পাঠায় ( xevআউটপুট দেখুন)। এটি কাটিয়ে উঠতে আপনাকে অস্থায়ীভাবে পুনরাবৃত্তি বৈশিষ্ট্যটি বন্ধ করতে হবে, তারপরে নীচে থাকা কীতে কী-রিলেজ ইভেন্ট তৈরি করা উচিত।

পরিবর্তে

"sleep 0.2 && xdotool type --delay 15 '{'"
  Control+Alt + 7

নিম্নলিখিত চেষ্টা করুন:

"xset r off; xdotool keyup --window 0 7 type --clearmodifiers --window 0 '{'; xset r on"
  Control+Alt + 7

আপনার জবাবের জন্য আপনাকে ধন্যবাদ, তবে আমি এখন XFCE এর সাথে মাঞ্জারো ব্যবহার করছি এবং সেখানে এটি বাক্সটির বাইরে চলেছে, তাই ঘুমের দরকার নেই।
ইলো 15'15

@ ইলো, এই উত্তরগুলি কেবল আপনার জন্য নয়, তাই সর্বজনীন সমাধানটি প্রশংসিত হয়।
মিডেনোক

3

আমি আরও কয়েকটি জিনিস চেষ্টা করার সময় আমি লক্ষ্য করেছি যে এক্সডটুল খুব শীঘ্রই ট্রিগার হতে চলেছে। আমি কনফিগারটি এইভাবে পরিবর্তন করেছি:

"sleep 1 && xdotool type --delay 15 '{'"
Control+Alt + 7

এখন এটি সক্রিয় উইন্ডোতে সঠিক {চিহ্নটি প্রেরণ করে। এখন আর একমাত্র জিনিসটি নিদ্রা হ্রাস করা এবং একটি কার্যক্ষম মানতে দেরি করা, কারণ 1 সেকেন্ডটি কিছুটা দীর্ঘই বলে মনে হচ্ছে :)

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

সমস্ত অসুবিধাজনিত জার্মান AltGr অক্ষরের জন্য এটি আমার বর্তমান কনফিগারেশন

"sleep 0.2 && xdotool type --delay 15 '{'"
Control+Alt + 7

"sleep 0.2 && xdotool key --delay 15 at"
Control+Alt + q

"sleep 0.2 && xdotool type --delay 15 '€'"
Control+Alt + e

"sleep 0.2 && xdotool type --delay 15 '['"
Control+Alt + 8

"sleep 0.2 && xdotool type --delay 15 ']'"
Control+Alt + 9

"sleep 0.2 && xdotool type --delay 15 '}'"
Control+Alt + 0

"sleep 0.2 && xdotool type --delay 15 '~'"
Control+Alt + plus

তবে আপনি যদি একাধিক @ চিহ্নগুলি টাইপ করতে চান (উদাহরণস্বরূপ) আপনাকে সিআরটিএল + আল্ট + কি উদ্দেশ্য হিসাবে চাপতে হবে তবে সমস্ত কী ছেড়ে দিন এবং তারপরে আবার টিপুন। এটি যাইহোক, AltGr এর পরিবর্তে কন্ট্রোল + অল্ট বিকল্প না রাখার চেয়ে অনেক ভাল তবে এটি আমার মতো কার্যকর হিসাবে কার্যকর নয়। সম্ভবত আমি এরও সমাধান খুঁজে পাব।


এটি খুব আশ্চর্যের বিষয়, আপনি খুশী হয়ে কাজ করেছেন বলে আমি আনন্দিত কিন্তু কেন এটি হচ্ছে তা সত্যি বুঝতে পারি না। যাইহোক, এটি পোস্ট করতে সময় দেওয়ার জন্য ধন্যবাদ, এটি একই ব্যক্তির সাথে পরবর্তী ব্যক্তিকে সহায়তা করতে পারে।
টেরডন

পরিবর্তে sleep, আমি মনে করি আপনি + releaseকী কম্বোগুলিতে যুক্ত করতে চান । xbindkeysএটি কমান্ডটি ট্রিগার করার আগে কীটি প্রকাশ না হওয়া পর্যন্ত অপেক্ষা করতে বলবে ।
wjandrea

3

অনুরূপ প্রশ্নে নথিবদ্ধ হিসাবে ( কেন এই এক্সটি কমান্ডগুলি টার্মিনালে কাজ করে, তবে এক্সবিন্দকিগুলির সাথে আবদ্ধ না হলে? ), আপনি মুক্তিরxbindkeys ইভেন্টগুলি (কী আপ) ট্রিগার করতে চাইতে পারেন :

"xdotool key braceleft"
   Release+Control+Alt + 7

এইভাবে, শর্টকাটের জন্য ব্যবহৃত কীগুলি এবং প্রেরিতদের মধ্যে কোনও বিরোধ নেই।


2

আমি সম্প্রতি এই সমস্যাটি পেয়েছি, যেখানে আমি মিডিয়া প্লে / পজ (এক্সএফ 86 অডিও প্লে) কীটি সিআরটিএল + জি ব্যবহার করে সিমুলেট করার চেষ্টা করেছি some কিছু গবেষণার পরে, এটি প্রদর্শিত হয়েছিল কেবল কন্ট্রোলটি বাতিল করতে হবে না , তবে জি কী (যা এটি) কি sleep 0.1দিয়ে শুরু করতে দেরী প্রয়োজন )। যদি আমি keyupএক্সডটুলের পাশাপাশি-ক্যালারোমডিফায়ার সুইচ ব্যবহার করে এই কীগুলি দুটি বাতিল করে দিই তবে এটি কার্যকর হয়। আমার .xbindkeys.rc ফাইলটিতে এটি আমার নতুন আদেশ command

"xdotool keyup g key --clearmodifiers XF86AudioPlay"
Control + g

1

এটি কেন কাজ করে না তা নিশ্চিত নয় xbindkeys, আমি অনুমান করছি যে আপনাকে লিখতে উইন্ডোটি নির্দিষ্ট করতে হবে। একটি workaround হিসাবে, আপনি xvkbdপরিবর্তে ব্যবহার করতে পারেন ।

  1. ইনস্টল করুন xvkbd

    sudo apt-get install xvkbd
    
  2. এটি আপনার .xbindkeysrcফাইলে যুক্ত করুন

    "xvkbd -text '{'"
    Control+Alt + 7
    

এটা কাজ করা উচিত।


মন্তব্য

কোনও কারণে, আমার মেশিনে, xvkbdআমার প্রধান এক (ইউএস ইংলিশ) এর পরিবর্তে আমার এক মাধ্যমিক বিন্যাস (স্প্যানিশ) ব্যবহার করছে এবং এটি {প্রকৃতপক্ষে মুদ্রণের কারণ হয়ে দাঁড়িয়েছে "। আপনার যদি এই সমস্যাটিও {থাকে তবে লেআউটটি কী ব্যবহৃত তার সাথে কী মিলছে তা খুঁজে পেতে কেবল খানিকটা ঘুরে দেখুন । বিকল্পভাবে, আপনি আরও গভীর খনন করতে পারেন এবং xvkbdএটির localeসেটিংসটি কোথা থেকে আসে তা নির্ধারণ করতে পারেন।


এখনও কাজ করে না। এমনকি সঠিক অক্ষর সহ। যদি আমি কনসোলে xvkbd -text 'আপেল' লিখি তবে এটি আপেল প্রিন্ট করে, আমি যদি এটি এক্সবিন্ডকিসের মাধ্যমে চালিত করি তবে কিছুই হয় না। যদি আমি xbindkeys-v এর দিকে লক্ষ্য করি তবে এটি দেখতে পাবে যে কমান্ডটি চাপানো হয়েছে
Ello

আমি এটি কাজ করেছিলাম, তবে অন্য কিছু
ইলো

@ ইলো দুর্দান্ত! আপনি কি ব্যবহার করেছেন? এটা আমার জন্য ভাল কাজ করেছিল. আপনি কি নিজের সমাধান ব্যাখ্যা করে একটি উত্তর পোস্ট করতে এবং এটি গ্রহণ করতে পারেন?
টেরডন

আমি আমার পোস্ট পরিবর্তন করেছি, খ্যাতির অভাবে আমি নিজের প্রশ্নের উত্তর দিতে পারি না can't দুঃখিত
Ello
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.