EventMonitor.st
author Claus Gittinger <cg@exept.de>
Tue, 25 Jun 1996 21:48:47 +0200
changeset 640 7608b07af7bb
parent 433 703d84558f6f
child 1021 31349a9be7ac
permissions -rw-r--r--
show untranslated key as well
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
52
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
     1
"
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
     2
 COPYRIGHT (c) 1991 by Claus Gittinger
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
     3
	      All Rights Reserved
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
     4
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
     5
 This software is furnished under a license and may be used
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
     6
 only in accordance with the terms of that license and with the
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
     8
 be provided or otherwise made available to, or used by, any
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
     9
 other person.  No title to or ownership of the software is
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
    10
 hereby transferred.
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
    11
"
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
    12
19
4cde336c0794 Initial revision
claus
parents:
diff changeset
    13
StandardSystemView subclass:#EventMonitor
433
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    14
	instanceVariableNames:''
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    15
	classVariableNames:''
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    16
	poolDictionaries:''
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    17
	category:'Interface-Tools'
19
4cde336c0794 Initial revision
claus
parents:
diff changeset
    18
!
4cde336c0794 Initial revision
claus
parents:
diff changeset
    19
640
7608b07af7bb show untranslated key as well
Claus Gittinger <cg@exept.de>
parents: 433
diff changeset
    20
!EventMonitor  class methodsFor:'documentation'!
52
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
    21
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
    22
copyright
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
    23
"
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
    24
 COPYRIGHT (c) 1991 by Claus Gittinger
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
    25
	      All Rights Reserved
19
4cde336c0794 Initial revision
claus
parents:
diff changeset
    26
52
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
    27
 This software is furnished under a license and may be used
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
    28
 only in accordance with the terms of that license and with the
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
    29
 inclusion of the above copyright notice.   This software may not
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
    30
 be provided or otherwise made available to, or used by, any
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
    31
 other person.  No title to or ownership of the software is
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
    32
 hereby transferred.
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
    33
"
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
    34
!
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
    35
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
    36
documentation
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
    37
"
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
    38
    like xev - show events.
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
    39
    You can use this to check your keyboard mappings, for example.
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
    40
    start with: 
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
    41
	EventMonitor open
53
2fc78a0165e7 *** empty log message ***
claus
parents: 52
diff changeset
    42
    and watch the output on xterm.
52
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
    43
"
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
    44
! !
19
4cde336c0794 Initial revision
claus
parents:
diff changeset
    45
640
7608b07af7bb show untranslated key as well
Claus Gittinger <cg@exept.de>
parents: 433
diff changeset
    46
!EventMonitor  class methodsFor:'defaults'!
19
4cde336c0794 Initial revision
claus
parents:
diff changeset
    47
4cde336c0794 Initial revision
claus
parents:
diff changeset
    48
defaultExtent
4cde336c0794 Initial revision
claus
parents:
diff changeset
    49
    ^ 200 @ 200
4cde336c0794 Initial revision
claus
parents:
diff changeset
    50
!
4cde336c0794 Initial revision
claus
parents:
diff changeset
    51
4cde336c0794 Initial revision
claus
parents:
diff changeset
    52
defaultLabel
4cde336c0794 Initial revision
claus
parents:
diff changeset
    53
    ^ 'Event Monitor'
4cde336c0794 Initial revision
claus
parents:
diff changeset
    54
! !
4cde336c0794 Initial revision
claus
parents:
diff changeset
    55
4cde336c0794 Initial revision
claus
parents:
diff changeset
    56
!EventMonitor methodsFor:'events'!
4cde336c0794 Initial revision
claus
parents:
diff changeset
    57
433
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    58
buttonMotion:state x:x y:y
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    59
    'buttonMotion x:' print. x print. ' y:' print. y print.
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    60
    ' state:' print. state printNL
19
4cde336c0794 Initial revision
claus
parents:
diff changeset
    61
!
4cde336c0794 Initial revision
claus
parents:
diff changeset
    62
4cde336c0794 Initial revision
claus
parents:
diff changeset
    63
buttonPress:button x:x y:y
4cde336c0794 Initial revision
claus
parents:
diff changeset
    64
    'buttonPress x:' print. x print. ' y:' print. y print.
