Xbindkeys ব্যবহার করে মাউস থাম্ব বোতামগুলিতে কীভাবে মডিফায়ারগুলি (যেমন সিটিআরএল) ম্যাপ করবেন


13

এই প্রশ্ন ইতিমধ্যে জিজ্ঞাসা করা হয়েছে কিন্তু সঠিক উত্তর দেওয়া হয়নি। @Seth এর ছাড়পত্রের পরে আমি এখন এটি আবার জিজ্ঞাসা করছি। এটি আমাকে প্রতিক্রিয়া জানাতে এবং সম্ভবত প্রশ্নটিকে আরও অনেক সহজভাবে সংশোধন করার অনুমতি দেবে। মূল প্রশ্নটি এখানে পাওয়া যাবে:

Ctrl এবং Alt থেকে মাউসের থাম্ব বোতামগুলি মানচিত্র করুন


সমস্যা:

যদিও এটা খুব প্রয়োজনীয় ব্যবহার করে একটি মাউস বাটন কোনো কীস্ট্রোকগুলি ম্যাপ সহজ xbindkeysসাথে xdotoolবা xteএটা আরো অনেক একটি মডিফায়ার কী ম্যাপ সমস্যাযুক্ত বলে মনে হয় (যেমন এবং ALT , জন্য CTRL , শিফ্ট ইত্যাদি) এটি।

চূড়ান্ত সলিউশনটি কেবল মাউস দিয়ে আইআইএটি সিটিআরএল + ক্লিক (যেমন তালিকার একাধিক এন্ট্রি নির্বাচন করার জন্য) অনুমতি দেয় should

এটি সমাধানের জন্য বেশ কয়েকটি সম্ভাব্য পন্থা স্ট্যাক এক্সচেঞ্জের পাশাপাশি লিনাক্স সম্পর্কিত অন্যান্য ফোরামেও পাওয়া যাবে। তবে এগুলির কোনওটিই প্রত্যাশিতভাবে কাজ করেনি কারণ তারা অন্যান্য সমস্যা এবং পার্শ্ব প্রতিক্রিয়া নিয়ে আসে।

মন্তব্য:

নীচের কয়েকটি উদাহরণ স্কিম সিনট্যাক্সের সাথে গিলিটিকে জড়িত করে এবং ফাইলের উপর নির্ভর করে যেখানে অন্যরা তার নিজস্ব সিনট্যাক্স সহ ফাইলের উপর নির্ভর করে । আমি সচেতন যে তারা একসঙ্গে কাজ করবে না।.xbindkeysrc.scm.xbindkeysrc

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

পদ্ধতির এ:

.xbindkeysrcফাইল আপডেট করে :

"xdotool keydown ctrl"
  b:8

"xdotool keyup ctrl"
  release + b:8

এটি আমি প্রথমে চেষ্টা করেছিলাম তবে এর পার্শ্ব-প্রতিক্রিয়াটি রয়েছে যে সংশোধকটি অনুষ্ঠিত হচ্ছে এবং মুক্তি দেওয়া যায় না।

পদ্ধতির বি:

.xbindkeysrc.scmফাইল আপডেট করে :

