Commit Graph

59 Commits

Author SHA1 Message Date
roy
258cf0abec Add capfile(5) to describe the termcap format.
Adjust various man pages and other documentation to point to capfile(5)
instead of termcap(5).
Remove getcap(3) as curses hasn't been building it for a long time.
Punt wrterm.c as tset no longer uses it.
2012-04-21 12:27:24 +00:00
blymn
e0662f42c2 Fix deleting a key definition, it did not work. Also improve tracing
of key definition deletion.
2011-04-21 08:10:49 +00:00
joerg
bd9a53cf30 Since limit and l are both unsigned, comparing to 0 doesn't work, so compare
the values directly.
2010-12-07 22:02:52 +00:00
blymn
eb6f26d7ad Don't echo key symbols. 2010-11-05 11:38:54 +00:00
roy
98eb889579 Userland now builds and uses terminfo instead of termcap.
OK: core@, jdc@
2010-02-03 15:34:37 +00:00
dsl
ef7eea8bfd Read input from the correct FILE. 2009-11-04 21:51:11 +00:00
dsl
905b39a994 Move calls to __restore_termios() into the failing path of the functions
that fail - instead of in most of the callers.
All rather pointless if tcsetattr() fails to set the mode we want we
are very unlikely to be able to restore any later on.
2009-11-01 22:11:27 +00:00
jdc
145a912cc9 Fix bug where a single ESC was not recognised when in keypad() mode.
Noticed by abs@.
2009-02-09 12:45:59 +00:00
jdc
e44c226e62 Add extra debugging information. 2008-04-14 20:32:53 +00:00
jdc
7cc6075b0e Keep pushed-back characters locally. Fixes problems where KEY_* symbols
are pushed back.  Should fix the arrow keys part of PR pkg/37173.

