আমি কীভাবে আমার লগিটেক এমএক্স 400 এ অনুসন্ধান বোতামটি পুনর্নির্মাণ করব?


10

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

FocusOut event, serial 34, synthetic NO, window 0x3c00001,
    mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 34, synthetic NO, window 0x3c00001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 34, synthetic NO, window 0x0,
    keys:  4294967275 0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

PropertyNotify event, serial 34, synthetic NO, window 0x3c00001,
    atom 0x1d7 (_NET_WM_ICON_GEOMETRY), time 23653064, state PropertyNewValue

কোনও বাটন প্রেস নেই। দেখে মনে হচ্ছে এক্স ইভেন্টের নীচের স্তরে অনুসন্ধান বোতামটি আটকানো হয়েছে। কোন ধারনা? আমার উবুন্টু 12.04 আছে। উবুন্টু আসলে ক্লিকটি দেখে এবং একটি অনুসন্ধান ডায়ালগ তৈরি করে, তবে xev তে ক্লিকের কোনও চিহ্ন পাওয়া যায়নি।

সম্পাদন করা

আমি এক্সমোডম্যাপের সাথে সরবরাহিত পদ্ধতিটি পরীক্ষা করেছি। আমার .Xmodmapএখন নিম্নলিখিত লাইন রয়েছে

keycode 225 = XF86Paste NoSymbol XF86Paste``

চলমান xmodmap ~/.Xmodmapএখন বোতাম পুরোপুরি অক্ষম করে (বা কমপক্ষে এটি টিপে কোনও ফল পাই না)। আমি চেষ্টা করেছিলাম xmodmap -pkeএবং এটি প্রিন্ট করে:

keycode 225 = XF86Paste NoSymbol XF86Paste NoSymbol XF86Paste

যথেষ্ট অদ্ভুত। অন্যান্য সমস্ত এন্ট্রি একইভাবে ফর্ম্যাট করা হয়। আমি সমাধানের কাছাকাছি, তবে এখনও অদ্ভুত কিছু আছে।

সম্পাদনা 2

আমি জিনপুট চালানোর চেষ্টা করেছি (কখনও এই আদেশের কথা শুনিনি amazing আশ্চর্যজনক স্টাফ)। লজিটেকের জন্য দুটি প্রবেশিকা রয়েছে। তাদের প্রত্যেকের তালিকা তৈরির ফলাফল এখানে রয়েছে (আইডি 9 এবং 10)

Logitech USB Receiver                       id=9    [slave  pointer  (2)]
    Reporting 7 classes:
        Class originated from: 9. Type: XIButtonClass
        Buttons supported: 24
        Button labels: "Button Left" "Button Middle" "Button Right" "Button Wheel Up" "Button Wheel Down" "Button Horiz Wheel Left" "Button Horiz Wheel Right" "Button Side" "Button Extra" "Button Forward" "Button Back" "Button Task" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown"
        Button state:
        Class originated from: 9. Type: XIValuatorClass
        Detail for Valuator 0:
          Label: Rel X
          Range: -1.000000 - -1.000000
          Resolution: 1 units/m
          Mode: relative
        Class originated from: 9. Type: XIValuatorClass
        Detail for Valuator 1:
          Label: Rel Y
          Range: -1.000000 - -1.000000
          Resolution: 1 units/m
          Mode: relative
        Class originated from: 9. Type: XIValuatorClass
        Detail for Valuator 2:
          Label: Rel Horiz Wheel
          Range: -1.000000 - -1.000000
          Resolution: 1 units/m
          Mode: relative
        Class originated from: 9. Type: XIValuatorClass
        Detail for Valuator 3:
          Label: Rel Vert Wheel
          Range: -1.000000 - -1.000000
          Resolution: 1 units/m
          Mode: relative
        Class originated from: 9. Type: XIScrollClass
        Scroll info for Valuator 2
          type: 2 (horizontal)
          increment: 1.000000
          flags: 0x0
        Class originated from: 9. Type: XIScrollClass
        Scroll info for Valuator 3
          type: 1 (vertical)
          increment: -1.000000
          flags: 0x2 ( preferred )