(xbindkey '("b:8") "xdotool keydown ctrl")
(xbindkey '(release "b:8") "xdotool keyup ctrl")

(xbindkey '("m:0x14" "b:8") "xdotool keydown ctrl")
(xbindkey '(release "m:0x14" "b:8") "xdotool keyup ctrl")

Http://www.linuxforums.org/forum/hardware-peripherals/169773-solve-map-mouse-button-modifier-key.html এ পাওয়া গেছে এবং সংশোধকটি কোথায় অনুষ্ঠিত হচ্ছে সেই সমস্যাটি সমাধান করার চেষ্টা করে (কাছে বর্ণিত হিসাবে বর্ণনা করা হয়েছে) ক)।

যদিও এটি স্থির করে যে থাম্ব বোতামটি টিপানোর সময় অন্যান্য মাউস ক্লিকগুলি করা সম্ভব নয় বলে এটি কেবল আংশিকভাবে কাজ করে।

পদ্ধতির সি:

.xbindkeysrcফাইল আপডেট করে :

"xdotool keydown ctrl"
  b:8

"xdotool keyup ctrl"
  release + control + b:8

জিজ্ঞাসিতবুন্টুতে এখানে লিঙ্কযুক্ত প্রশ্নের ওপি দ্বারা চেষ্টা করেছেন। এটি অনেক সরল এবং আরও শক্ত কারণ এটি সংশোধনকারী রাষ্ট্রগুলিকে জড়িত করে না। তবুও সমস্যাটি রয়ে গেছে, অর্থাৎ একটি CTRL + ক্লিক করা সম্ভব নয়।

দেখে মনে হচ্ছে এটি xbindkeysনিজেই এখানে সমস্যা কারণ এটি ক্লিককে স্বীকৃতি দেয় তবে এটি কার্যকর করে না। এটি ব্যবহার করে পরীক্ষা করা যেতে পারে xev | grep buttonএবং xbindkeys -v:

রেকর্ডকৃত একটি সাধারণ মাউস ক্লিক এর মতো xevদেখতে পাওয়া উচিত:

state 0x10, button 1, same_screen YES
state 0x110, button 1, same_screen YES

পাশাপাশি থাম্ব বোতামের জন্য:

state 0x10, button 8, same_screen YES
state 0x10, button 8, same_screen YES

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

Button press !
e.xbutton.button=8
e.xbutton.state=16
"xdotool keydown ctrl"
    m:0x0 + b:8   (mouse)
got screen 0 for window 16d
Start program with fork+exec call
Button press !
e.xbutton.button=1
e.xbutton.state=20
Button release !
e.xbutton.button=1
e.xbutton.state=276
Button release !
e.xbutton.button=8
e.xbutton.state=20
"xdotool keyup ctrl"
    Release + m:0x4 + b:8   (mouse)
got screen 0 for window 16d
Start program with fork+exec call

পদ্ধতির ডি:

.xbindkeysrcফাইল আপডেট করে :

"xdotool keydown ctrl"
  b:8

"xdotool keyup ctrl"
  release + control + b:8

"xdotool click 1"
  b:1

খুব সাধারণ ... তবে ক্লিকের একটি অসীম লুপ বাড়ে।


হালনাগাদ:

এরই মধ্যে আমি একটি লজিটেক জি 502 কিনেছি এবং লক্ষ্য করেছি যে একবার উইন্ডোজে ড্রাইভারের মাধ্যমে কনফিগার করা কেবল প্রোফাইলটি নিজেই ডিভাইস মেমরিতে সঞ্চিত থাকে না তবে আসল কিপ্রেসটি মাউস দ্বারা সম্পন্ন হয়। এটি আসলে লিনাক্সে আমার সমস্যার সমাধান!

আমি মনে করি কেবলমাত্র অন্য মাউসটি এটি করতে সক্ষম হয়েছিল সে দিনগুলিতে রেজার কপারহেড ছিল। তবে আমি অনুমান করি যে আজ অন্যান্য ইঁদুরগুলি পাওয়া যায় যা একই কাজ করতে পারে।


1
: এখানে একটি সলিউশন ব্যবহার Easystroke এর askubuntu.com/a/1010647/27202
atti

উত্তর:


8

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

সমাধানগুলি রয়েছে যারা এখানে প্রস্তাবিত মত সত্যিই দুর্দান্ত , তবে এটি সর্বদা xbindkeys এর সীমাবদ্ধতায় ভোগে যারা পুরো মাউসকে ধরে ফেলেন, মোডিফারগুলি তৈরি করেছেন + মাউস ক্লিক ম্যাপিংকে অনিশ্চিত করে তোলে। উপরের লিঙ্কটি থেকে গিলি ভিত্তিক সমাধান সিটিটিএল + প্লাস / সিটিআরএল + বিয়োগ ব্যবহার করুন যা গিম্প দ্বারা সনাক্ত করা যায় না উদাহরণস্বরূপ।

আমি বুঝতে পেরেছিলাম যে আমরা যা চাই তা হ'ল মাউস বোতাম যা কীবোর্ড হিসাবে কাজ করে, তাই আমি ইউনপুট ব্যবহার করি, যাকে পাইথনের মাধ্যমে অ্যাক্সেস করা যায় , একটি স্ক্রিপ্ট লিখেছিলাম যা থাম্ব বোতামটির জন্য / ডি / মাই-মাউস পর্যবেক্ষণ করে সিটিটিএল কী প্রেরণ করে ভার্চুয়াল কীবোর্ডে এখানে বিস্তারিত পদক্ষেপ রয়েছে:

1. উদেব বিধি তৈরি করুন

আমরা চাই ডিভাইসগুলি অ্যাক্সেসযোগ্য (অধিকার এবং অবস্থান)।

মাউসের জন্য:

/etc/udev/rules.d/93-mxmouse.conf.rules
------------------------------------------------------------
KERNEL=="event[0-9]*", SUBSYSTEM=="input", SUBSYSTEMS=="input", 
ATTRS{name}=="Logitech Performance MX", SYMLINK+="my_mx_mouse", 
GROUP="mxgrabber", MODE="640"

উদেব ইভেন্ট 5 এর মতো নাম সহ কার্নেল দ্বারা স্বীকৃত একটি ডিভাইস সন্ধান করবে এবং আমি নামটি সহ আমার মাউসটি নির্বাচন করব। SYMLINK নির্দেশনাটি আশ্বাস দেয় যে আমি আমার মাউসটি / dev / my_mx_mouse এ খুঁজে পাব। ডিভাইসটি "এমএক্সগ্র্যাবার" গোষ্ঠীর সদস্য দ্বারা পঠনযোগ্য হবে।

আপনার হার্ডওয়্যার সম্পর্কিত তথ্য সন্ধান করতে আপনার এমন কিছু চালানো উচিত

udevadm info -a -n /dev/input/eventX

ইউনপুটের জন্য:

/etc/udev/rules.d/94-mxkey.rules
----------------------------------------------------
KERNEL=="uinput", GROUP="mxgrabber", MODE="660"

সিমলিংকের দরকার নেই, ইউনপুট সর্বদা আপনার থাকা সিস্টেমে থাকবে $/dev/uinputবা তার $/dev/input/uinputউপর নির্ভর করবে । অবশ্যই তাকে গ্রুপ এবং অবশ্যই পড়ার এবং অবশ্যই লেখার অধিকার দিন।

আপনাকে আনপ্লাগ করতে হবে - আপনার মাউস প্লাগ করতে হবে এবং নতুন লিঙ্কটি / dev এ প্রদর্শিত হবে। আপনি ওদেবকে আপনার নিয়মগুলি ট্রিগার করতে বাধ্য করতে পারেন$udevadm trigger

২. ইউএনপুট মডিউলটি সক্রিয় করুন

sudo modprobe uinput

এবং এটিকে বুট চালিয়ে যাওয়ার জন্য:

/etc/modules-load.d/uinput.conf
-----------------------------------------------
uinput

৩. নতুন গ্রুপ তৈরি করুন

sudo groupadd mxgrabber

অথবা আপনি যা যা আপনার অ্যাক্সেস গ্রুপ বলেছিলেন। তারপরে আপনার এতে নিজেকে যুক্ত করা উচিত:

sudo usermod -aG mxgrabber your_login

4. পাইথন লিপি

আপনি ইনস্টল করতে হবে পাইথন-uinput গ্রন্থাগার (স্পষ্টত) এবং পাইথন-evdev গ্রন্থাগার । পিপ বা আপনার বিতরণ প্যাকেজ ব্যবহার করুন।

স্ক্রিপ্টটি বেশ সোজা, আপনাকে কেবল আপনার বোতামের ইভেন্ট কোডটি সনাক্ত করতে হবে।

#!/usr/bin/python3.5
# -*- coding: utf-8 -*-

"""
Sort of mini driver.
Read a specific InputDevice (my_mx_mouse),
monitoring for special thumb button
Use uinput (virtual driver) to create a mini keyboard
Send ctrl keystroke on that keyboard
"""

from evdev import InputDevice, categorize, ecodes
import uinput

# Initialize keyboard, choosing used keys
ctrl_keyboard = uinput.Device([
    uinput.KEY_KEYBOARD,
    uinput.KEY_LEFTCTRL,
    uinput.KEY_F4,
    ])

# Sort of initialization click (not sure if mandatory)
# ( "I'm-a-keyboard key" )
ctrl_keyboard.emit_click(uinput.KEY_KEYBOARD)

# Useful to list input devices
#for i in range(0,15):
#    dev = InputDevice('/dev/input/event{}'.format(i))
#    print(dev)

# Declare device patch.
# I made a udev rule to assure it's always the same name
dev = InputDevice('/dev/my_mx_mouse')
#print(dev)
ctrlkey_on = False

# Infinite monitoring loop
for event in dev.read_loop():
    # My thumb button code (use "print(event)" to find)
    if event.code == 280 :
        # Button status, 1 is down, 0 is up
        if event.value == 1:
            ctrl_keyboard.emit(uinput.KEY_LEFTCTRL, 1)
            ctrlkey_on = True
        elif event.value == 0:
            ctrl_keyboard.emit(uinput.KEY_LEFTCTRL, 0)
            ctrlkey_on = False

5. উপভোগ করুন!

আপনার এখন যা দরকার তা হ'ল আপনার অজগর ফাইলটি এক্সিকিউটেবল করা এবং আপনার ডেস্কটপ ম্যানেজারকে ফাইলটি শুরু করার সময় লোড করতে বলুন। ভাল কাজ উদযাপন করতে হতে পারে এক গ্লাস ওয়াইন!

6. বিনামূল্যে অতিরিক্ত

আমি অতিরিক্ত আচরণের জন্য এক্সবাইন্ডকি ব্যবহার করি। উদাহরণস্বরূপ, আপনার যদি চাকা সাইড ক্লিকগুলির সাথে মাউস থাকে তবে নিম্নলিখিত কনফিগারেশনটি দুর্দান্ত হতে পারে:

~/.xbindkeysrc
---------------------------------------------
# Navigate between tabs with side wheel buttons
"xdotool key ctrl+Tab"
  b:7
"xdotool key ctrl+shift+Tab"
  b:6

# Close tab with ctrl + right click
# --clearmodifiers ensure that ctrl state will be 
# restored if button is still pressed
"xdotool key --clearmodifiers ctrl+F4"
  control+b:3

এই শেষ সংমিশ্রণটি কাজ করার জন্য আপনাকে পাইথন স্ক্রিপ্টের জন্য কনফিগার করা বোতামটি অক্ষম করতে হবে , অন্যথায় এটি এখনও এক্সবাইন্ডকিজ দ্বারা আঁকড়ে নেওয়া হবে। কেবলমাত্র Ctrl কী অবশ্যই থাকা উচিত:

~/.Xmodmap
-------------------------------------------
! Disable button 13
! Is mapped to ctrl with uinput and python script
pointer = 1 2 3 4 5 6 7 8 9 10 11 12 0 14 15

দিয়ে পুনরায় লোড করুন $ xmodmap ~/.Xmodmap

7. উপসংহার

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

উজ্জ্বল দিকে, এটি সত্যিই, সত্যিই ভালভাবে কাজ করে। কীবোর্ডের যে কোনও সমন্বয় বা মাউস কী কী-বোর্ডের সিটিআরএল বোতামটি দিয়ে কাজ করে এখন মাউসের একটিতে কাজ করে !!


প্রচেষ্টা এবং আমাদের সাথে ভাগ করে নেওয়ার জন্য অনেক ধন্যবাদ! +1 ... যদিও আমি এখনও এটি পরীক্ষা করে দেখিনি। বিটিডাব্লু আমি প্রায় এটাকে ছেড়ে দিয়েছি - যদি প্রত্যাশার মতো কাজ করে তবে দুর্দান্ত হবে :)
কনসেপ্টডেলাক্স

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

আমি কেবল বুঝতে পেরেছি যে কোনও ট্যাব কোনও নতুন ট্যাবে একটি লিঙ্ক খোলার কারণে কোনও ট্যাব বন্ধ করার জন্য সিটিআরএল + ক্লিক 1 খুব খারাপ পছন্দ। আমি আমার উত্তরটি পাইথন স্ক্রিপ্টের শেষ অংশটি সরিয়ে এবং xbindkeys, ক্লিনার সলিউশন দিয়ে টুইট করছি
অরলিয়ান সিবারিয়ো

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

আমি অবাক হয়েছি যদি আমরা ত্রুটিযুক্ত মাউস স্যুইচটি ডাবনো করার জন্য উপরের স্ক্রিপ্টটি ব্যবহার করতে পারি। আমার একটি জীর্ণ মাউস আছে আমি এটি উইন্ডোতে ঠিক করার জন্য একটি অটোহোটকি স্ক্রিপ্ট ব্যবহার করি তবে লিনাক্সে এটি ঠিক করার কোনও সরঞ্জাম নেই। এখানে বাম বাটন ফিক্স জন্য Autohhotkey স্ক্রিপ্ট হয় autohotkey.com/board/topic/63555-debounce-mouse-keys evdev - আমি আশা করি কারো লিনাক্স তা বন্দর python3 ব্যবহার
Kenn

4

পাইউসারআইনপুট দিয়ে আমি একটি সমাধান পেয়েছি । এটি একেবারে সাধারণ হওয়া শেষ করে এবং প্রশাসনের অধিকারের প্রয়োজন হয় না। পাইথন 2 এবং পাইউজারআইনপুট ইনস্টল করার সাথে সাথে আমি নিম্নলিখিত স্ক্রিপ্টটি ব্যবহার করেছি:

#!/usr/bin/python
from pymouse import PyMouseEvent
from pykeyboard import PyKeyboard

k = PyKeyboard()
class MouseToButton(PyMouseEvent):
    def click(self, x, y, button, press):
        if button == 8:
            if press:    # press
                k.press_key(k.control_l_key)
            else:        # release
                k.release_key(k.control_l_key)

C = MouseToButton()
C.run()

স্ক্রিপ্টে মৃত্যুদণ্ড কার্যকর করার পরে, আমি ~/.xsessionrcউদাহরণ হিসাবে এটি একটি লাইন দিয়ে কল করি

path / পাথ / টু / স্ক্রিপ্ট.পি এবং

নোট । এটি মাউস বোতামের ইভেন্টটিকে গুলি চালানো থেকে বিরত রাখে না। আমার ক্ষেত্রে আমি xinput set-button-mapজিনপুট বোতামের ম্যাপিংটি পরিবর্তন করতে এবং ব্যবহার না করা কিছুতে আগ্রহী বোতামটির নম্বর নির্ধারণ করেছি।

উদাহরণস্বরূপ, আপনি যদি নিজের মাউসে 8 বাটন ব্যবহার করতে চান তবে বোতাম 8-তে ইতিমধ্যে একটি ফাংশন রয়েছে (উদাহরণস্বরূপ page-next), আপনি নিম্নলিখিতটি ব্যবহার করতে পারেন.xsessionrc

logitech_mouse_id=$(xinput | grep "Logitech M705" | sed 's/^.*id=\([0-9]*\)[ \t].*$/\1/')
xinput set-button-map $logitech_mouse_id 1 2 3 4 5 6 7 12 9 10 11 12 13 14 15 16 17 18 19 20
./.xbuttonmodifier.py &

প্রদত্ত বোতাম 12অপারেটিং সিস্টেমের কোন অর্থ বহন করে, এবং বাটন একটি কাস্টম ফাংশন নির্ধারণ 12মধ্যে .xbuttonmodifier.py, স্ক্রিপ্ট আমি উপরের বর্ণনা করেছেন।


তবে এটি আসল ঘটনা গুলি চালানো থেকে বিরত রাখে না। সুতরাং আমি যদি ফায়ারফক্সে বোতাম 8 টি স্থানান্তর করতে এবং 8 টি বোতামটি ধরে রাখি তবে এটি পূর্ববর্তী পৃষ্ঠায় ফিরে যাওয়ার চেষ্টা করে যা অনাকাঙ্ক্ষিত।
ব্যবহারকারী23013

1
সত্য। এটি মোকাবেলায় আমি ব্যবহৃত বোতামটিতে আগ্রহী সেই বোতামটির আইডি পরিবর্তন করেছি xinput। সম্পাদিত প্রশ্ন দেখুন।
ম্যাক্সিম

2

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

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

ফোরাম পোস্ট: পোস্ট: http://ubuntuforums.org/showthread.php?t=1245930

তবে উত্স উপলব্ধ:

আপনি এটি উত্স থেকে সংকলন করতে পারেন, তবে এটি আপনার সিস্টেমে এমন ফাইলগুলিকে স্থাপন করবে যা প্যাকেজ পরিচালকটি রক্ষণাবেক্ষণ করতে পারে না।

যথা, নিম্নলিখিত ফাইলগুলি:

/usr/local/sbin/btnx
/etc/init.d/btnx
/usr/share/pixmaps/btnx.png
/usr/share/btnx-config (directory, multiple files)
/usr/share/applications/btnx-config.desktop
/usr/share/omf/btnx-config/btnx-manual-C.omf
/usr/share/locale/de/LC_MESSAGES/btnx-config.mo
/usr/share/locale/fr/LC_MESSAGES/btnx-config.mo
/usr/share/locale/nl/LC_MESSAGES/btnx-config.mo
/usr/share/locale/ru/LC_MESSAGES/btnx-config.mo

নিম্নলিখিত চিহ্নগুলি:

/etc/rc0.d/K49btnx -> ../init.d/btnx
/etc/rc1.d/K49btnx -> ../init.d/btnx
/etc/rc6.d/K49btnx -> ../init.d/btnx
/etc/rc2.d/S49btnx -> ../init.d/btnx
/etc/rc3.d/S49btnx -> ../init.d/btnx
/etc/rc4.d/S49btnx -> ../init.d/btnx
/etc/rc5.d/S49btnx -> ../init.d/btnx

সুতরাং ... যদি আপনি উত্স থেকে বিল্ডিং আপত্তি না ...

বিটিএনএক্সের জন্য নির্ভরতা পান:

sudo apt-get install libdaemon-dev git

যদি আপনি উত্স থেকে কখনই কিছু তৈরি করেন না তবে আপনারও বিল্ড-অপরিহার্য প্রয়োজন হতে পারে:

sudo apt-get install build-essential

তারপরে বিটিএনএক্স পান এবং সংকলন করুন:

git clone https://github.com/cdobrich/btnx
cd btnx
./configure
make
sudo make install
cd -

এটির একটি পৃথক জিইউআই কনফিগারেশন সরঞ্জাম রয়েছে। এর জন্য নির্ভরতা পান:

sudo apt-get install libgtk2.0-dev libglade2-dev

এখন গুই কনফিগার সরঞ্জামটি পান এবং সংকলন করুন:

git clone https://github.com/cdobrich/btnx-config
./configure
make
sudo make install

এখন সরঞ্জামটি চালান:

sudo btnx-config

সনাক্তকরণ মাউস বোতামগুলিতে ক্লিক করুন আপনি যদি সরঞ্জামটি ব্যবহার করার সময় দিকনির্দেশগুলি পড়তে সক্ষম হতে চান তবে পপ আপ হওয়া উইন্ডোর আকার পরিবর্তন করুন, ডায়ালগের পাঠ্যটি পরে ক্লিপ হবে যদি আপনি সনাক্ত না করে পুনরায় আকার দেওয়ার চেষ্টা করেন তবে তা বাতিল হয়ে যাবে সনাক্তকরণ উইন্ডোটি কিছুটা বড় করুন।

মাউস সনাক্তকরণ শুরু করতে টিপে ক্লিক করুন, তারপরে পাঠ্য পরিবর্তন না হওয়া অবধি মাউসটি সরানোর চেষ্টা করবেন না ... প্রায় 5-10 সেকেন্ড সময় লাগে। পাঠ্য পরিবর্তন হবে। এটি হয়ে গেলে, যা বলে তা উপেক্ষা করুন এবং ফরোয়ার্ড ক্লিক করুন।

"বোতাম সনাক্তকরণ শুরু করতে টিপুন" বোতামটি ক্লিক করুন

এখানে আপনি আপনার মাউসের একটি বোতামটি বেশ কয়েকবার ক্লিক করবেন (স্ট্যাটাস বারটি পূর্ণ না হওয়া পর্যন্ত)। তারপরে বোতামটির নামটি এমন কিছুতে সেট করুন যা আপনি পরে চিনতে পারবেন (উদা: লেফট বাটন) অ্যাড বোতামটি ক্লিক করুন।

প্রতিটি মাউস বোতামের জন্য এটি পুনরাবৃত্তি করুন (স্ক্রোল চাকা, স্ক্রোল ক্লিকগুলি ইত্যাদি ভুলে যাবেন না)। আপনি পুনরায় তৈরি করতে চান না এমন কোনও বোতাম সম্ভবত আপনি এড়িয়ে যেতে পারেন।

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

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

এই স্ক্রিনে মুছে ফেলতে ক্লিক করবেন না, এটি বোতামটি সরিয়ে ফেলবে। আপনি যদি ফিরে যান এবং আপনাকে আবার বোতামটি সনাক্ত করতে হবে।

কনরিগ্যুরিশনস স্ক্রিনে ফিরে যান এবং পুনরায় চালু করুন বিটিএনএক্স ক্লিক করুন।

নতুন বোতামটি চেষ্টা করে দেখুন।

আপনি যদি আবেদনকারীদের আনইনস্টল করতে চান, বিটিএনএক্স প্রোগ্রামটি বন্ধ করুন এবং তারপরে সংশ্লিষ্ট গিট চেক আউট ডিরেক্টরিগুলিতে যান এবং আনইনস্টল করুন:

sudo /etc/init.d/btnx stop
cd btnx
sudo make uninstall
cd -
cd btnx-config
sudo make uninstall
cd -

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

বিটিডব্লিউ: আপনি আপনার জিজ্ঞাসাবাট্টু অ্যাকাউন্টটিকে অন্যান্য স্ট্যাক এক্সচেঞ্জের যেমন লিনাক্স এবং ইউনিক্সের সাথে সংযুক্ত করে সহজেই অতিরিক্ত 100 খ্যাতি অর্জন করতে পারেন।
কনসেপ্টডেলাক্স

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