While we are here, make getch() and get_wch() check for resize immediately,
instead of reading a key, checking for resize and then having to push-back
the just read key.
2007-12-08 18:38:11 +00:00
blymn
2b4f2c9caf Fix a crash caused by having a single NULL character as a string capability.
This fix is about the best we can do given the current interfaces. We
could extend the cgetcap(3) interfaces with a function that would return
a character count and handle this in libterm which would provide a more
complete fix and allow a NULL character in a string capability.
2007-08-28 12:28:18 +00:00
blymn
e124de36d8 Merge in wide curses code done as a Summer of Code project by
Ruibiao Qiu.
2007-05-28 15:01:53 +00:00
jdc
1f221324cf Add debug "areas" that allow selective debugging by setting the
"CURSES_TRACE_MASK" environment variable.  Postive vales include
debug areas, negative values exclude them.
2007-01-21 13:25:36 +00:00
christos
ad66eb8252 PR/34011: Julian Coleman: Limit timeout to 25.5 seconds. 2006-07-25 21:45:00 +00:00
christos
c93c6166a0 Coverity CID 1246: Don't allow getc == -1 to propagate as an array index. 2006-03-19 01:58:48 +00:00
jdc
efc30049d8 Add KEY_RESIZE support and a SIGWINCH handler.
Fixes PR bin/20032.
This requires a change to KEY_MAX, which affects libform and libmenu, so we
need to change libcurses major number.
2004-03-22 18:57:10 +00:00
jdc
6db03ed922 Minor style change. 2004-03-16 07:44:31 +00:00
agc
eb7c1594f1 Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22280, verified by myself.
2003-08-07 16:42:00 +00:00
jdc
7a37df1b93 Add ESCDELAY variable to control the inter-key delay in escape sequences.
Fixes PR 20031 by Thomas Klausner.
2003-04-08 18:55:43 +00:00
jdc
e6800497da Keep the cr->nl translation state in a separate variable, so that we can
do the translation ourselves (if the tty didn't do it for us).
Add debugging to track functions that change tty state.

Fixes PR 20834 by Stephen Borrill.
2003-04-05 10:06:59 +00:00
dsl
d75ec8181e Fix resize of windows with subwins.
Let window size be given as a -ver number => lines from bottom.
Fix trace calls of pointers
(approved by Brett Lumn)
2003-02-17 11:07:19 +00:00
jdc
2467ead4d8 Increase default delay when assembling key sequences. This seems to
eliminate the occasional non-recognition of key sequences over remote
connections.
Okayed by blymn.
2002-12-23 12:11:38 +00:00
blymn
5aec620ac6 Added the ncurses extensions define_key and keyok. 2002-10-22 12:07:20 +00:00
blymn
ef5927835e Remove extraneous tabs from blank lines. 2002-01-02 10:38:27 +00:00
blymn
c84d91aad5 * Major change to add support for the newterm/set_term functions.
* Added fix to getch.c suggested by Gabriel Rosenkoetter (thanks :-)
2001-12-02 09:14:20 +00:00
tron
d47435e90d Remove bogus call to free(3) which caused several warning messages in
application using our "curses" library after the latest change to
memory management in the "c" library.
2001-11-01 16:06:59 +00:00
blymn
680d3cd9aa Fixed casting bug in array indexing, a signed char was being sign
extended when cast to unsigned, made the cast "unsigned char"
2001-01-10 14:02:31 +00:00
itojun
c8df79fc84 do not call wrefresh() uncondintionally from wgetch(). call it only
when the window was touched (is_wintouched()).
the previous behavior damaged existing applications, especially when it issues
lots of subwindow manipulation and mvcur().

it was introduced in 1.23 -> 1.24 or sometime before.
2000-09-23 09:34:07 +00:00
itojun
2e661a4ef6 free region got from t_getstr(). we will experience memory leak if
we call initscr() multiple times (rare, but it's better to be pedant).
2000-07-31 18:55:35 +00:00
itojun
78d8274105 fix 8bit cleanness of getch() and wgetch(). never use char variable against
stdio functions which return "int" (including getchar()).
the bug was introduced in 1.9 -> 1.10.  fixes PR10723.
2000-07-31 16:22:46 +00:00
jdc
c1ea940db9 Send 'ks' sequence from first call to keypad(win, TRUE) only and not from
wgetch().  Don't send 'ke' sequence from keypad(win, FALSE) or wgetch().
This makes us compatible with Solaris.
Suggested by ITOH Yasufumi.
2000-05-25 06:46:26 +00:00
jdc
985e3d49d7 Send, if necessary, 'ks' or 'ke' sequences from keypad() and wgetch().
Fixes PR 10116.
2000-05-17 16:23:49 +00:00
blymn
2128c86b68 * Made erasechar and killchar into functions
* Modified __init_getch to use termcap handle that has been allocated
  (_cursesi_genbuf) instead of refetching it.
* Make wgetstr support erase - this is not a full blown SUSv2 version
  but it is a start.
2000-05-01 12:30:30 +00:00
mycroft
317366b8b0 No, really, make sure ECHO is cleared in cbreak() mode too. 2000-04-27 17:50:01 +00:00
jdc
7b941b625f Add extra KEY_* definitions (from SUSv2).
Fix `gcc -Wuninitialized`.
2000-04-27 00:23:26 +00:00
blymn
cf5ffc46f2 * Fixed bug in copywin which was copying more than it should.
* Changed call to wrefresh in wgetch to be before input read.
* Changed default old cursor mode to be high vis in curs_set
* Added documentation for various new functions to fns.doc.
2000-04-23 14:14:49 +00:00
thorpej
6600b61c73 Fully initialize the structure allocated in new_keymap(). 2000-04-22 21:14:19 +00:00
blymn
5cd0c74b1f * Added ungetch
* Converted inkey and getch to use getchar instead of read so ungetch
  will work.
2000-04-22 14:32:44 +00:00
jdc
91b2edc9db Make sure we don't read a negative character value (again). 2000-04-18 21:44:48 +00:00
blymn
ec6e2540fe Multiple fixes:
* Added Bill's fixes for errors when compiling with WARNS=1
* Incorporated fixes to make usage of unctrl consistent in debug and
  made improvements to ctrace - it now timestamps it's output better.
* Reduced the number of mallocs done by __init_getch by allocating key
  structs in bunches instead of singly.
* Removed the shadowing of global declarations in newwin and subwin
  functions
2000-04-17 12:25:45 +00:00
jdc
79c6a0c665 Add a missing __restore_termios() in an error return.
Don't display the character on curscr if the terminal has echo on :
  - doing so will break the tracking of curscr->cury|x if we've just refreshed
  a non-fullscreen window
  - with echo on, the terminal displays the character for us anyway
2000-04-15 22:59:05 +00:00
blymn
aaf74682b9 Added functions to replace what were previously macros in curses.h
(this is a requirement of SUSv2) - the old macro behaviour can be
restored by defining _CURSES_USE_MACROS.
Changed function prototypes to use ANSI style.
All externally visible functions now have ANSI style declarations.
2000-04-15 13:17:02 +00:00
jdc
1aa45522c2 Make sure we don't read a negative character value. 2000-04-12 21:34:24 +00:00
blymn
23464ee534 Made data structures opaque 2000-04-11 13:57:08 +00:00
simonb
6ae0eb50e6 Only unctrl() the first 256 input values.
This and the previous curses patches were from Brett Lymn.
1999-12-07 03:53:11 +00:00
simonb
e07c905939 Get rid of the evil trailing spaces and tabs. 1999-06-28 13:32:43 +00:00
simonb
56351da429 Make a few private variables and functions static. 1999-06-15 04:50:28 +00:00
pk
6c4ae8ffb4 Re-arrange some code to approach our regular style. 1999-06-06 21:05:03 +00:00
pk
d467771b45 Hang on to the termcap buffer that we have tgetent() fill.
(someone ows me two hours worth of beer for this... :-)
1999-06-06 20:43:00 +00:00
mrg
586d4ce109 Upgrades the standard NetBSD curses library to provide some
of the SYSV curses facilities.  The added features are the collapsing
of arrow and function keysequences (as defined by termcap for the
terminal) into symbolic code returns thus relieving the application of
recognising multi-character key sequences.  Other features are the
capability to perform a timed wait for a key (good for when you are
not sure if there is a keypress ready or not) and the capability for
turning off the inter-key timeout when assembling multi-character
function keys.

this work was done by Julian Coleman <J.D.Coleman@newcastle.ac.uk>
and blymn@baea.com.au (Brett Lymn).  i'm just integrating it.  thanks
HEAPS guys!
1999-04-13 14:08:17 +00:00