שלוט במחשב השולחני שלך עם שלט באמצעות LIRC


הליכה למחשב שלך כדי לשנות שיר או לדלג לשקופית PowerPoint הבאה אינה אידיאלית. במקום זאת, השתמש ב-LIRC כדי לשלוט בכל יישום במחשב הלינוקס או ה-Windows שלך עם כל שלט אינפרא אדום.

כיסינושליטה ב-XBMC שלך עם מגוון אפליקציות ושלטים רחוקים, אבל אם כבר יש לך שלט אוניברסלי ואתה רוצה לשלוט יותר מסתם במרכז XBMC, תצטרך לעשות קצת התאמה אישית - זה המקום שבו LIRC נכנס לתמונה. LIRC הוא סט של כלים שיאפשרו כמעט לכל שלט אינפרא אדום לתקשר עם המחשב האישי שלך. לא רק שיש לו תמיכה מובנית עבור תוכניות מדיה כמו XBMC, אלא שאתה יכול להגדיר אותו לעשות כמעט כל דבר בתוכנה נתונה - להחליף רצועות באמארוק, להציג מצגת עם OpenOffice, או לצפות בסרטון ב-MPlayer בלי צורך לקבל ליד העכבר והמקלדת.

LIRC היה במקור עבור לינוקס, אם כי יציאת Windows זמינה (המכונה WinLIRC). המדריך הספציפי הזה יהיה עבור לינוקס, אך היכן שמתאים אציין את ההבדלים בין גרסת Windows לגרסת לינוקס כדי שמשתמשי Windows יוכלו לעקוב אחריהם - כל בדיקות השטח שלי הן עם גרסת לינוקס, כך שמשתמשי Windows המנסים את WinLIRC צריכים פרסם את התוצאות והטיפים שלהם בתגובות למטה.

אם אתה מגדיר את LIRC ב-Linux, היזהר מראש: יש הרבה עבודת שורת פקודה מעורבת. רוב משתמשי לינוקס יכירו את זה למדי, אבל אני אגיד שזו עבודת העריכה ביותר של שורת הפקודה וקבצי התצורה שעשיתי עבור פרויקט מסוים אחד, אז תתכוננו.

חבר את החומרה שלך ביחד

LIRC פופולרי מאוד בקרב מקלטי IR ביתיים, אבל אם אתה לא ממש סופר עשה זאת בעצמך אלקטרוני, יש לך כמה אפשרויות. אם אתה מריץ את זה על לינוקס, הIRA-3 מבית אלקטרוניקהעבד לי טוב מאוד, ואינו מצריך הידור מחדש של הליבה כפי שרוב המקלטים עושים. אם אתה הולך על גישת Windows, אתה פחות או יותר תקוע עם רסיברים ביתיים, מכיוון שבדרך כלל קשה למצוא רסיברים לבד למכירה. ההימור הטוב ביותר שלך הואחפש באיביי עבור מקלטי IR טוריים— בעבר, למעשה מצאתי שם כמה אפשרויות נראות טובות שאפילו יגידו לך אם הן עובדות עם WinLIRC או לא.

