Comments (6)
That's a good idea, in YAKC (https://floooh.github.io/virtualkc/) I had a general onscreen keyboard UI, but this is hardwired to one computer model (the KC85/3), using the information in the keyboard map for a "universal keyboard", maybe with a different UI which actually looks like a keyboard might work...
Emulator stuff isn't currently high on my todo list, but I'll keep it in mind :)
from chips.
Might it be possible to make the "Keyboard Map" clickable to send keyboard inputs?
That might be a viable workaround for all platforms -- I'd really like to be able to send the PAUSE-BREAK key to the C64...
from chips.
Thanks.
The C64's choice of keys always kind of bugged me..
from chips.
Hi, firstly thanks for these great emulators, I like the approach and appreciate the perfect sound. And the UI versions implementation is one of the best I've ever seen. However, I think the keyboard handling might need looking at. I think having an option of emulated machine layout and PC layout might be better. If you try and program the spectrum, you can't get all the commands for some reason. Missing SymbolShift? Which kind of means you can't program it. Also there is something not right with the response. For example if you press a key, the response on the first char is great, then there is the repeat delay, it repeats the char once only, then there is a second repeat delay followed by repeating chars. At the moment the sims are great to look at, and I wish I could use them all the time, but I need to type on them. This also affects many keyboard only games, where it appears it doesn't support more than one key-press at a time. On the spectrum, you can play many with the joystick-arrow keys, which works fine, but I would like to be able to use the keys, as I find manic miner easier with OP and space. :o) I really just wan't these to be perfect.
Thanks, James.
from chips.
I agree, while the current way host system keys are mapped to the target system keys is quite convenient for regular text input, it fails for target-specific keys.
I want to add some sort of onscreen keyboard UI to fix this (and this could also have a mode-toggle to switch the host keyboard mapping to other modes). However I didn't want to use Dear ImGui for this (which is used in the debugging UI), because this adds too much binary size overhead (I still want the 'core emulators' without the debugging UI to remain as small as possible)...
So the plan is to render the custom onscreen keyboard with a mix of sokol_gl.h (https://github.com/floooh/sokol/blob/master/util/sokol_gl.h) and sokol_debugtext.h (https://github.com/floooh/sokol/blob/master/util/sokol_debugtext.h), and also spend a bit of time to add some 'system-specific polish' to those virtual keyboards (e.g. the ZX Spectrum onscreen keyboard should somehow feature the iconic 'rainbow stripes' in the bottom right corner). This virtual keyboard would also fix all text input problems on mobile devices (since the iOS and Android onscreen keyboards are even worse than PC keyboards for emulator input).
...and I also want to use the same idea to implement a virtual touch-input-joystick on mobile devices btw.
from chips.
Hi Floooh,
Thanks for that, good news, an on-screen keyboard would be nice for touch devices and solve the translation problem (ZX<->IBM layouts) so whatever the keyboard you have you at least have a way to input any potential missing/miss-mapped keys, and I would certainly make use of it. I also like small code, it tends to naturally be faster and more efficient. I enjoyed reading some of your development blog and your enhancements of the CPU clock timings, was a really interesting read. What you've done with the sound and video display is excellent, and I look forward to following your developments on this and all your other, equally excellent, emulators. Most of all, thanks for writing them!
from chips.
Related Issues (20)
- status of c1530 emulation? HOT 2
- Question about using CLion with the generated files for chipstest HOT 3
- Imgui 1.79 breaks debugger HOT 3
- Question about memory allocation HOT 2
- [c64.h] glitch implementing a mapped I/O device HOT 4
- [vic20] [6522] cassette SENSE pin not working HOT 1
- Reminder: potential bug in m6502 for NMI detection HOT 3
- Known Issues: CPC
- Are you interested in 8086? HOT 2
- Z80 Chip doesn't handle LD A,(IX+n) correctly HOT 4
- Z80 BUSACK/BUSREQ/RESET pins HOT 2
- z80: fetch opcode timing HOT 1
- surprising behaviour of cycle-stepped z80 after PC reset HOT 2
- Z80 wait state handling incorrect? HOT 1
- m6502 doesn't clear D on BRK HOT 1
- Q: page-cross behaviour on 6502 SHY opcode HOT 3
- Unable to use the space bar when there's a CPC_JOYSTICK_DIGITAL attached HOT 2
- Cycle-stepped Motorola 68K HOT 2
- m6569: c accesses half a cycle too late? HOT 2
- Caps Shift doesn't work on ZX Spectrum
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from chips.