Comments (2)
Can you give an example? Is this combining characters or something like that?
from tcell.
Yes, this would be using combining characters. Given the following code that reads from stdin:
package main
import (
"fmt"
"os"
"golang.org/x/term"
)
func main() {
// switch stdin into 'raw' mode
oldState, err := term.MakeRaw(int(os.Stdin.Fd()))
if err != nil {
fmt.Println(err)
return
}
defer term.Restore(int(os.Stdin.Fd()), oldState)
b := make([]byte, 16)
var len int
for {
len, err = os.Stdin.Read(b)
if err != nil {
fmt.Println(err)
return
}
if string(b[0:len]) == "q" {
break
}
fmt.Println("read", len, "bytes")
fmt.Printf("the char %s was hit\n", string(b[0:len]))
}
}
I can run this and enter πΎπͺ which consistently prints out the following:
read 8 bytes
the char πΎπͺ was hit
I have tried using os.Stdin.Read
with a tcell/tview
project as a work-around, which works somewhat, but it seems to drop about every other typed character. This is without calling SetInputCapture
on the tview
application. Not sure if there is a way to fix that (I can ask on the tview
site), but I thought it better to use EventKey
if it could handle multi-rune character input.
from tcell.
Related Issues (20)
- set background of a row HOT 2
- Upperline (together with Underline) HOT 2
- cursor color HOT 2
- Focus event support for Windows console
- resize support for WASM mode HOT 2
- Modern XTerm CSI-u key reporting HOT 1
- `PollEvent()` returns `nil` when screen is suspended HOT 3
- Some emojis move entire line upwards when rendered at bottom of terminal HOT 1
- Support for NO_COLOR environment variable HOT 1
- views/app uses deprecated PostEventWait
- contentV not used in views/cellarea.go HOT 1
- Strikethrough no longer working HOT 2
- Wasm mode could support URLs
- Support for underline color HOT 1
- wasm could be smarter about spans HOT 1
- Add support for setting the window title
- runewidth package is out of date with wrong widths
- Confusing error message when run in linux vscode debug environment.
- Stopped working with tmux HOT 1
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 tcell.