Spaces:
Runtime error
Runtime error
# Xlib.protocol.event -- definitions of core events | |
# | |
# Copyright (C) 2000-2002 Peter Liljenberg <petli@ctrl-c.liu.se> | |
# | |
# 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 | |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | |
# 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., | |
# 59 Temple Place, | |
# Suite 330, | |
# Boston, MA 02111-1307 USA | |
# Xlib modules | |
from .. import X | |
# Xlib.protocol modules | |
from . import rq | |
class AnyEvent(rq.Event): | |
_code = None | |
_fields = rq.Struct( rq.Card8('type'), | |
rq.Card8('detail'), | |
rq.Card16('sequence_number'), | |
rq.FixedBinary('data', 28), | |
) | |
class KeyButtonPointer(rq.Event): | |
_code = None | |
_fields = rq.Struct( rq.Card8('type'), | |
rq.Card8('detail'), | |
rq.Card16('sequence_number'), | |
rq.Card32('time'), | |
rq.Window('root'), | |
rq.Window('window'), | |
rq.Window('child', (X.NONE, )), | |
rq.Int16('root_x'), | |
rq.Int16('root_y'), | |
rq.Int16('event_x'), | |
rq.Int16('event_y'), | |
rq.Card16('state'), | |
rq.Card8('same_screen'), | |
rq.Pad(1), | |
) | |
class KeyPress(KeyButtonPointer): | |
_code = X.KeyPress | |
class KeyRelease(KeyButtonPointer): | |
_code = X.KeyRelease | |
class ButtonPress(KeyButtonPointer): | |
_code = X.ButtonPress | |
class ButtonRelease(KeyButtonPointer): | |
_code = X.ButtonRelease | |
class MotionNotify(KeyButtonPointer): | |
_code = X.MotionNotify | |
class EnterLeave(rq.Event): | |
_code = None | |
_fields = rq.Struct( rq.Card8('type'), | |
rq.Card8('detail'), | |
rq.Card16('sequence_number'), | |
rq.Card32('time'), | |
rq.Window('root'), | |
rq.Window('window'), | |
rq.Window('child', (X.NONE, )), | |
rq.Int16('root_x'), | |
rq.Int16('root_y'), | |
rq.Int16('event_x'), | |
rq.Int16('event_y'), | |
rq.Card16('state'), | |
rq.Card8('mode'), | |
rq.Card8('flags'), | |
) | |
class EnterNotify(EnterLeave): | |
_code = X.EnterNotify | |
class LeaveNotify(EnterLeave): | |
_code = X.LeaveNotify | |
class Focus(rq.Event): | |
_code = None | |
_fields = rq.Struct( rq.Card8('type'), | |
rq.Card8('detail'), | |
rq.Card16('sequence_number'), | |
rq.Window('window'), | |
rq.Card8('mode'), | |
rq.Pad(23), | |
) | |
class FocusIn(Focus): | |
_code = X.FocusIn | |
class FocusOut(Focus): | |
_code = X.FocusOut | |
class Expose(rq.Event): | |
_code = X.Expose | |
_fields = rq.Struct( rq.Card8('type'), | |
rq.Pad(1), | |
rq.Card16('sequence_number'), | |
rq.Window('window'), | |
rq.Card16('x'), | |
rq.Card16('y'), | |
rq.Card16('width'), | |
rq.Card16('height'), | |
rq.Card16('count'), | |
rq.Pad(14), | |
) | |
class GraphicsExpose(rq.Event): | |
_code = X.GraphicsExpose | |
_fields = rq.Struct( rq.Card8('type'), | |
rq.Pad(1), | |
rq.Card16('sequence_number'), | |
rq.Drawable('drawable'), | |
rq.Card16('x'), | |
rq.Card16('y'), | |
rq.Card16('width'), | |
rq.Card16('height'), | |
rq.Card16('minor_event'), | |
rq.Card16('count'), | |
rq.Card8('major_event'), | |
rq.Pad(11), | |
) | |
class NoExpose(rq.Event): | |
_code = X.NoExpose | |
_fields = rq.Struct( rq.Card8('type'), | |
rq.Pad(1), | |
rq.Card16('sequence_number'), | |
rq.Drawable('window'), | |
rq.Card16('minor_event'), | |
rq.Card8('major_event'), | |
rq.Pad(21), | |
) | |
class VisibilityNotify(rq.Event): | |
_code = X.VisibilityNotify | |
_fields = rq.Struct( rq.Card8('type'), | |
rq.Pad(1), | |
rq.Card16('sequence_number'), | |
rq.Window('window'), | |
rq.Card8('state'), | |
rq.Pad(23), | |
) | |
class CreateNotify(rq.Event): | |
_code = X.CreateNotify | |
_fields = rq.Struct( rq.Card8('type'), | |
rq.Pad(1), | |
rq.Card16('sequence_number'), | |
rq.Window('parent'), | |
rq.Window('window'), | |
rq.Int16('x'), | |
rq.Int16('y'), | |
rq.Card16('width'), | |
rq.Card16('height'), | |
rq.Card16('border_width'), | |
rq.Card8('override'), | |
rq.Pad(9), | |
) | |
class DestroyNotify(rq.Event): | |
_code = X.DestroyNotify | |
_fields = rq.Struct( rq.Card8('type'), | |
rq.Pad(1), | |
rq.Card16('sequence_number'), | |
rq.Window('event'), | |
rq.Window('window'), | |
rq.Pad(20), | |
) | |
class UnmapNotify(rq.Event): | |
_code = X.UnmapNotify | |
_fields = rq.Struct( rq.Card8('type'), | |
rq.Pad(1), | |
rq.Card16('sequence_number'), | |
rq.Window('event'), | |
rq.Window('window'), | |
rq.Card8('from_configure'), | |
rq.Pad(19), | |
) | |
class MapNotify(rq.Event): | |
_code = X.MapNotify | |
_fields = rq.Struct( rq.Card8('type'), | |
rq.Pad(1), | |
rq.Card16('sequence_number'), | |
rq.Window('event'), | |
rq.Window('window'), | |
rq.Card8('override'), | |
rq.Pad(19), | |
) | |
class MapRequest(rq.Event): | |
_code = X.MapRequest | |
_fields = rq.Struct( rq.Card8('type'), | |
rq.Pad(1), | |
rq.Card16('sequence_number'), | |
rq.Window('parent'), | |
rq.Window('window'), | |
rq.Pad(20), | |
) | |
class ReparentNotify(rq.Event): | |
_code = X.ReparentNotify | |
_fields = rq.Struct( rq.Card8('type'), | |
rq.Pad(1), | |
rq.Card16('sequence_number'), | |
rq.Window('event'), | |
rq.Window('window'), | |
rq.Window('parent'), | |
rq.Int16('x'), | |
rq.Int16('y'), | |
rq.Card8('override'), | |
rq.Pad(11), | |
) | |
class ConfigureNotify(rq.Event): | |
_code = X.ConfigureNotify | |
_fields = rq.Struct( rq.Card8('type'), | |
rq.Pad(1), | |
rq.Card16('sequence_number'), | |
rq.Window('event'), | |
rq.Window('window'), | |
rq.Window('above_sibling', (X.NONE, )), | |
rq.Int16('x'), | |
rq.Int16('y'), | |
rq.Card16('width'), | |
rq.Card16('height'), | |
rq.Card16('border_width'), | |
rq.Card8('override'), | |
rq.Pad(5), | |
) | |
class ConfigureRequest(rq.Event): | |
_code = X.ConfigureRequest | |
_fields = rq.Struct( rq.Card8('type'), | |
rq.Card8('stack_mode'), | |
rq.Card16('sequence_number'), | |
rq.Window('parent'), | |
rq.Window('window'), | |
rq.Window('sibling', (X.NONE, )), | |
rq.Int16('x'), | |
rq.Int16('y'), | |
rq.Card16('width'), | |
rq.Card16('height'), | |
rq.Card16('border_width'), | |
rq.Card16('value_mask'), | |
rq.Pad(4), | |
) | |
class GravityNotify(rq.Event): | |
_code = X.GravityNotify | |
_fields = rq.Struct( rq.Card8('type'), | |
rq.Pad(1), | |
rq.Card16('sequence_number'), | |
rq.Window('event'), | |
rq.Window('window'), | |
rq.Int16('x'), | |
rq.Int16('y'), | |
rq.Pad(16), | |
) | |
class ResizeRequest(rq.Event): | |
_code = X.ResizeRequest | |
_fields = rq.Struct( rq.Card8('type'), | |
rq.Pad(1), | |
rq.Card16('sequence_number'), | |
rq.Window('window'), | |
rq.Card16('width'), | |
rq.Card16('height'), | |
rq.Pad(20), | |
) | |
class Circulate(rq.Event): | |
_code = None | |
_fields = rq.Struct( rq.Card8('type'), | |
rq.Pad(1), | |
rq.Card16('sequence_number'), | |
rq.Window('event'), | |
rq.Window('window'), | |
rq.Pad(4), | |
rq.Card8('place'), | |
rq.Pad(15), | |
) | |
class CirculateNotify(Circulate): | |
_code = X.CirculateNotify | |
class CirculateRequest(Circulate): | |
_code = X.CirculateRequest | |
class PropertyNotify(rq.Event): | |
_code = X.PropertyNotify | |
_fields = rq.Struct( rq.Card8('type'), | |
rq.Pad(1), | |
rq.Card16('sequence_number'), | |
rq.Window('window'), | |
rq.Card32('atom'), | |
rq.Card32('time'), | |
rq.Card8('state'), | |
rq.Pad(15), | |
) | |
class SelectionClear(rq.Event): | |
_code = X.SelectionClear | |
_fields = rq.Struct( rq.Card8('type'), | |
rq.Pad(1), | |
rq.Card16('sequence_number'), | |
rq.Card32('time'), | |
rq.Window('window'), | |
rq.Card32('atom'), | |
rq.Pad(16), | |
) | |
class SelectionRequest(rq.Event): | |
_code = X.SelectionRequest | |
_fields = rq.Struct( rq.Card8('type'), | |
rq.Pad(1), | |
rq.Card16('sequence_number'), | |
rq.Card32('time'), | |
rq.Window('owner'), | |
rq.Window('requestor'), | |
rq.Card32('selection'), | |
rq.Card32('target'), | |
rq.Card32('property'), | |
rq.Pad(4), | |
) | |
class SelectionNotify(rq.Event): | |
_code = X.SelectionNotify | |
_fields = rq.Struct( rq.Card8('type'), | |
rq.Pad(1), | |
rq.Card16('sequence_number'), | |
rq.Card32('time'), | |
rq.Window('requestor'), | |
rq.Card32('selection'), | |
rq.Card32('target'), | |
rq.Card32('property'), | |
rq.Pad(8), | |
) | |
class ColormapNotify(rq.Event): | |
_code = X.ColormapNotify | |
_fields = rq.Struct( rq.Card8('type'), | |
rq.Pad(1), | |
rq.Card16('sequence_number'), | |
rq.Window('window'), | |
rq.Colormap('colormap', (X.NONE, )), | |
rq.Card8('new'), | |
rq.Card8('state'), | |
rq.Pad(18), | |
) | |
class MappingNotify(rq.Event): | |
_code = X.MappingNotify | |
_fields = rq.Struct( rq.Card8('type'), | |
rq.Pad(1), | |
rq.Card16('sequence_number'), | |
rq.Card8('request'), | |
rq.Card8('first_keycode'), | |
rq.Card8('count'), | |
rq.Pad(25), | |
) | |
class ClientMessage(rq.Event): | |
_code = X.ClientMessage | |
_fields = rq.Struct( rq.Card8('type'), | |
rq.Format('data', 1), | |
rq.Card16('sequence_number'), | |
rq.Window('window'), | |
rq.Card32('client_type'), | |
rq.FixedPropertyData('data', 20), | |
) | |
class KeymapNotify(rq.Event): | |
_code = X.KeymapNotify | |
_fields = rq.Struct( rq.Card8('type'), | |
rq.FixedList('data', 31, rq.Card8Obj, pad = 0) | |
) | |
event_class = { | |
X.KeyPress: KeyPress, | |
X.KeyRelease: KeyRelease, | |
X.ButtonPress: ButtonPress, | |
X.ButtonRelease: ButtonRelease, | |
X.MotionNotify: MotionNotify, | |
X.EnterNotify: EnterNotify, | |
X.LeaveNotify: LeaveNotify, | |
X.FocusIn: FocusIn, | |
X.FocusOut: FocusOut, | |
X.KeymapNotify: KeymapNotify, | |
X.Expose: Expose, | |
X.GraphicsExpose: GraphicsExpose, | |
X.NoExpose: NoExpose, | |
X.VisibilityNotify: VisibilityNotify, | |
X.CreateNotify: CreateNotify, | |
X.DestroyNotify: DestroyNotify, | |
X.UnmapNotify: UnmapNotify, | |
X.MapNotify: MapNotify, | |
X.MapRequest: MapRequest, | |
X.ReparentNotify: ReparentNotify, | |
X.ConfigureNotify: ConfigureNotify, | |
X.ConfigureRequest: ConfigureRequest, | |
X.GravityNotify: GravityNotify, | |
X.ResizeRequest: ResizeRequest, | |
X.CirculateNotify: CirculateNotify, | |
X.CirculateRequest: CirculateRequest, | |
X.PropertyNotify: PropertyNotify, | |
X.SelectionClear: SelectionClear, | |
X.SelectionRequest: SelectionRequest, | |
X.SelectionNotify: SelectionNotify, | |
X.ColormapNotify: ColormapNotify, | |
X.ClientMessage: ClientMessage, | |
X.MappingNotify: MappingNotify, | |
} | |