Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
5c2c7893
Commit
5c2c7893
authored
Feb 04, 1992
by
Jim Blandy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
*** empty log message ***
parent
8f3e0167
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
60 additions
and
0 deletions
+60
-0
src/term.c
src/term.c
+60
-0
No files found.
src/term.c
View file @
5c2c7893
...
...
@@ -29,6 +29,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "screen.h"
#include "disptab.h"
#include "termhooks.h"
#include "keyboard.h"
#define max(a, b) ((a) > (b) ? (a) : (b))
#define min(a, b) ((a) < (b) ? (a) : (b))
...
...
@@ -1061,6 +1062,63 @@ calculate_costs (screen)
cmcostinit
();
/* set up cursor motion costs */
}
/* Find the escape codes sent by the function keys for Vfunction_key_map.
This function scans the termcap function key sequence entries, and
adds entries to Vfunction_key_map for each function key it finds. */
void
term_get_fkeys
(
address
)
char
**
address
;
{
extern
char
*
tgetstr
();
struct
fkey_table
{
char
*
cap
,
*
name
;
};
static
struct
fkey_table
keys
[]
=
{
"kl"
,
"left"
,
"kr"
,
"right"
,
"ku"
,
"up"
,
"kd"
,
"down"
,
"kh"
,
"home"
,
"k1"
,
"f1"
,
"k2"
,
"f2"
,
"k3"
,
"f3"
,
"k4"
,
"f4"
,
"k5"
,
"f5"
,
"k6"
,
"f6"
,
"k7"
,
"f7"
,
"k8"
,
"f8"
,
"k9"
,
"f9"
,
"k0"
,
"f10"
,
"kH"
,
"home-down"
,
"ka"
,
"clear-tabs"
,
"kt"
,
"clear-tab"
,
"kT"
,
"set-tab"
,
"kC"
,
"clear"
,
"kL"
,
"deleteline"
,
"kM"
,
"exit-insert"
,
"kE"
,
"clear-eol"
,
"kS"
,
"clear-eos"
,
"kI"
,
"insert"
,
"kA"
,
"insertline"
,
"kN"
,
"next"
,
"kP"
,
"prior"
,
"kF"
,
"scroll-forward"
,
"kR"
,
"scroll-reverse"
};
int
i
;
for
(
i
=
0
;
i
<
(
sizeof
(
keys
)
/
sizeof
(
keys
[
0
]));
i
++
)
{
char
*
sequence
=
tgetstr
(
keys
[
i
].
cap
,
address
);
if
(
sequence
)
Fdefine_key
(
Vfunction_key_map
,
build_string
(
sequence
),
Fmake_vector
(
make_number
(
1
),
intern
(
keys
[
i
].
name
)));
}
}
term_init
(
terminal_type
)
char
*
terminal_type
;
...
...
@@ -1165,6 +1223,8 @@ term_init (terminal_type)
TF_xs
=
tgetflag
(
"xs"
);
TF_teleray
=
tgetflag
(
"xt"
);
term_get_fkeys
(
address
);
/* Get screen size from system, or else from termcap. */
get_screen_size
(
&
SCREEN_WIDTH
(
selected_screen
),
&
SCREEN_HEIGHT
(
selected_screen
));
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment