On Wed, Jul 14, 2010 at 8:41 PM, Peter Hutterer
<[email protected]> wrote:
> On 15/07/10 13:37 , Ping Cheng wrote:
>>
>> On Wed, Jul 14, 2010 at 6:04 PM, Peter Hutterer
>> <[email protected]>  wrote:
>>>
>>> This fixes a hang caused by wcmEmitKeySyms(). XkbGetCoreMap() allocates
>>> memory and doing so in the signal handler (i.e. event processing) may
>>> hang
>>> the machine. Instead, get the core keymap after initialising the key
>>> class
>>> and save it in the device.
>>>
>>> Side-effect: if the keyboard layout is set after device initialization,
>>> the
>>> keycodes sent by the wacom device are almost certainly wrong.
>>>
>>> Note: while we asked for the keysyms rec on X servers with an ABI<  7  we
>>> never actually initialised it. The ifdef for the ABI check was removed in
>>> this patch since the call to XkbGetCoreMap is already inside the ABI>= 7
>>> check.
>>>
>>> Signed-off-by: Peter Hutterer<[email protected]>
>>
>> Acked-by: Ping Cheng<[email protected]>
>>
>>> ---
>>> I don't have a good answer to how to update the keymap when it changes
>>> yet.
>>
>> Maybe we can add a new xsetwacom property so clients/users can inform
>> the driver when keyboard layout changed. Driver then convert the
>> existing keys into the new form (I don't know if this is
>> possible/doable or not though).
>
> if we're going down that route it'd be better to load the keycodes into the
> driver only and let the clients update them as the keysyms change. of course
> this requires updating xsetwacom and every client that sets the key actions
> but it'd be the right implementation, the driver should not care about XKB
> maps.

This is a sensible choice. I think there would be no xsetwacom user
interface changes. The code change is between xsetwacom and the
driver, which would not affect end users, interface-wise. All they
needed is to update their keystrokes when keyboard layout is changed.

Ping

------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
Linuxwacom-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel

Reply via email to