Matrix Keypad - Optimisation

it's not liking my using char's for keypressed values; i'm assuming because it's a case label and needs to be an integer

keypad:62: error: case label does not reduce to an integer constant

it refers to line 62 which is the line prior to where I declare case "a" line 62 is blank ; there is of course one of these errors for each non numerical keypressed value I declare

case "a":
// do a
break;

keypad:35: error: invalid conversion from 'const char*' to char

else if ((keyboardValue >108) && (keyboardValue <=153)){keypressed = 3;}
  else if ((keyboardValue >153) && (keyboardValue <=186)){keypressed = "a";}

line 35 is the line where I declare (keypressed = 3;)

I guess I could define the cases as numbers and just have a comment for the non numerical keys as to what they represent and change keypressed back to an integer;

will try that;