如何解析usb扫描枪上报的HID键值码?

最近在Linux下尝试读取USB二维码扫描枪数据并解析其中字符串,但是却不知如何解析上报的数据。
例如我在字符串中写入的是"11223344556677889900"的字符串,编写测试代码后读出的input event如下:
type: 4, code: 4, value: 458835
type: 1, code: 69, value: 1
type: 0, code: 0, value: 0
type: 17, code: 0, value: 1
type: 0, code: 0, value: 0
type: 4, code: 4, value: 458835
type: 1, code: 69, value: 0
type: 0, code: 0, value: 0
type: 4, code: 4, value: 458841
type: 1, code: 79, value: 1
type: 0, code: 0, value: 0
type: 4, code: 4, value: 458841
type: 1, code: 79, value: 0
type: 0, code: 0, value: 0
type: 4, code: 4, value: 458841
type: 1, code: 79, value: 1
type: 0, code: 0, value: 0
type: 4, code: 4, value: 458841
type: 1, code: 79, value: 0
type: 0, code: 0, value: 0
type: 4, code: 4, value: 458842
type: 1, code: 80, value: 1
type: 0, code: 0, value: 0
type: 4, code: 4, value: 458842
type: 1, code: 80, value: 0
type: 0, code: 0, value: 0
type: 4, code: 4, value: 458842
type: 1, code: 80, value: 1
type: 0, code: 0, value: 0
type: 4, code: 4, value: 458842
type: 1, code: 80, value: 0
type: 0, code: 0, value: 0
type: 4, code: 4, value: 458843
type: 1, code: 81, value: 1
type: 0, code: 0, value: 0
type: 4, code: 4, value: 458843
type: 1, code: 81, value: 0
type: 0, code: 0, value: 0
type: 4, code: 4, value: 458843
type: 1, code: 81, value: 1
type: 0, code: 0, value: 0
type: 4, code: 4, value: 458843
type: 1, code: 81, value: 0
type: 0, code: 0, value: 0
。。。。。

查阅"input-event-codes.h"后得知:type: 4, code: 4代表的是EV_MSC和MSC_SCAN;type: 1, code: 81代表的是EV_KEY和KEY_KP3。
从EV_KEY和KEY_KP3能得知输入的是KP3按键值,也就是对应的输入数字'3',但是因为该头文件列举的只是一些宏定义,并没有一些优美的转换关系,导致我的应用代码不知如何将得到的事件值转换为字符串。

我想应该是可以通过"type: 4, code: 4, value: 458843"中的value值换算得到相应的字符,这样子就算二维码中有中文字我也可以读取出来,但是这个value值可以从哪里得到?具体的转换规则是怎样呢?