Prototype/CustomInput: Difference between revisions

From Official Factorio Wiki
Jump to navigation Jump to search
(→‎Optional properties: include_selected_prototype desc expansion)
(Checking in game, some game controls are invalid. There's also one new, based on locale strings.)
(2 intermediate revisions by one other user not shown)
Line 306: Line 306:
confirm-message
confirm-message
connect-train
connect-train
controller-gui-character-tab
controller-gui-crafting-tab
controller-gui-crafting-tab
controller-gui-logistics-tab
controller-gui-logistics-tab
Line 347: Line 346:
flip-blueprint-vertical
flip-blueprint-vertical
focus-search
focus-search
give-blueprint
give-blueprint-book
give-deconstruction-planner
give-upgrade-planner
increase-ui-scale
increase-ui-scale
inventory-split
inventory-split
inventory-transfer
inventory-transfer
kill-statistics
larger-terrain-building-area
larger-terrain-building-area
logistic-networks
logistic-networks
Line 371: Line 365:
open-prototypes-gui
open-prototypes-gui
open-technology-gui
open-technology-gui
open-trains-gui
order-to-follow
order-to-follow
paste
paste
Line 421: Line 416:
toggle-console
toggle-console
toggle-driving
toggle-driving
toggle-equipment-movement-bonus
toggle-filter
toggle-filter
toggle-gui-debug
toggle-gui-debug
Line 429: Line 423:
toggle-map
toggle-map
toggle-menu
toggle-menu
toggle-personal-logistic-requests
toggle-personal-roboport
undo
undo
zoom-in
zoom-in
Line 439: Line 431:
<syntaxhighlight lang="lua">key_sequence = ""
<syntaxhighlight lang="lua">key_sequence = ""
linked_game_control = "clear-cursor"</syntaxhighlight>
linked_game_control = "clear-cursor"</syntaxhighlight>
'''Note''': The CustomInputEvent occurs before the game control.


{{Prototype property|consuming|[[Types/ConsumingType|ConsumingType]]|"none"|optional=true}}
{{Prototype property|consuming|[[Types/ConsumingType|ConsumingType]]|"none"|optional=true}}
Line 451: Line 445:
{{Prototype property|include_selected_prototype|[[Types/bool|bool]]|false|optional=true}}
{{Prototype property|include_selected_prototype|[[Types/bool|bool]]|false|optional=true}}
If true, the type and name of the currently selected prototype will be provided as "selected_prototype" in the raised [https://lua-api.factorio.com/latest/events.html#Custom%20Input%20Events lua event]. This also works in GUI's, not just the game world.[https://forums.factorio.com/96125]
If true, the type and name of the currently selected prototype will be provided as "selected_prototype" in the raised [https://lua-api.factorio.com/latest/events.html#Custom%20Input%20Events lua event]. This also works in GUI's, not just the game world.[https://forums.factorio.com/96125]
'''Note:''' This will also return an item in the cursor (or item of a ghost in cursor) such as copper-wire or rail-planner, if nothing is beneath the cursor.


{{Prototype property|item_to_spawn|[[Types/string|string]]|optional=true}}
{{Prototype property|item_to_spawn|[[Types/string|string]]|optional=true}}

Revision as of 16:32, 27 May 2022

Prototype definitions » PrototypeBase » Prototype/CustomInput


Used for custom keyboard shortcuts/keybindings in mods. The key associated with the custom input can be changed in the options. This means that key_sequence is simply the default keybinding.


Prototype/CustomInput — custom-input
key_sequence::string
action::string (optional)
alternative_key_sequence::string (optional)
consuming::ConsumingType (optional)
controller_alternative_key_sequence::string (optional)
controller_key_sequence::string (optional)
enabled::bool (optional)
enabled_while_in_cutscene::bool (optional)
enabled_while_spectating::bool (optional)
include_selected_prototype::bool (optional)
item_to_spawn::string (optional)
linked_game_control::string (optional)
Inherited from PrototypeBase
name::string
type::string
localised_description::LocalisedString (optional)
localised_name::LocalisedString (optional)
order::Order (optional)

Mandatory properties

Inherits all properties from PrototypeBase.

name

See PrototypeBase#name

Inherited from PrototypeBase. It is also the name for the event that is raised when they key (combination) is pressed and action is "lua", see Tutorial:Script interfaces.

key_sequence

Type: string
The default key sequence for this custom input.

  • "" (empty string) for unassigned
  • "mouse-button-2" etc for mouse buttons, mouse-button-3 for middle mouse button
  • "mouse-wheel-up", "mouse-wheel-down", "mouse-wheel-left", "mouse-wheel-right" for mouse wheel
  • " + " is used to separate modifier keys from normal keys: "ALT + G"
  • For modifier keys, the following names are used: "CONTROL", "SHIFT", "ALT", "COMMAND"
  • A keybinding can contain an unlimited amount of modifier keys (listed above) but only one normal key (listed below).

These names are available for the normal keys

A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
1
2
3
4
5
6
7
8
9
0
RETURN
ESCAPE
BACKSPACE
TAB
SPACE
MINUS
EQUALS
LEFTBRACKET
RIGHTBRACKET
BACKSLASH
NONUSHASH
SEMICOLON
APOSTROPHE
GRAVE
COMMA
PERIOD
SLASH
CAPSLOCK
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
PRINTSCREEN
SCROLLLOCK
PAUSE
INSERT
HOME
PAGEUP
DELETE
END
PAGEDOWN
RIGHT
LEFT
DOWN
UP
NUMLOCKCLEAR
KP_DIVIDE
KP_MULTIPLY
KP_MINUS
KP_PLUS
KP_ENTER
KP_1
KP_2
KP_3
KP_4
KP_5
KP_6
KP_7
KP_8
KP_9
KP_0
KP_PERIOD
NONUSBACKSLASH
APPLICATION
POWER
KP_EQUALS
F13
F14
F15
F16
F17
F18
F19
F20
F21
F22
F23
F24
EXECUTE
HELP
MENU
SELECT
STOP
AGAIN
UNDO
CUT
COPY
PASTE
FIND
MUTE
VOLUMEUP
VOLUMEDOWN
KP_COMMA
KP_EQUALSAS400
INTERNATIONAL1
INTERNATIONAL2
INTERNATIONAL3
INTERNATIONAL4
INTERNATIONAL5
INTERNATIONAL6
INTERNATIONAL7
INTERNATIONAL8
INTERNATIONAL9
LANG1
LANG2
LANG3
LANG4
LANG5
LANG6
LANG7
LANG8
LANG9
ALTERASE
SYSREQ
CANCEL
CLEAR
PRIOR
RETURN2
SEPARATOR
OUT
OPER
CLEARAGAIN
CRSEL
EXSEL
KP_00
KP_000
THOUSANDSSEPARATOR
DECIMALSEPARATOR
CURRENCYUNIT
CURRENCYSUBUNIT
KP_LEFTPAREN
KP_RIGHTPAREN
KP_LEFTBRACE
KP_RIGHTBRACE
KP_TAB
KP_BACKSPACE
KP_A
KP_B
KP_C
KP_D
KP_E
KP_F
KP_XOR
KP_POWER
KP_PERCENT
KP_LESS
KP_GREATER
KP_AMPERSAND
KP_DBLAMPERSAND
KP_VERTICALBAR
KP_DBLVERTICALBAR
KP_COLON
KP_HASH
KP_SPACE
KP_AT
KP_EXCLAM
KP_MEMSTORE
KP_MEMRECALL
KP_MEMCLEAR
KP_MEMADD
KP_MEMSUBTRACT
KP_MEMMULTIPLY
KP_MEMDIVIDE
KP_PLUSMINUS
KP_CLEAR
KP_CLEARENTRY
KP_BINARY
KP_OCTAL
KP_DECIMAL
KP_HEXADECIMAL
LCTRL
LSHIFT
LALT
LGUI
RCTRL
RSHIFT
RALT
RGUI
MODE
AUDIONEXT
AUDIOPREV
AUDIOSTOP
AUDIOPLAY
AUDIOMUTE
MEDIASELECT
WWW
MAIL
CALCULATOR
COMPUTER
AC_SEARCH
AC_HOME
AC_BACK
AC_FORWARD
AC_STOP
AC_REFRESH
AC_BOOKMARKS
BRIGHTNESSDOWN
BRIGHTNESSUP
DISPLAYSWITCH
KBDILLUMTOGGLE
KBDILLUMDOWN
KBDILLUMUP
EJECT
SLEEP
APP1
APP2
AUDIOREWIND
AUDIOFASTFORWARD

Optional properties

alternative_key_sequence

Type: string
The alternative keybinding for this control. See #key_sequence.

linked_game_control

Type: string
Default: ""
When a custom-input is linked to a game control it won't show up in the control-settings GUI and will fire when the linked control is pressed. [1]

List of internal names of game controls

action-bar-select-page-1
action-bar-select-page-10
action-bar-select-page-2
action-bar-select-page-3
action-bar-select-page-4
action-bar-select-page-5
action-bar-select-page-6
action-bar-select-page-7
action-bar-select-page-8
action-bar-select-page-9
activate-tooltip
add-station
add-temporary-station
alt-zoom-in
alt-zoom-out
build
build-ghost
build-with-obstacle-avoidance
cancel-craft
cancel-craft-5
cancel-craft-all
clear-cursor
confirm-gui
confirm-message
connect-train
controller-gui-crafting-tab
controller-gui-logistics-tab
copy
copy-entity-settings
craft
craft-5
craft-all
cursor-split
cut
cycle-blueprint-backwards
cycle-blueprint-forwards
cycle-clipboard-backwards
cycle-clipboard-forwards
debug-reset-zoom
debug-reset-zoom-2x
debug-toggle-atlas-gui
debug-toggle-basic
debug-toggle-debug-settings
decrease-ui-scale
disconnect-train
drag-map
drop-cursor
editor-clone-item
editor-delete-item
editor-next-variation
editor-previous-variation
editor-remove-scripting-object
editor-reset-speed
editor-set-clone-brush-destination
editor-set-clone-brush-source
editor-speed-down
editor-speed-up
editor-switch-to-surface
editor-tick-once
editor-toggle-pause
fast-entity-split
fast-entity-transfer
flip-blueprint-horizontal
flip-blueprint-vertical
focus-search
increase-ui-scale
inventory-split
inventory-transfer
larger-terrain-building-area
logistic-networks
mine
move-down
move-left
move-right
move-up
next-active-quick-bar
next-player-in-replay
next-weapon
open-character-gui
open-gui
open-item
open-prototype-explorer-gui
open-prototypes-gui
open-technology-gui
open-trains-gui
order-to-follow
paste
paste-entity-settings
pause-game
pick-item
pick-items
place-in-chat
place-ping
previous-active-quick-bar
previous-mod
previous-technology
production-statistics
quick-bar-button-1
quick-bar-button-1-secondary
quick-bar-button-10
quick-bar-button-10-secondary
quick-bar-button-2
quick-bar-button-2-secondary
quick-bar-button-3
quick-bar-button-3-secondary
quick-bar-button-4
quick-bar-button-4-secondary
quick-bar-button-5
quick-bar-button-5-secondary
quick-bar-button-6
quick-bar-button-6-secondary
quick-bar-button-7
quick-bar-button-7-secondary
quick-bar-button-8
quick-bar-button-8-secondary
quick-bar-button-9
quick-bar-button-9-secondary
remove-pole-cables
reset-ui-scale
reverse-rotate
reverse-select
rotate
rotate-active-quick-bars
select-for-blueprint
select-for-cancel-deconstruct
shoot-enemy
shoot-selected
show-info
smaller-terrain-building-area
smart-pipette
stack-split
stack-transfer
toggle-blueprint-library
toggle-console
toggle-driving
toggle-filter
toggle-gui-debug
toggle-gui-glows
toggle-gui-shadows
toggle-gui-style-view
toggle-map
toggle-menu
undo
zoom-in
zoom-out

Example to use the same key sequence as the clear-cursor hotkey:

key_sequence = ""
linked_game_control = "clear-cursor"

Note: The CustomInputEvent occurs before the game control.

consuming

Type: ConsumingType
Default: "none"

enabled

Type: bool
Default: true
If this custom input is enabled. Disabled custom inputs exist but are not used by the game. If disabled, no event is raised when the input is used.

enabled_while_spectating

Type: bool
Default: false

enabled_while_in_cutscene

Type: bool
Default: false

include_selected_prototype

Type: bool
Default: false
If true, the type and name of the currently selected prototype will be provided as "selected_prototype" in the raised lua event. This also works in GUI's, not just the game world.[2]

Note: This will also return an item in the cursor (or item of a ghost in cursor) such as copper-wire or rail-planner, if nothing is beneath the cursor.

item_to_spawn

Type: string
Name of a Prototype/Item. It will be created when this input is pressed and action is set to "spawn-item". The item must have the "spawnable" flag set.

action

Type: string
Default: "lua"
One of "lua", "spawn-item", "toggle-personal-roboport", "toggle-personal-logistic-requests" and "toggle-equipment-movement-bonus".

A lua event is only raised if the action is "lua".