• N
    HID: core: move Usage Page concatenation to Main item · 69f67200
    Nicolas Saenz Julienne 提交于
    [ Upstream commit 58e75155009cc800005629955d3482f36a1e0eec ]
    
    As seen on some USB wireless keyboards manufactured by Primax, the HID
    parser was using some assumptions that are not always true. In this case
    it's s the fact that, inside the scope of a main item, an Usage Page
    will always precede an Usage.
    
    The spec is not pretty clear as 6.2.2.7 states "Any usage that follows
    is interpreted as a Usage ID and concatenated with the Usage Page".
    While 6.2.2.8 states "When the parser encounters a main item it
    concatenates the last declared Usage Page with a Usage to form a
    complete usage value." Being somewhat contradictory it was decided to
    match Window's implementation, which follows 6.2.2.8.
    
    In summary, the patch moves the Usage Page concatenation from the local
    item parsing function to the main item parsing function.
    Signed-off-by: NNicolas Saenz Julienne <nsaenzjulienne@suse.de>
    Reviewed-by: NTerry Junge <terry.junge@poly.com>
    Signed-off-by: NBenjamin Tissoires <benjamin.tissoires@redhat.com>
    Signed-off-by: NSasha Levin <sashal@kernel.org>
    69f67200
hid-core.c 57.3 KB