Sujet : Re: How to simulate a 'shift click'
De : gay (at) *nospam* sfuu.ca (Ian)
Groupes : comp.lang.tclDate : 25. Aug 2024, 17:11:31
Autres entêtes
Organisation : To protect and to server
Message-ID : <vafl3j$24vu0$1@paganini.bofh.team>
References : 1
User-Agent : KNode/0.10.9
Helmut Giese wrote:
Hello out there,
I can simulate a simple click but fail at a 'shift click'.
Below is what I tried:
---
package require Tk
foreach ch [winfo children "."] {destroy $ch}
# create a test app
set btn [ttk::button .btn -text "Press me"]
pack $btn
# add some bindings
bind $btn <Button-1> {puts "Simple click"}
bind $btn <Shift-Button-1> {puts "Shift click"}
focus $btn
set x [winfo x $btn] ; set y [winfo y $btn]
# place the mouse
event generate "." <Motion> -x [incr x 50] -y [incr y 10] -warp 1
event generate $btn <ButtonPress-1>
after 100 ; event generate $btn <ButtonRelease-1>
# now a 'shift click'
if 1 {
event generate $btn <KeyPress> -keysym Shift_L
} else {
event generate $btn <Key-Shift_L>
}
event generate $btn <ButtonPress-1>
after 100 ; event generate $btn <ButtonRelease-1>
event generate $btn <KeyRelease> -keysym Shift_L
---
All I ever get is twice 'Simple click' - no matter whether I use
<Key-Shift_L> or the longer form, wether I generate the keypress for
$btn or ".". I am out of ideas what to try next.
Any help will be greatly appreciated
Helmut.
PS: This is on Windows with Tcl 8.6.10
Have you tried using the -state parameter to event generate?
-- *********** To reply by e-mail, make w single in address **************