Comments (5)
I see. Yes, we can design a new approach.
from cpp-terminal.
update on this: the macros are broken and do really nothing actually. first of all ALT keys return a value below zero which gets casted into a unsigned char (which can't be negative). Then we calculate it + 128 and cast it back into an char (which can just hold up to 127). So in the end it somehow still provides the case Key < 0
.
@certik would it be enough to just check if the key number is below zero? I haven't found another key that is similar to that. Otherwise i could check on the actual value of the alt key (probably a number that's the char + some value) and create a function you can just easily use.
Also CTRL+I returns TAB key in the keys demo. I would fix that as well.
from cpp-terminal.
I don't have an opinion. If there is a runtime error that we need to fix it. As we discussed, we should move from macros to functions. There was some issue that it required a significant rewrite of some switch statements in one of the examples, but I haven't had time to look into that.
from cpp-terminal.
yeah but I have an idea to skip the rewrite. Also my change doesn't work that well as I have just changed the not working macro into an not working inline function. We need an different option here. Also the keys example is interpreting the ALT keys differently than the promt. That's why one has a critical problem and the other one does not. I would suggest to take a entirely different approach here. But we can merge my first try of course, I would change that later on then.
from cpp-terminal.
Done! #113 provides a new approach.
from cpp-terminal.
Related Issues (20)
- read_key0() exists in input.hpp but not in input.cpp HOT 4
- Color are wrong with unicode characters on Windows HOT 2
- Flickering HOT 20
- Windows terminal can be turned into `legacy mode` and so crash our ANSII support detection
- example 'kilo' does not support special characters HOT 7
- exception leaking destructor is dangerous HOT 10
- build as shared library, error adding symbols: DSO missing from command line HOT 12
- Compiling the examples with GCC results in errors HOT 7
- Create a list of projects that are using this library HOT 3
- Bug: cpp-terminal crashes if two utf8 are inserted simultaneously HOT 42
- Multiline prompt stopped working on macOS
- Ctrl + I and Tab HOT 6
- Bug: Text Wrap Incompatibility HOT 6
- Bring back the list of other similar libraries HOT 4
- Pressing Ctrl, Alt, Shift creates a copy paste event on windows? HOT 3
- Addition of Metakey and Key results in warning of deprecation HOT 1
- Bug in key + metakey arithmetic HOT 7
- Exception thrown at this line when typeing to fast HOT 7
- mouse sending random characters to the terminal after examples/minimal ends HOT 8
- `std::cin` doesn't read pipe redirection HOT 8
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 cpp-terminal.