45
950b84ba89e6 *** empty log message ***
claus
parents: 19
diff changeset
    65
    ' button:' print. button printNL
19
4cde336c0794 Initial revision
claus
parents:
diff changeset
    66
!
4cde336c0794 Initial revision
claus
parents:
diff changeset
    67
4cde336c0794 Initial revision
claus
parents:
diff changeset
    68
buttonRelease:button x:x y:y
4cde336c0794 Initial revision
claus
parents:
diff changeset
    69
    'buttonRelease x:' print. x print. ' y:' print. y print.
45
950b84ba89e6 *** empty log message ***
claus
parents: 19
diff changeset
    70
    ' button:' print. button printNL
19
4cde336c0794 Initial revision
claus
parents:
diff changeset
    71
!
4cde336c0794 Initial revision
claus
parents:
diff changeset
    72
433
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    73
configureX:x y:y width:newWidth height:newHeight
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    74
    'configure x:' print. x print. ' y:' print. y print.
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    75
    ' width:' print. newWidth print. ' height:' print. newHeight printNL.
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    76
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    77
    ^ super configureX:x y:y width:newWidth height:newHeight
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    78
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    79
    "Modified: 7.3.1996 / 15:05:15 / cg"
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    80
!
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    81
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    82
focusIn
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    83
    'focusIn' printNL.
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    84
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    85
    "Created: 7.3.1996 / 15:06:18 / cg"
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    86
!
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    87
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    88
focusOut
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    89
    'focusOut' printNL.
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    90
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    91
    "Created: 7.3.1996 / 15:06:21 / cg"
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    92
!
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    93
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    94
keyPress:key x:x y:y
640
7608b07af7bb show untranslated key as well
Claus Gittinger <cg@exept.de>
parents: 433
diff changeset
    95
    |untranslatedKey|
7608b07af7bb show untranslated key as well
Claus Gittinger <cg@exept.de>
parents: 433
diff changeset
    96
433
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    97
    'KeyPress x:' print. x print. ' y:' print. y print.
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    98
    (key isMemberOf:Character) ifTrue:[
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
    99
        ' character key:' print. key print.
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   100
        ' (' print. key asciiValue print. ')' print
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   101
    ] ifFalse:[
640
7608b07af7bb show untranslated key as well
Claus Gittinger <cg@exept.de>
parents: 433
diff changeset
   102
        ' symbolic key:' print. key storeString print.
7608b07af7bb show untranslated key as well
Claus Gittinger <cg@exept.de>
parents: 433
diff changeset
   103
        untranslatedKey := device keyboardMap keyAtValue:key ifAbsent:key.
7608b07af7bb show untranslated key as well
Claus Gittinger <cg@exept.de>
parents: 433
diff changeset
   104
        untranslatedKey ~~ key ifTrue:[
7608b07af7bb show untranslated key as well
Claus Gittinger <cg@exept.de>
parents: 433
diff changeset
   105
            ' untranslated key:' print. untranslatedKey print
7608b07af7bb show untranslated key as well
Claus Gittinger <cg@exept.de>
parents: 433
diff changeset
   106
        ]
433
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   107
    ].
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   108
640
7608b07af7bb show untranslated key as well
Claus Gittinger <cg@exept.de>
parents: 433
diff changeset
   109
    '' printCR
433
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   110
!
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   111
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   112
keyRelease:key x:x y:y
640
7608b07af7bb show untranslated key as well
Claus Gittinger <cg@exept.de>
parents: 433
diff changeset
   113
    |untranslatedKey|
7608b07af7bb show untranslated key as well
Claus Gittinger <cg@exept.de>
parents: 433
diff changeset
   114
433
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   115
    'KeyRelease x:' print. x print. ' y:' print. y print.
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   116
    (key isMemberOf:Character) ifTrue:[
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   117
        ' character key:' print. key print.
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   118
        ' (' print. key asciiValue print. ')' print
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   119
    ] ifFalse:[
640
7608b07af7bb show untranslated key as well
Claus Gittinger <cg@exept.de>
parents: 433
diff changeset
   120
        ' symbolic key:' print. key storeString print.
7608b07af7bb show untranslated key as well
Claus Gittinger <cg@exept.de>
parents: 433
diff changeset
   121
        untranslatedKey := device keyboardMap keyAtValue:key ifAbsent:key.
7608b07af7bb show untranslated key as well
Claus Gittinger <cg@exept.de>
parents: 433
diff changeset
   122
        untranslatedKey ~~ key ifTrue:[
7608b07af7bb show untranslated key as well
Claus Gittinger <cg@exept.de>
parents: 433
diff changeset
   123
            ' untranslated key:' print. untranslatedKey print
7608b07af7bb show untranslated key as well
Claus Gittinger <cg@exept.de>
parents: 433
diff changeset
   124
        ]
433
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   125
    ].
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   126
640
7608b07af7bb show untranslated key as well
Claus Gittinger <cg@exept.de>
parents: 433
diff changeset
   127
    '' printCR
