Autohotkey Equivalent?

48

Apakah ada produk / metode yang setara untuk AutoHotkey. Bagi mereka yang tidak tahu, ini adalah produk yang memungkinkan Anda untuk memprogram gerakan mouse dan keyboard Anda. Ini memungkinkan saya untuk "makro" fungsi tertentu pada program daripada harus melakukannya secara manual. Di masa lalu mereka biasa menyebut mereka stuffers keyboard. Tapi itu hanya setengah dari solusi karena saya memerlukan stuffer "gerakan mouse" juga.

Apakah ada binatang seperti itu?

Meer Borg
sumber

Jawaban:

31

Ada port AutoHotKey ke Linux bernama IronAHK dan alat serupa yang disebut Autokey . Saya juga belum pernah menggunakan, saya tidak tahu seberapa baik mereka bekerja.

Selain program semacam itu, Anda tidak akan menemukan alat otomasi yang persis sama. Alat otomatisasi pengguna dasar pada sistem unix adalah shell. Shell adalah lem yang menggabungkan alat-alat lain: ia dapat meluncurkan program eksternal dan mengontrol bagaimana mereka bertukar data. Shell itu sendiri tidak termasuk apa pun untuk memanipulasi konsep GUI seperti windows dan pointer mouse¹. Yang Anda lakukan adalah memanggil alat khusus dalam skrip shell, khususnya xdotool untuk memanipulasi windows, dan menyuntikkan penekanan tombol dan acara mouse .

Misalnya, skrip berikut mengklik pada posisi (40,20) di jendela Myapp.

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

¹ Kecuali untuk dtksh , tetapi saya belum pernah melihat port Linuxnya .

Gilles 'SANGAT berhenti menjadi jahat'
sumber
Ringkasan yang bagus, Sayang sekali proyek ini sudah 4 tahun kedaluwarsa dan semua binari 404-an, akan mencoba xdotool. Terima kasih telah meluangkan waktu.
Meer Borg
mencoba xdotool, bekerja seperti pesona tetapi Anda harus membaca dokumen mereka sebelum memulai
ConstantineK
1
AFAIK, IronAHK tidak pernah sepenuhnya diimplementasikan dan telah ditinggalkan.
Joe
2

Anda dapat menggunakan xautomation di Linux. Saya menggunakannya pada layar tampilan Raspberry Pi, untuk mengirim refresh halaman F5 dan 'Return' (enter) penekanan tombol untuk login.

Andy Anderson
sumber
2

Gunakan AutohotkeyX, ini merupakan port WINE autohotkey baru-baru ini yang, menurut pengujian winehq, melakukan semua yang dapat dilakukan Autohokey di windows. Ini dengan mudah jawaban terbaik dan paling langsung.

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

Saya belum secara pribadi menguji ini, tetapi hasil WINEHQ cenderung

DeeJayh
sumber
1

Unduh Autohotkey di Linux. Buat file Autohotkey (example.ahk). Gunakan anggur untuk menjalankan Ahk2Exe.exe dari folder Autohotkey. Kompilasi file example.ahk Anda ke example.exe Gunakan anggur untuk menjalankan example.exe

Angelo
sumber
2
Itu bukan pilihan yang baik. Untuk saat ini, fungsi Autohotkey run through wine sangat terbatas: appdb.winehq.org/… .
banan3'14
1

Ada beberapa proyek yang membahas hal ini. Dua yang paling aktif, AFAIK, adalah sikuli dan AutoKey (sebuah proyek yang saya bantu dukung).

Saya belum pernah menggunakan sikuli, tetapi tampaknya didasarkan pada menemukan pola di layar dan memicu tindakan berdasarkan mereka.

AutoKey memungkinkan pengguna untuk menentukan frasa pemicu dan tombol pintas yang memperluas frasa (mirip dengan fitur koreksi otomatis yang sangat kuat) atau menjalankan skrip yang ditulis dengan Python3 yang hanya dibatasi oleh keterampilan pemrograman pengguna. Ini menyediakan API untuk pembuatan acara keyboard dan mouse. Ini juga terintegrasi dengan Xautomation yang memungkinkan Anda menemukan gambar kecil di layar dan memindahkan kursor mouse ke sana.

