أي شخص يعرف كيفية تبديل القبعات القفل/إيقاف تشغيله في بيثون؟

StackOverflow https://stackoverflow.com/questions/2353112

سؤال

أحاول تبديل قفل القبعات/إيقاف تشغيله عندما يتم تثبيت زري التحول لثانية واحدة. لقد حاولت استخدام وحدة 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 على سبيل المثال.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top