433
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   128
!
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   129
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   130
mapped
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   131
    'mapped' printNL
45
950b84ba89e6 *** empty log message ***
claus
parents: 19
diff changeset
   132
!
950b84ba89e6 *** empty log message ***
claus
parents: 19
diff changeset
   133
52
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
   134
pointerEnter:state x:x y:y
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
   135
    'pointerEnter x:' print. x print. ' y:' print. y print.
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
   136
    ' state:' print. state printNL
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
   137
!
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
   138
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
   139
pointerLeave:state 
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
   140
    'pointerLeave state:' print. state printNL
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
   141
!
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
   142
45
950b84ba89e6 *** empty log message ***
claus
parents: 19
diff changeset
   143
unmapped
950b84ba89e6 *** empty log message ***
claus
parents: 19
diff changeset
   144
    'unmapped' printNL
950b84ba89e6 *** empty log message ***
claus
parents: 19
diff changeset
   145
!
950b84ba89e6 *** empty log message ***
claus
parents: 19
diff changeset
   146
950b84ba89e6 *** empty log message ***
claus
parents: 19
diff changeset
   147
visibilityChange:how
433
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   148
    'visibilityChange:' print. how storeString printNL
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   149
! !
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   150
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   151
!EventMonitor methodsFor:'initialization'!
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   152
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   153
initialize
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   154
    |l|
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   155
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   156
    super initialize.
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   157
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   158
    l := Label label:'see event trace\on standard output' withCRs in:self.
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   159
    l borderWidth:0
19
4cde336c0794 Initial revision
claus
parents:
diff changeset
   160
! !
4cde336c0794 Initial revision
claus
parents:
diff changeset
   161
4cde336c0794 Initial revision
claus
parents:
diff changeset
   162
!EventMonitor methodsFor:'realization'!
4cde336c0794 Initial revision
claus
parents:
diff changeset
   163
4cde336c0794 Initial revision
claus
parents:
diff changeset
   164
initEvents
73
e332d9c71624 *** empty log message ***
claus
parents: 57
diff changeset
   165
"/    self enableButtonEvents.
e332d9c71624 *** empty log message ***
claus
parents: 57
diff changeset
   166
"/    self enableButtonMotionEvents.
19
4cde336c0794 Initial revision
claus
parents:
diff changeset
   167
    self enableMotionEvents.
45
950b84ba89e6 *** empty log message ***
claus
parents: 19
diff changeset
   168
    self enableKeyReleaseEvents.
52
7b48409ae088 *** empty log message ***
claus
parents: 45
diff changeset
   169
    self enableEnterLeaveEvents.
433
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   170
    self enableFocusEvents.
45
950b84ba89e6 *** empty log message ***
claus
parents: 19
diff changeset
   171
    self enableEvent:#visibilityChange
433
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   172
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   173
    "Modified: 7.3.1996 / 15:06:42 / cg"
19
4cde336c0794 Initial revision
claus
parents:
diff changeset
   174
! !
433
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   175
640
7608b07af7bb show untranslated key as well
Claus Gittinger <cg@exept.de>
parents: 433
diff changeset
   176
!EventMonitor  class methodsFor:'documentation'!
433
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   177
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   178
version
640
7608b07af7bb show untranslated key as well
Claus Gittinger <cg@exept.de>
parents: 433
diff changeset
   179
    ^ '$Header: /cvs/stx/stx/libtool/EventMonitor.st,v 1.12 1996-06-25 19:48:47 cg Exp $'
433
703d84558f6f also show config & focus events
Claus Gittinger <cg@exept.de>
parents: 165
diff changeset
   180
! !