love.joystick.getGamepadMappingString (日本語)

LÖVE 11.3 から使用可能
この関数は以前のバージョンでは非対応です。


指定された GUID を有する Joystick (ジョイスティック) に関するゲームパッドのマッピング文字列を完全取得します。 nil の場合は指定の GUID でゲームパッドは認識されていません。

マッピング文字列は Joystick のボタン軸における標準ゲームパッドのレイアウト対応表となるバインディング情報であり、作成後に love.joystick.loadGamepadMappings で使用します。

関数

概要

mappingstring = love.joystick.getGamepadMappingString( guid )

引数

string guid
マッピング文字列の取得に用いる GUID 値。

返値

string mappingstring (nil)
Joystick に関するゲームパッドのマッピング文字列、または nil ならば指定の GUID で Joystick はゲームパッドとして認識されていません。

用例: MRU ゲームパッド名の表示

最近使用した (Most Recently Used : MRU) ゲームパッドを追跡することで、変更検出時にゲームパッドの名称を表示できるようにします。

local active_joystick
function love.gamepadpressed(joystick, button)
    if joystick == active_joystick then
        return
    end
    active_joystick = joystick
    -- CSV 文字列から第二カラムを抽出します。
    local name = joystick:getGamepadMappingString():match("^%x*,(.-),")
    if not name or name:len() < 3 then
        -- "*" などの名前は不便であるため、デバイス名に直します。
        name = joystick:getName()
    end
    local index = joystick:getConnectedIndex()
    print(string.format("Changing primary gamepad to #%d '%s'.", index, name))
end

関連


そのほかの言語