Logitech USB Receiver                       id=10   [slave  pointer  (2)]
    Reporting 6 classes:
        Class originated from: 10. Type: XIButtonClass
        Buttons supported: 7
        Button labels: "Button 0" "Button Unknown" "Button Unknown" "Button Wheel Up" "Button Wheel Down" "Button Horiz Wheel Left" "Button Horiz Wheel Right"
        Button state:
        Class originated from: 10. Type: XIKeyClass
        Keycodes supported: 248
        Class originated from: 10. Type: XIValuatorClass
        Detail for Valuator 0:
          Label: Rel X
          Range: -1.000000 - -1.000000
          Resolution: 1 units/m
          Mode: relative
        Class originated from: 10. Type: XIValuatorClass
        Detail for Valuator 1:
          Label: Rel Y
          Range: -1.000000 - -1.000000
          Resolution: 1 units/m
          Mode: relative
        Class originated from: 10. Type: XIValuatorClass
        Detail for Valuator 2:
          Label: Rel Horiz Wheel
          Range: -1.000000 - -1.000000
          Resolution: 1 units/m
          Mode: relative
        Class originated from: 10. Type: XIScrollClass
        Scroll info for Valuator 2
          type: 2 (horizontal)
          increment: 1.000000
          flags: 0x0

ডিভাইস 9 পরীক্ষা করে বোতামটি দিয়ে কিছুই করা হয় না। পরিবর্তে 10 টি ডিভাইসটি পরীক্ষা করে কাজ করে এবং আমি ক্লিক করার সাথে সাথে এটি আউটপুট

$ xinput test 10
key press   225 
key release 225 
key press   225 
key release 225 
key press   225 
key release 225

সুতরাং এটি প্রদর্শিত হয় যে মাউস এই বিষয়ে একটি কীবোর্ড হিসাবে কাজ করে, তবে কোনও কারণে, xmodmap কী 225 কী পাওয়ার পরে কিছু করে না।

** সম্পাদনা করুন **

আমি নিশ্চিত করতে পারি যে আমি প্রত্যেকবার বোতামটি ক্লিক করলে keycode 225 = aমুদ্রণ যুক্ত করা হয় a। সুতরাং সমস্যাটি XF86Paste আসলে কীভাবে পরিচালিত হয় তার সাথে সম্পর্কিত বলে মনে হচ্ছে। আমি এটি প্রেরণ করছি, কিন্তু এটি পাস হয়নি।


আপনি xbindkeysঠিক শুরু করার সময় চালানোর জন্য সেট করেছেন? আপনি কি এটি অক্ষম করে আবার চেষ্টা করতে পারেন?
শেঠ

@iSeth: xbindkeys মেরেছে। আবার চেষ্টা করলাম, একই ফলাফল।
স্টেফানো বোরিনি

একটি টার্মিনাল খুলুন এবং রান করুন tail -f /var/log/dmesgতারপরে বোতামটি টিপে চেষ্টা করুন। কী / বোতামের উল্লেখ করে কোনও আউটপুট পাবেন?
শেঠ

1
অন্য কোনও বাজে উত্তর পোস্ট করার আগে ... আপনার মাউসের ইনপুট আইডিটি সন্ধান করুন এবং এর সাথে xinput listআপনার অনুসন্ধান কীটির বোতাম কোডটি সন্ধান করুন xinput test <MOUSE ID>। এটা কি কাজ করে?
mrcktz

1
এখানে একটি নিশ্চিত বাগ রয়েছে যা xevXF86Paste / XF86Copy ইভেন্টগুলি প্রদর্শন করতে দেয় তবে কিছুই ঘটে না। এর অর্থ হ'ল আপনাকে আটকানোর জন্য CTRL + v কী সংমিশ্রণটি ব্যবহার করতে হবে। এক্সমোডম্যাপ বোতাম 1: 1 এর মানচিত্র করে, তবে আপনি কী প্রেসের কমান্ড কার্যকর করতে ট্রিগার করতে কীবোর্ড শর্টকাট সেটিংস ব্যবহার করতে পারেন (আমার উত্তর দেখুন)।
mrcktz

উত্তর:


3

কীবোর্ড ইভেন্টগুলি অনুকরণ করার জন্য আমি আপনাকে দুর্দান্ত সরঞ্জাম এক্সডটুলেরএক্সডটুল ইনস্টল করুন পরামর্শ দিচ্ছি ।

1.xdotool টার্মিনালের মাধ্যমে ইনস্টল করুন ( CTRL+ ALT+ T):

sudo apt-get install xdotool

বা সফ্টওয়্যার কেন্দ্রএক্সডটুল ইনস্টল করুন ব্যবহার করুন ।

2. একটি স্ক্রিপ্ট তৈরি করুন যা এক্সডটুল ব্যবহার করে CTRLএবং এর নীচের ইভেন্টগুলির কী অনুকরণ করতে পারে v। টার্মিনালে:

mkdir -p ~/bin  
gedit ~/bin/fakepaste