Saya telah menggunakan AutoKey selama bertahun-tahun dan mendukungnya dalam daftar kami . Ini seperti sejumlah alat produktivitas: Anda bisa bertahan tanpanya, tetapi begitu Anda mulai menggunakannya, Anda akan bertanya-tanya bagaimana Anda melakukannya tanpa itu.

Beberapa spesifik:

AutoKey tidak berfungsi dengan definisi dan skrip Autohotkey. Mereka harus ditulis ulang.

Saya memang menulis bukti skrip bash konsep (tersedia atas permintaan) yang menerjemahkan frasa AutoHotKey menjadi frasa AutoKey, tetapi itu hanya titik awal dan mengabaikan sebagian besar opsi AutoHotKey.

Karena skrip AutoKey ditulis dalam Python3, dimungkinkan juga untuk memanggil alat seperti xdotool dan wmctrl dari dalam skrip untuk memberikan fungsionalitas tambahan, tetapi ini biasanya tidak diperlukan. Meskipun skrip AutoKey ditulis dalam Python, cukup banyak yang dapat dicapai dengan pengetahuan Python yang sangat terbatas. Anda tidak perlu menjadi programmer Python yang fasih untuk sebagian besar tujuan.

Jika Anda menggunakan distribusi berbasis Debian, tolong jangan instal versi AutoKey yang disediakan oleh distribusi Anda. Paket AutoKey mereka tidak terawat dan sangat tua. Dapatkan versi terbaru dari kami .

Joe
sumber
0

... program gerakan mouse dan keyboard Anda. Ini memungkinkan saya untuk "makro" fungsi tertentu pada program daripada harus melakukannya secara manual.

Kantu adalah alat otomasi desktop lintas platform yang bekerja sangat baik di Ubuntu (saya belum mengujinya pada rasa lain)

Alat otomasi pengguna dasar pada sistem unix adalah shell.

Ya. Tetapi AHK dan Kantu memungkinkan pengguna untuk mengotomatisasi tugas di dalam suatu aplikasi dengan mensimulasikan klik mouse dan stroke keyboard. Shell tidak dapat melakukan ini. Saya menggunakannya untuk untuk tes otomatis plus beberapa peretasan produktivitas.

Tentu saja, Anda dapat menggabungkan kantu dengan python atau memulainya langsung dari shell.

Jim Grigoryan
sumber
2
Jim, jika Anda berafiliasi dengan salah satu produk yang Anda tautkan, harap dicatat bahwa Pusat Bantuan situs ini memiliki pedoman tentang Perilaku yang Diharapkan sehubungan dengan mengungkapkan afiliasi Anda dalam jawaban Anda. Jawaban yang tidak termasuk ini dapat dihapus. Terima kasih!
Jeff Schaller
0

Cukup gunakan XEV dan XMODMAP. SEDERHANA dan lebih baik daripada program khusus atau meniru aplikasi Windows yang jelek. Semua barang LINUX saya menggunakan skrip untuk mendefinisikan kembali tombol dan mengubah mode layar dan kemudian, ketika program selesai dan keluar, mengatur semuanya kembali normal. Ini sama mudahnya dengan menggunakan XMODMAP dan membuat skrip seperti halnya membuat skrip AHK, tetapi dengan bonus tambahan karena tidak harus menjalankan aplikasi Windows yang ditiru. Dan bagi orang yang mengatakan Anda tidak bisa melakukan ini atau itu ... SALAH. Anda dapat melakukan lebih banyak dari shell Linux daripada OS lain dan Anda dapat melakukan semua yang kita bicarakan, termasuk memindahkan windows, dan masih menggunakan perintah sistem yang ramah sistem yang terintegrasi!

MENTD
sumber
3
Jawaban ini mungkin, setahu saya, 100% benar dan akurat. Namun, akan  jauh lebih bermanfaat jika menyertakan beberapa contoh dan / atau instruksi, atau bahkan tautan ke dokumentasi lebih lanjut.
Scott
0

Saya ingin mengatakan bahwa semua solusi yang dikomentari di atas hanya berfungsi pada sistem X11. Tidak ada solusi (atau, setidaknya, saya belum menemukan siapa pun) yang bekerja di Wayland.

Osqui
sumber