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


26

আমার লেনোভো থিংকপ্যাড টি 420 এ আমার কাছে একটি মাইকের নিঃশব্দ বোতাম রয়েছে, তবে এটি কার্যকর হয় না।

তাই আমি xevপ্রেস ইভেন্টটি পর্যবেক্ষণ করার জন্য কমান্ড চেষ্টা করেছি , এবং সেই কীটি ধরা পড়েনি।

কাঁচা কী কোড যুক্ত করার মতো এটি ঠিক করার কোনও উপায় আছে কি?

ওএস এবং ল্যাপটপ

Ubuntu 12.04 , এছাড়াও আশা করি এটি আর্চ লিনাক্সে কাজ করে, তবে বেশি কিছু যায় না ;- পি

থিঙ্কপ্যাড মডিউল: X220 4290LY9

আর্চ লিনাক্সের জন্য কার্নেল প্যাচ

এখানে ডাউনলোড করুন

অবশেষে

এটি কিছুটা জটিল, তবে কার্নেল প্যাচ এবং এসপিড স্ক্রিপ্টের সাহায্যে এটি এখন কাজ করে।

আমার বাকিটি হ'ল আউটপুট নিঃশব্দের মতো একটি নোটিফাই ডেমন তবে এটি এখন খুব বেশি গুরুত্ব দেয় না।


কোন লেনোভো মডেল?
পর

@izx থিংকপ্যাড এক্স 220 4290LY9
ডেইজি

পরিবর্তে xev, acpi-listenনিরীক্ষণ করতে এবং টিপুন ব্যবহার করুন , আপনার মতো কিছু পাওয়া উচিত ibm/hotkey HKEY 00000080 0000101b। এখানে কোড পোস্ট করুন।
পর

@ আইজএক্স, কোনও ভাগ্য নেই, তবে আমি অন্যান্য বোতামগুলি দেখতে পেলাম, যেমন ভোল আপ / ভল ডাউন, ভ্যানটেজ চিন্তা করুন
ডেইজি

নিঃশব্দ বোতামটির ভিতরে আপনার একটি আলো নির্মিত হয়েছে? এছাড়াও কয়েক বার বাটন টিপুন এবং আউটপুট পোষ্টdmesg|tail
পর

উত্তর:


34

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

বিজ্ঞপ্তি বুদবুদগুলি ছাড়াও:

এখানে চিত্র বর্ণনা লিখুনএখানে চিত্র বর্ণনা লিখুন

দুটি সম্ভাব্য "হার্ডওয়্যার" সূচক রয়েছে (নিঃশব্দটি চালু বা বন্ধ রয়েছে তা দেখানোর জন্য):

  1. নিঃশব্দ চালু থাকাকালীন পাওয়ার বোতামের আলো (সবুজ) ঝলক দেবে
  2. নিঃশব্দ অবস্থা দেখানোর জন্য মাইকের নিঃশব্দ বোতামের হালকা (কমলা) চালু বা বন্ধ থাকবে (উইন্ডোজের মতো)

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

সাধারণ পদক্ষেপ


ক। মাইক-নিঃশব্দ হটকি কোড এবং মাইক ইনপুট ডিভাইস নির্ধারণ করা হচ্ছে

  • এর সাথে টার্মিনাল খুলুন Ctrl+Alt+T
  • চালান acpi_listen, এবং নিঃশব্দ কী টিপুন
  • ফলাফলটি নোট করুন, যা এমন কিছু হওয়া উচিত: ibm/hotkey HKEY 00000080 0000101b

  • তারপরে রান করুন amixer scontrols, আপনার আউটপুটটিতে নিম্নলিখিতগুলির একটি দেখতে পাওয়া উচিত:

সাধারণ মিশুক নিয়ন্ত্রণ 'অভ্যন্তরীণ মাইক', 0

অথবা

সাধারণ মিশুক নিয়ন্ত্রণ 'ক্যাপচার', 0

আপনি যা দেখেন তার উপর নির্ভর করে "অভ্যন্তরীণ মাইক" বা "ক্যাপচার" হ'ল আপনার ইনপুট ডিভাইস।