שימו לב גם ש-WinLIRC דורש שמקלט ה-IR יהיה התקן טורי - USB לא יעבוד, בין אם ישיר או עם מתאם; תזדקק ליציאה טורית חופשית במחשב שלך או שתשתמש במקלט IR תואם מובנה כמו זה המופעלכרטיסי טיונר טלוויזיה של Hauppauge(אתה יכול לעשות זאת גם בלינוקס, אבל תצטרך להדר מחדש את הליבה, וזה מיותר אם אתה הולך עם IRA-3 הנ"ל).

באשר לשלטים, כמעט כל שלט אינפרא אדום אמור לעבוד מצוין. אני משתמש, עבור הטלוויזיה שלי, מרכז המדיה, והתקנים קשורים אחרים, ב-One For All urc6131n, שהוא שלט פנטסטי שהוא זול לכלוך. אם עדיין אין לך שלט לשליטה במכשירים שלך, זהו אחד פשוט אך מדהים להסתכל עליו.

התקנת LIRC ובדיקת החיבורים שלך

LIRC (גרסה 0.8.6 בזמן כתיבת שורות אלה) אמורה להיות במאגר של אובונטו, אז בהנחה שאתה משתמש באובונטו אתה יכול פשוט להתקין את lircd מ-Synaptic (אחרת, תצטרך להוריד ולהתקין את lircd באופן ידני מהאינטרנט שלהם אֲתַר). בנוסף, אם אתה משתמש במכשיר אירמן (כגון IRA-3 שהוצע לעיל), עליך להתקין גם את libirman-dev. ב-Windows, פשוט הורד את קובץ ה-zip וחלץ אותו איפשהו.

ראשית, תצטרך להבין באיזו יציאה המכשיר שלך מחובר - היציאה הטורית הראשונה במחשב לינוקס היא /dev/ttyS0, השנייה היא /dev/ttys1 וכן הלאה. כדי לבדוק אם הוא מחובר ליציאה הנכונה ואם הוא מתקשר עם השלט שלך, פתח את המסוף והקלד:cat /dev/ttyS0, החלפת ttyS0 ביציאה הטורית שאתה מחובר אליה. אתה אמור לראות את הנורה האדומה במכשיר נדלקת, ואם יתמזל מזלך, לחיצה על כמה כפתורים בשלט שלך אמורה לגרום למסוף להדליק שטויות, כפי שניתן לראות למטה.

בשלט שלי, רק כפתור אחד או שניים באמת גרם לזה, אז אם זה לא עובד רק על ידי ריסוק כפתורים, אל תדאג - עבר בזהירות ולחץ על כל כפתור בשלט שלך. סביר להניח שאחד מהם יגרום לשורה שלמה של ג'יבריש למלא את חלון הטרמינל שלך, וזה מה שאנחנו מחפשים - זה אומר שהגדרת את היציאה הנכונה ושהכל מתקשר כמו שצריך.

כעת עליך להגדיר את hardware.conf ו-lircd.conf. תזדקק להרשאות שורש כדי לעשות זאת, אז הקלדsudo gedit /etc/lirc/hardware.confבטרמינל כדי לערוך את זה). hardware.conf עבור מכשיר אירמן המחובר ל-/dev/ttyS0 אמור להיראות בערך כך:

REMOTE="Irman / UIR"
REMOTE_MODULES-""
REMOTE_DRIVER="irman"
REMOTE_DEVICE="/dev/ttyS0″
REMOTE_LIRCD_CONF="/etc/lirc/lircd.conf"
REMOTE_LIRCD_ARGS=""
TRANSMITTER="None"
TRANSMITTER_MODULES=""
TRANSMITTER_DRIVER=""
TRANSMITTER_DEVICE=""
TRANSMITTER_LIRCD_CONF=""
TRANSMITTER_LIRCD_ARGS=""
START_LIRCD="true"
START_LIRCMD=""
LOAD_MODULES=""
LIRCMD_CONF=""
FORCE_NONINTERACTIVE_RECONFIGURATION="false"

כמובן, תצטרך להחליף את מיקום המכשיר שלך, סוג ההתקן ומנהל ההתקן שלמעלה בתכונות החומרה שלך אם אתה משתמש במשהו שונה ממה שהצעתי.

עבור משתמשי Windows, כל התצורה תתבצע בתוך ה-GUI עבור WinLIRC. הפעל את WinLIRC וזה ייתן לך חלון קופץ שיגיד לך שזה נכשל - לחץ על אישור וזה יביא אותך לחלון הראשי. בחר את יציאת ה-COM שבה הוא מותקן, והשאיר את שאר ההגדרות כברירת המחדל שלהן, כי זה אמור להיות בסדר. אם תלחץ על כפתור הגלישה שליד שורת התצורה ותבחר sample.cf, שהגיע עם WinLIRC, אתה אמור להיות מסוגל לבדוק אם זה עובד. לחץ על כפתור Raw Codes וכוון את השלט שלך אל המקלט שלך. אם אתה רואה קודים, אתה מוכן ותוכל להמשיך הלאה.

הגדר את LIRC עם השלט שלך

לאחר מכן, תצטרך ליצור קובץ lircd.conf עבור השלט שלך - החלק החשוב ביותר בתהליך. זה מה שמתרגם את קודי הכפתורים בשלט שלך לפקודות שתוכנה אחרת תוכל לפרש. יש רשימה של קבצי lircd.conf באתר של lirc שמתואמים לשלטים שונים, אבל לא היה לי מזל טוב עם אלה - אני מעדיף ליצור משלי באמצעותirrecord(תהליך מובנה ב-WinLIRC אם אתה ב-Windows). פשוט קיבלתי תוצאות הרבה יותר טובות כשעשיתי את זה בעצמי; קבצי התצורה המוכנים מראש תמיד נתנו לי שגיאות.

סביר להניח שתצטרך לרוץirrecordעם כמה אפשרויות שאומרים לו במה אתה משתמש. עבור מכשיר אירמן המחובר ל-/dev/ttyS0, פקודת המסוף שלך להפעלתו תיראה כך:

irrecord -H irman -d /dev/ttyS0 lircd.conf