খোলার এডিটর উইন্ডোতে নিম্নলিখিত সামগ্রীটি অনুলিপি করুন। কোড সংরক্ষণ করুন অনুলিপি করার পরে, এটি বন্ধ করুন:

#!/bin/sh
exec /usr/bin/xdotool key CTRL+V  
EOF

এখন স্ক্রিপ্টটি সম্পাদনযোগ্য করুন:

chmod +x ~/bin/fakepaste

৩. আপনার পাথ পুনরায় লোড করতে লগ আউট এবং লগ ইন করুন ।

4. কাস্টম শর্টকাট তৈরি করুন

যান System Settings, তারপরে যান Keyboard, তারপরে Shortcuts

+কথোপকথনের নীচে বোতাম টিপুন । শর্টকাট আপনি তৈরি সম্পর্কে এবং কমান্ড ভরাট জন্য করছি জন্য একটি নাম সরবরাহ করুন: fakepaste। টিপুন OK

আপনার নতুন শর্টকাটের পাশে আপনি দেখতে পাবেন disabled। সেই পাঠ্যে ক্লিক করুন এবং তারপরে আপনার কী-বোর্ড অনুকরণের জন্য আপনি যে কী নিয়োগ করতে চান তা টিপুন।

এখন আপনার আটকানোর জন্য আপনার অনুসন্ধান কীটি ব্যবহার করতে সক্ষম হওয়া উচিত!


1
এটি মাউস বোতামে কীভাবে সহায়তা করবে তা আমি দেখতে পাচ্ছি না, এটি কীবোর্ড শর্টকাটগুলি পরিবর্তন করে।
শেঠ

2
@iSeth: মুল বক্তব্যটি এটি সক্রিয় যে লজিটেক মাউস উভয় একটি কীবোর্ড এবং একটি মাউস হয়। এটি অনুসন্ধানের বোতাম বাদে অন্য কিছুর জন্য একটি মাউস , যেখানে এটি কীবোর্ডের মতো কাজ করে
স্টেফানো বোরিনি

2

এক্সডটুলের সাথে এক্সবাইন্ডকিগুলি সমাধান solution

এই সমাধানের জন্য আপনার প্রয়োজন হবে xbindkeysএবংxdotool

এক্সবাইন্ডকিগুলি হত্যা করুন এবং আপনার বোতামের কনফিগারেশনটি ফেলে দিন

killall xbindkeys

এবং

xbindkeys --defaults >> ~/.xbindkeysrc

আপনার নতুন বাইন্ডিং যুক্ত করুন

কাস্টম বাইন্ডিং যুক্ত করতে এখন আপনি এই ফাইলটি সংশোধন করতে পারেন, এগুলির ফর্ম রয়েছে

"<command>"
  <key combination>

সুতরাং আপনি যোগ করুন

"gedit"
  m:0x0 +b:4

আপনি geditযতবার স্ক্রোল করবেন ততবার আপনি খুলবেন ।

সুতরাং এখন আপনি নিম্নলিখিতগুলির মধ্যে একটি ব্যবহার করে দেখতে পারেন, আপনার পক্ষে সবচেয়ে ভাল কাজ করে এমন একটি চয়ন করুন। সমস্ত ক্ষেত্রেই xdotool click 2অনুকরণ করা হবে, এটি মাঝের মাউস বোতাম টিপুন এবং এটি ইন- এবং বাইরের উভয় টার্মিনাল পেস্ট করবে।

  1. আপনার মাউস থেকে 225 বিরতি :

    "xdotool click 2"
      m:0x0 +b:225
    
  2. সাধারণভাবে 225 কীবোর্ডে ক্যাপোড করুন :

    "xdotool click 2"
      c:225
    
  3. সমস্ত XF86Searchইভেন্ট প্রতিস্থাপন করুন (প্রথমে আপনার মাউস সেটিংসটিকে মূল সেটিংসে XF86Searchফিরিয়ে দিন , যাতে আপনি ফিরে পান):

    "xdotool click 2"
      XF86Search
    

এক্সবিন্দকি এবং পরীক্ষা শুরু করুন

চালান

xbindkeys

এবং দেখুন এটি কার্যকর হয় কিনা।


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

ওকে, ধন্যবাদ (যদিও এটি সম্ভব কিনা আমি জানি না)। সহায়তায়
খুশী

আহ ... তুমি ঠিক বলেছ আমি এখানে শুধুমাত্র একটি পুরষ্কার দিতে পারেন। চিন্তা করবেন না, যত তাড়াতাড়ি আমার যথেষ্ট প্রতিনিধি আছে, আমি আপনার অন্য উত্তরগুলির মধ্যে একটি উপহার দেব।
স্টেফানো বোরিনি

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