Comments (5)
Termbox doesn't support them. Any unknown esc key sequence (ctrl+arrow keys are esc seqs) is recognized as esc and characters which follow. The reason for this is that termbox supports only a common subset of functionality all most popular terminals support.
There is no way to avoid that behaviour, unless you simply ignore esc. I've said that many times and I'm happy to repeat: terminals suck when it comes to input, you have to live with it or use something else than a terminal. That's why editors like vim and emacs have a very restricted set of bindings by default. Both vim and emacs don't even use arrow keys mainly and recommend to use other keys (C-f C-b C-n C-p or hjkl). Yes, they do support it eventually, but as I said, not all terminals handle ctrl+arrow keys properly.
I'm strongly against building interfaces which aren't portable (i.e. don't work on all platforms). Yes, termbox became already that kind of a library, where on linux there are 256 colors and on windows there is no such thing. Initially termbox was born because I tried doing portable stuff (linux and windows) using some w32 curses port and it simply didn't work well.
So, whatever, I don't know what to do about it.
from termbox-go.
I'm adding raw events to the termbox. See: #65
And the commit: 54b74d0
Technically, it's a way to handle Ctrl+Arrow keys. Maybe not the best one, but it is.
from termbox-go.
Control+Arrow can't work on most terminals -- there is no escape sequence defined for it, and so its generally impossible outside of Windows.
from termbox-go.
Control+arrow works on all terminal emulators I've tried (on Linux) and it's supported in programs like vim. Can these keys be added to termbox-go so it's easy to work with?
from termbox-go.
Termbox is no longer maintained, you can try this lib: https://github.com/gdamore/tcell
It might support what you're looking for.
from termbox-go.
Related Issues (20)
- device not configured HOT 5
- tmux-256color $TERM unsupported
- panic: The handle is invalid. HOT 1
- Keybindings not working on FreeBSD HOT 2
- Wine panics ("Invalid handle")
- build failure on gnu/hurd HOT 3
- Understanding character codes / sequences HOT 3
- Copy-pastable line wrap HOT 2
- Version tagging HOT 1
- Panic on FreeBSD host HOT 5
- ShowCursor Function
- Save current history/screen in plain text HOT 4
- Why output is ahead of my command rather than after?
- can it support emoji HOT 1
- Chinese characters support issue HOT 1
- KeyEnter and KeyCtrlM map to the same Hex value HOT 1
- Chinese character width occupation problem HOT 3
- how to use with custom pty example ssh
- How do I detect a double-click mouse event?
- Add support for SetOutputMode other than OutputNormal for Windows Terminal
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 termbox-go.