שוב, מחליףirmanו/dev/ttyS0עם מנהל ההתקן והיציאה המתאימים שלך אם אתה משתמש בחומרה משלך. לאחר מכן, זה רק עניין של ביצוע ההוראות. הגרסה החדשה של LIRC דורשת שתשתמש בשמות לחצנים מהרשימה המוכנה מראש שלהם, אותה ניתן למצואכָּאן. זה לא משנה במיוחד באילו כפתורים אתה משתמש עבור אילו כפתורים; זו רק דרך של LIRC להפוך קוד לאנגלית כדי שתוכל לעזור לו לתקשר עם התוכנה הרצויה לך.

לרוב הלחצנים בשלט שלך יהיה מקביל ברור ברשימה הזו, אבל אם לא, אתה יכול פשוט להשתמש באחד מהשמות האחרים המתאימים ללחצן שאין לך (לדוגמה, השלט שלי כולל "מדריך " כפתור שעבורו לא ראיתי שם דומה ברשימה הזו, אז פשוט השתמשתי ב-KEY_YELLOW). אחרי שתסיים עםirrecord, הקובץ lircd.conf שלך יהיה בתיקיית הבית שלך. העתק אותו אל /etc/lirc עם הרשאות שורש (על ידי הקלדהsudo cp ~/lircd.conf /etc/lirc/lircd.confבטרמינל), מחליף את lircd.conf הישן שהיה שם. תרצה גם לפתוח אותו ולצד "שם", להחליף את "lirc" בשם השלט שלך (לדוגמאות שלי, אני אשתמש ב-"urc6131n" שכן זה השם של השלט שלי). להלן תמונה של קובץ lircd.conf טיפוסי.

כדי לבדוק אם התצורה שלך עובדת, הפעלirwבטרמינל. זה ייתן לך אשליה של תליה מסוף, אבל אם תלחץ על כפתורים בשלט שלך, זה אמור לירוק את שמות הכפתורים לעברך. אם כן, מזל טוב, אתה שולט ב-UNIX.

משתמשי Windows יבצעו פחות או יותר את אותו תהליך. מהחלון הראשי של WinLIRC, לחץ על כפתור למד כדי להפעיל את הגרסה המובנית של WinLIRC של irrecord. פשוט עקוב אחר ההוראות; זה צריך להיות כמו לעיל למעט שני השלבים הראשונים (תן לו מרווח שגיאה של 25 ופשוט השאר את אורך הפער המותאם ריק) והעובדה שאתה יכול להשתמש בכל שמות שאתה רוצה עבור הכפתורים, אתה לא לא צריך להשתמש במערכת השמות החדשה של LIRC (אז אתה יכול פשוט להקליד "Fastforward" עבור לחצן ההפעלה אם אתה מעדיף). לאחר שעברת על כל הכפתורים, פשוט השאר את תיבת הקלט ריקה והקש אנטר. כשתסיים עם הכל, לחץ על אישור בחלון הראשי וזה יצטמצם לשורת המשימות, ממתין לקלט.

לגרום ל-LIRC לתקשר עם התוכנה שתבחר

הגדרת השלט שלך היא רק חצי מהמשוואה - החצי השני גורם ל-LIRC לתקשר עם התוכנה שברצונך לשלוט בה. לחלק מהתוכנות (כגון תוכנת מרכז המדיה האהובה עלינו, XBMC) יש תמיכה מובנית ב-LIRC עם קצת יותר תצורה (התהליך של XBMC מתואר היטבכָּאן, אז אני לא אעבור על זה בעצמי). עם זאת, עבור רוב התוכניות, תרצה ליצור קובץ ‎.lircrc גלובלי, ולמפות אותו לקיצורי מקשים או פקודות יישומים כדי לגרום לו לעשות מה שאתה רוצה. כדוגמה, נשתמש ב-Amarok, אם כי האפשרויות הן די אינסופיות אם שמים את דעתך על זה.

צור קובץ טקסט בספריית הבית שלך בשם .lircrc ופתח אותו ב-gedit. הפורמט הבסיסי נראה כך:

begin
prog = irexec
remote = urc6131n
button = KEY_PLAY
config = dbus-send --type=method_call --dest=org.kde.amarok /Player org.freedesktop.MediaPlayer.Play
end

begin
prog = irexec
remote = urc6131n
button = KEY_STOP
config = dbus-send --type=method_call --dest=org.kde.amarok /Player org.freedesktop.MediaPlayer.Stop
end

begin
prog = irexec
remote = urc6131n
button = KEY_PAUSE
config = dbus-send --type=method_call --dest=org.kde.amarok /Player org.freedesktop.MediaPlayer.Pause
end

