<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.ce.skimnerphi.net/index.php?action=history&amp;feed=atom&amp;title=Module%3AKeybinding%2FKnownKeys</id>
	<title>Module:Keybinding/KnownKeys - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ce.skimnerphi.net/index.php?action=history&amp;feed=atom&amp;title=Module%3AKeybinding%2FKnownKeys"/>
	<link rel="alternate" type="text/html" href="https://wiki.ce.skimnerphi.net/index.php?title=Module:Keybinding/KnownKeys&amp;action=history"/>
	<updated>2026-05-24T10:07:36Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.ce.skimnerphi.net/index.php?title=Module:Keybinding/KnownKeys&amp;diff=107&amp;oldid=prev</id>
		<title>Dengr1065: Add keybindings exported from the game</title>
		<link rel="alternate" type="text/html" href="https://wiki.ce.skimnerphi.net/index.php?title=Module:Keybinding/KnownKeys&amp;diff=107&amp;oldid=prev"/>
		<updated>2026-01-29T19:02:40Z</updated>

		<summary type="html">&lt;p&gt;Add keybindings exported from the game&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;--[[&lt;br /&gt;
Exported from a running game instance using the following snippet in a developer&lt;br /&gt;
tools console window:&lt;br /&gt;
&lt;br /&gt;
let table = &amp;quot;local KEYS = {&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
for (const category in shapez.KEYMAPPINGS) {&lt;br /&gt;
  for (const id in shapez.KEYMAPPINGS[category]) {&lt;br /&gt;
    const name = shapez.T.keybindings.mappings[id];&lt;br /&gt;
    const defaultKey = shapez.KEYMAPPINGS[category][id].keyCode;&lt;br /&gt;
&lt;br /&gt;
    table += &amp;quot;\n    &amp;quot;;&lt;br /&gt;
    table += `[${JSON.stringify(id)}] = { `;&lt;br /&gt;
    table += JSON.stringify(name);&lt;br /&gt;
    table += &amp;quot;, &amp;quot;;&lt;br /&gt;
    table += JSON.stringify(shapez.getStringForKeyCode(defaultKey));&lt;br /&gt;
    table += &amp;quot; },&amp;quot;;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
table += &amp;quot;\n}&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
Used by Module:Keybinding and Template:Kbd.&lt;br /&gt;
]]&lt;br /&gt;
&lt;br /&gt;
local KEYS = {&lt;br /&gt;
    [&amp;quot;confirm&amp;quot;] = { &amp;quot;Confirm&amp;quot;, &amp;quot;⏎&amp;quot; },&lt;br /&gt;
    [&amp;quot;back&amp;quot;] = { &amp;quot;Back&amp;quot;, &amp;quot;ESC&amp;quot; },&lt;br /&gt;
    [&amp;quot;menuOpenShop&amp;quot;] = { &amp;quot;Upgrades&amp;quot;, &amp;quot;F&amp;quot; },&lt;br /&gt;
    [&amp;quot;menuOpenStats&amp;quot;] = { &amp;quot;Statistics&amp;quot;, &amp;quot;G&amp;quot; },&lt;br /&gt;
    [&amp;quot;menuClose&amp;quot;] = { &amp;quot;Close Menu&amp;quot;, &amp;quot;Q&amp;quot; },&lt;br /&gt;
    [&amp;quot;toggleHud&amp;quot;] = { &amp;quot;Toggle HUD&amp;quot;, &amp;quot;F2&amp;quot; },&lt;br /&gt;
    [&amp;quot;exportScreenshot&amp;quot;] = { &amp;quot;Export whole Base as Image&amp;quot;, &amp;quot;F3&amp;quot; },&lt;br /&gt;
    [&amp;quot;toggleFPSInfo&amp;quot;] = { &amp;quot;Toggle FPS and Debug Info&amp;quot;, &amp;quot;F4&amp;quot; },&lt;br /&gt;
    [&amp;quot;switchLayers&amp;quot;] = { &amp;quot;Switch layers&amp;quot;, &amp;quot;E&amp;quot; },&lt;br /&gt;
    [&amp;quot;showShapeTooltip&amp;quot;] = { &amp;quot;Show shape output tooltip&amp;quot;, &amp;quot;ALT&amp;quot; },&lt;br /&gt;
    [&amp;quot;mapMoveUp&amp;quot;] = { &amp;quot;Move Up&amp;quot;, &amp;quot;W&amp;quot; },&lt;br /&gt;
    [&amp;quot;mapMoveRight&amp;quot;] = { &amp;quot;Move Right&amp;quot;, &amp;quot;D&amp;quot; },&lt;br /&gt;
    [&amp;quot;mapMoveDown&amp;quot;] = { &amp;quot;Move Down&amp;quot;, &amp;quot;S&amp;quot; },&lt;br /&gt;
    [&amp;quot;mapMoveLeft&amp;quot;] = { &amp;quot;Move Left&amp;quot;, &amp;quot;A&amp;quot; },&lt;br /&gt;
    [&amp;quot;mapMoveFaster&amp;quot;] = { &amp;quot;Move Faster&amp;quot;, &amp;quot;⇪&amp;quot; },&lt;br /&gt;
    [&amp;quot;centerMap&amp;quot;] = { &amp;quot;Center Map&amp;quot;, &amp;quot;SPACE&amp;quot; },&lt;br /&gt;
    [&amp;quot;mapZoomIn&amp;quot;] = { &amp;quot;Zoom in&amp;quot;, &amp;quot;+&amp;quot; },&lt;br /&gt;
    [&amp;quot;mapZoomOut&amp;quot;] = { &amp;quot;Zoom out&amp;quot;, &amp;quot;-&amp;quot; },&lt;br /&gt;
    [&amp;quot;createMarker&amp;quot;] = { &amp;quot;Create Marker&amp;quot;, &amp;quot;M&amp;quot; },&lt;br /&gt;
    [&amp;quot;constant_producer&amp;quot;] = { &amp;quot;Constant Producer&amp;quot;, &amp;quot;H&amp;quot; },&lt;br /&gt;
    [&amp;quot;goal_acceptor&amp;quot;] = { &amp;quot;Goal Acceptor&amp;quot;, &amp;quot;N&amp;quot; },&lt;br /&gt;
    [&amp;quot;block&amp;quot;] = { &amp;quot;Block&amp;quot;, &amp;quot;4&amp;quot; },&lt;br /&gt;
    [&amp;quot;belt&amp;quot;] = { &amp;quot;Conveyor Belt&amp;quot;, &amp;quot;1&amp;quot; },&lt;br /&gt;
    [&amp;quot;balancer&amp;quot;] = { &amp;quot;Balancer&amp;quot;, &amp;quot;2&amp;quot; },&lt;br /&gt;
    [&amp;quot;underground_belt&amp;quot;] = { &amp;quot;Tunnel&amp;quot;, &amp;quot;3&amp;quot; },&lt;br /&gt;
    [&amp;quot;miner&amp;quot;] = { &amp;quot;Extractor&amp;quot;, &amp;quot;4&amp;quot; },&lt;br /&gt;
    [&amp;quot;cutter&amp;quot;] = { &amp;quot;Cutter&amp;quot;, &amp;quot;5&amp;quot; },&lt;br /&gt;
    [&amp;quot;rotator&amp;quot;] = { &amp;quot;Rotator&amp;quot;, &amp;quot;6&amp;quot; },&lt;br /&gt;
    [&amp;quot;stacker&amp;quot;] = { &amp;quot;Stacker&amp;quot;, &amp;quot;7&amp;quot; },&lt;br /&gt;
    [&amp;quot;mixer&amp;quot;] = { &amp;quot;Color Mixer&amp;quot;, &amp;quot;8&amp;quot; },&lt;br /&gt;
    [&amp;quot;painter&amp;quot;] = { &amp;quot;Painter&amp;quot;, &amp;quot;9&amp;quot; },&lt;br /&gt;
    [&amp;quot;trash&amp;quot;] = { &amp;quot;Trash&amp;quot;, &amp;quot;0&amp;quot; },&lt;br /&gt;
    [&amp;quot;item_producer&amp;quot;] = { &amp;quot;Item Producer (Sandbox)&amp;quot;, &amp;quot;L&amp;quot; },&lt;br /&gt;
    [&amp;quot;storage&amp;quot;] = { &amp;quot;Storage&amp;quot;, &amp;quot;Y&amp;quot; },&lt;br /&gt;
    [&amp;quot;reader&amp;quot;] = { &amp;quot;Belt Reader&amp;quot;, &amp;quot;U&amp;quot; },&lt;br /&gt;
    [&amp;quot;lever&amp;quot;] = { &amp;quot;Switch&amp;quot;, &amp;quot;I&amp;quot; },&lt;br /&gt;
    [&amp;quot;filter&amp;quot;] = { &amp;quot;Filter&amp;quot;, &amp;quot;O&amp;quot; },&lt;br /&gt;
    [&amp;quot;display&amp;quot;] = { &amp;quot;Display&amp;quot;, &amp;quot;P&amp;quot; },&lt;br /&gt;
    [&amp;quot;wire&amp;quot;] = { &amp;quot;Wire&amp;quot;, &amp;quot;1&amp;quot; },&lt;br /&gt;
    [&amp;quot;wire_tunnel&amp;quot;] = { &amp;quot;Wire Crossing&amp;quot;, &amp;quot;2&amp;quot; },&lt;br /&gt;
    [&amp;quot;constant_signal&amp;quot;] = { &amp;quot;Constant Signal&amp;quot;, &amp;quot;3&amp;quot; },&lt;br /&gt;
    [&amp;quot;logic_gate&amp;quot;] = { &amp;quot;Logic Gate&amp;quot;, &amp;quot;4&amp;quot; },&lt;br /&gt;
    [&amp;quot;virtual_processor&amp;quot;] = { &amp;quot;Virtual Cutter&amp;quot;, &amp;quot;5&amp;quot; },&lt;br /&gt;
    [&amp;quot;analyzer&amp;quot;] = { &amp;quot;Shape Analyzer&amp;quot;, &amp;quot;6&amp;quot; },&lt;br /&gt;
    [&amp;quot;comparator&amp;quot;] = { &amp;quot;Compare&amp;quot;, &amp;quot;7&amp;quot; },&lt;br /&gt;
    [&amp;quot;transistor&amp;quot;] = { &amp;quot;Transistor&amp;quot;, &amp;quot;8&amp;quot; },&lt;br /&gt;
    [&amp;quot;pipette&amp;quot;] = { &amp;quot;Pipette&amp;quot;, &amp;quot;Q&amp;quot; },&lt;br /&gt;
    [&amp;quot;rotateWhilePlacing&amp;quot;] = { &amp;quot;Rotate&amp;quot;, &amp;quot;R&amp;quot; },&lt;br /&gt;
    [&amp;quot;rotateInverseModifier&amp;quot;] = { &amp;quot;Modifier: Rotate CCW instead&amp;quot;, &amp;quot;⇪&amp;quot; },&lt;br /&gt;
    [&amp;quot;rotateToUp&amp;quot;] = { &amp;quot;Rotate: Point Up&amp;quot;, &amp;quot;⬆&amp;quot; },&lt;br /&gt;
    [&amp;quot;rotateToDown&amp;quot;] = { &amp;quot;Rotate: Point Down&amp;quot;, &amp;quot;⬇&amp;quot; },&lt;br /&gt;
    [&amp;quot;rotateToRight&amp;quot;] = { &amp;quot;Rotate: Point Right&amp;quot;, &amp;quot;➡&amp;quot; },&lt;br /&gt;
    [&amp;quot;rotateToLeft&amp;quot;] = { &amp;quot;Rotate: Point Left&amp;quot;, &amp;quot;⬅&amp;quot; },&lt;br /&gt;
    [&amp;quot;cycleBuildingVariants&amp;quot;] = { &amp;quot;Cycle Variants&amp;quot;, &amp;quot;T&amp;quot; },&lt;br /&gt;
    [&amp;quot;cycleBuildings&amp;quot;] = { &amp;quot;Cycle Buildings&amp;quot;, &amp;quot;TAB&amp;quot; },&lt;br /&gt;
    [&amp;quot;switchDirectionLockSide&amp;quot;] = { &amp;quot;Planner: Switch side&amp;quot;, &amp;quot;R&amp;quot; },&lt;br /&gt;
    [&amp;quot;copyWireValue&amp;quot;] = { &amp;quot;Wires: Copy value below cursor&amp;quot;, &amp;quot;Z&amp;quot; },&lt;br /&gt;
    [&amp;quot;massSelectStart&amp;quot;] = { &amp;quot;Hold and drag to start&amp;quot;, &amp;quot;CTRL&amp;quot; },&lt;br /&gt;
    [&amp;quot;massSelectSelectMultiple&amp;quot;] = { &amp;quot;Select multiple areas&amp;quot;, &amp;quot;⇪&amp;quot; },&lt;br /&gt;
    [&amp;quot;massSelectCopy&amp;quot;] = { &amp;quot;Copy area&amp;quot;, &amp;quot;C&amp;quot; },&lt;br /&gt;
    [&amp;quot;massSelectCut&amp;quot;] = { &amp;quot;Cut area&amp;quot;, &amp;quot;X&amp;quot; },&lt;br /&gt;
    [&amp;quot;massSelectClear&amp;quot;] = { &amp;quot;Clear belts&amp;quot;, &amp;quot;B&amp;quot; },&lt;br /&gt;
    [&amp;quot;confirmMassDelete&amp;quot;] = { &amp;quot;Delete area&amp;quot;, &amp;quot;DEL&amp;quot; },&lt;br /&gt;
    [&amp;quot;pasteLastBlueprint&amp;quot;] = { &amp;quot;Paste last blueprint&amp;quot;, &amp;quot;V&amp;quot; },&lt;br /&gt;
    [&amp;quot;lockBeltDirection&amp;quot;] = { &amp;quot;Enable belt planner&amp;quot;, &amp;quot;⇪&amp;quot; },&lt;br /&gt;
    [&amp;quot;placementDisableAutoOrientation&amp;quot;] = { &amp;quot;Disable automatic orientation&amp;quot;, &amp;quot;CTRL&amp;quot; },&lt;br /&gt;
    [&amp;quot;placeMultiple&amp;quot;] = { &amp;quot;Stay in placement mode&amp;quot;, &amp;quot;⇪&amp;quot; },&lt;br /&gt;
    [&amp;quot;placeInverse&amp;quot;] = { &amp;quot;Invert automatic belt orientation&amp;quot;, &amp;quot;ALT&amp;quot; },&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
return KEYS&lt;/div&gt;</summary>
		<author><name>Dengr1065</name></author>
	</entry>
</feed>