mirror of
				https://github.com/vdr-projects/vdr.git
				synced 2025-03-01 10:50:46 +00:00 
			
		
		
		
	Fixed key release handling
This commit is contained in:
		
							
								
								
									
										7
									
								
								config.h
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								config.h
									
									
									
									
									
								
							| @@ -4,7 +4,7 @@ | ||||
|  * See the main source file 'vdr.c' for copyright information and | ||||
|  * how to reach the author. | ||||
|  * | ||||
|  * $Id: config.h 1.26 2000/10/08 16:07:49 kls Exp $ | ||||
|  * $Id: config.h 1.27 2000/10/08 16:33:48 kls Exp $ | ||||
|  */ | ||||
|  | ||||
| #ifndef __CONFIG_H | ||||
| @@ -41,8 +41,9 @@ enum eKeys { // "Up" and "Down" must be the first two keys! | ||||
|              k_Flags   = k_Repeat | k_Release, | ||||
|            }; | ||||
|  | ||||
| #define ISNORMALKEY(k) ((k) != kNone && ((k) & k_Flags) == 0) | ||||
| #define NORMALKEY(k)   ((k) & ~k_Flags) | ||||
| #define RAWKEY(k)    ((k) & ~k_Flags) | ||||
| #define ISRAWKEY(k)  ((k) != kNone && ((k) & k_Flags) == 0) | ||||
| #define NORMALKEY(k) ((k) & ~k_Repeat) | ||||
|  | ||||
| struct tKey { | ||||
|   eKeys type; | ||||
|   | ||||
| @@ -4,7 +4,7 @@ | ||||
|  * See the main source file 'vdr.c' for copyright information and | ||||
|  * how to reach the author. | ||||
|  * | ||||
|  * $Id: interface.c 1.24 2000/10/08 12:15:36 kls Exp $ | ||||
|  * $Id: interface.c 1.25 2000/10/08 16:34:17 kls Exp $ | ||||
|  */ | ||||
|  | ||||
| #include "interface.h" | ||||
| @@ -94,10 +94,10 @@ eKeys cInterface::Wait(int Seconds, bool KeepChar) | ||||
|   time_t timeout = time(NULL) + Seconds; | ||||
|   for (;;) { | ||||
|       Key = GetKey(); | ||||
|       if ((Key != kNone && (NORMALKEY(Key) != kOk || NORMALKEY(Key) == Key)) || time(NULL) > timeout) | ||||
|       if ((Key != kNone && (RAWKEY(Key) != kOk || RAWKEY(Key) == Key)) || time(NULL) > timeout) | ||||
|          break; | ||||
|       } | ||||
|   if (KeepChar && ISNORMALKEY(Key)) | ||||
|   if (KeepChar && ISRAWKEY(Key)) | ||||
|      keyFromWait = Key; | ||||
|   return Key; | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user