diff --git a/core/textinput/src/textinput/InputData.h b/core/textinput/src/textinput/InputData.h
index 2bed40dfddfa253a62a779f329c85c23bb3b3bbc..5cfe815d10cf22ae1b7ba73c6f95fa7c1a1d0f44 100644
--- a/core/textinput/src/textinput/InputData.h
+++ b/core/textinput/src/textinput/InputData.h
@@ -75,7 +75,7 @@ namespace textinput {
     int GetRaw() const { return fRaw; }
 
     EExtendedInput GetExtendedInput() const { return fExt; }
-    int GetModifier() const { return fMod & ~kIsRaw; }
+    unsigned char GetModifier() const { return fMod & ~kIsRaw; }
 
     void SetRaw(char R) { fRaw = R; fMod |= kIsRaw; }
     void SetExtended(EExtendedInput E) { fExt = E;  fMod &= ~kIsRaw; }
@@ -86,7 +86,7 @@ namespace textinput {
       char fRaw; // raw input character, if kIsRaw & fMod
       EExtendedInput fExt; // non-character input
     };
-    char fMod; // Modifiers, also stores union descriminator (kIsRaw)
+    unsigned char fMod; // Modifiers, also stores union descriminator (kIsRaw)
   };
 }
 #endif // TEXTINPUT_INPUTDATA_H