added F1-12 key, fixed DCH and ICH.
This commit is contained in:
		
							
								
								
									
										12
									
								
								config.h
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								config.h
									
									
									
									
									
								
							@ -39,6 +39,18 @@ static Key key[] = {
 | 
				
			|||||||
	{ XK_End,    "\033[4~" },
 | 
						{ XK_End,    "\033[4~" },
 | 
				
			||||||
	{ XK_Prior,  "\033[5~" },
 | 
						{ XK_Prior,  "\033[5~" },
 | 
				
			||||||
	{ XK_Next,   "\033[6~" },
 | 
						{ XK_Next,   "\033[6~" },
 | 
				
			||||||
 | 
						{ XK_F1,        "\033OP"   },
 | 
				
			||||||
 | 
						{ XK_F2,        "\033OQ"   },
 | 
				
			||||||
 | 
						{ XK_F3,        "\033OR"   },
 | 
				
			||||||
 | 
						{ XK_F4,        "\033OS"   },
 | 
				
			||||||
 | 
						{ XK_F5,        "\033[15~" },
 | 
				
			||||||
 | 
						{ XK_F6,        "\033[17~" },
 | 
				
			||||||
 | 
						{ XK_F7,        "\033[18~" },
 | 
				
			||||||
 | 
						{ XK_F8,        "\033[19~" },
 | 
				
			||||||
 | 
						{ XK_F9,        "\033[20~" },
 | 
				
			||||||
 | 
						{ XK_F10,       "\033[21~" },
 | 
				
			||||||
 | 
						{ XK_F11,       "\033[23~" },
 | 
				
			||||||
 | 
						{ XK_F12,       "\033[24~" },
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static char gfx[] = {
 | 
					static char gfx[] = {
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										6
									
								
								st.c
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								st.c
									
									
									
									
									
								
							@ -497,21 +497,21 @@ tdeletechar(int n) {
 | 
				
			|||||||
		return;
 | 
							return;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	memmove(&term.line[term.c.y][dst], &term.line[term.c.y][src], size * sizeof(Glyph));
 | 
						memmove(&term.line[term.c.y][dst], &term.line[term.c.y][src], size * sizeof(Glyph));
 | 
				
			||||||
	tclearregion(term.col-size, term.c.y, term.col-1, term.c.y);
 | 
						tclearregion(term.col-n, term.c.y, term.col-1, term.c.y);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void
 | 
					void
 | 
				
			||||||
tinsertblank(int n) {
 | 
					tinsertblank(int n) {
 | 
				
			||||||
	int src = term.c.x;
 | 
						int src = term.c.x;
 | 
				
			||||||
	int dst = src + n;
 | 
						int dst = src + n;
 | 
				
			||||||
	int size = term.col - n - src;
 | 
						int size = term.col - dst;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if(dst >= term.col) {
 | 
						if(dst >= term.col) {
 | 
				
			||||||
		tclearregion(term.c.x, term.c.y, term.col-1, term.c.y);
 | 
							tclearregion(term.c.x, term.c.y, term.col-1, term.c.y);
 | 
				
			||||||
		return;
 | 
							return;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	memmove(&term.line[term.c.y][dst], &term.line[term.c.y][src], size * sizeof(Glyph));
 | 
						memmove(&term.line[term.c.y][dst], &term.line[term.c.y][src], size * sizeof(Glyph));
 | 
				
			||||||
	tclearregion(src, term.c.y, dst, term.c.y);
 | 
						tclearregion(src, term.c.y, dst - 1, term.c.y);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void
 | 
					void
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										12
									
								
								st.info
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								st.info
									
									
									
									
									
								
							@ -37,6 +37,18 @@ st| simpleterm,
 | 
				
			|||||||
	kcuu1=\E[A,
 | 
						kcuu1=\E[A,
 | 
				
			||||||
	kdch1=\E[3~,
 | 
						kdch1=\E[3~,
 | 
				
			||||||
	kend=\E[4~,
 | 
						kend=\E[4~,
 | 
				
			||||||
 | 
						kf1=\EOP,
 | 
				
			||||||
 | 
						kf2=\EOQ,
 | 
				
			||||||
 | 
						kf3=\EOR,
 | 
				
			||||||
 | 
						kf4=\EOS,
 | 
				
			||||||
 | 
						kf5=\E[15~,
 | 
				
			||||||
 | 
						kf6=\E[17~,
 | 
				
			||||||
 | 
						kf7=\E[18~,
 | 
				
			||||||
 | 
						kf8=\E[19~,
 | 
				
			||||||
 | 
						kf9=\E[20~,
 | 
				
			||||||
 | 
						kf10=\E[21~,
 | 
				
			||||||
 | 
						kf11=\E[23~,
 | 
				
			||||||
 | 
						kf12=\E[24~,
 | 
				
			||||||
	khome=\E[1~,
 | 
						khome=\E[1~,
 | 
				
			||||||
	knp=\E[6~,
 | 
						knp=\E[6~,
 | 
				
			||||||
	kpp=\E[5~,
 | 
						kpp=\E[5~,
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user