2Sep

Πώς να δεσμεύσετε το Global HotKeys σε ένα πρόγραμμα WINE κάτω από το Linux

Έχετε ποτέ εγκαταστήσει ένα πρόγραμμα των Windows στο Linux κάτω από το WINE, μόνο για να ανακαλύψετε ότι δεν δεσμεύει πια το πλήρες φάκελο hot-keys;Η HTG έχει την δουλειά που αναζητάτε.

Εικόνα από djeucalyptus

Επισκόπηση

Ο καθένας που έχει σκεφτεί ακόμη και την ιδέα της μετάβασης στο Linux, πιθανότατα αντιμετωπίζει πολύ γρήγορα το πρόβλημα ότι υπάρχει αυτή η εφαρμογή των Windows που χρειάζεστε να λειτουργήσει.Σας έχουμε ήδη δείξει ότι μπορείτε να το ολοκληρώσετε χρησιμοποιώντας το WINE.

Για αυτόν τον συγγραφέα, η εφαρμογή ήταν μια εφαρμογή Text-To-Speech που χρησιμοποιεί το Microsoft SAPI4 engine.Η εγκατάσταση του προγράμματος κάτω από το WINE ήταν μια αύρα, αλλά μετά την ολοκλήρωσή του, βρήκα γρήγορα ότι δεν χρησιμοποιήθηκαν τα πλήκτρα καμπάνιας που ενεργοποίησαν τις διάφορες ενέργειες του προγράμματος( έναρξη ανάγνωσης, διακοπή ανάγνωσης κτλ.) Και ότι αυτό είναι γνωστόπρόβλημα με το WINE.

Είμαι στην ευχάριστη θέση να πω ότι μετά από αιώνες αναζήτησης, έχω βρει τελικά τη λύση με τη μορφή ενός GNU βοηθητικού προγράμματος το οποίο μπορεί να χειριστεί τη διεπαφή X.org χρησιμοποιώντας φυσικές λειτουργίες.Ενώ δεν είναι το μόνο του είδους του, το xdotool είναι αυτό που ήταν το πιο εύκολο να δουλέψει και ήταν ήδη στα αποθετήρια του Ubuntu / Mint.

xdotool

Το πρόγραμμα xdotool μπορεί να κάνει πολλές εργασίες σχετικές με το παράθυρο από το CLI, με το οποίο λέγεται ότι οι μόνοι που θα χρησιμοποιήσουμε είναι "search" και "key".Η λειτουργία "αναζήτηση" κάνει ακριβώς αυτό, αναζητά ένα αναγνωριστικό παραθύρου σύμφωνα με τις παραμέτρους που έχετε ορίσει.Η λειτουργία "κλειδί" σάς δίνει τη δυνατότητα να προσομοιώσετε μια διαδρομή πλήκτρων σε ένα αναγνωριστικό παραθύρου.Εγκατάσταση

&διαμόρφωση

Υποτίθεται ότι έχετε ήδη εγκαταστήσει το WINE και το πρόγραμμα που χρειάζεστε κάτω από αυτό.Σε αυτό το παράδειγμα θα χρησιμοποιήσουμε την Balabolka ως την εφαρμογή "Windows" γιατί είναι ένα καλό δωρεάν αντίγραφο του αρχικού προγράμματος που χρειαζόμουν αυτή τη λύση για το( 2ο κέντρο ομιλίας).

Εάν έχετε επιλέξει να χρησιμοποιήσετε το Balabolka επίσης, πρέπει να ενεργοποιήσετε τις δυνατότητες των πλήκτρων πρόσβασης.
Σημείωση: Μπορεί να θέλετε να εγκαταστήσετε το TTSReader ή το 2ο κέντρο ομιλίας ακόμη και σε κατάσταση επίδειξης, ώστε να εγκατασταθούν οι φωνές SAPI.