খ। মাইক-নিঃশব্দ এসিপিআই ইভেন্ট হ্যান্ডলারটি তৈরি করুন

  • টার্মিনাল gksudo gedit /etc/acpi/events/lenovo-mutemicখুলুন, সম্পাদক খুলতে টাইপ করুন ।
  • সম্পাদকটিতে, নিম্নলিখিতটিতে পেস্ট করুন, যেখানে প্রথম লাইনে পূর্ববর্তী বিভাগে দেখানো কোড হওয়া উচিত acpi_listen:
    ইভেন্ট = আইবিএম / হটকি HKEY 00000080 0000101b
    কর্ম = জন্য / etc / ACPI / lenovo-mutemic.sh
    
  • সম্পাদকটি সংরক্ষণ করুন এবং প্রস্থান করুন।

পাওয়ার লাইট বা মাইক নীরব সূচক নির্বাচন করা


সি-1। পাওয়ার বোতাম সূচক সহ মাইক-নিঃশব্দ স্ক্রিপ্ট

  • আপনি যদি সহজে সমাধান চান এবং প্যাচড কার্নেল মডিউলটি ব্যবহার করতে না চান তবে এটি করুন (সি -২ দেখুন)।
  • টার্মিনাল খুলুন, টাইপ করুন gksudo gedit /etc/acpi/lenovo-mutemic.sh
  • সম্পাদকটিতে, পেস্ট করুন:

    #! / বিন / ব্যাশ
    INPUT_DEVICE = "'অভ্যন্তরীণ মাইক'"
    YOUR_USERNAME = "place_your_username_here"
    যদি অ্যামিক্সার সেজেজ $ INPUT_DEVICE, 0 | গ্রেপ '\ [অন \]'; তারপর
        অ্যামিক্সার সেটসেট $ INPUT_DEVICE, 0 টগল
        প্রতিধ্বনি "0 পলক"> / proc / acpi / আইবিএম / নেতৃত্বাধীন
        su $ YOUR_USERNAME -c 'DISPLAY = ": 0.0" notify-send -t-50 \
                -i মাইক্রোফোন-সংবেদনশীলতা-নিঃশব্দ-প্রতীকী "মাইক নিঃশব্দ" "
    আর
        অ্যামিক্সার সেটসেট $ INPUT_DEVICE, 0 টগল                       
        su $ YOUR_USERNAME -c 'DISPLAY = ": 0.0" notify-send -t-50 \
                -i মাইক্রোফোন-সংবেদনশীলতা-উচ্চ-প্রতীকী "মাইক চালু" "
        প্রতিধ্বনি "0" "> / proc / acpi / আইবিএম / নেতৃত্বে 
    ফাই
    
  • Captureযদি আপনার ইনপুট ডিভাইসের নাম হয় তবে এর সাথে INPUT_DEVICE ভেরিয়েবলের মানটি প্রতিস্থাপন করুন (সমস্ত টিক্স অক্ষত রেখে দিন)।

  • আপনি বিজ্ঞপ্তি প্রেরণ করতে চান এমন ব্যবহারকারীর অ্যাকাউন্ট নামের সাথে YOUR_USERNAME ভেরিয়েবলের মান প্রতিস্থাপন করুন
  • সম্পাদকটি সংরক্ষণ করুন এবং প্রস্থান করুন।
  • এখন নিম্নলিখিতটি চালান (টার্মিনাল থেকে):
    sudo chmod + x /etc/acpi/lenovo-mutemic.sh
    sudo পরিষেবা এসপিড পুনরায় চালু করুন
    
  • এটি কাজ করে কিনা তা নিশ্চিত করতে পরীক্ষার বিভাগে যান (ডি)।

সি-2। অফিসিয়াল মাইক-নিঃশব্দ সূচক আলোর সাথে মাইক-নিঃশব্দ

