@ -5,7 +5,7 @@
*
*
* font : see http : //freedesktop.org/software/fontconfig/fontconfig-user.html
* font : see http : //freedesktop.org/software/fontconfig/fontconfig-user.html
*/
*/
static char font [ ] = " mono:pixelsize=14 :antialias=true:autohint=true" ;
static char * font = " Liberation Mono:pixelsize=12 :antialias=true:autohint=true" ;
static int borderpx = 2 ;
static int borderpx = 2 ;
/*
/*
@ -16,12 +16,12 @@ static int borderpx = 2;
* 4 : value of shell in / etc / passwd
* 4 : value of shell in / etc / passwd
* 5 : value of shell in config . h
* 5 : value of shell in config . h
*/
*/
static char shell [ ] = " /bin/sh " ;
static char * shell = " /bin/sh " ;
static char * utmp = NULL ;
char * utmp = NULL ;
static char stty_args [ ] = " stty raw pass8 nl -echo -iexten -cstopb 38400 " ;
char * stty_args = " stty raw pass8 nl -echo -iexten -cstopb 38400 " ;
/* identification sequence returned in DA and DECID */
/* identification sequence returned in DA and DECID */
static char vtiden [ ] = " \033 [?6c " ;
char * vtiden = " \033 [?6c " ;
/* Kerning / character bounding-box multipliers */
/* Kerning / character bounding-box multipliers */
static float cwscale = 1.0 ;
static float cwscale = 1.0 ;
@ -32,14 +32,14 @@ static float chscale = 1.0;
*
*
* More advanced example : " `' \" ()[]{} "
* More advanced example : " `' \" ()[]{} "
*/
*/
static char worddelimiters [ ] = " " ;
char * worddelimiters = " " ;
/* selection timeouts (in milliseconds) */
/* selection timeouts (in milliseconds) */
static unsigned int doubleclicktimeout = 300 ;
static unsigned int doubleclicktimeout = 300 ;
static unsigned int tripleclicktimeout = 600 ;
static unsigned int tripleclicktimeout = 600 ;
/* alt screens */
/* alt screens */
static int allowaltscreen = 1 ;
int allowaltscreen = 1 ;
/* frames per second st should at maximum draw to the screen */
/* frames per second st should at maximum draw to the screen */
static unsigned int xfps = 120 ;
static unsigned int xfps = 120 ;
@ -63,7 +63,7 @@ static unsigned int cursorthickness = 2;
static int bellvolume = 0 ;
static int bellvolume = 0 ;
/* default TERM value */
/* default TERM value */
static char termname [ ] = " st-256color " ;
char * termname = " st-256color " ;
/*
/*
* spaces per tab
* spaces per tab
@ -80,63 +80,49 @@ static char termname[] = "st-256color";
*
*
* stty tabs
* stty tabs
*/
*/
static unsigned int tabspaces = 8 ;
unsigned int tabspaces = 8 ;
/* bg opacity */
/* bg opacity */
static const int alpha = 0xd d;
unsigned int alpha = 0xc d;
/* Terminal colors (16 first used in escape sequence) */
/* Terminal colors (16 first used in escape sequence) */
static const char * colorname [ ] = {
static const char * colorname [ ] = {
/* solarized dark */
/* 8 normal colors */
" #073642 " , /* 0: black */
" #dc322f " , /* 1: red */
" #859900 " , /* 2: green */
" #b58900 " , /* 3: yellow */
" #268bd2 " , /* 4: blue */
" #d33682 " , /* 5: magenta */
" #2aa198 " , /* 6: cyan */
" #eee8d5 " , /* 7: white */
" #002b36 " , /* 8: brblack */
" #cb4b16 " , /* 9: brred */
" #586e75 " , /* 10: brgreen */
" #657b83 " , /* 11: bryellow */
" #839496 " , /* 12: brblue */
" #6c71c4 " , /* 13: brmagenta*/
" #93a1a1 " , /* 14: brcyan */
" #fdf6e3 " , /* 15: brwhite */
" black " ,
" black " ,
" red3 " ,
" green3 " ,
" yellow3 " ,
" blue2 " ,
" magenta3 " ,
" cyan3 " ,
" gray90 " ,
/* 8 bright colors */
" gray50 " ,
" red " ,
" green " ,
" yellow " ,
" #5c5cff " ,
" magenta " ,
" cyan " ,
" white " ,
[ 255 ] = 0 ,
/* more colors can be added after 255 to use with DefaultXX */
" #cccccc " ,
" #555555 " ,
} ;
} ;
/* Terminal colors for alternate (light) palette */
static const char * altcolorname [ ] = {
/* solarized light */
" #eee8d5 " , /* 0: black */
" #dc322f " , /* 1: red */
" #859900 " , /* 2: green */
" #b58900 " , /* 3: yellow */
" #268bd2 " , /* 4: blue */
" #d33682 " , /* 5: magenta */
" #2aa198 " , /* 6: cyan */
" #073642 " , /* 7: white */
" #fdf6e3 " , /* 8: brblack */
" #cb4b16 " , /* 9: brred */
" #93a1a1 " , /* 10: brgreen */
" #839496 " , /* 11: bryellow */
" #657b83 " , /* 12: brblue */
" #6c71c4 " , /* 13: brmagenta*/
" #586e75 " , /* 14: brcyan */
" #002b36 " , /* 15: brwhite */
" black " ,
} ;
/*
/*
* Default colors ( colorname index )
* Default colors ( colorname index )
* foreground , background , cursor , reverse cursor
* foreground , background , cursor , reverse cursor
*/
*/
static unsigned int defaultfg = 12 ;
unsigned int defaultfg = 7 ;
static unsigned int defaultbg = 257 ;
unsigned int defaultbg = 0 ;
static unsigned int defaultcs = 14 ;
static unsigned int defaultcs = 256 ;
static unsigned int defaultrcs = 15 ;
static unsigned int defaultrcs = 257 ;
/*
/*
* Default shape of cursor
* Default shape of cursor
@ -177,7 +163,7 @@ static MouseShortcut mshortcuts[] = {
{ Button5 , XK_NO_MOD , " \005 " } ,
{ Button5 , XK_NO_MOD , " \005 " } ,
} ;
} ;
static MouseKey mkeys [ ] = {
MouseKey mkeys [ ] = {
/* button mask function argument */
/* button mask function argument */
{ Button4 , ShiftMask , kscrollup , { . i = 1 } } ,
{ Button4 , ShiftMask , kscrollup , { . i = 1 } } ,
{ Button5 , ShiftMask , kscrolldown , { . i = 1 } } ,
{ Button5 , ShiftMask , kscrolldown , { . i = 1 } } ,
@ -185,6 +171,7 @@ static MouseKey mkeys[] = {
/* Internal keyboard shortcuts. */
/* Internal keyboard shortcuts. */
# define MODKEY Mod1Mask
# define MODKEY Mod1Mask
# define TERMMOD (ControlMask|ShiftMask)
static Shortcut shortcuts [ ] = {
static Shortcut shortcuts [ ] = {
/* mask keysym function argument */
/* mask keysym function argument */
@ -192,22 +179,16 @@ static Shortcut shortcuts[] = {
{ ControlMask , XK_Print , toggleprinter , { . i = 0 } } ,
{ ControlMask , XK_Print , toggleprinter , { . i = 0 } } ,
{ ShiftMask , XK_Print , printscreen , { . i = 0 } } ,
{ ShiftMask , XK_Print , printscreen , { . i = 0 } } ,
{ XK_ANY_MOD , XK_Print , printsel , { . i = 0 } } ,
{ XK_ANY_MOD , XK_Print , printsel , { . i = 0 } } ,
{ MODKEY | ShiftMask , XK_Prior , xzoom , { . f = + 1 } } ,
{ TERMMOD , XK_Prior , zoom , { . f = + 1 } } ,
{ MODKEY | ShiftMask , XK_Next , xzoom , { . f = - 1 } } ,
{ TERMMOD , XK_Next , zoom , { . f = - 1 } } ,
{ MODKEY | ShiftMask , XK_Home , xzoomreset , { . f = 0 } } ,
{ TERMMOD , XK_Home , zoomreset , { . f = 0 } } ,
{ ShiftMask , XK_Insert , selpaste , { . i = 0 } } ,
{ TERMMOD , XK_C , clipcopy , { . i = 0 } } ,
{ MODKEY | ShiftMask , XK_Insert , clippaste , { . i = 0 } } ,
{ TERMMOD , XK_V , clippaste , { . i = 0 } } ,
{ MODKEY | ShiftMask , XK_C , clipcopy , { . i = 0 } } ,
{ TERMMOD , XK_Y , selpaste , { . i = 0 } } ,
{ MODKEY | ShiftMask , XK_V , clippaste , { . i = 0 } } ,
{ TERMMOD , XK_Num_Lock , numlock , { . i = 0 } } ,
{ MODKEY , XK_Num_Lock , numlock , { . i = 0 } } ,
{ TERMMOD , XK_I , iso14755 , { . i = 0 } } ,
{ MODKEY , XK_Control_L , iso14755 , { . i = 0 } } ,
{ MODKEY , XK_Tab , swapcolors , { . i = 0 } } ,
{ ShiftMask , XK_Page_Up , kscrollup , { . i = - 1 } } ,
{ ShiftMask , XK_Page_Up , kscrollup , { . i = - 1 } } ,
{ ShiftMask , XK_Page_Down , kscrolldown , { . i = - 1 } } ,
{ ShiftMask , XK_Page_Down , kscrolldown , { . i = - 1 } } ,
{ MODKEY , XK_k , kscrollup , { . i = 1 } } ,
{ MODKEY , XK_j , kscrolldown , { . i = 1 } } ,
{ MODKEY , XK_u , kscrollup , { . i = - 1 } } ,
{ MODKEY , XK_d , kscrolldown , { . i = - 1 } } ,
} ;
} ;
/*
/*
@ -259,219 +240,216 @@ static uint forceselmod = ShiftMask;
* world . Please decide about changes wisely .
* world . Please decide about changes wisely .
*/
*/
static Key key [ ] = {
static Key key [ ] = {
/* keysym mask string appkey appcursor crlf */
/* keysym mask string appkey appcursor */
{ XK_KP_Home , ShiftMask , " \033 [2J " , 0 , - 1 , 0 } ,
{ XK_KP_Home , ShiftMask , " \033 [2J " , 0 , - 1 } ,
{ XK_KP_Home , ShiftMask , " \033 [1;2H " , 0 , + 1 , 0 } ,
{ XK_KP_Home , ShiftMask , " \033 [1;2H " , 0 , + 1 } ,
{ XK_KP_Home , XK_ANY_MOD , " \033 [H " , 0 , - 1 , 0 } ,
{ XK_KP_Home , XK_ANY_MOD , " \033 [H " , 0 , - 1 } ,
{ XK_KP_Home , XK_ANY_MOD , " \033 [1~ " , 0 , + 1 , 0 } ,
{ XK_KP_Home , XK_ANY_MOD , " \033 [1~ " , 0 , + 1 } ,
{ XK_KP_Up , XK_ANY_MOD , " \033 Ox " , + 1 , 0 , 0 } ,
{ XK_KP_Up , XK_ANY_MOD , " \033 Ox " , + 1 , 0 } ,
{ XK_KP_Up , XK_ANY_MOD , " \033 [A " , 0 , - 1 , 0 } ,
{ XK_KP_Up , XK_ANY_MOD , " \033 [A " , 0 , - 1 } ,
{ XK_KP_Up , XK_ANY_MOD , " \033 OA " , 0 , + 1 , 0 } ,
{ XK_KP_Up , XK_ANY_MOD , " \033 OA " , 0 , + 1 } ,
{ XK_KP_Down , XK_ANY_MOD , " \033 Or " , + 1 , 0 , 0 } ,
{ XK_KP_Down , XK_ANY_MOD , " \033 Or " , + 1 , 0 } ,
{ XK_KP_Down , XK_ANY_MOD , " \033 [B " , 0 , - 1 , 0 } ,
{ XK_KP_Down , XK_ANY_MOD , " \033 [B " , 0 , - 1 } ,
{ XK_KP_Down , XK_ANY_MOD , " \033 OB " , 0 , + 1 , 0 } ,
{ XK_KP_Down , XK_ANY_MOD , " \033 OB " , 0 , + 1 } ,
{ XK_KP_Left , XK_ANY_MOD , " \033 Ot " , + 1 , 0 , 0 } ,
{ XK_KP_Left , XK_ANY_MOD , " \033 Ot " , + 1 , 0 } ,
{ XK_KP_Left , XK_ANY_MOD , " \033 [D " , 0 , - 1 , 0 } ,
{ XK_KP_Left , XK_ANY_MOD , " \033 [D " , 0 , - 1 } ,
{ XK_KP_Left , XK_ANY_MOD , " \033 OD " , 0 , + 1 , 0 } ,
{ XK_KP_Left , XK_ANY_MOD , " \033 OD " , 0 , + 1 } ,
{ XK_KP_Right , XK_ANY_MOD , " \033 Ov " , + 1 , 0 , 0 } ,
{ XK_KP_Right , XK_ANY_MOD , " \033 Ov " , + 1 , 0 } ,
{ XK_KP_Right , XK_ANY_MOD , " \033 [C " , 0 , - 1 , 0 } ,
{ XK_KP_Right , XK_ANY_MOD , " \033 [C " , 0 , - 1 } ,
{ XK_KP_Right , XK_ANY_MOD , " \033 OC " , 0 , + 1 , 0 } ,
{ XK_KP_Right , XK_ANY_MOD , " \033 OC " , 0 , + 1 } ,
{ XK_KP_Prior , ShiftMask , " \033 [5;2~ " , 0 , 0 , 0 } ,
{ XK_KP_Prior , ShiftMask , " \033 [5;2~ " , 0 , 0 } ,
{ XK_KP_Prior , XK_ANY_MOD , " \033 [5~ " , 0 , 0 , 0 } ,
{ XK_KP_Prior , XK_ANY_MOD , " \033 [5~ " , 0 , 0 } ,
{ XK_KP_Begin , XK_ANY_MOD , " \033 [E " , 0 , 0 , 0 } ,
{ XK_KP_Begin , XK_ANY_MOD , " \033 [E " , 0 , 0 } ,
{ XK_KP_End , ControlMask , " \033 [J " , - 1 , 0 , 0 } ,
{ XK_KP_End , ControlMask , " \033 [J " , - 1 , 0 } ,
{ XK_KP_End , ControlMask , " \033 [1;5F " , + 1 , 0 , 0 } ,
{ XK_KP_End , ControlMask , " \033 [1;5F " , + 1 , 0 } ,
{ XK_KP_End , ShiftMask , " \033 [K " , - 1 , 0 , 0 } ,
{ XK_KP_End , ShiftMask , " \033 [K " , - 1 , 0 } ,
{ XK_KP_End , ShiftMask , " \033 [1;2F " , + 1 , 0 , 0 } ,
{ XK_KP_End , ShiftMask , " \033 [1;2F " , + 1 , 0 } ,
{ XK_KP_End , XK_ANY_MOD , " \033 [4~ " , 0 , 0 , 0 } ,
{ XK_KP_End , XK_ANY_MOD , " \033 [4~ " , 0 , 0 } ,
{ XK_KP_Next , ShiftMask , " \033 [6;2~ " , 0 , 0 , 0 } ,
{ XK_KP_Next , ShiftMask , " \033 [6;2~ " , 0 , 0 } ,
{ XK_KP_Next , XK_ANY_MOD , " \033 [6~ " , 0 , 0 , 0 } ,
{ XK_KP_Next , XK_ANY_MOD , " \033 [6~ " , 0 , 0 } ,
{ XK_KP_Insert , ShiftMask , " \033 [2;2~ " , + 1 , 0 , 0 } ,
{ XK_KP_Insert , ShiftMask , " \033 [2;2~ " , + 1 , 0 } ,
{ XK_KP_Insert , ShiftMask , " \033 [4l " , - 1 , 0 , 0 } ,
{ XK_KP_Insert , ShiftMask , " \033 [4l " , - 1 , 0 } ,
{ XK_KP_Insert , ControlMask , " \033 [L " , - 1 , 0 , 0 } ,
{ XK_KP_Insert , ControlMask , " \033 [L " , - 1 , 0 } ,
{ XK_KP_Insert , ControlMask , " \033 [2;5~ " , + 1 , 0 , 0 } ,
{ XK_KP_Insert , ControlMask , " \033 [2;5~ " , + 1 , 0 } ,
{ XK_KP_Insert , XK_ANY_MOD , " \033 [4h " , - 1 , 0 , 0 } ,
{ XK_KP_Insert , XK_ANY_MOD , " \033 [4h " , - 1 , 0 } ,
{ XK_KP_Insert , XK_ANY_MOD , " \033 [2~ " , + 1 , 0 , 0 } ,
{ XK_KP_Insert , XK_ANY_MOD , " \033 [2~ " , + 1 , 0 } ,
{ XK_KP_Delete , ControlMask , " \033 [M " , - 1 , 0 , 0 } ,
{ XK_KP_Delete , ControlMask , " \033 [M " , - 1 , 0 } ,
{ XK_KP_Delete , ControlMask , " \033 [3;5~ " , + 1 , 0 , 0 } ,
{ XK_KP_Delete , ControlMask , " \033 [3;5~ " , + 1 , 0 } ,
{ XK_KP_Delete , ShiftMask , " \033 [2K " , - 1 , 0 , 0 } ,
{ XK_KP_Delete , ShiftMask , " \033 [2K " , - 1 , 0 } ,
{ XK_KP_Delete , ShiftMask , " \033 [3;2~ " , + 1 , 0 , 0 } ,
{ XK_KP_Delete , ShiftMask , " \033 [3;2~ " , + 1 , 0 } ,
{ XK_KP_Delete , XK_ANY_MOD , " \033 [P " , - 1 , 0 , 0 } ,
{ XK_KP_Delete , XK_ANY_MOD , " \033 [P " , - 1 , 0 } ,
{ XK_KP_Delete , XK_ANY_MOD , " \033 [3~ " , + 1 , 0 , 0 } ,
{ XK_KP_Delete , XK_ANY_MOD , " \033 [3~ " , + 1 , 0 } ,
{ XK_KP_Multiply , XK_ANY_MOD , " \033 Oj " , + 2 , 0 , 0 } ,
{ XK_KP_Multiply , XK_ANY_MOD , " \033 Oj " , + 2 , 0 } ,
{ XK_KP_Add , XK_ANY_MOD , " \033 Ok " , + 2 , 0 , 0 } ,
{ XK_KP_Add , XK_ANY_MOD , " \033 Ok " , + 2 , 0 } ,
{ XK_KP_Enter , XK_ANY_MOD , " \033 OM " , + 2 , 0 , 0 } ,
{ XK_KP_Enter , XK_ANY_MOD , " \033 OM " , + 2 , 0 } ,
{ XK_KP_Enter , XK_ANY_MOD , " \r " , - 1 , 0 , - 1 } ,
{ XK_KP_Enter , XK_ANY_MOD , " \r " , - 1 , 0 } ,
{ XK_KP_Enter , XK_ANY_MOD , " \r \n " , - 1 , 0 , + 1 } ,
{ XK_KP_Subtract , XK_ANY_MOD , " \033 Om " , + 2 , 0 } ,
{ XK_KP_Subtract , XK_ANY_MOD , " \033 Om " , + 2 , 0 , 0 } ,
{ XK_KP_Decimal , XK_ANY_MOD , " \033 On " , + 2 , 0 } ,
{ XK_KP_Decimal , XK_ANY_MOD , " \033 On " , + 2 , 0 , 0 } ,
{ XK_KP_Divide , XK_ANY_MOD , " \033 Oo " , + 2 , 0 } ,
{ XK_KP_Divide , XK_ANY_MOD , " \033 Oo " , + 2 , 0 , 0 } ,
{ XK_KP_0 , XK_ANY_MOD , " \033 Op " , + 2 , 0 } ,
{ XK_KP_0 , XK_ANY_MOD , " \033 Op " , + 2 , 0 , 0 } ,
{ XK_KP_1 , XK_ANY_MOD , " \033 Oq " , + 2 , 0 } ,
{ XK_KP_1 , XK_ANY_MOD , " \033 Oq " , + 2 , 0 , 0 } ,
{ XK_KP_2 , XK_ANY_MOD , " \033 Or " , + 2 , 0 } ,
{ XK_KP_2 , XK_ANY_MOD , " \033 Or " , + 2 , 0 , 0 } ,
{ XK_KP_3 , XK_ANY_MOD , " \033 Os " , + 2 , 0 } ,
{ XK_KP_3 , XK_ANY_MOD , " \033 Os " , + 2 , 0 , 0 } ,
{ XK_KP_4 , XK_ANY_MOD , " \033 Ot " , + 2 , 0 } ,
{ XK_KP_4 , XK_ANY_MOD , " \033 Ot " , + 2 , 0 , 0 } ,
{ XK_KP_5 , XK_ANY_MOD , " \033 Ou " , + 2 , 0 } ,
{ XK_KP_5 , XK_ANY_MOD , " \033 Ou " , + 2 , 0 , 0 } ,
{ XK_KP_6 , XK_ANY_MOD , " \033 Ov " , + 2 , 0 } ,
{ XK_KP_6 , XK_ANY_MOD , " \033 Ov " , + 2 , 0 , 0 } ,
{ XK_KP_7 , XK_ANY_MOD , " \033 Ow " , + 2 , 0 } ,
{ XK_KP_7 , XK_ANY_MOD , " \033 Ow " , + 2 , 0 , 0 } ,
{ XK_KP_8 , XK_ANY_MOD , " \033 Ox " , + 2 , 0 } ,
{ XK_KP_8 , XK_ANY_MOD , " \033 Ox " , + 2 , 0 , 0 } ,
{ XK_KP_9 , XK_ANY_MOD , " \033 Oy " , + 2 , 0 } ,
{ XK_KP_9 , XK_ANY_MOD , " \033 Oy " , + 2 , 0 , 0 } ,
{ XK_Up , ShiftMask , " \033 [1;2A " , 0 , 0 } ,
{ XK_Up , ShiftMask , " \033 [1;2A " , 0 , 0 , 0 } ,
{ XK_Up , Mod1Mask , " \033 [1;3A " , 0 , 0 } ,
{ XK_Up , Mod1Mask , " \033 [1;3A " , 0 , 0 , 0 } ,
{ XK_Up , ShiftMask | Mod1Mask , " \033 [1;4A " , 0 , 0 } ,
{ XK_Up , ShiftMask | Mod1Mask , " \033 [1;4A " , 0 , 0 , 0 } ,
{ XK_Up , ControlMask , " \033 [1;5A " , 0 , 0 } ,
{ XK_Up , ControlMask , " \033 [1;5A " , 0 , 0 , 0 } ,
{ XK_Up , ShiftMask | ControlMask , " \033 [1;6A " , 0 , 0 } ,
{ XK_Up , ShiftMask | ControlMask , " \033 [1;6A " , 0 , 0 , 0 } ,
{ XK_Up , ControlMask | Mod1Mask , " \033 [1;7A " , 0 , 0 } ,
{ XK_Up , ControlMask | Mod1Mask , " \033 [1;7A " , 0 , 0 , 0 } ,
{ XK_Up , ShiftMask | ControlMask | Mod1Mask , " \033 [1;8A " , 0 , 0 } ,
{ XK_Up , ShiftMask | ControlMask | Mod1Mask , " \033 [1;8A " , 0 , 0 , 0 } ,
{ XK_Up , XK_ANY_MOD , " \033 [A " , 0 , - 1 } ,
{ XK_Up , XK_ANY_MOD , " \033 [A " , 0 , - 1 , 0 } ,
{ XK_Up , XK_ANY_MOD , " \033 OA " , 0 , + 1 } ,
{ XK_Up , XK_ANY_MOD , " \033 OA " , 0 , + 1 , 0 } ,
{ XK_Down , ShiftMask , " \033 [1;2B " , 0 , 0 } ,
{ XK_Down , ShiftMask , " \033 [1;2B " , 0 , 0 , 0 } ,
{ XK_Down , Mod1Mask , " \033 [1;3B " , 0 , 0 } ,
{ XK_Down , Mod1Mask , " \033 [1;3B " , 0 , 0 , 0 } ,
{ XK_Down , ShiftMask | Mod1Mask , " \033 [1;4B " , 0 , 0 } ,
{ XK_Down , ShiftMask | Mod1Mask , " \033 [1;4B " , 0 , 0 , 0 } ,
{ XK_Down , ControlMask , " \033 [1;5B " , 0 , 0 } ,
{ XK_Down , ControlMask , " \033 [1;5B " , 0 , 0 , 0 } ,
{ XK_Down , ShiftMask | ControlMask , " \033 [1;6B " , 0 , 0 } ,
{ XK_Down , ShiftMask | ControlMask , " \033 [1;6B " , 0 , 0 , 0 } ,
{ XK_Down , ControlMask | Mod1Mask , " \033 [1;7B " , 0 , 0 } ,
{ XK_Down , ControlMask | Mod1Mask , " \033 [1;7B " , 0 , 0 , 0 } ,
{ XK_Down , ShiftMask | ControlMask | Mod1Mask , " \033 [1;8B " , 0 , 0 } ,
{ XK_Down , ShiftMask | ControlMask | Mod1Mask , " \033 [1;8B " , 0 , 0 , 0 } ,
{ XK_Down , XK_ANY_MOD , " \033 [B " , 0 , - 1 } ,
{ XK_Down , XK_ANY_MOD , " \033 [B " , 0 , - 1 , 0 } ,
{ XK_Down , XK_ANY_MOD , " \033 OB " , 0 , + 1 } ,
{ XK_Down , XK_ANY_MOD , " \033 OB " , 0 , + 1 , 0 } ,
{ XK_Left , ShiftMask , " \033 [1;2D " , 0 , 0 } ,
{ XK_Left , ShiftMask , " \033 [1;2D " , 0 , 0 , 0 } ,
{ XK_Left , Mod1Mask , " \033 [1;3D " , 0 , 0 } ,
{ XK_Left , Mod1Mask , " \033 [1;3D " , 0 , 0 , 0 } ,
{ XK_Left , ShiftMask | Mod1Mask , " \033 [1;4D " , 0 , 0 } ,
{ XK_Left , ShiftMask | Mod1Mask , " \033 [1;4D " , 0 , 0 , 0 } ,
{ XK_Left , ControlMask , " \033 [1;5D " , 0 , 0 } ,
{ XK_Left , ControlMask , " \033 [1;5D " , 0 , 0 , 0 } ,
{ XK_Left , ShiftMask | ControlMask , " \033 [1;6D " , 0 , 0 } ,
{ XK_Left , ShiftMask | ControlMask , " \033 [1;6D " , 0 , 0 , 0 } ,
{ XK_Left , ControlMask | Mod1Mask , " \033 [1;7D " , 0 , 0 } ,
{ XK_Left , ControlMask | Mod1Mask , " \033 [1;7D " , 0 , 0 , 0 } ,
{ XK_Left , ShiftMask | ControlMask | Mod1Mask , " \033 [1;8D " , 0 , 0 } ,
{ XK_Left , ShiftMask | ControlMask | Mod1Mask , " \033 [1;8D " , 0 , 0 , 0 } ,
{ XK_Left , XK_ANY_MOD , " \033 [D " , 0 , - 1 } ,
{ XK_Left , XK_ANY_MOD , " \033 [D " , 0 , - 1 , 0 } ,
{ XK_Left , XK_ANY_MOD , " \033 OD " , 0 , + 1 } ,
{ XK_Left , XK_ANY_MOD , " \033 OD " , 0 , + 1 , 0 } ,
{ XK_Right , ShiftMask , " \033 [1;2C " , 0 , 0 } ,
{ XK_Right , ShiftMask , " \033 [1;2C " , 0 , 0 , 0 } ,
{ XK_Right , Mod1Mask , " \033 [1;3C " , 0 , 0 } ,
{ XK_Right , Mod1Mask , " \033 [1;3C " , 0 , 0 , 0 } ,
{ XK_Right , ShiftMask | Mod1Mask , " \033 [1;4C " , 0 , 0 } ,
{ XK_Right , ShiftMask | Mod1Mask , " \033 [1;4C " , 0 , 0 , 0 } ,
{ XK_Right , ControlMask , " \033 [1;5C " , 0 , 0 } ,
{ XK_Right , ControlMask , " \033 [1;5C " , 0 , 0 , 0 } ,
{ XK_Right , ShiftMask | ControlMask , " \033 [1;6C " , 0 , 0 } ,
{ XK_Right , ShiftMask | ControlMask , " \033 [1;6C " , 0 , 0 , 0 } ,
{ XK_Right , ControlMask | Mod1Mask , " \033 [1;7C " , 0 , 0 } ,
{ XK_Right , ControlMask | Mod1Mask , " \033 [1;7C " , 0 , 0 , 0 } ,
{ XK_Right , ShiftMask | ControlMask | Mod1Mask , " \033 [1;8C " , 0 , 0 } ,
{ XK_Right , ShiftMask | ControlMask | Mod1Mask , " \033 [1;8C " , 0 , 0 , 0 } ,
{ XK_Right , XK_ANY_MOD , " \033 [C " , 0 , - 1 } ,
{ XK_Right , XK_ANY_MOD , " \033 [C " , 0 , - 1 , 0 } ,
{ XK_Right , XK_ANY_MOD , " \033 OC " , 0 , + 1 } ,
{ XK_Right , XK_ANY_MOD , " \033 OC " , 0 , + 1 , 0 } ,
{ XK_ISO_Left_Tab , ShiftMask , " \033 [Z " , 0 , 0 } ,
{ XK_ISO_Left_Tab , ShiftMask , " \033 [Z " , 0 , 0 , 0 } ,
{ XK_Return , Mod1Mask , " \033 \r " , 0 , 0 } ,
{ XK_Return , Mod1Mask , " \033 \r " , 0 , 0 , - 1 } ,
{ XK_Return , XK_ANY_MOD , " \r " , 0 , 0 } ,
{ XK_Return , Mod1Mask , " \033 \r \n " , 0 , 0 , + 1 } ,
{ XK_Insert , ShiftMask , " \033 [4l " , - 1 , 0 } ,
{ XK_Return , XK_ANY_MOD , " \r " , 0 , 0 , - 1 } ,
{ XK_Insert , ShiftMask , " \033 [2;2~ " , + 1 , 0 } ,
{ XK_Return , XK_ANY_MOD , " \r \n " , 0 , 0 , + 1 } ,
{ XK_Insert , ControlMask , " \033 [L " , - 1 , 0 } ,
{ XK_Insert , ShiftMask , " \033 [4l " , - 1 , 0 , 0 } ,
{ XK_Insert , ControlMask , " \033 [2;5~ " , + 1 , 0 } ,
{ XK_Insert , ShiftMask , " \033 [2;2~ " , + 1 , 0 , 0 } ,
{ XK_Insert , XK_ANY_MOD , " \033 [4h " , - 1 , 0 } ,
{ XK_Insert , ControlMask , " \033 [L " , - 1 , 0 , 0 } ,
{ XK_Insert , XK_ANY_MOD , " \033 [2~ " , + 1 , 0 } ,
{ XK_Insert , ControlMask , " \033 [2;5~ " , + 1 , 0 , 0 } ,
{ XK_Delete , ControlMask , " \033 [M " , - 1 , 0 } ,
{ XK_Insert , XK_ANY_MOD , " \033 [4h " , - 1 , 0 , 0 } ,
{ XK_Delete , ControlMask , " \033 [3;5~ " , + 1 , 0 } ,
{ XK_Insert , XK_ANY_MOD , " \033 [2~ " , + 1 , 0 , 0 } ,
{ XK_Delete , ShiftMask , " \033 [2K " , - 1 , 0 } ,
{ XK_Delete , ControlMask , " \033 [M " , - 1 , 0 , 0 } ,
{ XK_Delete , ShiftMask , " \033 [3;2~ " , + 1 , 0 } ,
{ XK_Delete , ControlMask , " \033 [3;5~ " , + 1 , 0 , 0 } ,
{ XK_Delete , XK_ANY_MOD , " \033 [P " , - 1 , 0 } ,
{ XK_Delete , ShiftMask , " \033 [2K " , - 1 , 0 , 0 } ,
{ XK_Delete , XK_ANY_MOD , " \033 [3~ " , + 1 , 0 } ,
{ XK_Delete , ShiftMask , " \033 [3;2~ " , + 1 , 0 , 0 } ,
{ XK_BackSpace , XK_NO_MOD , " \177 " , 0 , 0 } ,
{ XK_Delete , XK_ANY_MOD , " \033 [P " , - 1 , 0 , 0 } ,
{ XK_BackSpace , Mod1Mask , " \033 \177 " , 0 , 0 } ,
{ XK_Delete , XK_ANY_MOD , " \033 [3~ " , + 1 , 0 , 0 } ,
{ XK_Home , ShiftMask , " \033 [2J " , 0 , - 1 } ,
{ XK_BackSpace , XK_NO_MOD , " \177 " , 0 , 0 , 0 } ,
{ XK_Home , ShiftMask , " \033 [1;2H " , 0 , + 1 } ,
{ XK_BackSpace , Mod1Mask , " \033 \177 " , 0 , 0 , 0 } ,
{ XK_Home , XK_ANY_MOD , " \033 [H " , 0 , - 1 } ,
{ XK_Home , ShiftMask , " \033 [2J " , 0 , - 1 , 0 } ,
{ XK_Home , XK_ANY_MOD , " \033 [1~ " , 0 , + 1 } ,
{ XK_Home , ShiftMask , " \033 [1;2H " , 0 , + 1 , 0 } ,
{ XK_End , ControlMask , " \033 [J " , - 1 , 0 } ,
{ XK_Home , XK_ANY_MOD , " \033 [H " , 0 , - 1 , 0 } ,
{ XK_End , ControlMask , " \033 [1;5F " , + 1 , 0 } ,
{ XK_Home , XK_ANY_MOD , " \033 [1~ " , 0 , + 1 , 0 } ,
{ XK_End , ShiftMask , " \033 [K " , - 1 , 0 } ,
{ XK_End , ControlMask , " \033 [J " , - 1 , 0 , 0 } ,
{ XK_End , ShiftMask , " \033 [1;2F " , + 1 , 0 } ,
{ XK_End , ControlMask , " \033 [1;5F " , + 1 , 0 , 0 } ,
{ XK_End , XK_ANY_MOD , " \033 [4~ " , 0 , 0 } ,
{ XK_End , ShiftMask , " \033 [K " , - 1 , 0 , 0 } ,
{ XK_Prior , ControlMask , " \033 [5;5~ " , 0 , 0 } ,
{ XK_End , ShiftMask , " \033 [1;2F " , + 1 , 0 , 0 } ,
{ XK_Prior , ShiftMask , " \033 [5;2~ " , 0 , 0 } ,
{ XK_End , XK_ANY_MOD , " \033 [4~ " , 0 , 0 , 0 } ,
{ XK_Prior , XK_ANY_MOD , " \033 [5~ " , 0 , 0 } ,
{ XK_Prior , ControlMask , " \033 [5;5~ " , 0 , 0 , 0 } ,
{ XK_Next , ControlMask , " \033 [6;5~ " , 0 , 0 } ,
{ XK_Prior , ShiftMask , " \033 [5;2~ " , 0 , 0 , 0 } ,
{ XK_Next , ShiftMask , " \033 [6;2~ " , 0 , 0 } ,
{ XK_Prior , XK_ANY_MOD , " \033 [5~ " , 0 , 0 , 0 } ,
{ XK_Next , XK_ANY_MOD , " \033 [6~ " , 0 , 0 } ,
{ XK_Next , ControlMask , " \033 [6;5~ " , 0 , 0 , 0 } ,
{ XK_F1 , XK_NO_MOD , " \033 OP " , 0 , 0 } ,
{ XK_Next , ShiftMask , " \033 [6;2~ " , 0 , 0 , 0 } ,
{ XK_F1 , /* F13 */ ShiftMask , " \033 [1;2P " , 0 , 0 } ,
{ XK_Next , XK_ANY_MOD , " \033 [6~ " , 0 , 0 , 0 } ,
{ XK_F1 , /* F25 */ ControlMask , " \033 [1;5P " , 0 , 0 } ,
{ XK_F1 , XK_NO_MOD , " \033 OP " , 0 , 0 , 0 } ,
{ XK_F1 , /* F37 */ Mod4Mask , " \033 [1;6P " , 0 , 0 } ,
{ XK_F1 , /* F13 */ ShiftMask , " \033 [1;2P " , 0 , 0 , 0 } ,
{ XK_F1 , /* F49 */ Mod1Mask , " \033 [1;3P " , 0 , 0 } ,
{ XK_F1 , /* F25 */ ControlMask , " \033 [1;5P " , 0 , 0 , 0 } ,
{ XK_F1 , /* F61 */ Mod3Mask , " \033 [1;4P " , 0 , 0 } ,
{ XK_F1 , /* F37 */ Mod4Mask , " \033 [1;6P " , 0 , 0 , 0 } ,
{ XK_F2 , XK_NO_MOD , " \033 OQ " , 0 , 0 } ,
{ XK_F1 , /* F49 */ Mod1Mask , " \033 [1;3P " , 0 , 0 , 0 } ,
{ XK_F2 , /* F14 */ ShiftMask , " \033 [1;2Q " , 0 , 0 } ,
{ XK_F1 , /* F61 */ Mod3Mask , " \033 [1;4P " , 0 , 0 , 0 } ,
{ XK_F2 , /* F26 */ ControlMask , " \033 [1;5Q " , 0 , 0 } ,
{ XK_F2 , XK_NO_MOD , " \033 OQ " , 0 , 0 , 0 } ,
{ XK_F2 , /* F38 */ Mod4Mask , " \033 [1;6Q " , 0 , 0 } ,
{ XK_F2 , /* F14 */ ShiftMask , " \033 [1;2Q " , 0 , 0 , 0 } ,
{ XK_F2 , /* F50 */ Mod1Mask , " \033 [1;3Q " , 0 , 0 } ,
{ XK_F2 , /* F26 */ ControlMask , " \033 [1;5Q " , 0 , 0 , 0 } ,
{ XK_F2 , /* F62 */ Mod3Mask , " \033 [1;4Q " , 0 , 0 } ,
{ XK_F2 , /* F38 */ Mod4Mask , " \033 [1;6Q " , 0 , 0 , 0 } ,
{ XK_F3 , XK_NO_MOD , " \033 OR " , 0 , 0 } ,
{ XK_F2 , /* F50 */ Mod1Mask , " \033 [1;3Q " , 0 , 0 , 0 } ,
{ XK_F3 , /* F15 */ ShiftMask , " \033 [1;2R " , 0 , 0 } ,
{ XK_F2 , /* F62 */ Mod3Mask , " \033 [1;4Q " , 0 , 0 , 0 } ,
{ XK_F3 , /* F27 */ ControlMask , " \033 [1;5R " , 0 , 0 } ,
{ XK_F3 , XK_NO_MOD , " \033 OR " , 0 , 0 , 0 } ,
{ XK_F3 , /* F39 */ Mod4Mask , " \033 [1;6R " , 0 , 0 } ,
{ XK_F3 , /* F15 */ ShiftMask , " \033 [1;2R " , 0 , 0 , 0 } ,
{ XK_F3 , /* F51 */ Mod1Mask , " \033 [1;3R " , 0 , 0 } ,
{ XK_F3 , /* F27 */ ControlMask , " \033 [1;5R " , 0 , 0 , 0 } ,
{ XK_F3 , /* F63 */ Mod3Mask , " \033 [1;4R " , 0 , 0 } ,
{ XK_F3 , /* F39 */ Mod4Mask , " \033 [1;6R " , 0 , 0 , 0 } ,
{ XK_F4 , XK_NO_MOD , " \033 OS " , 0 , 0 } ,
{ XK_F3 , /* F51 */ Mod1Mask , " \033 [1;3R " , 0 , 0 , 0 } ,
{ XK_F4 , /* F16 */ ShiftMask , " \033 [1;2S " , 0 , 0 } ,
{ XK_F3 , /* F63 */ Mod3Mask , " \033 [1;4R " , 0 , 0 , 0 } ,
{ XK_F4 , /* F28 */ ControlMask , " \033 [1;5S " , 0 , 0 } ,
{ XK_F4 , XK_NO_MOD , " \033 OS " , 0 , 0 , 0 } ,
{ XK_F4 , /* F40 */ Mod4Mask , " \033 [1;6S " , 0 , 0 } ,
{ XK_F4 , /* F16 */ ShiftMask , " \033 [1;2S " , 0 , 0 , 0 } ,
{ XK_F4 , /* F52 */ Mod1Mask , " \033 [1;3S " , 0 , 0 } ,
{ XK_F4 , /* F28 */ ControlMask , " \033 [1;5S " , 0 , 0 , 0 } ,
{ XK_F5 , XK_NO_MOD , " \033 [15~ " , 0 , 0 } ,
{ XK_F4 , /* F40 */ Mod4Mask , " \033 [1;6S " , 0 , 0 , 0 } ,
{ XK_F5 , /* F17 */ ShiftMask , " \033 [15;2~ " , 0 , 0 } ,
{ XK_F4 , /* F52 */ Mod1Mask , " \033 [1;3S " , 0 , 0 , 0 } ,
{ XK_F5 , /* F29 */ ControlMask , " \033 [15;5~ " , 0 , 0 } ,
{ XK_F5 , XK_NO_MOD , " \033 [15~ " , 0 , 0 , 0 } ,
{ XK_F5 , /* F41 */ Mod4Mask , " \033 [15;6~ " , 0 , 0 } ,
{ XK_F5 , /* F17 */ ShiftMask , " \033 [15;2~ " , 0 , 0 , 0 } ,
{ XK_F5 , /* F53 */ Mod1Mask , " \033 [15;3~ " , 0 , 0 } ,
{ XK_F5 , /* F29 */ ControlMask , " \033 [15;5~ " , 0 , 0 , 0 } ,
{ XK_F6 , XK_NO_MOD , " \033 [17~ " , 0 , 0 } ,
{ XK_F5 , /* F41 */ Mod4Mask , " \033 [15;6~ " , 0 , 0 , 0 } ,
{ XK_F6 , /* F18 */ ShiftMask , " \033 [17;2~ " , 0 , 0 } ,
{ XK_F5 , /* F53 */ Mod1Mask , " \033 [15;3~ " , 0 , 0 , 0 } ,
{ XK_F6 , /* F30 */ ControlMask , " \033 [17;5~ " , 0 , 0 } ,
{ XK_F6 , XK_NO_MOD , " \033 [17~ " , 0 , 0 , 0 } ,
{ XK_F6 , /* F42 */ Mod4Mask , " \033 [17;6~ " , 0 , 0 } ,
{ XK_F6 , /* F18 */ ShiftMask , " \033 [17;2~ " , 0 , 0 , 0 } ,
{ XK_F6 , /* F54 */ Mod1Mask , " \033 [17;3~ " , 0 , 0 } ,
{ XK_F6 , /* F30 */ ControlMask , " \033 [17;5~ " , 0 , 0 , 0 } ,
{ XK_F7 , XK_NO_MOD , " \033 [18~ " , 0 , 0 } ,
{ XK_F6 , /* F42 */ Mod4Mask , " \033 [17;6~ " , 0 , 0 , 0 } ,
{ XK_F7 , /* F19 */ ShiftMask , " \033 [18;2~ " , 0 , 0 } ,
{ XK_F6 , /* F54 */ Mod1Mask , " \033 [17;3~ " , 0 , 0 , 0 } ,
{ XK_F7 , /* F31 */ ControlMask , " \033 [18;5~ " , 0 , 0 } ,
{ XK_F7 , XK_NO_MOD , " \033 [18~ " , 0 , 0 , 0 } ,
{ XK_F7 , /* F43 */ Mod4Mask , " \033 [18;6~ " , 0 , 0 } ,
{ XK_F7 , /* F19 */ ShiftMask , " \033 [18;2~ " , 0 , 0 , 0 } ,
{ XK_F7 , /* F55 */ Mod1Mask , " \033 [18;3~ " , 0 , 0 } ,
{ XK_F7 , /* F31 */ ControlMask , " \033 [18;5~ " , 0 , 0 , 0 } ,
{ XK_F8 , XK_NO_MOD , " \033 [19~ " , 0 , 0 } ,
{ XK_F7 , /* F43 */ Mod4Mask , " \033 [18;6~ " , 0 , 0 , 0 } ,
{ XK_F8 , /* F20 */ ShiftMask , " \033 [19;2~ " , 0 , 0 } ,
{ XK_F7 , /* F55 */ Mod1Mask , " \033 [18;3~ " , 0 , 0 , 0 } ,
{ XK_F8 , /* F32 */ ControlMask , " \033 [19;5~ " , 0 , 0 } ,
{ XK_F8 , XK_NO_MOD , " \033 [19~ " , 0 , 0 , 0 } ,
{ XK_F8 , /* F44 */ Mod4Mask , " \033 [19;6~ " , 0 , 0 } ,
{ XK_F8 , /* F20 */ ShiftMask , " \033 [19;2~ " , 0 , 0 , 0 } ,
{ XK_F8 , /* F56 */ Mod1Mask , " \033 [19;3~ " , 0 , 0 } ,
{ XK_F8 , /* F32 */ ControlMask , " \033 [19;5~ " , 0 , 0 , 0 } ,
{ XK_F9 , XK_NO_MOD , " \033 [20~ " , 0 , 0 } ,
{ XK_F8 , /* F44 */ Mod4Mask , " \033 [19;6~ " , 0 , 0 , 0 } ,
{ XK_F9 , /* F21 */ ShiftMask , " \033 [20;2~ " , 0 , 0 } ,
{ XK_F8 , /* F56 */ Mod1Mask , " \033 [19;3~ " , 0 , 0 , 0 } ,
{ XK_F9 , /* F33 */ ControlMask , " \033 [20;5~ " , 0 , 0 } ,
{ XK_F9 , XK_NO_MOD , " \033 [20~ " , 0 , 0 , 0 } ,
{ XK_F9 , /* F45 */ Mod4Mask , " \033 [20;6~ " , 0 , 0 } ,
{ XK_F9 , /* F21 */ ShiftMask , " \033 [20;2~ " , 0 , 0 , 0 } ,
{ XK_F9 , /* F57 */ Mod1Mask , " \033 [20;3~ " , 0 , 0 } ,
{ XK_F9 , /* F33 */ ControlMask , " \033 [20;5~ " , 0 , 0 , 0 } ,
{ XK_F10 , XK_NO_MOD , " \033 [21~ " , 0 , 0 } ,
{ XK_F9 , /* F45 */ Mod4Mask , " \033 [20;6~ " , 0 , 0 , 0 } ,
{ XK_F10 , /* F22 */ ShiftMask , " \033 [21;2~ " , 0 , 0 } ,
{ XK_F9 , /* F57 */ Mod1Mask , " \033 [20;3~ " , 0 , 0 , 0 } ,
{ XK_F10 , /* F34 */ ControlMask , " \033 [21;5~ " , 0 , 0 } ,
{ XK_F10 , XK_NO_MOD , " \033 [21~ " , 0 , 0 , 0 } ,
{ XK_F10 , /* F46 */ Mod4Mask , " \033 [21;6~ " , 0 , 0 } ,
{ XK_F10 , /* F22 */ ShiftMask , " \033 [21;2~ " , 0 , 0 , 0 } ,
{ XK_F10 , /* F58 */ Mod1Mask , " \033 [21;3~ " , 0 , 0 } ,
{ XK_F10 , /* F34 */ ControlMask , " \033 [21;5~ " , 0 , 0 , 0 } ,
{ XK_F11 , XK_NO_MOD , " \033 [23~ " , 0 , 0 } ,
{ XK_F10 , /* F46 */ Mod4Mask , " \033 [21;6~ " , 0 , 0 , 0 } ,
{ XK_F11 , /* F23 */ ShiftMask , " \033 [23;2~ " , 0 , 0 } ,
{ XK_F10 , /* F58 */ Mod1Mask , " \033 [21;3~ " , 0 , 0 , 0 } ,
{ XK_F11 , /* F35 */ ControlMask , " \033 [23;5~ " , 0 , 0 } ,
{ XK_F11 , XK_NO_MOD , " \033 [23~ " , 0 , 0 , 0 } ,
{ XK_F11 , /* F47 */ Mod4Mask , " \033 [23;6~ " , 0 , 0 } ,
{ XK_F11 , /* F23 */ ShiftMask , " \033 [23;2~ " , 0 , 0 , 0 } ,
{ XK_F11 , /* F59 */ Mod1Mask , " \033 [23;3~ " , 0 , 0 } ,
{ XK_F11 , /* F35 */ ControlMask , " \033 [23;5~ " , 0 , 0 , 0 } ,
{ XK_F12 , XK_NO_MOD , " \033 [24~ " , 0 , 0 } ,
{ XK_F11 , /* F47 */ Mod4Mask , " \033 [23;6~ " , 0 , 0 , 0 } ,
{ XK_F12 , /* F24 */ ShiftMask , " \033 [24;2~ " , 0 , 0 } ,
{ XK_F11 , /* F59 */ Mod1Mask , " \033 [23;3~ " , 0 , 0 , 0 } ,
{ XK_F12 , /* F36 */ ControlMask , " \033 [24;5~ " , 0 , 0 } ,
{ XK_F12 , XK_NO_MOD , " \033 [24~ " , 0 , 0 , 0 } ,
{ XK_F12 , /* F48 */ Mod4Mask , " \033 [24;6~ " , 0 , 0 } ,
{ XK_F12 , /* F24 */ ShiftMask , " \033 [24;2~ " , 0 , 0 , 0 } ,
{ XK_F12 , /* F60 */ Mod1Mask , " \033 [24;3~ " , 0 , 0 } ,
{ XK_F12 , /* F36 */ ControlMask , " \033 [24;5~ " , 0 , 0 , 0 } ,
{ XK_F13 , XK_NO_MOD , " \033 [1;2P " , 0 , 0 } ,
{ XK_F12 , /* F48 */ Mod4Mask , " \033 [24;6~ " , 0 , 0 , 0 } ,
{ XK_F14 , XK_NO_MOD , " \033 [1;2Q " , 0 , 0 } ,
{ XK_F12 , /* F60 */ Mod1Mask , " \033 [24;3~ " , 0 , 0 , 0 } ,
{ XK_F15 , XK_NO_MOD , " \033 [1;2R " , 0 , 0 } ,
{ XK_F13 , XK_NO_MOD , " \033 [1;2P " , 0 , 0 , 0 } ,
{ XK_F16 , XK_NO_MOD , " \033 [1;2S " , 0 , 0 } ,
{ XK_F14 , XK_NO_MOD , " \033 [1;2Q " , 0 , 0 , 0 } ,
{ XK_F17 , XK_NO_MOD , " \033 [15;2~ " , 0 , 0 } ,
{ XK_F15 , XK_NO_MOD , " \033 [1;2R " , 0 , 0 , 0 } ,
{ XK_F18 , XK_NO_MOD , " \033 [17;2~ " , 0 , 0 } ,
{ XK_F16 , XK_NO_MOD , " \033 [1;2S " , 0 , 0 , 0 } ,
{ XK_F19 , XK_NO_MOD , " \033 [18;2~ " , 0 , 0 } ,
{ XK_F17 , XK_NO_MOD , " \033 [15;2~ " , 0 , 0 , 0 } ,
{ XK_F20 , XK_NO_MOD , " \033 [19;2~ " , 0 , 0 } ,
{ XK_F18 , XK_NO_MOD , " \033 [17;2~ " , 0 , 0 , 0 } ,
{ XK_F21 , XK_NO_MOD , " \033 [20;2~ " , 0 , 0 } ,
{ XK_F19 , XK_NO_MOD , " \033 [18;2~ " , 0 , 0 , 0 } ,
{ XK_F22 , XK_NO_MOD , " \033 [21;2~ " , 0 , 0 } ,
{ XK_F20 , XK_NO_MOD , " \033 [19;2~ " , 0 , 0 , 0 } ,
{ XK_F23 , XK_NO_MOD , " \033 [23;2~ " , 0 , 0 } ,
{ XK_F21 , XK_NO_MOD , " \033 [20;2~ " , 0 , 0 , 0 } ,
{ XK_F24 , XK_NO_MOD , " \033 [24;2~ " , 0 , 0 } ,
{ XK_F22 , XK_NO_MOD , " \033 [21;2~ " , 0 , 0 , 0 } ,
{ XK_F25 , XK_NO_MOD , " \033 [1;5P " , 0 , 0 } ,
{ XK_F23 , XK_NO_MOD , " \033 [23;2~ " , 0 , 0 , 0 } ,
{ XK_F26 , XK_NO_MOD , " \033 [1;5Q " , 0 , 0 } ,
{ XK_F24 , XK_NO_MOD , " \033 [24;2~ " , 0 , 0 , 0 } ,
{ XK_F27 , XK_NO_MOD , " \033 [1;5R " , 0 , 0 } ,
{ XK_F25 , XK_NO_MOD , " \033 [1;5P " , 0 , 0 , 0 } ,
{ XK_F28 , XK_NO_MOD , " \033 [1;5S " , 0 , 0 } ,
{ XK_F26 , XK_NO_MOD , " \033 [1;5Q " , 0 , 0 , 0 } ,
{ XK_F29 , XK_NO_MOD , " \033 [15;5~ " , 0 , 0 } ,
{ XK_F27 , XK_NO_MOD , " \033 [1;5R " , 0 , 0 , 0 } ,
{ XK_F30 , XK_NO_MOD , " \033 [17;5~ " , 0 , 0 } ,
{ XK_F28 , XK_NO_MOD , " \033 [1;5S " , 0 , 0 , 0 } ,
{ XK_F31 , XK_NO_MOD , " \033 [18;5~ " , 0 , 0 } ,
{ XK_F29 , XK_NO_MOD , " \033 [15;5~ " , 0 , 0 , 0 } ,
{ XK_F32 , XK_NO_MOD , " \033 [19;5~ " , 0 , 0 } ,
{ XK_F30 , XK_NO_MOD , " \033 [17;5~ " , 0 , 0 , 0 } ,
{ XK_F33 , XK_NO_MOD , " \033 [20;5~ " , 0 , 0 } ,
{ XK_F31 , XK_NO_MOD , " \033 [18;5~ " , 0 , 0 , 0 } ,
{ XK_F34 , XK_NO_MOD , " \033 [21;5~ " , 0 , 0 } ,
{ XK_F32 , XK_NO_MOD , " \033 [19;5~ " , 0 , 0 , 0 } ,
{ XK_F35 , XK_NO_MOD , " \033 [23;5~ " , 0 , 0 } ,
{ XK_F33 , XK_NO_MOD , " \033 [20;5~ " , 0 , 0 , 0 } ,
{ XK_F34 , XK_NO_MOD , " \033 [21;5~ " , 0 , 0 , 0 } ,
{ XK_F35 , XK_NO_MOD , " \033 [23;5~ " , 0 , 0 , 0 } ,
} ;
} ;
/*
/*
@ -493,4 +471,3 @@ static char ascii_printable[] =
" ! \" #$%&'()*+,-./0123456789:;<=>? "
" ! \" #$%&'()*+,-./0123456789:;<=>? "
" @ABCDEFGHIJKLMNOPQRSTUVWXYZ[ \\ ]^_ "
" @ABCDEFGHIJKLMNOPQRSTUVWXYZ[ \\ ]^_ "
" `abcdefghijklmnopqrstuvwxyz{|}~ " ;
" `abcdefghijklmnopqrstuvwxyz{|}~ " ;