| 
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -264,7 +264,7 @@ typedef struct { | 
															
														
														
													
														
															
																 | 
																 | 
																typedef struct { | 
																 | 
																 | 
																typedef struct { | 
															
														
														
													
														
															
																 | 
																 | 
																	KeySym k; | 
																 | 
																 | 
																	KeySym k; | 
															
														
														
													
														
															
																 | 
																 | 
																	uint mask; | 
																 | 
																 | 
																	uint mask; | 
															
														
														
													
														
															
																 | 
																 | 
																	char s[ESC_BUF_SIZ]; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	char *s; | 
															
														
														
													
														
															
																 | 
																 | 
																	/* three valued logic variables: 0 indifferent, 1 on, -1 off */ | 
																 | 
																 | 
																	/* three valued logic variables: 0 indifferent, 1 on, -1 off */ | 
															
														
														
													
														
															
																 | 
																 | 
																	signed char appkey;    /* application keypad */ | 
																 | 
																 | 
																	signed char appkey;    /* application keypad */ | 
															
														
														
													
														
															
																 | 
																 | 
																	signed char appcursor; /* application cursor */ | 
																 | 
																 | 
																	signed char appcursor; /* application cursor */ | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																		
																			
																		
																	
																	
																 | 
																@ -3585,26 +3585,27 @@ kpress(XEvent *ev) { | 
															
														
														
													
														
															
																 | 
																 | 
																	/* 2. custom keys from config.h */ | 
																 | 
																 | 
																	/* 2. custom keys from config.h */ | 
															
														
														
													
														
															
																 | 
																 | 
																	if((customkey = kmap(ksym, e->state))) { | 
																 | 
																 | 
																	if((customkey = kmap(ksym, e->state))) { | 
															
														
														
													
														
															
																 | 
																 | 
																		len = strlen(customkey); | 
																 | 
																 | 
																		len = strlen(customkey); | 
															
														
														
													
														
															
																 | 
																 | 
																		memcpy(buf, customkey, len); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	/* 3. composed string from input method */ | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	} else { | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																		if(len == 0) | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																			return; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		ttywrite(customkey, len); | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		if(IS_SET(MODE_ECHO)) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																			techo(customkey, len); | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		return; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	} | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																
 | 
															
														
														
													
														
															
																 | 
																 | 
																		if(len == 1 && e->state & Mod1Mask) { | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																			if(IS_SET(MODE_8BIT)) { | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																				if(*buf < 0177) { | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																					c = *buf | 0x80; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																					len = utf8encode(&c, buf); | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																				} | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																			} else { | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																				buf[1] = buf[0]; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																				buf[0] = '\033'; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																				len = 2; | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	/* 3. composed string from input method */ | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	if(len == 0) | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		return; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																	if(len == 1 && e->state & Mod1Mask) { | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		if(IS_SET(MODE_8BIT)) { | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																			if(*buf < 0177) { | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																				c = *buf | 0x80; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																				len = utf8encode(&c, buf); | 
															
														
														
													
														
															
																 | 
																 | 
																			} | 
																 | 
																 | 
																			} | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																		} else { | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																			buf[1] = buf[0]; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																			buf[0] = '\033'; | 
															
														
														
													
														
															
																 | 
																 | 
																 | 
																 | 
																 | 
																			len = 2; | 
															
														
														
													
														
															
																 | 
																 | 
																		} | 
																 | 
																 | 
																		} | 
															
														
														
													
														
															
																 | 
																 | 
																	} | 
																 | 
																 | 
																	} | 
															
														
														
													
														
															
																 | 
																 | 
																
 | 
																 | 
																 | 
																 | 
															
														
														
													
														
															
																 | 
																 | 
																	ttywrite(buf, len); | 
																 | 
																 | 
																	ttywrite(buf, len); | 
															
														
														
													
														
															
																 | 
																 | 
																	if(IS_SET(MODE_ECHO)) | 
																 | 
																 | 
																	if(IS_SET(MODE_ECHO)) | 
															
														
														
													
														
															
																 | 
																 | 
																		techo(buf, len); | 
																 | 
																 | 
																		techo(buf, len); | 
															
														
														
													
												
													
														
															
																| 
																	
																		
																			
																		
																	
																	
																	
																 | 
																
  |