স্ক্রিপ্ট সেট আপ করা হচ্ছে

  • আপনি যদি টার্মিনাল / শেলের সাথে পরিচিত না হন তবে দয়া করে এই পদ্ধতিটি ব্যবহার করবেন না।
  • এর জন্য একটি প্যাচযুক্ত thinkpad_acpiমডিউল সংকলনের প্রয়োজন হবে এবং উবুন্টু যথার্থ 12.04 এবং কোয়ান্টাল 12.10, কার্নেলগুলি 3.2.0-23 এবং 3.2.0-24 এবং 3.5.0-21 এর সাথে কাজ করার জন্য যাচাই করা হয়েছে।
  • আসুন প্রথমে স্ক্রিপ্টটি তৈরি করুন: /etc/acpi/lenovo-mutemic.shনিম্নলিখিত সংযোজন সহ বিভাগ সি -1 এর মতো হওয়া উচিত:

  • শিরোনাম ( #!/bin/bash) এর পরে এই লাইনটি সন্নিবেশ করান :

    MICMUTE=/sys/devices/platform/thinkpad_acpi/leds/tpacpi::micmute/brightness
    
  • প্রথম echo...লাইনের পরে , প্রবেশ করান:

    echo 1 > $MICMUTE
    
  • এবং দ্বিতীয় echo...লাইনের পরে , sertোকান:

    echo 0 > $MICMUTE
    
  • এই স্ক্রিপ্টে সম্পূর্ণ স্ক্রিপ্টটি দেখতে কেমন হওয়া উচিত তার একটি উদাহরণ আপনি খুঁজে পেতে পারেন

  • তারপর:

    sudo chmod +x /etc/acpi/lenovo-mutemic.sh
    sudo service acpid restart
    
  • নিশ্চিত করুন যে নিঃশব্দ বোতাম টিপানোর ফলে জ্বলজ্বলে বিদ্যুতের আলো দেখা যায়; আবার টিপলে একটি অবিচ্ছিন্ন শক্তি আলো দেয়।

কার্নেল মডিউলটি নির্মাণ, পরীক্ষা এবং ইনস্টল করা

  • আপনার বর্তমানে চলমান কার্নেলের জন্য শিরোনাম এবং বিল্ট সরঞ্জামগুলি ইনস্টল করুন (বা নিশ্চিত করুন):

    sudo apt-get install linux-headers-$(uname -r) build-essential
    
  • একটি অস্থায়ী ডিরেক্টরি তৈরি করুন এবং এতে পরিবর্তন করুন:

    mkdir ~/tpacpi && cd ~/tpacpi
    
  • thinkpad_acpi.cউবুন্টু কার্নেল গিট সংগ্রহস্থল থেকে উত্স ফাইলটি ডাউনলোড করুন :

    wget -Othinkpad_acpi.c "http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-$(lsb_release -sc).git;\
    a=blob_plain;f=drivers/platform/x86/thinkpad_acpi.c;hb=HEAD" 
    
  • এটি দিয়ে প্যাচ করুন (সম্পূর্ণ লাইনটি অনুলিপি করুন এবং পেস্ট করুন):

    sed -i -e 's/"tpacpi::thinkvantage",/"tpacpi::thinkvantage",\n\t"tpacpi::unknown_led4",\n\t"tpacpi::micmute",/g' -e 's/0x1081U/0x5081U/g' -e 's/0x1fffU/0x5fffU/g' thinkpad_acpi.c
    
  • একই ফোল্ডারে যেখানে thinkpad_acpi.cডাউনলোড হয়েছে সেখানে আপনার একটি "মেকফিল" লাগবে। আপনি এটি ব্যবহার করে সরাসরি এই পাস্তবিন থেকে ডাউনলোড করতে পারেন :

    wget -OMakefile http://pastebin.com/raw.php?i=ybpnxeUT
    

    বা নীচে একটি ফাইল হিসাবে পেস্ট করুন Makefile:

    জেজ-এম + = থিঙ্কপ্যাড_একপি.ও
    সব: মেক-সি / লিবিব / মডিউলগুলি / $ (শেল আনামে -আর) / বিল্ড এম = $ (পিডাব্লুডি) মডিউলগুলি
    পরিষ্কার: মেক-সি / লিবিব / মডিউলগুলি / $ (শেল আনামে -আর) / বিল্ড এম = $ (পিডাব্লুডি) পরিষ্কার
  • makeমডিউলটি তৈরি করতে এখন টাইপ করুন ; thinkpad_acpi.koহয়ে গেলে আপনি ফোল্ডারে একটি ফাইল দেখতে পাবেন ।

  • প্যাচযুক্ত মডিউলটি এটি দিয়ে লোড করার পরে পরীক্ষা করুন:

    sudo rmmod thinkpad_acpi && sudo insmod thinkpad_acpi.ko
    
  • এখন নিশ্চিত করুন যে মাইক বোতাম টিপলে কমলা রঙের মাইক লাইট চালু / বন্ধ হবে এবং পাওয়ার আলো জ্বলতে / স্থির থাকবে।

  • যদি নিশ্চিত হয়ে থাকে তবে আপনার বর্তমান thinkpad_acpiমডিউলটি প্রতিস্থাপনের জন্য নিম্নলিখিতটি করুন :

    টিপিডিআইআর = / লিব / মডিউল / $ (একচেটিয়া) / কার্নেল / ড্রাইভার / প্ল্যাটফর্ম / এক্স 86
    sudo এমভি $ টিপিডিআইআর / থিংকপ্যাড_একপি.কো $ টিপিডিআইআর / থিংকপ্যাড_একপি.কোস্টক
    সুডো এমভি / কোথাও / আপনি / বিল্ট / এইট / টিপ্যাকপি_মিকমিউট / থিংকপ্যাড_একপি.কো $ টিপিডিআইআর / থিংকপ্যাড_একপি.কো
    
  • মন্তব্য করে বা এতে বিদ্যুত নেতৃত্বাধীন লাইনগুলি মুছুন lenovo-micmute.sh


ঘ। পরীক্ষামূলক

  • আপনার সূচক নির্বাচন করা বাদ দিয়ে আপনি নীচের মাধ্যমেও নিঃশব্দ নিশ্চিত করতে পারেন:

মাইক ইনপুট

  • উপরের ডানদিকে ভলিউম আইকনে ক্লিক করুন এবং নীচে শব্দ সেটিংস:
  • "ইনপুট" ট্যাবে স্যুইচ করুন।
  • এখন মাইক নিঃশব্দ বোতাম টিপতে মজা করুন, আপনার এটি প্রতিফলিত হওয়া উচিত:

    1. উইন্ডোতে নিঃশব্দ চেকবাক্স
    2. বিজ্ঞপ্তি বুদবুদ (আপনি প্রতি কয়েক সেকেন্ডে একবারে মাইক নিঃশব্দ টিপলে তাত্ক্ষণিকভাবে উপস্থিত হবে না!)
    3. আপনার নির্বাচিত সূচক: জ্বলজ্বলে পাওয়ার বোতামের আলো বা বিল্ট-ইন মাইক নিঃশব্দ আলো।

সূচক হিসাবে একটি জ্বলজ্বলে শক্তি আলো যুক্ত করেছে - কাস্টম কার্নেল ছাড়া প্রকৃত মাইক আলো ব্যবহার করা অসম্ভব।
পর

1
@ অ্যান্ড্রে: আমি পরিবর্তিত উত্সটি ডাউনলোড করার পরিবর্তে একটি ইনলাইন-প্যাচ যুক্ত করেছি। দয়া করে এর জন্য উত্তর পৃষ্ঠাটি অনুসন্ধান করুন Patch it withএবং আপনি sedমাইক নিঃশব্দ LED সক্রিয় করার জন্য প্রয়োজনীয় লাইনটি খুঁজে পাবেন ।
পর

2
দুর্ভাগ্যক্রমে, আমি আর সংকলন করতে পারি না thinkpad_acpi.cMakeআউটপুট এখানে । কেউ কি দয়া করে এই সমস্যাটি সমাধান করতে আমাকে সহায়তা করতে পারেন?
অ্যান্ড্রে

1
13.10 (সসেসি) এর জন্য আলাদা থিঙ্কপ্যাড_একপি.সি দরকার হয়। প্যাচটি মূল উত্তরের মতোই রয়েছে। এটি আমার জন্য একটি 3.11.0-15-জেনেরিক কার্নেল (এবং সংশ্লিষ্ট শিরোনাম) এ কাজ করেছে।
ড্যানিয়েল

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

0

আমি সরাসরি লিনাক্স ডেস্কটপ পরিবেশ ব্যবহার করে প্রথমবারের মতো উবুন্টুতে সরাসরি কাজ করতে পারি না।

এটি কেবল উদ্ধৃতি যোগ এবং কমা মুছে ফেলার (এবং আমার ব্যবহারকারী নাম যোগ করার) সাথে স্থির হয়েছিল:

#!/bin/bash
MICMUTE=/sys/devices/platform/thinkpad_acpi/leds/tpacpi::micmute/brightness

ID='"Internal Mic"'
USERNAME="" #put your username here
if amixer sget "$ID"ntenter code herernal Mic" 0 | grep '\[on\]' ; then
    amixer sset "$ID" 0 toggle
    #echo "0 blink" > /proc/acpi/ibm/led #related to blinking power
    echo 1 > $MICMUTE
    su $USERNAME -c 'DISPLAY=":0.0" notify-send -t 50 \
            -i microphone-sensitivity-muted-symbolic "Mic MUTED"'
    echo "MUTE ON"
else
    amixer sset "$ID" 0 toggle                       
    su $USERNAME -c 'DISPLAY=":0.0" notify-send -t 50 \
            -i microphone-sensitivity-high-symbolic "Mic ON"'
    #echo "0 on" > /proc/acpi/ibm/led 
    echo 0 > $MICMUTE
    echo "MUTE OFF"
fi

এবং তারপরে থিঙ্কপ্যাড_একপি সংকলনের ক্ষেত্রে আপনার পদক্ষেপগুলি অনুসরণ করে।

এনভিএস 4200 এম, উবুন্টু 12.10 সহ একটি থিঙ্কপ্যাড টি 520 এ সমস্ত। এখনও পুনরায় চালু হয়নি তবে আপনি যে টেস্ট ধাপটি উল্লেখ করেছেন তা দিয়ে পরীক্ষা করেছি এবং এটি নিঃশব্দ এলইডি চালু এবং বন্ধ করে দেওয়ার চেষ্টা করে এবং এটি নিঃশব্দ করে (বিজ্ঞপ্তি সহ) with বন্দুকটি সামান্য কিছুটা লাফিয়ে উঠলে মনে হয় ঠিক আছে work ধন্যবাদ।

পুনরায় বুট করা হয়েছে, স্ক্রিপ্টটি নিজেই মিউন মিউট এবং আনমুটিংয়ের কাজ করে তবে আমি প্যাচড থিঙ্কপ্যাড_একপি ইনস্টল করি নি ... ওফস

ঠিক আছে, এবার এটি সঠিকভাবে ইনস্টল করার পরে পুনরায় বুট করুন এবং পাশাপাশি এলইডি লাইট আপ। মাইক নিঃশব্দ করা হয়েছে কিনা তা পরীক্ষা করার জন্য সম্ভবত একটি স্টার্ট-আপ স্ক্রিপ্ট থাকা উচিত এবং লাইটটি চালু / বন্ধ করা উচিত, যেহেতু বর্তমান সেটআপটিতে কেবল বোতামটি চাপ দেওয়া হলেই লাইটটি চালু / বন্ধ হবে।


বোতামটি প্রথমে বোতামটি চাপানোর পরিবর্তে এটি নিঃশব্দ করা হয়েছে কিনা বা প্রারম্ভকালে নেই তা দেখানোর জন্য আলো পেতে আমি সবেমাত্র সংরক্ষণ করেছি:

#!/bin/bash
MICMUTE=/sys/devices/platform/thinkpad_acpi/leds/tpacpi::micmute/brightness
if amixer sget "Internal Mic" 0 | grep '\[on\]' ; then
    echo 0 > $MICMUTE
elif amixer sget "Internal Mic" 0 | grep '\[off\]' ; then
    echo 1 > $MICMUTE
else
    echo "No Mic Detected";
fi

এটি কার্যকর করার অনুমতি দিয়েছে ave

sudo chmod +x /etc/init.d/lenovo-mic-check

লেনোভো-মাইক হিসাবে /etc/init.d/ এ চেক করুন এবং তারপরে দৌড়ে:

sudo update-rc.d lenovo-mic-check defauts 98 02

এছাড়াও /etc/pm/sleep.d/ এ অনুলিপি করতে ভুলবেন না

sudo cp /etc/init.d/lenovo-mic-check /etc/pm/sleep.d/lenovo-mic-check

এখন আমি কম্পিউটারটি রিবুট করলে লাইটটি চালু আছে, দ্রষ্টব্য: দ্বিতীয়টি যদি অন্য কোনওটি হতে পারে।


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