أي شخص يعرف كيفية تبديل القبعات القفل/إيقاف تشغيله في بيثون؟
سؤال
أحاول تبديل قفل القبعات/إيقاف تشغيله عندما يتم تثبيت زري التحول لثانية واحدة. لقد حاولت استخدام وحدة Virtkead ، لكنها لا تعمل. تعمل هذه الوحدة على مفاتيح أخرى ، لذلك لا أعتقد أنني أستخدم الوحدة النمطية بشكل غير صحيح.
هل لدى أي شخص طريقة للقيام بذلك؟
فقط لأكون واضحًا ، أريد بالفعل تبديل القبعات على/إيقاف التشغيل وليس فقط LED.
شكرًا!
المحلول
هذا يعمل بالنسبة لي (يقوم بتشغيل LED وإيقاف تشغيله وكذلك تمكين/تعطيل القبعات)
import virtkey
v = virtkey.virtkey()
v.press_keycode(66)
v.release_keycode(66) # first release doesn't release it
v.release_keycode(66)
وفيما يلي بعض الأمثلة أكثر
v.press_keycode(66) # turns capslock on
v.release_keycode(66)
v.press_keycode(66) # turns capslock off
v.release_keycode(66)
يمكنك أيضًا الحصول على سلوك يشبه التبديل فقط باستخدام release_keycode
v.release_keycode(66) # toggles capslock
v.release_keycode(66) # toggles back again capslock
نصائح أخرى
شيء مضحك. لقد جربت Virtkail في المترجم المترجم ، ويبدو أنه كان يعمل. بعد الاتصال press_keycode(50)
, ، تم الضغط على أجهزتي مثل قفل Caps (Ubuntu 9.10 ، Python-Virtkey .50ubuntu2). إذا قمت بإصدار المفتاح- release_keycode(50)
- إنه يتصرف وكأنه لا شيء لم يحدث.
import virtkey
v = virtkey.virtkey()
v.press_keycode(50)
إذا تم تشغيله كنص ، يترك مفتاح CAPS مضغوطًا في علامة تبويب طرفية افتراضية. مزعج جدا.
هل نظرت إلى أمر XVKBD؟ إنها لوحة مفاتيح X الظاهرية مع خيارات سطر الأوامر ، وأسوأ حالات يمكنك تسميتها من Python. فكرة أخرى يجب النظر إليها هي XmodMap ، والتي تتيح لك إعادة رسم المفاتيح في X. انظر هذا المشنور على SU على سبيل المثال.