Ανοίξτε το πρόγραμμα και μεταβείτε στις ρυθμίσεις( Shift + F6) στο "Επιλογές" - & gt;"Ρυθμίσεις".

Μεταβείτε στην καρτέλα πλήκτρων πρόσβασης και επιλέξτε το πλαίσιο ελέγχου "Χρήση πλήρων πλήκτρων πρόσβασης".

Κάντε κλικ στο OK.

Αφήστε το τρέξιμο στο παρασκήνιο, ώστε να μπορεί να κάνει τη δουλειά του όταν συνδέουμε τις πληκτρολογήσεις σε αυτό.

Εγκατάσταση του xdotool με την έκδοση:


Το πρόγραμμα xdotool από μόνο του δεν μας βοηθά να δεσμευτούμε παγκοσμίως με τα πλήκτρα πρόσβασης, αλλά μπορούμε να χρησιμοποιήσουμε το ήδη υπάρχον σύστημα hotkey OS.Αυτό που θα κάνουμε είναι να δημιουργήσουμε ένα απλό σενάριο που να χρησιμοποιεί το xdotool για να στείλει τις πληκτρολογήσεις που θέλουμε στο πρόγραμμα Balabolka και να το καλέσουμε από το σύστημα hotkey των λειτουργικών συστημάτων.

Δημιουργήστε ένα σενάριο που ονομάζεται "start_read.sh" με το ακόλουθο περιεχόμενο:

κλειδί xdotool - παράθυρο $( xdotool αναζήτηση --limit 1 --all --pid $( pgrep balabolka) - όνομα Balabolka) "ctrl + alt +F9 "

Δημιουργήστε μια άλλη δέσμη ενεργειών αυτή τη φορά που ονομάζεται" stop_read.sh "με το ακόλουθο περιεχόμενο:

xdotool key --window $( xdotool αναζήτηση --limit 1 --all --pid $( pgrep balabolka) - όνομα Balabolka)"ctrl + alt + F7 "

Σημείωση: Ξέρω ότι αυτό είναι ένα liner που δεν απαιτεί δέσμη ενεργειών, αλλά το πρόγραμμα Mint / Ubuntu" Συντομεύσεις πληκτρολογίου "δεν συνεργάζονταν με την απλή κλήση του.Εάν ξέρετε πώς να το κάνετε, παρακαλώ μοιραστείτε τα σχόλια παρακάτω.

Πέδηση αυτής της εντολής στα συστατικά της, αυτό που βλέπουμε είναι:

  • Το τμήμα "-pid $( pgrep balabolka)" εκτελεί ένα "pgrep" στο πρόγραμμα που θέλουμε να χρησιμοποιήσουμε για να διαπιστώσουμε το αναγνωριστικό διαδικασίας του.Αυτό θα περιορίσει το αρχείο xdotool του "search" μόνο σε αυτό το PID.
  • Το τμήμα "xdotool search -limit 1 -all. .. -name Balabolka", περιορίζει ακόμη περισσότερο το αρχείο αναζήτησης xdotool και περιορίζει τις απαντήσεις που έχουν επιστραφεί σε 1. Όπως στην περίπτωσή μας δεν έχει σημασία ποια από τα αναγνωριστικά παραθύρων επέστρεψαντο πρόγραμμα, ο περιορισμός του αποτελέσματος ενεργεί ως διαμορφωτής της εντολής "κλειδί".Μπορεί να διαπιστώσετε ότι πρέπει να κάνετε μασάζ σε αυτό το μέρος περισσότερο εάν έχει σημασία για το πρόγραμμα που χρησιμοποιείτε.
  • Το τμήμα "xdotool key -window% WINDOW_ID%" ctrl + alt + F7 "", στέλνει το επιθυμητό πληκτρολόγιο στο παράθυροID που προέκυψε από τα προηγούμενα μέρη.

Κάντε τα σενάρια εκτελέσιμα.

Πληκτρολόγιο Mint Linux Συντομεύσεις

