summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/natkeyboard.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Slotified Mac 128k/512k/512ke/Plus keyboard port. Vas Crabb2020-07-011-4/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Available keyboards are us (M0110, U.S.), gb (M0110B, British), fr (M0110F, French), pad (M0120F, numeric keypad with passthrough port) and plus (M0110A, U.S. with integrated numeric keypad). The mac128k, mac512k and mac512ke drivers default to the numeric keypad with the U.S. keyboard connected to the passthrough port; the macplus driver defaults to the U.S. keyboard with integrated numeric keypad. Note that the numeric keypad may seem strange. Four of the operators work as cursor arrows if you don't hold shift. There is a comma on one of the keys, but by the time System 6 was released, Apple had decided an equals sign was more useful, so that's what it will produces on newer system versions. The U.S. keyboard with integrated numeric keypad emulates these aspects of the stand-alone keypad - pressing the operator keys on the keypad sends fake shit key down/up events, and using the arrow keys while holding shift will produces operator characters rather than selecting text. The ISO layout keyboards (M0110B and M0110F) produce different scan codes to the ANSI keyboards (M0110 and M0110A) but they don't report a different identification byte. To use an ISO keyboard, you must open the Keyboard control panel and change the layout to International (and change it back to Domestic if you switch back to an ANSI keyboard). This doesn't actually work at the moment due to issues with 6522 VIA emulation, but it will work with macplus sys603 if applied on top of revision 963a2c166d080e78e6de7fe432ed7944c59a6083. -----------------------------------------------------------------------
* -bus/coco/coco_ram.cpp: fix a rather obvious bug in shift/mask Vas Crabb2020-06-251-1/+1
| | | | -misc. formatting consistency
* srcclean and cleanup (nw) Vas Crabb2020-06-211-3/+3
|
* Fix for UI Paste with the Default Serial Terminal (#6648) Frank Palazzolo2020-05-061-31/+41
| | | * This fixes the ability for one to use UI Paste with the Default Serial Terminal. Without this fix, 8 characters @^&()\:" cannot be pasted from the UI.
* PG police (nw) hap2020-02-171-1/+1
|
* fixed some clang-tidy warnings (nw) (#6236) Oliver Stöneberg2020-01-301-3/+3
| | | | | | | | | | | | | | | | * fixed some modernize-redundant-void-arg clang-tidy warnings (nw) * fixed some modernize-use-bool-literals clang-tidy warnings (nw) * fixed some modernize-use-emplace clang-tidy warnings (nw) * fixed some performance-move-const-arg clang-tidy warnings (nw) * fixed some readability-redundant-control-flow clang-tidy warnings (nw) * fixed some readability-redundant-string-cstr clang-tidy warnings (nw) * fixed some performance-unnecessary-value-param clang-tidy warnings (nw)
* natkeyboard.cpp: Turn logging back off (nw) AJR2020-01-101-1/+1
|
* input_sdl: Process control characters so that the natural keyboard can see ↵ AJR2020-01-101-17/+20
| | | | | | them (SDL normally strips these out) Don't strip linefeed characters (Ctrl-J) from natural keyboard input except when pasting strings
* Merge pull request #5614 from npwoods/natkeyboard_std_array R. Belmont2019-09-111-7/+4
|\ | | | | Changing some arrays to use std::array<> in natkeyboard
| * Changing some arrays to use std::array<> in natkeyboard npwoods2019-09-101-7/+4
| |
* | Changed osd_get_clipboard_text() to return std::string (#5615) npwoods2019-09-111-10/+3
|/ | | | | | | | | | * Changed osd_get_clipboard_text() to return std::string This change has only been tested on Windows. The Un*x/Mac versions were made blindly; they might not even build. This needs to be checked prior to merging. * Fixing Mac OS X build (hopefully)
* Exposed natual_keyboard object to LUA (#5364) npwoods2019-07-201-0/+14
|
* Moving paste() from mame_ui_manager class to natural_keyboard class, npwoods2019-07-191-0/+21
| | | | exposing to LUA
* Revert "Send LF with CR when using natuaral keyboard on systems with a line ↵ AJR2018-08-111-11/+0
| | | | | | feed key" This reverts commit 409c0663bc69bccee39f26afe65cddb3f104851e.
* Misc. fixes for recent commits (nw) AJR2018-08-101-1/+0
|
* Send LF with CR when using natuaral keyboard on systems with a line feed key AJR2018-08-101-0/+12
|
* Make "Keypad ," and "Keypad =" standard keys AJR2018-05-111-1/+3
|
* Added support for multiple PORT_CHAR() bindings, and adopted in the CoCo ↵ Nathan Woods2017-09-241-29/+35
| | | | driver (addresses MT#2618)
* natural keyboard: prefer lower shift states, eliminate O(n) lookup Vas Crabb2017-09-051-28/+34
| | | | | | allows Alt-combos on European Amiga keyboards to be restored as MAME will now prefer the simpler Shift-combos to get characters that can be typed in more than one way
* Overhaul to how MAME handles options, take two (#2341) npwoods2017-06-251-3/+1
|
* general cleanup: Vas Crabb2017-05-231-32/+41
| | | | | | | | | | | * move rarely-used output and pty interfaces out of emu.h * consolidate and de-duplicate forward declarations, also remove some obsolete ones * clean up more #include guard macros * scope down a few more things (nw) Everyone, please keep forward declarations for src/emu in src/emu/emufwd.h - this will make it far easier to keep them in sync with declarations than having them scattered through all the other files.
* Revert "Overhaul to how MAME handles options (#2260)" Vas Crabb2017-05-071-1/+3
| | | | | | | | | | | | This reverts commit 536990e77b49ccc50ef275bfbf1018cc29c16154. Conflicts: src/frontend/mame/mame.cpp Sorry, but this change was half-baked. It breaks a lot of existing functionality and clearly hasn't been tested in more than a tiny subset of use cases. Please play this work back onto your own branch, and test it before submitting another PR.
* Overhaul to how MAME handles options (#2260) npwoods2017-05-051-3/+1
| | | | | | | | | | | | This is an overhaul to how MAME handles options to provide a better foundation for what MAME is already doing in practice. Previously, core_options was designed to provide an input/output facility for reading options from the command line and INI files. However, the current needs (image/slot/get_default_card_software calculus and MewUI) go way beyond that. Broadly, this PR makes the following changes: * core_options now has an extensibility mechanism, so one can register options that behave dramatically differently * With that foundation, emu_options now encapsulates all of the funky image/slot/get_default_card_software calculus that were previously handled by static methods in mameopts.cpp. Changes to emu_options should not automatically cascade in such a way so that it stays in a consistent state * emu_options no longer provides direct access to the slot_options/image_options maps; there are simpler API functions that control these capabilities * Many core_options functions that expose internal data structures (e.g. - priority) that were only really needed because of previous (now obsolete) techniques have been removed. * core_options is now exception based (rather than dumping text to an std::string). The burden is on the caller to catch these, and discern between warnings and errors as needed. Obviously this is a risky change; that's why this is being submitted at the start of the dev cycle.
* Amiga keyboard updates: Vas Crabb2017-02-051-61/+93
| | | | | | | | | | | * Fixed Shift-Alt combinations with natural keyboard * Fixed crash on keyboard inputs with four characters * Corrected polarity of KB_DATA from Amiga to keyboard * Completely rewrote 68HC05CxA-based A1200 keyboard device, now working * Fixed KB_DATA mixing in A500 keyboard * Made A500 keyboard caps lock LED output name consistent with A1200 * Added Alt- and Alt-Shift- characters to A500 US keyboard * Fixed natural keyboard modifiers with LLE keyboards
* Fix for a potential problem if natural keyboard input gets disabled while ↵ AJR2016-12-311-0/+6
| | | | machine is running (nw)
* Correct natural keyboard handling of toggle keys AJR2016-12-311-2/+17
|
* Revert "Added IS_ENABLED, so we have compiler check for non used part, it is ↵ Miodrag Milanovic2016-11-121-3/+3
| | | | | | checked but not compiled in (nw)" This reverts commit c0407f073bf7afe26407c4add5cfeaf7104913c9.
* Added IS_ENABLED, so we have compiler check for non used part, it is checked ↵ Miodrag Milanovic2016-11-111-3/+3
| | | | | | but not compiled in (nw) false and true now used instead of integer where used as bool
* more TRUE/FALSE cleanup (nw) Miodrag Milanovic2016-10-221-4/+4
|
* use standard types uintptr_t, char16_t and char32_t instead of FPTR, ↵ Miodrag Milanovic2016-10-221-20/+20
| | | | utf16_char, unicode_char (nw)
* Lock out ioport_fields independently of natural keyboard state (nw) AJR2016-10-201-0/+29
|
* Misc. keyboard input improvements AJR2016-10-081-9/+28
| | | | | | | | - Add BS, Tab, 00, 000 keys common on add-on keypads as input items; SDL may recognize these, but DirectInput does not - Assign Keypad 00 and Keypad 000 in several drivers' input lists - Add SDL keycode for "cancel" key - Add keypad keys as alternates to natural keyboard - Move has_keyboard() out of the core; enabled() test is unnecessary now that all optional keyboards are slot devices (nw)
* Separate natural keyboard support from ioport.cpp (nw) AJR2016-10-021-0/+842