חזור על הבלוק הזה עבור כל כפתור שתרצה שתהיה לו פונקציה. בעיקרון, אתה ממפה את הכפתורים שלך לפקודות מסוף ספציפיות השולטות בתוכנית שלך - במקרה זה,dbus-send --type=method_call --dest=org.kde.amarok /Player org.freedesktop.MediaPlayer.Pauseהיא פקודת הטרמינל עבור Amarok להשהות מוזיקה (אם היא לא עובדת עבורך, ייתכן שיהיה עליך להתקין את kdelibs4c2a). אתה יכול לבצע פקודות קצת יותר מסובכות גם כן (בשילוב מספר כפתורים, השהיות וכו') - מידע נוסף זמיןכָּאן. אם תבחר להגדיר אותו כך, אתה חייב להפעיל את irexec ברקע כדי שהשלט שלך יעבוד (תוכל להפעיל אותו בטרמינל מראש או להגדיר אותו לפעול כשהמחשב שלך יופעל ב-System > Preferences > Startup Applications אם אתה מריצים את אובונטו).

דרך נוספת לעשות זאת היא להשתמש בפקודות מקלדת באמצעות irxevent במקום irexec (לשליטה ביישומי X בלינוקס). תצטרך להתקין את lirc-x (זמין גם במאגרי אובונטו) תחילה ולאחר מכן ליצור את קובץ ה-.lircrc שלך כך:

begin
remote = urc6131
prog = irxevent
button = KEY_PLAY
config = Key space CurrentWindow
end

על מנת לבצע שילובי מקלדת, תזדקק לידע רב יותר ב-batch scripting, אבל מכיוון שלהרבה תוכניות יש קיצורי דרך מקומיים עם מקש אחד שאתה יכול להגדיר (כפי שמוצג להלן ב- Amarok), עדיף לך פשוט להקצות פונקציות ספציפיות בתוך האפליקציה למפתחות. הדוגמה שלמעלה לוחצת על מקש הרווח בחלון הנוכחי כאשר אני לוחץ על play בשלט שלי - למעשה אומר לאמארוק לשחק אם זה החלון הקדמי ביותר שלי. זה לא מושלם אם אתה רוצה שמספר דברים יפעלו בו זמנית, אבל זה עובד די טוב אם אתה לא משתמש פעיל במחשב באותו זמן (אם כי זכור שתצטרך להפעיל את irxevent כדי שהשלט שלך יתקשר עם התוכנית המדוברת, בדיוק כפי שהיית עושה irexec בדוגמה למעלה).

עבור Windows, אתה יכול להשתמש בכלי המיפוי המקשים האהוב על Lifehacker AutoHotKey כדי לעשות את אותו הדבר בעצם. אתה יכול לקבל תבנית עבור סקריפט AutoHotKeyכָּאן, עריכת החלק האמצעי לפי טעמכם. לסקריפט יש הוראות בתוכו, כך שאם אתה מכיר בכלל את AutoHotkey, התכנות שלו לא אמורה להיות בעיה - זה זהה למיפוי מקשי מקלדת, למעט שימוש בשמות הכפתורים שהגדרת במהלך תהליך ההגדרה. למידע נוסף על מיפוי מפתחות עם AutoHotKey, עיין במדריך שלנו להפיכת כל פעולה לקיצור מקלדת.


אלו הן רק כמה מהדרכים בהן תוכל להשתמש ב-LIRC כדי לשלוט בתוכניות המועדפות עליך. זה מאוד פתוח, אז הצגתי לך רק כמה דוגמאות בסיסיות, אבל עם קצת מחקר, אתה יכול להבין איך לעשות כמעט כל דבר. למידע נוסף על LIRC וביצוע כמה דברים מתקדמים יותר עם קבצי התצורה, כמו גם תוכנות אחרות שעובדות עם LIRC, אתה בהחלט רוצה לבדוק את LIRCאתר אינטרנטותיעוד. משתמשי Windows בהחלט צריכים לעייןאתר האינטרנט של WinLIRCגַם כֵּן.

למיפוי תוכנית ספציפית, ההימור הטוב ביותר שלך הוא להשתמש בשיטת irexec במידת האפשר, אז תצטרך לעיין בתיעוד של אותה תוכנית או לחפש בגוגל כדי למצוא פקודות מסוף שמתאימות לפונקציות בתוך אותה תוכנית.

אם יש לך שימוש מועדף עבור LIRC או WinLIRC, ספר לנו מה זה ואיך הגעת לזה לעבוד בתגובות!

Leave a Reply

Your email address will not be published. Required fields are marked *

Subscribe Now & Never Miss The Latest Tech Updates!

Enter your e-mail address and click the Subscribe button to receive great content and coupon codes for amazing discounts.

Don't Miss Out. Complete the subscription Now.