Στο πλαίσιο του Linux Mint, τα πλήκτρα συνόλων σφαιρών ορίζονται στο πρόγραμμα "Συντομεύσεις πληκτρολογίου".

Μόλις ανοίξετε Κάντε κλικ στο "Add" για να δημιουργήσετε μια νέα προσαρμοσμένη συντόμευση:

Δώστε το όνομα και κάτω από το "Command" δώστε την πλήρη διαδρομή σε ένα από τα scripts που έχουμε δημιουργήσει παραπάνω.Επαναλάβετε τη διαδικασία για τη δεύτερη δέσμη ενεργειών.

Τώρα, στη στήλη "Συντομεύσεις", κάντε κλικ στη λέξη "Disabled" για να έχετε την επιλογή να ορίσετε ένα νέο σύνθετο πλήκτρο.
Σημείωση: Μπορείτε, αν θέλετε, να χρησιμοποιήσετε κάτι διαφορετικό από το προεπιλεγμένο πρόγραμμα.Κατά κάποιον τρόπο δημιουργώντας ένα "remap" στις συνδέσεις κλειδιών που διαφορετικά, ανεξάρτητα από το πρόγραμμα που χρησιμοποιείτε, θα ήταν εκτός ελέγχου.

Πατήστε το combo που έχετε επιλέξει και ακούστε τη μαγεία.

Πληκτρολόγιο Ubuntu

Στο Ubuntu, το πρόγραμμα που ορίζει τα πλήκτρα πρόσβασης σε παγκόσμιο επίπεδο ονομάζεται απλώς "Πληκτρολόγιο".

Μεταβείτε στην καρτέλα "Συντομεύσεις" και επιλέξτε "Προσαρμοσμένες συντομεύσεις".

Κάντε κλικ στο σύμβολο συν για να προσθέσετε μια συντόμευση.Δώστε το όνομα και κάτω από το "Command" δώστε την πλήρη διαδρομή σε ένα από τα scripts που έχουμε δημιουργήσει παραπάνω.Επαναλάβετε τη διαδικασία για τη δεύτερη δέσμη ενεργειών.
Κάντε κλικ στη λέξη "Απενεργοποιημένο" για να ενεργοποιήσετε την επιλογή ενός νέου σύνθετου πλήκτρου.

Σημείωση: Εάν επαναλάβετε τη σημείωση από την ενότητα Mint, μπορείτε, αν θέλετε, να χρησιμοποιήσετε κάτι διαφορετικό από το προεπιλεγμένο του προγράμματος.Κατά κάποιον τρόπο δημιουργώντας ένα "remap" στις συνδέσεις κλειδιών που διαφορετικά, ανεξάρτητα από το πρόγραμμα που χρησιμοποιείτε, θα ήταν εκτός ελέγχου.

Σημειώσεις Συγγραφέα

Κάθε φορά που έχω σκεφτεί σοβαρά τη μετάβαση στο Linux, αυτό το ζήτημα ήταν το πρώτο στην λίστα των προβλημάτων μου.Δεν είναι ότι το Linux δεν έχει προβλήματα, αλλά αυτό ήταν το πραγματικό εμπόδιο, για μένα.Έχω δοκιμάσει ξανά και ξανά, ζήτησα φίλους / ανθρώπους στον τομέα και μάλιστα το έκανα σε γενναιοδωρία. .. Είμαι χαρούμενος που αυτό το έπος έχει τελειώσει και ότι η ψυχή μου μπορεί τελικά να ξεκουραστεί.
Είναι η ελπίδα μου ότι έχω βοηθήσει κάποιον εκεί έξω να μην πρέπει να περάσει από την ίδια δοκιμασία.

Doc Brown: Μου πήρε σχεδόν τριάντα χρόνια και ολόκληρη η οικογενειακή τύχη μου για να συνειδητοποιήσω το όραμα εκείνης της ημέρας.Θεέ μου, ήταν τόσο καιρό;