Pythonモジュール「keyboardleds」を使用してCaps Lockの状態を確認するには?

Pythonモジュール「keyboardleds」を使用してCaps Lockの状態を確認するには?
  1. 私のシステムでキーボードを直接チェックして、Caps Lockの状態(オンかオフか)を確認したいと思います。多くの検索の最後に、 "keyboardleds"モジュールを使用してPythonでこれを行うことができることがわかりました。

    私はPythonをよく知りませんが、だから私の主な要求は、Caps Lockの状態を知らせるためにPythonスクリプトでKeyboardledsモジュールを使用する方法を教えてもらえますか?私のシステムのPythonバージョンは2.7.3rc2です。

  2. 「keyboardleds」について私が見つけた情報は、私が理解するにはあまりにも技術的でした。私も理解していない複雑なPythonプログラミングを使用してキーボードを使用する方法の例も発見しました。また、私が見た例では、キーボードを次のいずれかとして使用します。その他私が望む目的ではない目的です(例:Caps Lockの状態を確認する)。

    サンプルスクリプトの先頭にある「import」コマンドが何を意味するのか、このコマンドがすべて必要かどうかはわかりません。

    どのPythonコマンドを使用する必要があるのか​​、どのような詳細を入れたのか教えてください。

  3. Caps Lockがオフの場合は終了ステータス0(true)を提供し、Caps Lockがオンの場合は終了ステータス1(false)を提供するPythonスクリプトが必要です。

    Pythonスクリプトの名前が「capslockstate」であるとします。次に、次のようにbashスクリプトで使用します。

     if capslockstate
     then
        <perform an action based on the fact that Caps Lock is off>
     else
        <perform an action based on the fact that Caps Lock is on>
     fi
    
  4. 私は重要なことは次のように信じています:

    キーボードへのアクセスに関して私が見つけた情報は、および/dev/console/dev/input/event*使用することです/dev/input/by-path/*-event-kbd。私のシステムには3つすべてがあります。後者の2つのケースでは、私のシステムには次のものがあります。

     /dev/input/event0 through to /dev/input/event9.
    
     /dev/input/by-path/platform-i8042-serio-0-event-kbd   
     ### ie only ^this^ one item exists
    

    「バイパス」は実際ディレクトリ名。

    上記の2つの「/dev/input/...」エンティティの1つが私が使用する必要があるエンティティだと思います/dev/console。しかし、その内容を詳しく理解していません。

  5. キーボードに関する情報を見つけたウェブサイトは次のとおりです。

    1. キーボードを使用できる最初のウェブサイト(例は私にとってとても複雑です):

      Pythonを使用してLinuxでキーボードLEDにアクセスする別の方法

      このサイトで私が特に興味を持っているのは、「プログラム[keyboardleds]がキーボードに直接アクセスを提供します」という説明です。

    2. キーボードに関する公式文書は次のとおりです(理解するには複雑すぎます)。

      python-keyboardleds 0.3.3ドキュメント

    3. Keyboardleds 作成者のウェブサイト:

      python-keyboardleds — Jakub Wilkのソフトウェア

ベストアンサー1

私は次の製品を使用して幸運になりました。

from win32con import VK_CAPITAL
if GetKeyState(VK_CAPITAL) == 1:
    print ("CAPS Lock is on.")
elif GetKeyState(VK_CAPITAL) == 0:
    print ("CAPS Lock is off.")

これはPython3がインストールされているWindowsシステムにあるため、Linuxでも動作するかどうかは100%確信できませんが、Windowsでこれを行う必要がある人にとっては、この場合には機能することに注意する価値があります。確かに動作します。私自身です。

ランディ

おすすめ記事