ইউদেব ব্যবহার করে সমাধান
যেহেতু এইচএএল হ্রাস করা হয়েছে এবং udev
এখন এটি ব্যবহৃত হয়, তাই এই পদ্ধতিকে আমার অন্যান্য উত্তরের চেয়ে অগ্রাধিকার দেওয়া হয় (যদিও আমি মনে করি যে এইচএল ব্যবহার করে সমাধানটি সহজ)।
তবে অনেকগুলি ফাংশন কীগুলির জন্য আপনি কেবল কোনও স্ক্রিপ্ট বাঁধতে সিস্টেম সেটিংস> কীবোর্ড> শর্টকাটগুলি ব্যবহার করতে পারেন , প্রথমে এটি চেষ্টা করুন! এটি আপনাকে অনেক ঝামেলা বাঁচায়। উদাহরণস্বরূপ, উজ্জ্বলতা কীগুলি এটি কাজ করে না (আমার কী হবে না তা কোনও ক্লু নেই), সুতরাং যদি আপনি কীভাবে উদাহরণস্বরূপ ব্রাইটনেস কীগুলির আচরণ পরিবর্তন করতে চান তা পড়ুন।
দ্রষ্টব্য : আপনি যদি স্যামসুং নোটবুকটি চালাচ্ছেন তবে আপনি http://www.voria.org/forum/samsung-tools
থেকে প্যাকেজটি ইনস্টল করে সমস্ত (মডেলের উপর নির্ভর করে) ফাংশন কীগুলি ঠিক করতে পারবেন
এই উপায়টি আপনাকে ধরে নিচ্ছে যে কীভাবে টার্মিনালটি ব্যবহার করতে হয় এবং vim
সম্পাদক ব্যবহার করে । যদি আপনি না জানেন vim
তবে কমান্ডগুলিতে এটি দ্বারা gedit
বা এটির মাধ্যমে প্রতিস্থাপন করুন nano
।
আপনার কীবোর্ড নির্ধারণ করা হচ্ছে
/lib/udev/findkeyboards
আমার ক্ষেত্রে কম্পিউটারে সংযুক্ত কী-বোর্ডগুলি মুদ্রণ করা উচিত
USB keyboard: input/event9
USB keyboard: input/event7
AT keyboard: input/event4
এখন দুটি বিকল্প আছে:
ইউএসবি কীবোর্ডগুলি :
আপনি যদি নিজের ইউএসবি কীবোর্ডটি পুনরায় তৈরি করতে চান তবে চালিয়ে তাদের পরীক্ষা করুন
udevadm info --export-db | awk '/event9/' RS="" | grep -P 'ID_(VENDOR|MODEL)(?!_ENC)'
যেখানে আপনাকে 9 নম্বর প্রতিস্থাপন করতে হবে যথাযথ সংখ্যা দ্বারা statement আউটপুট অনুরূপ হওয়া উচিত
E: ID_MODEL=USB_Receiver
E: ID_MODEL_ID=c52b
E: ID_VENDOR=Logitech
E: ID_VENDOR_ID=046d
যা সঠিকভাবে ইঙ্গিত দেয় যে আমার কীবোর্ডটি আমার লজিটেক ইউএসবি রিসিভারের মাধ্যমে পরিচালিত হয় (ইনপুট / ইভেন্ট 7 আমার লজিটেক জি 9 মাউস হিসাবে দেখা গেছে যা কিছু প্রোগ্রামযোগ্য বাটন রয়েছে)।
ল্যাপটপ কীবোর্ড :
আপনি যদি আপনার ল্যাপটপের কীবোর্ডটি পুনরায় তৈরি করতে চান তবে আপনার AT keyboard
ক্ষেত্রে আমার জন্য 4 নম্বরটি মনে রাখা উচিত । আপনার ল্যাপটপের জন্য ডিএমআই তথ্যও পান:
cat /sys/class/dmi/id/sys_vendor
যা আমার ক্ষেত্রে
SAMSUNG ELECTRONICS CO., LTD.
এবং
cat /sys/class/dmi/id/product_name
যা আমার ক্ষেত্রে
305U1A
আপনার ফাংশন কীগুলির বর্তমান ম্যাপিং নির্ধারণ করুন
এখন আমরা কীবোর্ড শুনে আমাদের বর্তমান কী-ম্যাপিং নির্ধারণ করতে পারি (সঠিক নম্বর sertোকান)
sudo /lib/udev/keymap -i input/event4
আপনি ব্যবহার করে এই কমান্ড থেকে প্রস্থান করতে পারেন Escকীবোর্ড, বা Ctrl+ + cঅন্য কীবোর্ডে।
আপনার স্ক্রীন খুব কঠিন নিচে স্ক্রলিং, প্রেস শুরু হয়, তাহলে Escএবং Ctrl+ + cকয়েক বার এবং দিয়ে আবার চেষ্টা করুন
sudo /lib/udev/keymap -i input/event4 2> /dev/null
বা, আপনার যদি এখনও স্ক্রোলিংয়ের সমস্যা থাকে
sudo /lib/udev/keymap -i input/event4 > ~/keymap.log
শেষ ক্ষেত্রে আপনার কাছে এখনও স্ক্রোলিং থাকবে তবে আপনি যদি ফাংশন কীগুলি টিপেন তবে সেগুলিতে যেতে হবে ~/keymap.log
যেখানে আপনি পরে সেগুলি পড়তে পারেন।
এখন আমরা আপনার ফাংশন কীগুলি টিপে টিপতে বর্তমান ম্যাপিংটি যাচাই করতে পারি, যা আপনাকে একটি তালিকা দেবে (এটি আমার Fn+ F1মাধ্যমে Fn+ F12):
scan code: 0xCE key code: kpplusminus
scan code: 0x89 key code: brightnessdown
scan code: 0x88 key code: brightnessup
scan code: 0x82 key code: switchvideomode
scan code: 0xF9 key code: f23
scan code: 0xA0 key code: mute
scan code: 0xAE key code: volumedown
scan code: 0xB0 key code: volumeup
scan code: 0x43 key code: f9
scan code: 0x44 key code: f10
scan code: 0xB3 key code: prog3
scan code: 0x86 key code: wlan
এখন স্ক্যান কোডগুলি লিখুন যার জন্য আপনি আচরণটি পরিবর্তন করতে চান।
স্ক্যান কোডগুলির জন্য কী কোডগুলি পরিবর্তন করা
আপনি যদি কী কোডটি পরিষ্কারভাবে দেখতে না পান তবে কী কী প্রত্যাশা করে তা আপনি কী এবং আপনি কী হতে চান সেটি কী বোতামগুলির/usr/include/linux/input.h
নীচে একবার দেখতে পারেন যা আপনি কী হতে চান তার চেয়ে আরও ভাল মেলে কিনা তা দেখার জন্য cover মূল কোডগুলি ফরম্যাটে রয়েছে এবং আপনাকে ছোট হাতের অংশের পরে অংশটি লিখতে হবে । কখনও কখনও এটি পরিবর্তন সমস্যা সমাধানের জন্য যথেষ্ট।KEY_KEYCODE
KEY_
উজ্জ্বলতা কীগুলির সাথে প্রায়শই তাদের সাথে সঠিক কীকোড যুক্ত থাকে এবং এটি তাদের পুনরায় তৈরি করতে দেয় না। সুতরাং আমাদের এগুলি অন্যান্য কীকোডগুলিতে পরিবর্তন করা দরকার। আমরা ব্যবহার করবে prog1
এবং prog2
এই উদাহরণস্বরূপ, কারণ এই আমার কম্পিউটারে ব্যবহার না হয়, তবে আপনার কাছে ব্যবহার করতে পারেন f13
মাধ্যমে f24
, অথবা f20
মাধ্যমে f24
আপনি যা হয়েছে একটি আপেল কীবোর্ড আছে F1মাধ্যমে F19কি।
একটি কাস্টম কীম্যাপ
তৈরি করুন : ডিরেক্টরিতে /lib/udev/keymaps
একটি উপযুক্ত নামের সাথে একটি কীম্যাপ ফাইল তৈরি করুন , উপযুক্ত নামের জন্য আউটপুটটি ls /lib/udev/keymaps
দেখুন। আমি custom-brightness
এই প্রশ্নের উদ্দেশ্য নিয়ে যাচ্ছি ।
sudo vim /lib/udev/keymaps/custom-brightness
আপনি যে কীগুলি পরিবর্তন করতে চান তার স্ক্যান কোডগুলি প্রবেশ করুন এবং তারপরে আপনি যে স্ক্যানকোডগুলি চান তা অনুসরণ করুন। আমার custom-brightness
চেহারাটি এরকম:
# /lib/udev/keymaps/custom-brightness
0x89 prog1
0x88 prog2
একটি কাস্টম কী রিলিজ ফাইল তৈরি করুন। কেবলমাত্র যদি আপনি আপনার ল্যাপটপের কীবোর্ডটি চেঞ্জ করেন :
কখনও কখনও কী রিলিজ ইভেন্টটি সঠিকভাবে প্রেরণ করা হয় না, যার ফলে কম্পিউটারটি স্তব্ধ হয়ে যায়। এটি এড়াতে আমরা একটি কাস্টম কী রিলিজ ফাইলও লিখব
sudo vim /lib/udev/keymaps/force-release/custom-brightness
এই ফাইলটিতে একই স্ক্যান কোড থাকা উচিত, আমার মত দেখাচ্ছে
# /lib/udev/keymaps/force-release/custom-brightness
0x89
0x88
নতুন ম্যাপিংগুলি নিয়ম ফাইলগুলিতে লোড হয়েছে
তা নিশ্চিত করুন এখন আপনার ম্যাপিংগুলি লোড হয়েছে তা নিশ্চিত করা দরকার। আমরা /lib/udev/rules.d/95-keymap.rules
এটি সম্পাদনা করে করতে পারি , তাই ব্যাকআপ তৈরি করা স্মার্ট
আবার আমাদের দুটি বিকল্প রয়েছে:
ইউএসবি কীবোর্ডগুলি :
যেহেতু আপনার কাছে একটি ইউএসবি কীবোর্ড রয়েছে আপনার নীচে আপনার এন্ট্রি যুক্ত LABEL="keyboard_usbcheck"
করা উচিত এবং এটি আপনার কীবোর্ড প্রস্তুতকারকের অন্যান্য এন্ট্রিগুলির অতীত হওয়া উচিত। এটি কারণ আমার কীবোর্ড সঙ্গে
E: ID_MODEL=USB_Receiver
E: ID_MODEL_ID=c52b
E: ID_VENDOR=Logitech
E: ID_VENDOR_ID=046d
ইতিমধ্যে একটি নিয়মের সাথে মেলে এবং অন্যথায় এটি ওভাররাইট হয়ে যায়।
নিম্নলিখিত নিয়ম, যেখানে আপনি পরিবর্তন করা উচিত যোগ করুন ID_VENDOR_ID
এবং ID_MODEL_ID
এবং appropiately আপনার কীম্যাপ নাম
ENV{ID_VENDOR_ID}=="046d", ENV{ID_MODEL_ID}=="c52b", RUN+="keymap $name custom-brightness"
ল্যাপটপ কীবোর্ড :
যদি আপনার নিয়ম /lib/udev/findkeyboards
হিসাবে আপনার ল্যাপটপের কীবোর্ডটিকে রিপোর্ট করা হয় তবে অন্যথায় এটিতে রাখুন । আবার এটি আপনার ল্যাপটপ প্রস্তুতকারকের জন্য অন্যান্য এন্ট্রিগুলির নিচে রাখুন। নিম্নলিখিত নিয়মটি জুড়ুন ( কিছুটা দীর্ঘ তাই আমি একটি ওয়াইল্ডকার্ড ব্যবহার করেছি)AT keyboard
LABEL="keyboard_vendorcheck"
LABEL="keyboard_modulecheck"
SAMSUNG ELECTRONICS CO., LTD.
ENV{DMI_VENDOR}=="SAMSUNG*", ATTR{[dmi/id]product_name}=="305U1A", RUN+="keymap $name custom_brightness"
এখন /lib/udev/rules.d/95-keyboard-force-release.rules
এটির ব্যাক আপ করার পরে একটি বিধি যুক্ত করুন
sudo cp /lib/udev/rules.d/95-keyboard-force-release.rules /lib/udev/rules.d/95-keyboard-force-release.rules.bak
sudo vim /lib/udev/rules.d/95-keyboard-force-release.rules
আবার আপনার নির্মাতার অন্যান্য এন্ট্রি অন্তর্ভুক্ত
ENV{DMI_VENDOR}=="SAMSUNG*", ATTR{[dmi/id]product_name}=="305U1A", RUN+="keyboard-force-release.sh $devpath custom_test"
নিশ্চিত করুন যে উদেব নতুন নিয়মগুলি
লোড করেছেন নতুন নিয়মগুলি চালনার জন্য
sudo adevadm trigger
দ্রষ্টব্য: udevadm control --reload-rules
(এখনও অনেক ওয়েবসাইটের নির্দেশাবলীতে) কাজ করে না।
এখন নিয়মগুলি সফলভাবে প্রয়োগ হয়েছিল কিনা তা পরীক্ষা করে দেখুন
sudo /lib/udev/keymap -i input/event4
যা এখন উজ্জ্বলতা কীগুলির জন্য রিপোর্ট করা উচিত
scan code: 0x89 key code: prog1
scan code: 0x88 key code: prog2
সিস্টেম সেটিংসে কীগুলি পুনরায় ম্যাপ করুন
শেষ পদক্ষেপটি যদি সঠিক কী কোডগুলি জানায় তবে হয় কীগুলি স্বয়ংক্রিয়ভাবে কাজ শুরু করে (যদি তাদের ক্ষেত্রে প্রথমে ভুল কী কোড থাকে)।
উজ্জ্বলতার জন্য আপনাকে এখনও একটি স্ক্রিপ্টে কীগুলি আবদ্ধ করতে হবে যা এখন সিস্টেম সেটিংস> কীবোর্ড> শর্টকাটগুলি ব্যবহার করে সম্ভব ।
উপভোগ করুন
দ্রষ্টব্য :
যদি আপনার কীগুলির ভুল কী কোড ছিল এবং এই পদ্ধতির দ্বারা স্থির করা হয়েছে, দয়া করে নীচের নির্দেশাবলী অনুসরণ করুন /usr/share/doc/udev/README.keymap.txt.gz
(আপনি এটি ব্যবহার না করেই এটি খুলতে পারেন zless
) এবং আপনার ফলাফলগুলি সেখানে উল্লিখিত ইমেল অ্যাড্রেস প্রেরণ করুন, তারপরে পরিবর্তনগুলি পরবর্তী প্রকাশে অন্তর্ভুক্ত করা যেতে পারে। অনেক ব্যবহারকারী উপকৃত হবে!
বৈদাস জাবলোনস্কিসের এই সহায়ক পোস্টকে অনেক ধন্যবাদ ।