Gambar oleh djeucalyptus
Ikhtisar
Setiap orang yang bahkan pernah memikirkan ide beralih ke Linux, mungkin sangat cepat menemukan masalah bahwa ada satu aplikasi Windows yang Anda BUTUHKAN untuk berfungsi. Kami telah menunjukkan kepada Anda bahwa Anda dapat mencapai ini menggunakan WINE.
Untuk penulis ini, aplikasi adalah aplikasi Text-To-Speech yang menggunakan mesin Microsoft SAPI4. Memasang program di bawah WINE sangat mudah, namun setelah selesai saya segera menemukan bahwa hot-keys yang digunakan untuk memicu berbagai tindakan program (mulai membaca, berhenti membaca, dll ') tidak berfungsi dan bahwa ini adalah diketahui masalah dengan WINE.
Saya senang untuk mengatakan bahwa setelah ribuan tahun mencari, saya akhirnya menemukan solusinya dalam bentuk utilitas GNU yang dapat memanipulasi antarmuka X.org menggunakan fungsi asli. Meskipun bukan satu-satunya dari jenisnya, xdotool adalah yang paling mudah untuk bekerja dan sudah ada di repositori Ubuntu / Mint.
xdotool
Program xdotool dapat melakukan banyak tugas terkait jendela dari CLI, dengan yang mengatakan, hanya dua yang akan kita manfaatkan adalah "pencarian" dan "kunci". Fungsi "pencarian" hanya melakukan itu, mencari ID jendela / s sesuai dengan parameter yang Anda tetapkan untuknya. Fungsi "kunci" memungkinkan Anda untuk mensimulasikan key-stroke ke ID jendela.
Pemasangan & konfigurasi
Diasumsikan bahwa Anda sudah menginstal WINE dan program yang Anda butuhkan di bawahnya. Dalam contoh ini kita akan menggunakan Balabolka sebagai aplikasi "Windows" karena ini adalah replika freeware yang bagus dari program asli yang saya butuhkan solusi ini untuk (pusat pidato kedua).
Jika Anda memilih untuk menggunakan Balabolka juga, Anda perlu mengaktifkan kemampuan hotkey-nya. Catatan: Anda mungkin ingin menginstal TTSReader atau pusat pidato kedua bahkan dalam mode demo, sehingga suara SAPI akan diinstal.
Buka program dan masuk ke pengaturan (Shift + F6) di bawah "Opsi" -> "Pengaturan".
Biarkan berjalan di latar belakang sehingga dapat melakukan tugasnya ketika kita mengaitkan keystroke ke sana.
Instal xdotool dengan menerbitkan:
sudo apt-get install xdotool
Pengikatan global
Program xdotool sendiri tidak membantu kita mengikat secara global ke hotkey, tetapi kita dapat menggunakan sistem hotkey OS yang sudah ada. Apa yang akan kita lakukan adalah membuat skrip sederhana yang memanfaatkan xdotool untuk mengirim keystrokes yang kita inginkan ke program Balabolka dan memanggilnya dari sistem hotkey OS.
Buat skrip yang disebut "start_read.sh" dengan konten berikut:
xdotool key --window $( xdotool search --limit 1 --all --pid $( pgrep balabolka ) --name Balabolka ) 'ctrl+alt+F9'
Buat skrip lain kali ini yang disebut "stop_read.sh" dengan konten berikut:
xdotool key --window $( xdotool search --limit 1 --all --pid $( pgrep balabolka ) --name Balabolka ) 'ctrl+alt+F7'
Catatan: Saya tahu ini adalah satu liner yang tidak memerlukan skrip, tetapi program "Pintasan Keyboard" Mint / Ubuntu, tidak bekerja sama dengan hanya memohonnya secara langsung. Jika Anda tahu cara melakukannya, silakan bagikan di komentar di bawah.
Mengeremkan perintah ini ke komponennya, yang kita lihat adalah:
- Bagian “–pid $ (pgrep balabolka)”, menjalankan “pgrep” pada program yang ingin kita gunakan untuk memastikan ID prosesnya. Ini akan mempersempit xdotool yang diajukan "pencarian" ke PID itu saja.
- Bagian “xdotool –limit 1 –all… –name Balabolka”, mempersempit hasil pencarian xdotool bahkan lebih dan membatasi jawaban yang dikembalikan ke 1. Seperti dalam kasus kami, tidak masalah ID jendela mana yang dikembalikan dari program, membatasi hasilnya bertindak sebagai formatter untuk "kunci" perintah. Anda mungkin menemukan bahwa Anda perlu memijat bagian ini lebih banyak jika itu penting untuk program yang Anda gunakan.
- Tombol “xdotool key –window% WINDOW_ID%“ctrl + alt + F7 ″”, mengirim penekanan yang diinginkan ke windowID yang diperoleh oleh bagian sebelumnya.
Buat skrip dieksekusi.
Linux Mint Keyboard pintas
Di Linux Mint, hotkey global diatur dalam program "Pintasan Keyboard".
Sekarang, di Kolom "Pintasan", klik kata "Nonaktif" untuk mendapatkan opsi untuk menyetel kombo kunci baru. Catatan: Anda dapat, jika Anda ingin, menggunakan sesuatu yang lain dari standar program. Dalam arti menciptakan "remap" untuk binding kunci itu, tergantung pada program yang Anda gunakan, jika tidak akan berada di luar kendali Anda.
Keyboard Ubuntu
Di bawah Ubuntu, program yang mengatur hotkey global hanya disebut "Keyboard".
Klik tanda tambah untuk menambahkan pintasan. Beri nama dan di bawah "Perintah" berikan jalur lengkap ke salah satu skrip yang kami buat di atas. Ulangi proses untuk skrip kedua. Sekarang klik pada kata "Nonaktif" untuk mendapatkan opsi untuk mengatur kombo kunci baru.
Catatan: Mengulangi pada catatan dari bagian Mint, Anda dapat, jika Anda ingin, menggunakan sesuatu yang lain dari standar program. Dalam arti menciptakan "remap" untuk binding kunci itu, tergantung pada program yang Anda gunakan, jika tidak akan berada di luar kendali Anda.
Catatan Penulis
Setiap kali saya serius mempertimbangkan pindah ke Linux, masalah ini adalah yang pertama dalam daftar masalah saya. Bukan itu Linux tidak memiliki masalah, tapi ini adalah rintangan nyata, bagi saya. Saya sudah mencoba berkali-kali, bertanya kepada teman / orang di lapangan dan bahkan membuatnya menjadi karunia … Saya senang kisah ini berakhir dan jiwa saya akhirnya bisa beristirahat. Harapan saya adalah saya telah membantu seseorang di luar sana untuk tidak harus melalui cobaan yang sama.
Doc Brown: Butuh waktu hampir tiga puluh tahun bagi saya dan seluruh keluarga saya untuk merealisasikan visi hari itu. Ya Tuhan, sudahkah selama itu?