PetitInput v1.0

Windows Lightweight Input Library for Free Pascal / Lazarus

概要

PetitInput は、Free Pascal / Lazarus環境でWindows API (WinMM) をベースとした、Pascal 用軽量入力制御ライブラリです。キーボード、マウス、ゲームパッド(ホットプラグ対応)を統合的に管理します。

1. 導入と初期化

TPetitInput は、対象となるウィンドウのハンドル HWND を必要とします。

var
  Input: TPetitInput;
begin
  Input := TPetitInput.Create(Draw.Handle); // 初期化
  // ... メインループ内 ...
  Input.Update; // 毎フレーム最初に呼び出す
    

2. 公開プロパティ

プロパティ名説明
MouseX / MouseYIntegerウィンドウ内のマウスカーソル座標
DeltaX / DeltaYInteger前フレームからのマウス移動量(ドラッグ計算用)
WheelIntegerホイール回転量(120単位、奥が正、手前が負)
HasPadBooleanゲームパッドが現在接続されているか
HandleHWND紐付けられているウィンドウハンドル

3. 判定メソッド

キーボード / マウス

メソッド名引数判定タイミング
IsKeyDown(VK)仮想キーコード押されている間ずっと True
IsKeyTrigger(VK)仮想キーコード押された瞬間のみ True
IsKeyRelease(VK)仮想キーコード離された瞬間のみ True
IsMouseDown(Btn)MOUSE定数ボタンが押されている間ずっと True
IsMouseTrigger(Btn)MOUSE定数ボタンが押された瞬間のみ True
IsMouseIn(x, y, w, h)範囲座標マウスが指定矩形内にあるか

ゲームパッド

メソッド名引数説明
IsPadDown(Mask)PAD定数ボタンまたは方向キーが押されている間 True
IsPadTrigger(Mask)PAD定数ボタンまたは方向キーが押された瞬間のみ True

4. 主要な定数定義

マウス (Btn)
MOUSE_LEFT, MOUSE_RIGHT, MOUSE_MIDDLE
パッド (Mask)
PAD_UP, PAD_DOWN, PAD_LEFT, PAD_RIGHT
PAD_BUTTON1PAD_BUTTON6

5. 特徴:ホットプラグ対応

本ライブラリは、アプリケーション実行中にゲームパッドが抜き差しされた場合でも、Update メソッド内で自動的に再検出を試みます。特別な切断処理の実装は不要です。