Πώς να δεσμεύσετε το Global HotKeys σε ένα πρόγραμμα WINE κάτω από το Linux
Έχετε ποτέ εγκαταστήσει ένα πρόγραμμα των Windows στο Linux κάτω από το WINE, μόνο για να ανακαλύψετε ότι δεν δεσμεύει πια το πλήρες κλειδί του συστήματος; Η HTG έχει την δουλειά που αναζητάτε.
Εικόνα με djeucalyptus
ΣΦΑΙΡΙΚΗ ΕΙΚΟΝΑ
Ο καθένας που έχει σκεφτεί ακόμη και την ιδέα της αλλαγής στο Linux, πιθανότατα αντιμετωπίζει πολύ γρήγορα το πρόβλημα ότι υπάρχει αυτή η μία εφαρμογή των Windows που χρειάζεστε να λειτουργήσει. Έχουμε ήδη δείξει ότι μπορείτε να το πετύχετε χρησιμοποιώντας το WINE.
Για αυτόν τον συγγραφέα, η εφαρμογή ήταν μια εφαρμογή Text-To-Speech που χρησιμοποιεί τη μηχανή Microsoft SAPI4. Η εγκατάσταση του προγράμματος κάτω από το WINE ήταν μια αύρα, αλλά μετά την ολοκλήρωση, έχω διαπιστώσει γρήγορα ότι τα πλήκτρα που χρησιμοποιήθηκαν για να ενεργοποιήσουν τις διάφορες ενέργειες του προγράμματος (έναρξη ανάγνωσης, διακοπή ανάγνωσης κτλ.) Δεν λειτουργούσαν και αυτό είναι γνωστό πρόβλημα με το WINE.
Είμαι ευτυχής που λέω ότι μετά από αιώνες αναζήτησης, έχω βρει τελικά τη λύση με τη μορφή ενός βοηθητικού προγράμματος GNU το οποίο μπορεί να χειριστεί τη διασύνδεση X.org χρησιμοποιώντας μητρικές λειτουργίες. Ενώ δεν είναι το μόνο του είδους του, το xdotool είναι αυτό που ήταν το πιο εύκολο να δουλέψει και ήταν ήδη στις αποθήκες του Ubuntu / Mint.
xdotool
Το πρόγραμμα xdotool μπορεί να κάνει πολλές εργασίες που σχετίζονται με το παράθυρο από το CLI, με το οποίο λέει ότι οι μόνοι που θα χρησιμοποιήσουμε είναι "αναζήτηση" και "κλειδί". Η λειτουργία "αναζήτηση" κάνει ακριβώς αυτό, ψάχνει για ένα αναγνωριστικό παραθύρου ανάλογα με τις παραμέτρους που έχετε ορίσει. Η λειτουργία "κλειδί" σάς δίνει τη δυνατότητα να προσομοιώσετε μια διαδρομή πλήκτρου σε ένα αναγνωριστικό παραθύρου.
Εγκατάσταση και διαμόρφωση
Θεωρείται ότι έχετε ήδη εγκαταστήσει το WINE και το πρόγραμμα που χρειάζεστε κάτω από αυτό. Σε αυτό το παράδειγμα θα χρησιμοποιήσουμε την Balabolka ως την εφαρμογή "Windows" επειδή είναι ένα καλό δωρεάν αντίγραφο του αρχικού προγράμματος που χρειαζόμουν αυτή τη λύση για το (2ο κέντρο ομιλίας).
Εάν έχετε επιλέξει να χρησιμοποιήσετε το Balabolka επίσης, θα πρέπει να ενεργοποιήσετε τις δυνατότητες των πλήκτρων πρόσβασης.
Σημείωση: Μπορεί να θέλετε να εγκαταστήσετε το TTSReader ή το 2ο κέντρο ομιλίας ακόμη και σε κατάσταση επίδειξης, έτσι ώστε να εγκατασταθούν οι φωνές SAPI.
Ανοίξτε το πρόγραμμα και μεταβείτε στις ρυθμίσεις (Shift + F6) στο "Επιλογές" -> "Ρυθμίσεις".
Μεταβείτε στην καρτέλα με τα πλήκτρα πρόσβασης και επιλέξτε το πλαίσιο ελέγχου "Χρήση πλήκτρων πλήκτρων σφαιρικής εμφάνισης".
Κάντε κλικ στο κουμπί OK.
Αφήστε το τρέξιμο στο παρασκήνιο, ώστε να μπορεί να κάνει τη δουλειά του όταν συνδέουμε τις πλήκτρες σε αυτό.
Εγκαταστήστε το xdotool εκδίδοντας:
sudo apt-get να εγκαταστήσετε το xdotool
Παγκόσμια δέσμευση
Το πρόγραμμα xdotool από μόνο του δεν μας βοηθά να δεσμευτούμε παγκοσμίως με τα πλήκτρα πρόσβασης, αλλά μπορούμε να χρησιμοποιήσουμε το ήδη υπάρχον σύστημα hotkey OS. Αυτό που θα κάνουμε είναι να δημιουργήσουμε ένα απλό script που χρησιμοποιεί το xdotool για να στείλει τις πληκτρολογήσεις που θέλουμε στο πρόγραμμα Balabolka και να το καλέσουμε από το σύστημα hotkey OS.
Δημιουργήστε ένα σενάριο που ονομάζεται "start_read.sh" με το ακόλουθο περιεχόμενο:
xdotool κλειδί - παράθυρο $ (xdotool αναζήτηση --limit 1 - όλα - $ $ (pgrep balabolka) - όνομα Balabolka) "ctrl + alt + F9"
Δημιουργήστε μια άλλη δέσμη ενεργειών αυτή τη φορά που ονομάζεται "stop_read.sh" με το ακόλουθο περιεχόμενο:
κλειδί xdotool - παράθυρο $ (xdotool αναζήτηση --limit 1 - όλα - $ $ (pgrep balabolka) - όνομα Balabolka) "ctrl + alt + F7"
Σημείωση: Ξέρω ότι αυτό είναι ένα liner που δεν απαιτεί δέσμη ενεργειών, αλλά το πρόγραμμα Mint / Ubuntu "Keyboard Shortcuts" δεν συνεργαζόταν με την απλή επίκληση του. Εάν ξέρετε πώς να το κάνετε, παρακαλώ μοιραστείτε τα σχόλια παρακάτω.
Φρενάρει αυτή την εντολή στα εξαρτήματά της, αυτό που βλέπουμε είναι:
- Το τμήμα "-pid $ (pgrep balabolka)" εκτελεί ένα "pgrep" στο πρόγραμμα που θέλουμε να χρησιμοποιήσουμε για να διαπιστώσουμε το αναγνωριστικό διαδικασίας του. Αυτό θα περιορίσει το αρχείο xdotool της "αναζήτησης" μόνο σε αυτό το PID.
- Το στοιχείο "xdotool search -limit 1 -all ... -name Balabolka", περιορίζει ακόμη περισσότερο το αρχείο αναζήτησης xdotool και περιορίζει τις απαντήσεις που έχουν επιστραφεί στο 1. Όπως και στην περίπτωσή μας, δεν έχει σημασία ποια από τα αναγνωριστικά παραθύρων επέστρεψε , ο περιορισμός του αποτελέσματος ενεργεί ως διαμορφωτής για την εντολή "κλειδί". Μπορεί να διαπιστώσετε ότι πρέπει να κάνετε μασάζ σε αυτό το μέρος περισσότερο εάν έχει σημασία για το πρόγραμμα που χρησιμοποιείτε.
- Το τμήμα "xdotool key -window% WINDOW_ID%" ctrl + alt + F7 "", στέλνει το επιθυμητό πληκτρολόγιο στο αναγνωριστικό παραθύρου που λήφθηκε από τα προηγούμενα τμήματα.
Κάντε τα εκτελέσιμα σενάρια.
Πληκτρολόγιο Mint Linux συντομεύσεις
Κάτω από το Linux Mint, τα παγκόσμια πλήκτρα πρόσβασης ορίζονται στο πρόγραμμα "Συντομεύσεις πληκτρολογίου".
Μόλις ανοίξετε Κάντε κλικ στο "Προσθήκη" για να δημιουργήσετε μια νέα προσαρμοσμένη συντόμευση:
Δώστε το όνομα και κάτω από το "Command" δώστε την πλήρη διαδρομή σε ένα από τα scripts που έχουμε δημιουργήσει παραπάνω. Επαναλάβετε τη διαδικασία για το δεύτερο σενάριο.
Τώρα, στη στήλη "Συντομεύσεις", κάντε κλικ στη λέξη "Απενεργοποιημένο" για να πάρετε την επιλογή να ορίσετε ένα νέο σύνθετο πλήκτρο.
Σημείωση: Μπορείτε, αν θέλετε, να χρησιμοποιήσετε κάτι διαφορετικό από το προεπιλεγμένο πρόγραμμα. Κατά μία έννοια, δημιουργώντας ένα "remap" στις συνδέσεις κλειδιών που, διαφορετικά, ανάλογα με το πρόγραμμα που χρησιμοποιείτε, διαφορετικά θα ήταν εκτός ελέγχου.
Χτυπήστε το combo που έχετε επιλέξει και ακούστε τη μαγεία.
Πληκτρολόγιο Ubuntu
Κάτω από το Ubuntu, το πρόγραμμα που ορίζει τα πλήκτρα πρόσβασης σε παγκόσμιο επίπεδο ονομάζεται απλώς "Πληκτρολόγιο".
Μεταβείτε στην καρτέλα "Συντομεύσεις" και επιλέξτε "Προσαρμοσμένες συντομεύσεις".
Κάντε κλικ στο σύμβολο συν για να προσθέσετε μια συντόμευση. Δώστε το όνομα και κάτω από το "Command" δώστε την πλήρη διαδρομή σε ένα από τα scripts που έχουμε δημιουργήσει παραπάνω. Επαναλάβετε τη διαδικασία για το δεύτερο σενάριο.
Τώρα κάντε κλικ στη λέξη "Disabled" για να έχετε την επιλογή να ορίσετε ένα νέο σύνθετο πλήκτρο.
Σημείωση: Εάν επαναλάβετε τη σημείωση από την ενότητα Νομισματοκοπείο, μπορείτε, εάν το επιθυμείτε, να χρησιμοποιήσετε κάτι διαφορετικό από το προεπιλεγμένο πρόγραμμα. Κατά μία έννοια, δημιουργώντας ένα "remap" στις συνδέσεις κλειδιών που, διαφορετικά, ανάλογα με το πρόγραμμα που χρησιμοποιείτε, διαφορετικά θα ήταν εκτός ελέγχου.
Σημειώσεις του συντάκτη
Κάθε φορά που έχω σκεφτεί σοβαρά τη μετάβαση στο Linux, αυτό το θέμα ήταν το πρώτο στον κατάλογο των προβλημάτων μου. Δεν είναι ότι το Linux δεν έχει προβλήματα, αλλά αυτό ήταν το πραγματικό εμπόδιο, για μένα. Έχω προσπαθήσει ξανά και ξανά, ζήτησα φίλους / ανθρώπους στον τομέα και έκανα ακόμη και μια γενναιοδωρία ... Είμαι ευτυχής ότι αυτό το έπος έχει τελειώσει και ότι η ψυχή μου μπορεί τελικά να ξεκουραστεί.
Είναι η ελπίδα μου ότι έχω βοηθήσει κάποιον εκεί έξω να μην πρέπει να περάσει από την ίδια δοκιμασία.
Doc Brown: Μου πήρε σχεδόν τριάντα χρόνια και όλη μου η οικογενειακή τύχη να συνειδητοποιήσω το όραμα εκείνης της ημέρας. Θεέ μου, ήταν τόσο μακρύς?