USBHost Library

I am successfully using USBHost library with my Due and a standard USB keyboard, the problem comes about when I try to use a numeric USB keyboard.
The problem is the numeric keyboard returns a different OemKey value to the numbers on the standard key board, and this OemKey value has not been mapped within the library.
I have never attempted playing with a library before. and rather hoped simply adding the new values would solver the issue…it didnt
Can anyone advise if I am on the right track or point me in the right direction please.
The values returned and keys are as follow, along with the library.
Thanks in advance

Actual Key pressed GetOemKey response
1 = 89,
2 = 90,
3 = 91,
4 = 92,
5 = 93,
6 = 94,
7 = 95,
8 = 96,
9 = 97,
0 = 98

 Copyright (c) 2012 Arduino LLC.  All right reserved.

 This library is free software; you can redistribute it and/or
 modify it under the terms of the GNU Lesser General Public
 License as published by the Free Software Foundation; either
 version 2.1 of the License, or (at your option) any later version.

 This library is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 See the GNU Lesser General Public License for more details.

 You should have received a copy of the GNU Lesser General Public
 License along with this library; if not, write to the Free Software
 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA


#include <hidboot.h>

enum KeyboardModifiers {
  LeftCtrl = 1,
  LeftShift = 2,
  Alt = 4,
  LeftCmd = 8,
  RightCtrl = 16,
  RightShift = 32,
  AltGr = 64,
  RightCmd = 128

class KeyboardController : public KeyboardReportParser {
  KeyboardController(USBHost &usb) : hostKeyboard(&usb), key(0), keyOem(0), modifiers(0) {
    hostKeyboard.SetReportParser(0, this);

  uint8_t getKey()       { return key; };
  uint8_t getModifiers() { return modifiers; };
  uint8_t getOemKey()    { return keyOem; };

  virtual void OnKeyDown(uint8_t mod, uint8_t key);
  virtual void OnKeyUp(uint8_t mod, uint8_t key);

  uint8_t key, keyOem, modifiers;


Do you get the standard numbers if you press the numlock key?

Do you get the standard numbers if you press the numlock key?