• Patrik Fimml's avatar
    Input: Add "inhibited" property · a1816164
    Patrik Fimml authored
    Userspace might want to implement a policy to temporarily disregard input
    from certain devices, including not treating them as wakeup sources.
    
    An example use case is a laptop, whose keyboard can be folded under the
    screen to create tablet-like experience. The user then must hold the laptop
    in such a way that it is difficult to avoid pressing the keyboard keys. It
    is therefore desirable to temporarily disregard input from the keyboard,
    until it is folded back. This obviously is a policy which should be kept
    out of the kernel, but the kernel must provide suitable means to implement
    such a policy.
    
    This patch adds a sysfs interface for exactly this purpose.
    
    To implement the said interface it adds an "inhibited" property to struct
    input_dev, and effectively creates four states a device can be in: closed
    uninhibited, closed inhibited, open uninhibited, open inhibited. It also
    defers calling driver's ->open() and ->close() to until they are actually
    needed, e.g. it makes no sen...
    a1816164
input.c 64.7 KB