<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.cheatengine.org/index.php?action=history&amp;feed=atom&amp;title=Lua%3AClass%3AMemoryRecordHotkey</id>
	<title>Lua:Class:MemoryRecordHotkey - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.cheatengine.org/index.php?action=history&amp;feed=atom&amp;title=Lua%3AClass%3AMemoryRecordHotkey"/>
	<link rel="alternate" type="text/html" href="https://wiki.cheatengine.org/index.php?title=Lua:Class:MemoryRecordHotkey&amp;action=history"/>
	<updated>2026-06-27T12:53:07Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.32.0</generator>
	<entry>
		<id>https://wiki.cheatengine.org/index.php?title=Lua:Class:MemoryRecordHotkey&amp;diff=8253&amp;oldid=prev</id>
		<title>Leunsel: Syntax Highlighting.</title>
		<link rel="alternate" type="text/html" href="https://wiki.cheatengine.org/index.php?title=Lua:Class:MemoryRecordHotkey&amp;diff=8253&amp;oldid=prev"/>
		<updated>2026-06-25T18:49:57Z</updated>

		<summary type="html">&lt;p&gt;Syntax Highlighting.&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Revision as of 18:49, 25 June 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l114&quot; &gt;Line 114:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 114:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Examples===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===Examples===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;pre&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;syntaxhighlight lang=&amp;quot;lua&amp;quot; line&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;-- List all hotkeys for a memory record&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;-- List all hotkeys for a memory record&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;local mr = AddressList[0]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;local mr = AddressList[0]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l130&quot; &gt;Line 130:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 130:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;-- Execute a hotkey manually&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;-- Execute a hotkey manually&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;hk:doHotkey()&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;hk:doHotkey()&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;pre&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;syntaxhighlight&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== See also ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== See also ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Lua:Class:MemoryRecord|MemoryRecord]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Lua:Class:MemoryRecord|MemoryRecord]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Lua:AddressList|AddressList]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Lua:AddressList|AddressList]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Leunsel</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.cheatengine.org/index.php?title=Lua:Class:MemoryRecordHotkey&amp;diff=7634&amp;oldid=prev</id>
		<title>Leunsel: Initial page creation.</title>
		<link rel="alternate" type="text/html" href="https://wiki.cheatengine.org/index.php?title=Lua:Class:MemoryRecordHotkey&amp;diff=7634&amp;oldid=prev"/>
		<updated>2025-07-11T13:03:24Z</updated>

		<summary type="html">&lt;p&gt;Initial page creation.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;[[Category:MemoryRecordHotkey]]&lt;br /&gt;
'''class''' MemoryRecordHotkey ('''Inheritance''':  ''[[Lua:Class:Object|Object]]'')&lt;br /&gt;
&lt;br /&gt;
The MemoryRecordHotkey class represents a hotkey attached to a memory record.  &lt;br /&gt;
It is mainly read-only, except for event properties used for trainer creation.  &lt;br /&gt;
For custom hotkeys not tied to memory records, use the generic hotkey class.&lt;br /&gt;
&lt;br /&gt;
===Properties===&lt;br /&gt;
{|width=&amp;quot;85%&amp;quot; cellpadding=&amp;quot;10%&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Property&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Type&lt;br /&gt;
!style=&amp;quot;width: 80%;background-color:white;&amp;quot; align=&amp;quot;left&amp;quot;|Description&lt;br /&gt;
|-&lt;br /&gt;
|Owner&lt;br /&gt;
|MemoryRecord&lt;br /&gt;
|The memory record this hotkey belongs to (ReadOnly).&lt;br /&gt;
|-&lt;br /&gt;
|Keys&lt;br /&gt;
|Table&lt;br /&gt;
|Table containing the key combination for this hotkey.&lt;br /&gt;
|-&lt;br /&gt;
|action&lt;br /&gt;
|Integer&lt;br /&gt;
|The action that should happen when this hotkey triggers. See action values below.&lt;br /&gt;
|-&lt;br /&gt;
|value&lt;br /&gt;
|String&lt;br /&gt;
|Value used depending on the hotkey type (see action).&lt;br /&gt;
|-&lt;br /&gt;
|ID&lt;br /&gt;
|Integer&lt;br /&gt;
|Unique ID of this hotkey (ReadOnly).&lt;br /&gt;
|-&lt;br /&gt;
|Active&lt;br /&gt;
|Boolean&lt;br /&gt;
|True if this hotkey will be handled, false if ignored.&lt;br /&gt;
|-&lt;br /&gt;
|Description&lt;br /&gt;
|String&lt;br /&gt;
|The description of this hotkey.&lt;br /&gt;
|-&lt;br /&gt;
|HotkeyString&lt;br /&gt;
|String&lt;br /&gt;
|The hotkey formatted as a string (ReadOnly).&lt;br /&gt;
|-&lt;br /&gt;
|ActivateSound&lt;br /&gt;
|String&lt;br /&gt;
|Tablefile name of a WAV file inside the table to play on activate events.&lt;br /&gt;
|-&lt;br /&gt;
|DeactivateSound&lt;br /&gt;
|String&lt;br /&gt;
|Tablefile name of a WAV file inside the table to play on deactivate events.&lt;br /&gt;
|-&lt;br /&gt;
|OnHotkey&lt;br /&gt;
|Function(sender)&lt;br /&gt;
|Function called when a hotkey has just been pressed.&lt;br /&gt;
|-&lt;br /&gt;
|OnPostHotkey&lt;br /&gt;
|Function(sender)&lt;br /&gt;
|Function called when a hotkey has been pressed and the action has been performed.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Action Values===&lt;br /&gt;
{|width=&amp;quot;85%&amp;quot; cellpadding=&amp;quot;5&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Constant&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Value&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Description&lt;br /&gt;
|-&lt;br /&gt;
|mrhToggleActivation&lt;br /&gt;
|0&lt;br /&gt;
|Toggles between active/deactive.&lt;br /&gt;
|-&lt;br /&gt;
|mrhToggleActivationAllowIncrease&lt;br /&gt;
|1&lt;br /&gt;
|Toggles between active/deactive. Allows increase when active.&lt;br /&gt;
|-&lt;br /&gt;
|mrhToggleActivationAllowDecrease&lt;br /&gt;
|2&lt;br /&gt;
|Toggles between active/deactive. Allows decrease when active.&lt;br /&gt;
|-&lt;br /&gt;
|mrhActivate&lt;br /&gt;
|3&lt;br /&gt;
|Sets the state to active.&lt;br /&gt;
|-&lt;br /&gt;
|mrhDeactivate&lt;br /&gt;
|4&lt;br /&gt;
|Sets the state to deactive.&lt;br /&gt;
|-&lt;br /&gt;
|mrhSetValue&lt;br /&gt;
|5&lt;br /&gt;
|Sets a specific value to the value property.&lt;br /&gt;
|-&lt;br /&gt;
|mrhIncreaseValue&lt;br /&gt;
|6&lt;br /&gt;
|Increases the current value with the value property.&lt;br /&gt;
|-&lt;br /&gt;
|mrhDecreaseValue&lt;br /&gt;
|7&lt;br /&gt;
|Decreases the current value with the value property.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Methods===&lt;br /&gt;
{|width=&amp;quot;85%&amp;quot; cellpadding=&amp;quot;10%&amp;quot; cellspacing=&amp;quot;0&amp;quot; border=&amp;quot;0&amp;quot;&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Method&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Parameters&lt;br /&gt;
!align=&amp;quot;left&amp;quot;|Returns&lt;br /&gt;
!style=&amp;quot;width: 80%;background-color:white;&amp;quot; align=&amp;quot;left&amp;quot;|Description&lt;br /&gt;
|-&lt;br /&gt;
|doHotkey&lt;br /&gt;
|None&lt;br /&gt;
|None&lt;br /&gt;
|Executes the hotkey as if it got triggered by the keyboard.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- List all hotkeys for a memory record&lt;br /&gt;
local mr = AddressList[0]&lt;br /&gt;
for i=0, mr.HotkeyCount-1 do&lt;br /&gt;
  local hk = mr.Hotkey[i]&lt;br /&gt;
  print(&amp;quot;Hotkey:&amp;quot;, hk.HotkeyString, &amp;quot;Action:&amp;quot;, hk.action, &amp;quot;Active:&amp;quot;, hk.Active)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Set a function to run when a hotkey is pressed&lt;br /&gt;
local hk = mr.Hotkey[0]&lt;br /&gt;
hk.OnHotkey = function(sender)&lt;br /&gt;
  print(&amp;quot;Hotkey pressed for:&amp;quot;, sender.Owner.Description)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Execute a hotkey manually&lt;br /&gt;
hk:doHotkey()&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[Lua:Class:MemoryRecord|MemoryRecord]]&lt;br /&gt;
* [[Lua:AddressList|AddressList]]&lt;/div&gt;</summary>
		<author><name>Leunsel</name></author>
		
	</entry>
</feed>