كيفية استخدام AutoKey لأتمتة ألعاب Linux

How Use Autokey Automate Linux Games



مفتاح تلقائي هي أداة مساعدة لأتمتة سطح المكتب لنظامي Linux و X11 ، تمت برمجتها في Python 3 و GTK و Qt. باستخدام وظائف البرمجة النصية ووظائف MACRO ، يمكنك أتمتة ضغطات المفاتيح ونقرات الماوس ومعظم أجزاء واجهة سطح المكتب. إذا كنت تبحث عن بديل لبرنامج Windows AutoHotkey ، AutoKey هو أفضل خيار متاح اليوم لمستخدمي Linux.

لاحظ أن هذا تطبيق X11 فقط ، ولم تتم إضافة دعم Wayland إلى التطبيق وقت كتابة هذه المقالة.







بعض ميزات AutoKey هي:



  • يدعم الاختصارات التي يمكن أن تتوسع تلقائيًا في عدد قليل من الأحرف إلى أي من الجمل وكتل النصوص شائعة الاستخدام.
  • يدعم إرسال ضغطات المفاتيح التعسفية ونقرات الماوس.
  • يدعم تحديد القواعد الخاصة بنافذة تطبيق معينة.
  • يمكن استخدام نصوص Python 3 لكتابة قواعد الأتمتة.
  • القدرة على التحكم في وظائف النافذة مثل التكبير وتغيير الحجم والتحرك.
  • يأتي مع مجموعة من الأمثلة مسبقة التكوين لتسهيل البرمجة النصية.
  • القدرة على إظهار النوافذ المنبثقة القائمة المخصصة مع قائمة من الخيارات.
  • القدرة على تسجيل ضغطات المفاتيح ونقرات الماوس.
  • القدرة على ضبط مفاتيح الاختصار بدون مفاتيح التعديل.
  • نصوص الأتمتة محمولة ويمكن مشاركتها بسهولة مع مستخدمين آخرين.

سيوضح لك هذا الدليل بعض أمثلة AutoKey المفيدة لمحبي ألعاب Linux. للبدء ، دعنا نثبت حزم Autokey Ubuntu من صفحة GitHub الخاصة بها. قم بتنزيل الملفات المذكورة أدناه من هنا



  • autokey-common_x.xx.x-x_all.deb
  • autokey-gtk_x.xx.x-x_all.deb أو autokey-qt_x.xx.x-x_all.deb (تنزيل واحد فقط)

بعد تنزيل الملفات ، قم بتشغيل الأوامر التالية بالترتيب:





$سودوملائمتثبيت./autokey-common_0.95.8-0_all.deb
$سودوملائمتثبيت./أوتوكي- gtk_0.95.8-0_all.deb

من الشائع أن ترى العديد من ألعاب الكمبيوتر الشخصي تستخدم المفتاح للتوفير السريع وللتحميل السريع. ومع ذلك ، فإن العديد من ألعاب الكمبيوتر الأخرى ، وخاصة منافذ وحدة التحكم ، لديها طريقة مملة لحفظ اللعبة حيث يتعين عليك التنقل عبر خيارات قائمة متعددة. إليك نموذج بالحجم الطبيعي السريع الذي رسمته يوضح هذا (أعذر مهاراتي في الرسم):



تريدك اللعبة أن تضغط على المفتاح لإيقاف اللعبة مؤقتًا ، ثم مفتاح السهم ، ثم المفتاح لحفظ اللعبة ، متبوعًا بمفتاح مرة أخرى للعودة إلى اللعبة. يمكن أتمتة هذه العملية بأكملها بسهولة وتعيينها إلى مفتاح باستخدام AutoKey. تحقق من كود البرنامج النصي أدناه:

