Base 64A: support special F2 key via the Delete key (GH#912)

This commit is contained in:
tomcw 2021-01-14 21:32:51 +00:00
parent 960e5d99bc
commit 7d2ddb3556
2 changed files with 9 additions and 3 deletions

View File

@ -25,6 +25,10 @@ page, then this drop-down menu can be used to specify the clone type.<br>
NB. Pravets 82, 8M and 8A are Bulgarian Apple II clones;
TK3000 is a Brazilian //e clone;
Base 64A is a Taiwanese Apple II clone.<br>
<ul>
<li>TK3000: Use Scroll Lock for the 'mode' key. Use to switch between standard Apple II and accented characters.
<li>Base 64A: Use Delete for the 'F2' key (eg. press F2, release F2 then press a key to auto-type a BASIC keyword).
</ul>
</p>
<p><strong>Printer settings </strong>(Printer is emulated in slot 1)
</p>

View File

@ -38,10 +38,11 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#include "YamlHelper.h"
#include "Log.h"
static BYTE asciicode[2][10] = {
static BYTE asciicode[3][10] = {
// VK_LEFT/UP/RIGHT/DOWN/SELECT, VK_PRINT/EXECUTE/SNAPSHOT/INSERT/DELETE
{0x08,0x00,0x15,0x00,0x00, 0x00,0x00,0x00,0x00,0x00}, // Apple II
{0x08,0x0B,0x15,0x0A,0x00, 0x00,0x00,0x00,0x00,0x7F} // Apple //e
{0x08,0x0B,0x15,0x0A,0x00, 0x00,0x00,0x00,0x00,0x7F}, // Apple //e
{0x08,0x00,0x15,0x00,0x00, 0x00,0x00,0x00,0x00,0x7F} // Base 64A (like Apple II but with DELETE)
}; // Convert PC arrow keys to Apple keycodes
bool g_bShiftKey = false;
@ -309,7 +310,8 @@ void KeybQueueKeypress (WPARAM key, Keystroke_e bASCII)
if (key >= VK_LEFT && key <= VK_DELETE)
{
BYTE n = asciicode[IS_APPLE2 ? 0 : 1][key - VK_LEFT]; // Convert to Apple arrow keycode
UINT model = IsCopamBase64A(GetApple2Type()) ? 2 : IS_APPLE2 ? 0 : 1;
BYTE n = asciicode[model][key - VK_LEFT]; // Convert to Apple arrow keycode
if (!n)
return;
keycode = n;