Class l2df.manager.input

Last updated 2021-05-28 15:24:22

Input manager.

Controls all available input sources and converts them to internal representation for unified use.

Info:

Functions

Manager:init([kwargs]) Configure InputManager.
Manager:reset([remote=0]) Reset all inputs and timer of manager.
Manager:advance() Advance timer and frame.
Manager:update() Update inputs.
Manager:newRemotePlayer() Create input source for remote player.
Manager:updateMappings(mappings) Sync mappings with config.
Manager:hitted(button, player) Check if button was pressed at this frame.
Manager:consume(button, player) Check if button was pressed at this frame and consume it for next call.
Manager:pressed(button, player) Check if button was pressed.
Manager:doubled(button, player) Check if button was double pressed.
Manager:check(data, player) Check if input data exists.
Manager:lastinput(player) Get last saved input for specific player.
Manager:addinput(input[, player=1[, timer]]) Persist raw input data.
Manager:saveinput([player[, frame]]) Save input data for local player.
Manager:stream([player=1]) Stream-function which should be used in `for ...
Manager:rawinput(player) Get raw input data for local player.
Manager:press(button, player) Button pressed event.
Manager:release(button, player) Button released event.
Manager:keypressed(key) Hook for love.keypressed.
Manager:keyreleased(key) Hook for love.keyreleased.


Functions

Methods
Manager:init([kwargs])
Configure InputManager.

Parameters:

  • kwargs table Keyword arguments.
    • keys table (optional)
    • mappings table (optional)
    • key_repeat boolean (default false)
Manager:reset([remote=0])
Reset all inputs and timer of manager.

Parameters:

  • remote number (default 0)
Manager:advance()
Advance timer and frame.
Manager:update()
Update inputs.
Manager:newRemotePlayer()
Create input source for remote player.

Returns:

    number player's id
Manager:updateMappings(mappings)
Sync mappings with config.

Parameters:

Manager:hitted(button, player)
Check if button was pressed at this frame.

Parameters:

  • button string Hitted button.
  • player number Player to check or nil to check any local player.

Returns:

  1. boolean
  2. number
Manager:consume(button, player)
Check if button was pressed at this frame and consume it for next call.

Parameters:

  • button string Hitted button.
  • player number Player to check or nil to check any local player.

Returns:

  1. boolean
  2. number
Manager:pressed(button, player)
Check if button was pressed.

Parameters:

  • button string Pressed button.
  • player number Player to check or nil to check any local player.

Returns:

  1. boolean
  2. number
Manager:doubled(button, player)
Check if button was double pressed.

Parameters:

  • button string Doubled button.
  • player number Player to check or nil to check any local player.

Returns:

  1. boolean
  2. number
Manager:check(data, player)
Check if input data exists.

Parameters:

  • data number
  • player number

Returns:

    boolean
Manager:lastinput(player)
Get last saved input for specific player.

Parameters:

  • player number

Returns:

    number
Manager:addinput(input[, player=1[, timer]])
Persist raw input data.

Parameters:

  • input number
  • player number (default 1)
  • timer number Default is current timer. (optional)

Returns:

    l2df.manager.input
Manager:saveinput([player[, frame]])
Save input data for local player.

Parameters:

  • player number ... (optional)
  • frame number Default is current timer. (optional)

Returns:

    number
Manager:stream([player=1])
Stream-function which should be used in for ... in stream loops.

Parameters:

  • player number (default 1)

Returns:

    function Execution data of the returned function is listed below:

Or

  1. number Player ID.
  2. number Frame number.
  3. number Input data.
Manager:rawinput(player)
Get raw input data for local player.

Parameters:

  • player number

Returns:

    number
Manager:press(button, player)
Button pressed event.

Parameters:

  • button string Pressed button.
  • player number Player index.
Manager:release(button, player)
Button released event.

Parameters:

  • button string Released button.
  • player number Player index.
Manager:keypressed(key)
Hook for love.keypressed.

Parameters:

Manager:keyreleased(key)
Hook for love.keyreleased.

Parameters: