<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>http://www.fsdeveloper.com/wiki/index.php?action=history&amp;feed=atom&amp;title=C%3A_PMDG-style_keyboard_entry</id>
	<title>C: PMDG-style keyboard entry - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://www.fsdeveloper.com/wiki/index.php?action=history&amp;feed=atom&amp;title=C%3A_PMDG-style_keyboard_entry"/>
	<link rel="alternate" type="text/html" href="http://www.fsdeveloper.com/wiki/index.php?title=C:_PMDG-style_keyboard_entry&amp;action=history"/>
	<updated>2026-04-29T05:44:07Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.1</generator>
	<entry>
		<id>http://www.fsdeveloper.com/wiki/index.php?title=C:_PMDG-style_keyboard_entry&amp;diff=10016&amp;oldid=prev</id>
		<title>Naruto-kun at 08:59, 6 December 2015</title>
		<link rel="alternate" type="text/html" href="http://www.fsdeveloper.com/wiki/index.php?title=C:_PMDG-style_keyboard_entry&amp;diff=10016&amp;oldid=prev"/>
		<updated>2015-12-06T08:59:12Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&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-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 03:59, 6 December 2015&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-l104&quot;&gt;Line 104:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 104:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;  		if(val == 0 || val == 3)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;  		if(val == 0 || val == 3)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;  		{&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;  		{&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 			cursor = cursor&amp;gt;0?cursor-1:cursor;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;  			istring[cursor] = 0x00;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;  			istring[cursor] = 0x00;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 			cursor = cursor&amp;gt;0?cursor-1:cursor;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;  		}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;  		}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;  		else&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;  		else&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Naruto-kun</name></author>
	</entry>
	<entry>
		<id>http://www.fsdeveloper.com/wiki/index.php?title=C:_PMDG-style_keyboard_entry&amp;diff=10015&amp;oldid=prev</id>
		<title>BASys: Category added - SimConnect</title>
		<link rel="alternate" type="text/html" href="http://www.fsdeveloper.com/wiki/index.php?title=C:_PMDG-style_keyboard_entry&amp;diff=10015&amp;oldid=prev"/>
		<updated>2015-12-05T10:05:22Z</updated>

		<summary type="html">&lt;p&gt;Category added - SimConnect&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&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-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 05:05, 5 December 2015&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-l151&quot;&gt;Line 151:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 151:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;[[Category:Aircraft Design]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;[[Category:Aircraft Design]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;[[Category:Panel and Gauge Design]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;[[Category:Panel and Gauge Design]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:SimConnect]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>BASys</name></author>
	</entry>
	<entry>
		<id>http://www.fsdeveloper.com/wiki/index.php?title=C:_PMDG-style_keyboard_entry&amp;diff=10014&amp;oldid=prev</id>
		<title>Naruto-kun at 11:18, 29 November 2015</title>
		<link rel="alternate" type="text/html" href="http://www.fsdeveloper.com/wiki/index.php?title=C:_PMDG-style_keyboard_entry&amp;diff=10014&amp;oldid=prev"/>
		<updated>2015-11-29T11:18:49Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&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-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 06:18, 29 November 2015&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-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{Infobox-Applicable-FSVersion&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| P3D2 = true&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| P3D = true&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| FSXI = unknown&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| FSXA = true&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| FSX = true&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| FS2004 = false&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| FS2002 = false&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| FS2000 = unknown&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| FS98 = unknown&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| XP10 = false &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| XP9 = false &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;If you have flown any of the PMDG aircraft, you may have found it quite convenient to be able to type your entries into the FMC with the keyboard by holding down the Tab key. Here is an example how to do this in a gauge using SimConnect. This sample is based on the blank multi thread D2D gauge template available in the FSDeveloper resources: http://www.fsdeveloper.com/forum/resources/blank-multi-thread-d2d-gauge-template.155/&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;If you have flown any of the PMDG aircraft, you may have found it quite convenient to be able to type your entries into the FMC with the keyboard by holding down the Tab key. Here is an example how to do this in a gauge using SimConnect. This sample is based on the blank multi thread D2D gauge template available in the FSDeveloper resources: http://www.fsdeveloper.com/forum/resources/blank-multi-thread-d2d-gauge-template.155/&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;br&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-l134&quot;&gt;Line 134:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 148:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;  	}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;  	}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;  }&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; 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;  }&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Aircraft Design]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; 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;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Panel and Gauge Design]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Naruto-kun</name></author>
	</entry>
	<entry>
		<id>http://www.fsdeveloper.com/wiki/index.php?title=C:_PMDG-style_keyboard_entry&amp;diff=10013&amp;oldid=prev</id>
		<title>Naruto-kun: Created page with &quot;If you have flown any of the PMDG aircraft, you may have found it quite convenient to be able to type your entries into the FMC with the keyboard by holding down the Tab key. ...&quot;</title>
		<link rel="alternate" type="text/html" href="http://www.fsdeveloper.com/wiki/index.php?title=C:_PMDG-style_keyboard_entry&amp;diff=10013&amp;oldid=prev"/>
		<updated>2015-11-29T11:17:05Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;If you have flown any of the PMDG aircraft, you may have found it quite convenient to be able to type your entries into the FMC with the keyboard by holding down the Tab key. ...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;If you have flown any of the PMDG aircraft, you may have found it quite convenient to be able to type your entries into the FMC with the keyboard by holding down the Tab key. Here is an example how to do this in a gauge using SimConnect. This sample is based on the blank multi thread D2D gauge template available in the FSDeveloper resources: http://www.fsdeveloper.com/forum/resources/blank-multi-thread-d2d-gauge-template.155/&lt;br /&gt;
&lt;br /&gt;
First off, it helps to have an array of strings to loop through when setting up your key assignments in SimConnect:&lt;br /&gt;
&lt;br /&gt;
 const char* kstr[58] = &lt;br /&gt;
 {&lt;br /&gt;
 	&amp;quot;Backspace\0&amp;quot;, &amp;quot;Tab\0&amp;quot;, &amp;quot;Space\0&amp;quot;, &amp;quot;Num_Del\0&amp;quot;, &amp;quot;0\0&amp;quot;, &amp;quot;1\0&amp;quot;, &amp;quot;2\0&amp;quot;, &amp;quot;3\0&amp;quot;, &amp;quot;4\0&amp;quot;,&lt;br /&gt;
 	&amp;quot;5\0&amp;quot;, &amp;quot;6\0&amp;quot;, &amp;quot;7\0&amp;quot;, &amp;quot;8\0&amp;quot;, &amp;quot;9\0&amp;quot;, &amp;quot;A\0&amp;quot;, &amp;quot;B\0&amp;quot;, &amp;quot;C\0&amp;quot;, &amp;quot;D\0&amp;quot;, &amp;quot;E\0&amp;quot;, &amp;quot;F\0&amp;quot;, &amp;quot;G\0&amp;quot;,&lt;br /&gt;
 	&amp;quot;H\0&amp;quot;, &amp;quot;I\0&amp;quot;, &amp;quot;J\0&amp;quot;, &amp;quot;K\0&amp;quot;, &amp;quot;L\0&amp;quot;, &amp;quot;M\0&amp;quot;, &amp;quot;N\0&amp;quot;, &amp;quot;O\0&amp;quot;, &amp;quot;P\0&amp;quot;,	&amp;quot;Q\0&amp;quot;, &amp;quot;R\0&amp;quot;, &amp;quot;S\0&amp;quot;,&lt;br /&gt;
 	&amp;quot;T\0&amp;quot;, &amp;quot;U\0&amp;quot;, &amp;quot;V\0&amp;quot;, &amp;quot;W\0&amp;quot;, &amp;quot;X\0&amp;quot;, &amp;quot;Y\0&amp;quot;, &amp;quot;Z\0&amp;quot;, &amp;quot;VK_NUMPAD0\0&amp;quot;, &amp;quot;VK_NUMPAD1\0&amp;quot;,&lt;br /&gt;
 	&amp;quot;VK_NUMPAD2\0&amp;quot;, &amp;quot;VK_NUMPAD3\0&amp;quot;, &amp;quot;VK_NUMPAD4\0&amp;quot;, &amp;quot;VK_NUMPAD5\0&amp;quot;, &amp;quot;VK_NUMPAD6\0&amp;quot;,&lt;br /&gt;
 	&amp;quot;VK_NUMPAD7\0&amp;quot;, &amp;quot;VK_NUMPAD8\0&amp;quot;, &amp;quot;VK_NUMPAD9\0&amp;quot;, &amp;quot;VK_ADD\0&amp;quot;, &amp;quot;VK_SUBTRACT\0&amp;quot;,&lt;br /&gt;
 	&amp;quot;VK_DECIMAL\0&amp;quot;, &amp;quot;VK_DIVIDE\0&amp;quot;, &amp;quot;VK_PLUS\0&amp;quot;, &amp;quot;VK_MINUS\0&amp;quot;, &amp;quot;VK_PERIOD\0&amp;quot;,&lt;br /&gt;
 	&amp;quot;VK_SLASH\0&amp;quot;&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
Next, you need to define your event ID and group ID enumerations (see CSimConnectData.h in the D2D sample)&lt;br /&gt;
&lt;br /&gt;
 static enum EVENT_ID &lt;br /&gt;
 {&lt;br /&gt;
 	EVK_KBBASE = 1000,//This is for Key Down events&lt;br /&gt;
 	EVK_KBBASEUP = 1100,//This is for Key Up events. Only used for the Tab key so we can know when to capture keyboard input.&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 static enum GROUP_ID&lt;br /&gt;
 {&lt;br /&gt;
 	G_KTOG,//This group only contains the Tab key.&lt;br /&gt;
 	G_KEYS,//This group contains all the other keys used.&lt;br /&gt;
 };&lt;br /&gt;
 &lt;br /&gt;
 static enum INPUT_ID&lt;br /&gt;
 {&lt;br /&gt;
 	I_KTOG,//This group only contains the Tab key.&lt;br /&gt;
 	I_KEYS,//This group contains all the other keys used.&lt;br /&gt;
 };&lt;br /&gt;
&lt;br /&gt;
In the AddDataDefs function in the D2D sample, set up your key definitions as shown:&lt;br /&gt;
 void AddDataDefs(HANDLE hs)&lt;br /&gt;
 {&lt;br /&gt;
 	for(int i = 0; i &amp;lt; 58; i ++)&lt;br /&gt;
 	{&lt;br /&gt;
 		SimConnect_MapClientEventToSimEvent(hs, EVK_KBBASE+i);&lt;br /&gt;
 		SimConnect_AddClientEventToNotificationGroup(hs, i==1?G_KTOG:G_KEYS, EVK_KBBASE+i, true);&lt;br /&gt;
 		SimConnect_MapClientEventToSimEvent(hs, EVK_KBBASEUP+i);&lt;br /&gt;
 		SimConnect_AddClientEventToNotificationGroup(hs, i==1?G_KTOG:G_KEYS, EVK_KBBASEUP+i, true);&lt;br /&gt;
 	}&lt;br /&gt;
 	//Note we have 2 key groups. The KTOG group contains only 1 key, the &amp;quot;Tab&amp;quot; key.&lt;br /&gt;
 	//This is so that the other key group will only mask inputs from the sim and redirect into our code if the Tab key is held down&lt;br /&gt;
 	SimConnect_SetNotificationGroupPriority(hs, G_KTOG, SIMCONNECT_GROUP_PRIORITY_HIGHEST_MASKABLE);&lt;br /&gt;
 	SimConnect_SetNotificationGroupPriority(hs, G_KEYS, SIMCONNECT_GROUP_PRIORITY_HIGHEST_MASKABLE);&lt;br /&gt;
 	for(int i = 0; i &amp;lt; 58; i ++)&lt;br /&gt;
 	{&lt;br /&gt;
 		SimConnect_MapInputEventToClientEvent(hs, i==1?I_KTOG:I_KEYS, kstr[i], EVK_KBBASE+i, 0, EVK_KBBASEUP+i, 0, 1);&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	SimConnect_SetInputGroupState(hs, I_KTOG, SIMCONNECT_STATE_ON);&lt;br /&gt;
 	SimConnect_SetInputGroupState(hs, I_KEYS, SIMCONNECT_STATE_OFF);&lt;br /&gt;
 	SimConnect_SetInputGroupPriority(hs, I_KTOG, SIMCONNECT_GROUP_PRIORITY_HIGHEST_MASKABLE);&lt;br /&gt;
 	SimConnect_SetInputGroupPriority(hs, I_KEYS, SIMCONNECT_GROUP_PRIORITY_HIGHEST_MASKABLE);&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
Next, in your SimConnect callback under the SIMCONNECT_RECV_ID_EVENT case, call the event handler and toggle the keyboard input state as required:&lt;br /&gt;
 case SIMCONNECT_RECV_ID_EVENT:&lt;br /&gt;
 {&lt;br /&gt;
 	SIMCONNECT_RECV_EVENT *evt = (SIMCONNECT_RECV_EVENT*)pData;&lt;br /&gt;
 	if(evt-&amp;gt;uGroupID == G_KTOG)&lt;br /&gt;
 	{&lt;br /&gt;
 		//if the Tab key is down, activate the masked keyboard key system so our key input will receive events&lt;br /&gt;
 		if(evt-&amp;gt;uEventID == EVK_KBBASE+1)&lt;br /&gt;
 			SimConnect_SetInputGroupState(hSc, I_KEYS, SIMCONNECT_STATE_ON);&lt;br /&gt;
 		else&lt;br /&gt;
 			SimConnect_SetInputGroupState(hSc, I_KEYS, SIMCONNECT_STATE_OFF);&lt;br /&gt;
 	}&lt;br /&gt;
 	//Subtract 1000 from the key event id to match our key identifier system&lt;br /&gt;
 	if(evt-&amp;gt;uGroupID == G_KEYS)&lt;br /&gt;
 		KeyInput(evt-&amp;gt;uEventID-1000);&lt;br /&gt;
 }&lt;br /&gt;
 break;&lt;br /&gt;
&lt;br /&gt;
Finally, set up your key input function where you can convert from key input ID to ASCII string as shown:&lt;br /&gt;
&lt;br /&gt;
 #define MAXINPUT 20&lt;br /&gt;
 char istring[MAXINPUT];&lt;br /&gt;
 int cursor = 0;&lt;br /&gt;
 void KeyInput(int val)&lt;br /&gt;
 {&lt;br /&gt;
 	if(val &amp;lt; 100)//Note, we only accept Key Down events&lt;br /&gt;
 	{&lt;br /&gt;
 		//0 is Backspace, 3 is Delete. If you want Delete to wipe out the whole string, use memset(istring, 0x00, MAXINPUT); when val == 3&lt;br /&gt;
 		if(val == 0 || val == 3)&lt;br /&gt;
 		{&lt;br /&gt;
 			istring[cursor] = 0x00;&lt;br /&gt;
 			cursor = cursor&amp;gt;0?cursor-1:cursor;&lt;br /&gt;
 		}&lt;br /&gt;
 		else&lt;br /&gt;
 		{&lt;br /&gt;
 			//If val == 2, the value to put in is a blank space &amp;#039; &amp;#039;.&lt;br /&gt;
 			if(val == 2)&lt;br /&gt;
 				istring[cursor]=&amp;#039; &amp;#039;;&lt;br /&gt;
 			else&lt;br /&gt;
 			{&lt;br /&gt;
 				char kv = 0x00;&lt;br /&gt;
 				//Values 4 to 13 are top row of numbers on keyboard. ASCII values are 0x30 to 0x39 for &amp;quot;0-9&amp;quot;&lt;br /&gt;
 				if(val &amp;gt; 3 &amp;amp;&amp;amp; val &amp;lt; 14)&lt;br /&gt;
 					kv = 0x30+char(val-4);&lt;br /&gt;
 				//Values 14 to 39 are letters on keyboard. ASCII values are 0x41 to 0x5A for &amp;quot;A-Z&amp;quot;. Uppercase only in this case. If you want lowercase, use ASCII values 0x61 to 0x7A&lt;br /&gt;
 				if(val &amp;gt; 13 &amp;amp;&amp;amp; val &amp;lt; 40)&lt;br /&gt;
 					kv = 0x41+char(val-14);&lt;br /&gt;
 				//Values 40 to 49 are NUMPAD numbers. ASCII values are again 0x30 to 0x39 for &amp;quot;0-9&amp;quot;&lt;br /&gt;
 				if(val &amp;gt; 39 &amp;amp;&amp;amp; val &amp;lt; 50)&lt;br /&gt;
 					kv = 0x30+char(val-40);&lt;br /&gt;
 				//Values 50 to 51 are + and - respectively on top row of keyboard. Values 54 and 55 are + and - respectively on NUMPAD. ASCII values are 0x2B for &amp;quot;+&amp;quot; and 0x2D for &amp;quot;-&amp;quot;.&lt;br /&gt;
 				//Note that most CDUs have both on the same key, hence pressing either of these keys will not necessarely set the value of the screen to that of the keyboard, but rather toggle between  them.&lt;br /&gt;
 				//Also note that the cursor will step back to the previous value to check if it is a + or -.&lt;br /&gt;
 				if(val == 50 || val == 51 || val == 54 || val == 55)&lt;br /&gt;
 				{&lt;br /&gt;
 					if(istring[cursor-(cursor&amp;gt;0?1:0)] == 0x2B || istring[cursor-(cursor&amp;gt;0?1:0)] == 0x2D)&lt;br /&gt;
 					{&lt;br /&gt;
 						kv = istring[cursor-(cursor&amp;gt;0?1:0)]==0x2B?0x2D:0x2B;&lt;br /&gt;
 						if(cursor&amp;gt;0)&lt;br /&gt;
 							cursor--;&lt;br /&gt;
 					}&lt;br /&gt;
 					else&lt;br /&gt;
 						kv = 0x2B;&lt;br /&gt;
 				}&lt;br /&gt;
 				//Values 52 to 53 are . and / respectively on main keyboard. Values 56 and 57 are . and / respectively on NUMPAD. ASCII values are 0x2E for &amp;quot;.&amp;quot; and 0x2F for &amp;quot;/&amp;quot;. &lt;br /&gt;
 				if(val == 52 || val == 53 || val == 56 || val == 57)&lt;br /&gt;
 					kv = 0x2E+char(val%2);&lt;br /&gt;
 				istring[cursor] = kv;&lt;br /&gt;
 			}&lt;br /&gt;
 			if(cursor &amp;lt; MAXINPUT-1)&lt;br /&gt;
 				cursor++;&lt;br /&gt;
 		}&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Naruto-kun</name></author>
	</entry>
</feed>