منبع اصلی نوشتار زیر در این لینک قرار دارد

استفاده از کلیدهای خاص کیبورد

سلام

در اکثر کیبورد ها یه سری دکمه‌ی اضافه با کاربردهای خاص وجود داره و در بعضی هم کلیدهای Fn رو میشه با روشن کردن یه حالت خاص به کلید‌هایی با کاربرد خیلی خاص به کار برد D:

کیبورد منم از اون نوع دوّم هست. هیچ وقت به فکرم نرسیده بود که از این کلید‌ها استفاده کنم چون پلیری بتونه همیشه زیر دستم باشه نداشتم. ولی با نصب MPD و استفاده از ترمینال به فکرم رسید ازشون استفاده کنم. بله چرا که نه؟! درستکه همیشه ترمینال بازه و بیشتره وقتا جلو روم هست ولی خوب زدن یه دکمه کجا تایپ کردن یه دستور کجا! اینجوری نگام نکنید تنبل نیستم ولی صرفه جویی همه جا خوبه مخصوصاً اگر بنا به یاد گرفتن یه چیزایی جدید هم باشه.

بریم سر اصل کار. اوّل کار باید می‌دونستیم این کلید‌ها چه کدی تولید می‌کنن چون علاوه بر اینکه کلیدهای پر استفاده‌ای نیستن حتی شاید استاندارد هم نباشن. برای اینکار از دستور xev استفاده می کنیم. در توضیح دستور در فایل manاش نوشته شده «print contents of X events» یعنی این دستور همه‌ی اتفاقاتی که توی X می افته رو نشون می‌ده ولی خب همش برای من لازم نیست. با اجرای این دستور پنجره‌ی سفیدی باز می‌شه و هر بار که کلیدی میزنم اطلاعاتی در موردش چاپ میشه از جمله keycode و keysym کلید مورد نظر. پس برای اینکه ترمینال زیاد شلوغ نشه من خروجی رو فـــیلتر می‌کنم:

xev | grep -i keycode

خب با این کار خروجی من چیزی شبیه به این خواهد بود:

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 به عنوان کلاینت استفاده می‌کنم دستورم میشه:

mpc play

 این کار رو به روش‌های مختلفی میشه انجام داد ولی چون من از i3 استفاده می‌کنم بهتر دونستم که از فایل کانفیگ همون استفاده کنم برای این کار. در نتیجه دستورات زیر رو به فایل کانفیگ اضافه می‌کنم:

# 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) تا بتونم از این کلید‌های جدیدم استفاده کنم :)

البته بعد از یه مدت دیگه این کار هم جواب نمی‌ده و باید دنبال یه کار جالبتر باشم. ۲ تا ایده دارم که اولی فعلاً مجبور به مسکوت موندن شده ولی دومی شانس عملی شدن رو هنوز داره :)



برچسب ها : , , , , , , , , , , ,