Xorg के xdotool के लिए वेलैंड विकल्प?


16

xdotool एक अच्छा X अनुप्रयोग है, मैं इसे मैक्रो कमांड बनाने के लिए उपयोग करता हूं (जैसे alt + f4 या ctrl + w या ctrl + alt + backspace या ऐसा कुछ)

यह वास्तव में उपयोग करने में आसान और सुविधाजनक है, लेकिन मुझे इस तरह से किसी भी तरह के संगत कार्यक्रम का पता नहीं है। क्या X के लिए xdotool के समान अभी वीलैंड में माउस और कीबोर्ड इनपुट सिग्नल भेजने का कोई तरीका है?

यह अभी बड़े पैमाने पर xwayland के साथ काम करता है, लेकिन सभी कमांड काम नहीं करते हैं (जैसे कि alt + f4, xev यहां तक ​​कि alt + f4 इनपुट भी पढ़ सकते हैं लेकिन यह कीबोर्ड पर इसे दबाने जैसे एप्लिकेशन समाप्ति को ट्रिगर नहीं करता है) संभावित रूप से xwayland का उपयोग नहीं कर रहा है।


जवाबों:


3

नहीं, सुरक्षा कारणों से इस तरह की विशेषताओं को स्पष्ट रूप से वायलैंड डिजाइन से बाहर रखा गया था। (अन्य कार्यक्रमों का इनपुट पढ़ना सबसे बड़ी समस्या है, लेकिन नकली इनपुट को अन्य कार्यक्रमों में भेजने की अनुमति देने से भी परेशानी हो सकती है।)

उस ने कहा, मुझे उम्मीद है कि कुछ वेलैंड WMs अंततः मैक्रोज़ सुविधा के कुछ प्रकार को लागू करने के लिए; आखिरकार, उन्हें ऑन-स्क्रीन कीबोर्ड और वॉयस कंट्रोल (एक्सेसिबिलिटी के लिए) का समर्थन करना होगा

लेकिन अगर ऐसी कोई सुविधा मौजूद है, तो यह इस बात पर निर्भर करेगा कि आप किस वेलेन्ड कंपोजिटर का उपयोग कर रहे हैं: वेस्टन? केडीई का केविन? GNOME शेल? आत्मज्ञान? वायलैंड में कोई "डिस्प्ले सर्वर - विंडो मैनेजर" नहीं है; विंडो प्रबंधक है वेलैंड सर्वर और जो लागू करने के लिए सुविधाओं का फैसला करता है (या तो वेलैंड उप प्रोटोकॉल के रूप में या डी-बस एपीआई या इस तरह के रूप में)।


1
यह संभव होना चाहिए मुझे लगता है कि इस तरह के एक कार्यक्रम का निर्माण करना है जो सभी तरह के कंपोजिटर्स के लिए काम करता है। लिबिनपुट ने इनपुट के लिए वेन्डलैंड के लिए इनपुट किया, और यह लिबिनपुट के माध्यम से है कि alt + f4 और अन्य कमांड्स जो एक वीलैंड फ़ंक्शन का उपयोग करते हैं, को ट्रिगर किया जा सकता है। आपको बस एक कीबोर्ड या माउस इनपुट के रूप में एक मैक्रो पढ़ने में कामेच्छा को धोखा देना है; मुझे लगता है कि क्या है, लेकिन मुझे नहीं पता कि यह कैसे करना है।
21

@Cestarian: आपको कर्नेल के uinput फीचर के साथ एक नकली इनपुट डिवाइस बनाना होगा।
user1686

1
यह मुश्किल नहीं होना चाहिए, मुझे याद है कि यह कुछ ड्राइवर के काम में एक बार कर रहा है, हो सकता है कि अगर मैं सिर्फ उस कोड को देखूं तो मैं किसी तरह समझ सकता हूं। (हालाँकि मैं कभी नहीं जानता था कि मैं उस समय क्या कर रहा था)
सेस्टेरियन

1
एक मेलिंग सूची में एक RFC था: RFC: इनपुट घटनाओं के इंजेक्शन के लिए इंटरफ़ेस और स्क्रीनशॉट लेने के लिए एक एपीआई जोड़ें और स्क्रीन शॉट रिकॉर्ड करना । ऐसा लगता है कि चुनौतियों को कुछ अतिरिक्त सुरक्षा सख्त काम के साथ संबोधित किया जा सकता है।
बेन क्रेस्टी

3

वर्तमान में कोई सही समाधान नहीं है, लेकिन एक करीब एक है: ydotool

यह बैकएंड के रूप में यूनीपुट इंटरफेस का उपयोग करता है , और डिस्प्ले सर्वर पर कोई निर्भरता नहीं है।


अफसोस की बात है कि मैं इसे Ubuntu 19.04 पर नहीं चला सका। मैं स्थापित libboost-program-options-dev, libevdevplus, libuinputplusऔर अंत में ydotoolखुद को , लेकिन मैं अभी भी हो रही हैydotool: error while loading shared libraries: libboost_program_options.so.1.65.1: cannot open shared object file: No such file or directory
m93a
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.