Еквівалент Autohotkey?


47

Чи є еквівалентний продукт / метод для AutoHotkey. Для тих, хто не знає, це продукт, який дозволяє програмувати рухи миші та клавіатури. Це дозволяє мені "макросувати" певні функції в програмах, а не робити це вручну. У старі часи їх називали клавішами. Але це лише половина рішення, оскільки мені також потрібна програма для «руху миші».

Чи є такий звір?

Відповіді:


31

Існує порт AutoHotKey до Linux під назвою IronAHK і подібний інструмент під назвою Autokey . Я ніколи не використовував, не знаю, як добре вони працюють.

Крім таких програм, ви точно не знайдете інструментів автоматизації. Основним інструментом автоматизації користувачів в системах Unix є оболонка. Оболонка - це клей, який поєднує інші інструменти: він може запускати зовнішні програми та контролювати, як вони обмінюються даними. Сама оболонка не містить нічого для маніпулювання такими графічними інтерфейсами, як Windows та вказівник миші¹. Що ви робите, це викликати спеціалізовані інструменти в сценарії оболонки, зокрема xdotool для маніпулювання вікнами та введення клавіш та подій миші .

Наприклад, наступний скрипт клацає на позиції (40,20) у вікні Myapp.

#!/bin/sh
xdotool search --class Myapp \
        mousemove --window %1 40 20 \
        click 1

¹ за винятком dtksh , але я ніколи не бачив порт Linux з нього.


Приємний підсумок, шкода, що проект на 4 роки застарів, а бінарні файли - всі 404, хоч спробує спробувати xdotool. Дякуємо, що знайшли час.
Меер Борг

випробував xdotool, працює як шарм, але перед початком роботи обов'язково прочитайте їхні документи
ConstantineK

1
АФАІК, IronAHK ніколи не був повністю втілений у життя та був залишений.
Джо

2

Ви можете використовувати xautomation в Linux. Я використовую його на екранах Raspberry Pi, щоб надсилати оновлення сторінки F5 та натискання клавіш "Повернення" (введення) для входу.


2

Використовуйте AutohotkeyX, це недавній порт WINE з автоматичною клавішею, який, згідно з випробуванням winehq, робить усе, що може зробити Autohokey на Windows. Це легко найкраща і найпростіша відповідь.

https://appdb.winehq.org/objectManager.php?sClass=version&iId=17738

Я особисто не перевіряв цього, але результати WINEHQ мають тенденцію


1

Завантажте Autohotkey в Linux. Створіть файл автоматичної клавіші (example.ahk). Використовуйте вино для запуску Ahk2Exe.exe з папки Autohotkey. Складіть файл example.ahk до example.exe Використовуйте вино для запуску example.exe


2
Це не гарний варіант. Наразі функціональність Autohotkey, що проходить через вино, дуже обмежена: appdb.winehq.org/… .
banan3'14

1

Є кілька проектів, які вирішують це. Два найактивніших, AFAIK, - це сикулі та AutoKey (проект, який я допомагаю підтримати.)

Я не використовував сикулі, але, здається, він заснований на знаходженні шаблонів на екрані та запусканні дій на їх основі.

AutoKey дозволяє користувачеві визначати тригерні фрази та гарячі клавіші, які розширюють фрази (подібні до дуже потужної функції автокорекції) або запускають сценарії, написані на Python3, які обмежені лише навичками програмування користувача. Він пропонує API для генерації подій клавіатури та миші. Він також інтегрується з Xautomation, що дозволяє знайти невелике зображення на екрані та перемістити курсор миші на нього.

Я використовую AutoKey вже багато років і підтримую його у нашому списку . Це як ряд інструментів підвищення продуктивності: ви можете обійтися без нього, але як тільки ви почнете користуватися ним, ви будете цікавитись, як ви коли-небудь обійшлися без нього.

Деякі особливості:

AutoKey не працює з визначеннями та сценаріями AutoHotKey. Їх доведеться переписати.

Я написав доказ баш сценарію концепції (доступний на запит), який переводить AutoHotKey фрази в фрази AutoKey, але це лише вихідна точка і ігнорує більшість параметрів AutoHotKey.

Оскільки сценарії AutoKey написані на Python3, також можна викликати такі інструменти, як xdotool і wmctrl, всередині сценарію, щоб забезпечити додаткову функціональність, але це, як правило, не потрібно. Незважаючи на те, що сценарії AutoKey написані на Python, досить багато може бути досягнуто з дуже обмеженими знаннями Python. Для більшості цілей вам не потрібно бути вільним програмістом Python.

Якщо ви використовуєте дистрибутив на базі Debian, будь ласка, не встановлюйте версію AutoKey, надану вашим дистрибутивом. Їхній пакет AutoKey бездоганний і дуже старий. Отримайте від нас поточну версію .


0

... програмуйте рухи миші та клавіатури. Це дозволяє мені "макросувати" певні функції в програмах, а не робити це вручну.

Kantu - це інструмент для автоматизації настільних платформ на робочому столі , який дуже добре працює на Ubuntu (я не перевіряв його на інших ароматах)

Основним інструментом автоматизації користувачів в системах Unix є оболонка.

Так. Але AHK і Kantu дозволяють користувачеві автоматизувати завдання всередині програми, імітуючи клацання миші та обведення клавіатури. Шкаралупа не може цього зробити. Я використовую його для автоматизованих тестів, а також декілька злому продуктивності.

Звичайно, можна поєднувати канту з пітоном або запускати його прямо з оболонки.


2
Джіме, якщо ви пов’язані з будь-яким із продуктів, на які ви посилаєтесь, зауважте, що довідковий центр цього сайту має вказівки щодо очікуваної поведінки щодо розкриття вашої приналежності у своїх відповідях. Відповіді, які не включають це, підлягають видаленню. Дякую!
Джефф Шаллер

0

Просто використовуйте XEV і XMODMAP. ПРОСТО і краще, ніж спеціалізовані програми або емуляція банальних програм для Windows. У всіх моїх матеріалах LINUX використовуються скрипти для переосмислення клавіш та зміни режимів екрана, а потім, коли програма закінчена та виходить, поверніть все до нормального. Це приблизно так само просто використовувати XMODMAP та створити сценарій, як це зробити сценарій AHK, але з додатковим бонусом не потрібно запускати емульований додаток Windows. А для людей, які говорять, що ви не можете зробити те чи інше ... НЕБЕЗПЕЧНО. З оболонки Linux ви можете зробити більше, ніж будь-яка інша ОС, і ви можете робити все, про що ми говоримо, включаючи переміщення вікон навколо, і все ще використовувати вбудовані системні команди, вбудовані в систему!


3
Ця відповідь, наскільки я знаю, може бути на 100% правильною і точною. Однак було б  набагато корисніше, якби вона включала деякі приклади та / або інструкції, або навіть посилання на подальшу документацію.
Скотт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.