يستوردزمن
لوحة المفاتيح(')
وقت النوم(0.25)
لوحة المفاتيح(')
وقت النوم(0.25)
لوحة المفاتيح(')
وقت النوم(0.25)
لوحة المفاتيح(')

لإضافة هذا البرنامج النصي إلى AutoKey ، قم بتشغيل التطبيق ثم انقر فوق مجلد مرئي أو انقر فوق مجلد مخصص قمت بإنشائه لتمييزه. انقر فوق ملف> جديد> برنامج نصي خيار القائمة لإنشاء برنامج نصي جديد داخل هذا المجلد ، كما هو موضح في لقطة الشاشة أدناه:

قم بإعادة تسمية هذا البرنامج النصي إلى Quicksave ووضع الكود أعلاه بداخله. ثم اضغط على زر Hotkey في الأسفل ، كما هو موضح في الصورة أدناه:

في الشاشة التالية ، انقر فوق الزر اضغط لتعيين ثم اضغط على مفتاح لتعيينه على البرنامج النصي.

مفتاح:(لا أحد)سوف يتغير إلى مفتاح:<f5>.

انقر فوق 'موافق' واضغط لحفظ البرنامج النصي. تذكر دائمًا حفظ النص وإلا فلن يتم تنفيذ أي شيء عند الضغط على مفتاح الاختصار المعين.

Quicksave Keymapping جاهز الآن للاستخدام. في المرة التالية التي تضغط فيها على مفتاح ، سيتم تنفيذ سلسلة من ضغطات المفاتيح بالترتيب.

لاحظ أننا قمنا بتغيير وظائف المفتاح عالميًا في جميع أنحاء نظام التشغيل ، طالما أن AutoKey قيد التشغيل ومرسى في علبة النظام. لتقييده في نافذة أو تطبيق معين ، سيتعين عليك تحديد قواعد النافذة بالنقر فوق الزر Window Filter في الأسفل.

يمكنك استخدام نفس البرنامج النصي أعلاه لإنشاء نص برمجي للتحميل السريع أيضًا. عليك فقط إزالة السطر الخاص بمفتاح السهم ثم تعيين البرنامج النصي للمفتاح.

إذا كنت تبحث عن أسماء مفاتيح صحيحة لاستخدامها في البرامج النصية لـ AutoKey Python 3 ، فيمكن العثور على قائمة بجميع رموز المفاتيح الخاصة التي يمكن استخدامها في AutoKey هنا . يمكن إدراج أي مفتاح غير مذكور في الصفحة أعلاه باستخدام علامات اقتباس مفردة أو مزدوجة. مثال: keyboard.send_key ('5') ، keyboard.send_key ('p') وهكذا.

مثال 2: اشرب جرعتين صحيتين على التوالي في لعبة تقمص الأدوار

بافتراض أن مفتاح الاختصار لشرب جرعة صحية في لعبتك هو:

لوحة المفاتيح('ح'وكرر=2)

يمكن تغيير قيمة متغير التكرار إلى أي رقم آخر أيضًا. يمكنك اتباع الخطوات المذكورة في المثال الأول لتعيين البرنامج النصي إلى مفتاح الاختصار الذي تريده.

مثال 3: وضع الاندفاع للبندقية في لعبة إطلاق النار

باستخدام الكود أدناه ، يمكنك تعيين مفتاح لإطلاق النار ثلاث مرات على التوالي. الطريقة الأصلية لإطلاق النار في اللعبة هي الضغط على زر الماوس الأيسر مرة واحدة.

# أزرار الماوس: يسار = 1 ، وسط = 2 ، يمين = 3
mouse.click_relative_self(0و0و1)
mouse.click_relative_self(0و0و1)
mouse.click_relative_self(0و0و1)

سينفذ البرنامج النصي أعلاه النقر بالماوس الأيسر ثلاث مرات على التوالي. يمكن إضافة عبارات إضافية إذا كنت تريد تنفيذ النقر الأيسر أكثر من ثلاث مرات.

يمكنك اتباع الخطوات المذكورة في المثال الأول لتعيين البرنامج النصي إلى مفتاح الاختصار.

مثال 4: إنشاء قائمة ألعاب مخصصة / تحويل لعبة في الوقت الحقيقي إلى لعبة قائمة على الأدوار

باستخدام وظيفة قائمة القائمة الخاصة بـ AutoKey ، سنعرض قائمة كتراكب أعلى لعبة قيد التشغيل. ستسرق هذه القائمة التركيز من اللعبة وتعيده بعد النقر بالماوس على أحد عناصر القائمة. بمجرد إرجاع التركيز ، سيتم تنفيذ ضغطة مفتاح آلية تستدعي وظيفة داخل اللعبة.

الق نظرة على هذه الصورة:

في مجلد GameMenu ، قمت بإنشاء مجلد فرعي يسمى Show. يحتوي كل من مجلد GameMenu و Show على عناصر تابعة. هذا هو الكود الذي وضعته داخل كل عنصر طفل:

  • الجرد: keyboard.send_key ('i')
  • الخريطة: keyboard.send_key ('m')
  • العودة إلى اللعبة: keyboard.send_key ('')
  • التبديل إلى بندقية الهجوم: keyboard.send_key ('2')
  • التبديل إلى SMG: keyboard.send_key ('1')

هنا يتم تعيين مجلد GameMenu للمفتاح وهذا ما يبدو داخل اللعبة قيد التشغيل:

يحتوي كل عنصر قائمة على رقم مسبوق قبل تسميته. يمكنك استدعاء أي عنصر قائمة بالضغط على مفتاح الرقم المقابل على لوحة المفاتيح. على سبيل المثال ، سيؤدي الضغط على المفتاح هنا إلى تحويل البندقية إلى بندقية هجومية.

عرض GIF صغير لهذا المثال (انقر على الصورة أو انقر بزر الماوس الأيمن وافتح GIF في علامة تبويب جديدة إذا توقفت الرسوم المتحركة أدناه):

قد لا تعمل هذه الطريقة مع جميع الألعاب ، اعتمادًا على الطريقة التي يتعاملون بها مع عرض الإطارات وملء الشاشة. لا تتوقف بعض الألعاب مؤقتًا عند سرقة التركيز بينما يفعل البعض الآخر. إذا توقفت اللعبة مؤقتًا عند فقد التركيز ، فأنت تقوم بشكل أساسي بتحويل لعبة في الوقت الفعلي إلى لعبة قائمة على الأدوار باستخدام هذا البرنامج النصي AutoKey.

سيعمل هذا المثال مع الألعاب على أساس كل حالة على حدة. ومع ذلك ، في الاختبار الذي أجريته ، حققت نتائج جيدة مع كل من الألعاب الأصلية وألعاب Steam Proton / Wine.

استنتاج

جميع الأمثلة المذكورة هنا أساسية ، وتركز بشكل أساسي على لاعبي Linux. إنها تغطي فقط جزءًا من واجهة برمجة تطبيقات AutoKey القوية. يمكن لـ AutoKey أتمتة الكثير من سير عملك باستخدام ميزات البرمجة النصية للبرامج اليومية أو المعقدة أيضًا. تتوفر بعض الأمثلة الأخرى في الوثائق الرسمية من التطبيق.