Prototype/CustomInput

From Official Factorio Wiki
Revision as of 12:00, 16 July 2019 by BilkaBot (talk | contribs) (Changed links going to the redirect Prototype to go to PrototypeBase.)
Jump to navigation Jump to search

Basics

Prototype type: custom-input

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.

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: Types/string

The default key sequence for this custom input.

  • "mouse-button-2" etc for mouse buttons
  • "mouse-wheel-up", "mouse-wheel-down", "mouse-wheel-left", "mouse-wheel-right" for mouse wheel (mouse wheel controls do not work for custom inputs!)
  • " + " 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

linked_game_control

Type: Types/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-modifier
alt-zoom-in
alt-zoom-out
build
build-ghost
cancel-craft
cancel-craft-5
cancel-craft-all
clean-cursor
close-gui
confirm-message
connect-train
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-toggle-atlas-gui
debug-toggle-autoplace-gui
debug-toggle-basic
debug-toggle-debug-settings
debug-toggle-detailed
debug-toggle-full
decrease-ui-scale
disconnect-train
drag-map
drop-cursor
editor-clone-item
editor-delete-item
editor-next-variation
editor-previous-variation
editor-tick-once
editor-toggle-pause
fast-entity-split
fast-entity-transfer
focus-search
increase-ui-scale
inventory-split
inventory-transfer
kill-statistics
larger-terrain-building-area
logistic-networks
mine
mouse-button-1
mouse-button-2
mouse-button-3
mouse-button-n
mouse-wheel-down
mouse-wheel-left
mouse-wheel-right
mouse-wheel-up
move-down
move-left
move-right
move-up
next-active-quick-bar
next-weapon
open-character-gui
open-gui
open-item
open-technology-gui
paste
paste-entity-settings
pause-game
pick-item
pick-items
place-in-chat
place-ping
place-tag
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
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
temporary-station-modifier
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
toggle-tips-and-tricks
undo
zoom-in
zoom-out

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

key_sequence = ""
linked_game_control = "clean-cursor"

consuming

Type: Types/ConsumingType

Default: "none"

enabled

Type: Types/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: Types/bool

Default: false

enabled_while_in_cutscene

Type: Types/bool

Default: false

item_to_create

Type: Types/string

Name of a Prototype/Item. It will be created when this input is pressed.

action

Type: Types/string

Default: "lua"

One of "lua", "create-blueprint-item", "toggle-personal-roboport" and "toggle-equipment-movement-bonus".

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