diff --git a/Machines/Apple/AppleII/AppleII.cpp b/Machines/Apple/AppleII/AppleII.cpp index 127200666..3d7286963 100644 --- a/Machines/Apple/AppleII/AppleII.cpp +++ b/Machines/Apple/AppleII/AppleII.cpp @@ -339,6 +339,13 @@ template class ConcreteMachine: case Key::F5: case Key::F6: case Key::F7: case Key::F8: case Key::F9: case Key::F10: case Key::F11: repeat_is_pressed = is_pressed; + + if constexpr (!is_iie()) { + if(is_pressed && !is_repeat) { + value = last_key; + break; + } + } return true; case Key::F12: @@ -391,6 +398,7 @@ template class ConcreteMachine: } if(is_pressed) { + last_key = value; keyboard_input = uint8_t(value | 0x80); key_is_down = true; } else { @@ -410,6 +418,7 @@ template class ConcreteMachine: } } + char last_key = 0; bool repeat_is_pressed = false; bool shift_is_pressed = false; bool control_is_pressed = false;