3

Surface Pro 3 (Fedora; Kernel 4.28; Gnome 3.18, Gtk3) でダブルクリックが機能しません。2buttonGtk+ では、2 つの高速連続タップはイベントに変換されません。以下の小さな Python プログラムを参照してください。これは、通常のマウスまたはタッチ パッドで正常に動作します。

プログラムでわかるように、タップ距離ではなく、タップ時間に問題がないことを確認しました。この問題はどこから発生する可能性がありますか? GDK_TOUCH_MASK?

明確にするために、ボタンイベントは受信されますが、2buttonイベントに変換されることはありません

#!/usr/bin/python
import gi
gi.require_version('Gtk', '3.0')    
from gi.repository import Gtk, Gdk, GLib

class MyWindow(Gtk.Window):
    def __init__(self):
        Gtk.Window.__init__(self, title="Double Click Test")
        self.button = Gtk.Button.new_with_label("Double-click test\n\n")
        self.button.connect("button-press-event", self.test_button_clicked)
        self.button.connect("button-release-event", self.test_button_released)
        settings = Gtk.Settings.get_default()
        Gtk.Settings.set_property(settings,'gtk-double-click-distance',1000)
        print Gtk.Settings.get_property(settings,'gtk-double-click-distance')
        Gtk.Settings.set_property(settings,'gtk-double-click-time',1000)
        print Gtk.Settings.get_property(settings,'gtk-double-click-time')
        self.add(self.button)

    def test_button_clicked(self, widget, event):
      if event.type == Gdk.EventType._2BUTTON_PRESS:
        widget.set_label(("Success!"))
        GLib.timeout_add(1000, self.reset_test_button, widget)
      return True

    def test_button_released(self, widget, event):
      return True

    def reset_test_button(self, widget):
        widget.set_label(("Double-click test"))
        return False

win = MyWindow()
win.connect("delete-event", Gtk.main_quit)
win.show_all()
Gtk.main()
4

0 に答える 0