استفاده از کلیدهای خاص کیبورد
توسط: vahit
سلام
در اکثر کیبورد ها یه سری دکمهی اضافه با کاربردهای خاص وجود داره و در بعضی هم کلیدهای Fn رو میشه با روشن کردن یه حالت خاص به کلیدهایی با کاربرد خیلی خاص به کار برد D:
کیبورد منم از اون نوع دوّم هست. هیچ وقت به فکرم نرسیده بود که از این کلیدها استفاده کنم چون پلیری بتونه همیشه زیر دستم باشه نداشتم. ولی با نصب MPD و استفاده از ترمینال به فکرم رسید ازشون استفاده کنم. بله چرا که نه؟! درستکه همیشه ترمینال بازه و بیشتره وقتا جلو روم هست ولی خوب زدن یه دکمه کجا تایپ کردن یه دستور کجا! اینجوری نگام نکنید تنبل نیستم ولی صرفه جویی همه جا خوبه مخصوصاً اگر بنا به یاد گرفتن یه چیزایی جدید هم باشه.
بریم سر اصل کار. اوّل کار باید میدونستیم این کلیدها چه کدی تولید میکنن چون علاوه بر اینکه کلیدهای پر استفادهای نیستن حتی شاید استاندارد هم نباشن. برای اینکار از دستور xev استفاده می کنیم. در توضیح دستور در فایل manاش نوشته شده «print contents of X events» یعنی این دستور همهی اتفاقاتی که توی X می افته رو نشون میده ولی خب همش برای من لازم نیست. با اجرای این دستور پنجرهی سفیدی باز میشه و هر بار که کلیدی میزنم اطلاعاتی در موردش چاپ میشه از جمله keycode و keysym کلید مورد نظر. پس برای اینکه ترمینال زیاد شلوغ نشه من خروجی رو فـــیلتر میکنم:
1 |
xev | grep -i keycode |
خب با این کار خروجی من چیزی شبیه به این خواهد بود:
1 2 3 4 5 6 7 |
state 0x10, keycode 171 (keysym 0x1008ff17, XF86AudioNext), same_screen YES, state 0x10, keycode 172 (keysym 0x1008ff14, XF86AudioPlay), same_screen YES, state 0x10, keycode 174 (keysym 0x1008ff15, XF86AudioStop), same_screen YES, state 0x10, keycode 173 (keysym 0x1008ff16, XF86AudioPrev), same_screen YES, state 0x10, keycode 123 (keysym 0x1008ff13, XF86AudioRaiseVolume), same_screen YES, state 0x10, keycode 122 (keysym 0x1008ff11, XF86AudioLowerVolume), same_screen YES, state 0x10, keycode 121 (keysym 0x1008ff12, XF86AudioMute), same_screen YES, |
ترجیح میدم از keysymها استفاده کنم تا راحتتر بفهمم چی به چیه :) خب الان باید کاری کنم که با زدن مثلاً کلید XF86AudioPlay دستور مورد نظرم اجرا بشه که در این زمان شروع به پخش آهنگ با استفاده از MPD هست و چون من از MPC به عنوان کلاینت استفاده میکنم دستورم میشه:
1 |
mpc play |
این کار رو به روشهای مختلفی میشه انجام داد ولی چون من از i3 استفاده میکنم بهتر دونستم که از فایل کانفیگ همون استفاده کنم برای این کار. در نتیجه دستورات زیر رو به فایل کانفیگ اضافه میکنم:
1 2 3 4 5 6 7 8 9 10 11 12 |
# Shortcus for MPC (MPD Client) bindsym XF86AudioStop exec mpc stop bindsym XF86AudioPlay exec mpc play bindsym shift+XF86AudioPlay exec mpc pause bindsym XF86AudioLowerVolume exec mpc volume -5 bindsym XF86AudioRaiseVolume exec mpc volume +5 bindsym XF86AudioNext exec mpc next bindsym XF86AudioPrev exec mpc prev bindsym XF86Forward exec mpc seek +5% bindsym XF86Back exec mpc seek -5% bindsym shift+XF86Forward exec mpc seek +10% bindsym shift+XF86Back exec mpc seek -10% |
اگر به توضیحات بیشتر در مورد اینا لازم دارید میتونید به «یادداشتی برای کانفیگ i3» از شاهین سر بزنید.
حالا کافیه من ویندوز منیجرم رو ریستارت کنم (Mod+Shift+r) تا بتونم از این کلیدهای جدیدم استفاده کنم :)
البته بعد از یه مدت دیگه این کار هم جواب نمیده و باید دنبال یه کار جالبتر باشم. ۲ تا ایده دارم که اولی فعلاً مجبور به مسکوت موندن شده ولی دومی شانس عملی شدن رو هنوز داره :)