C/C++: Nonaktifkan mouse di Linux (X11 - xinput)

Saya ingin mengaktifkan dan menonaktifkan mouse secara terprogram di Linux menggunakan C/C++. Ada ekstensi input untuk X11 yang memungkinkan Anda melakukannya menggunakan perintah terminal:

xinput set-int-prop "<device name>" "Device Enabled" 8 0

Ini berfungsi dengan baik, tetapi saya ingin melakukannya secara langsung menggunakan perpustakaan. Saya tidak dapat menemukan dokumentasi yang tepat di libxi (perpustakaan ekstensi input X11) dan file header di /usr/include/X11 juga tidak menyediakan fungsi yang berguna. Adakah yang bisa membantu saya dengan ini?


person goocreations    schedule 03.10.2014    source sumber


Jawaban (1)


Anda menyadari bahwa xinput adalah open source, bukan? :) Berikut pohon sumbernya.

Tampaknya intinya adalah panggilan ke XIChangeProperty().

Anda mungkin dapat membaca kodenya sedikit lebih dekat daripada saya, dan tentu saja halaman manualnya, untuk mengetahui argumen yang diperlukan.

person unwind    schedule 03.10.2014
comment
Ahh, terima kasih, entah kenapa melewatkan fungsi itu. Saya akan menggali kodenya. Apakah Anda kebetulan memiliki tautan ke contoh yang menggunakan ini untuk menonaktifkan perangkat? Saya menemukan beberapa contoh, tetapi tidak ada satupun yang menjelaskan parameter dengan benar atau mengilustrasikan cara mengaktifkan/menonaktifkan perangkat. Jika tidak, saya akan melihat kodenya di program xinput. - person goocreations; 03.10.2014
comment
Tidak, saya jarang memprogram X11 secara langsung jadi saya tidak punya apa-apa. Saya lebih menyukai janggut GTK+. :) Sumber xinput pendek, Anda seharusnya dapat dengan mudah memahaminya. Jangan lupakan dokumentasinya juga. - person unwind; 03.10.2014
comment
Terima kasih. Saya akan melakukan itu. - person goocreations; 03.10.2014
comment
Sebagai tambahan, perintah ltrace akan sangat berguna untuk men-debug xinput dan menemukan apa yang dijalankan saat Anda mengaktifkan/menonaktifkan mouse. - person RaFD; 03.10.2014