ECORE_CHECK_X_EXTENSION([Xrender], [Xrender.h], [Xrender], [XRenderFindVisualFormat])
ECORE_CHECK_X_EXTENSION([Xtest], [XTest.h], [Xtst], [XTestFakeKeyEvent])
ECORE_CHECK_X_EXTENSION([Xss], [scrnsaver.h], [Xss], [XScreenSaverSelectInput])
+ ECORE_CHECK_X_EXTENSION([Xi2], [XInput2.h], [Xi], [XIQueryDevice])
- ecore_x_libs_private="${Xcursor_libs} ${XKB_LIBS} ${XCOMPOSITE_LIBS} ${XDAMAGE_LIBS} ${XDPMS_LIBS} ${XFIXES_LIBS} ${XINERAMA_LIBS} ${XPRINT_LIBS} ${XRANDR_LIBS} ${XRENDER_LIBS} ${XTEST_LIBS} ${XSS_LIBS} "
+ ecore_x_libs_private="${Xcursor_libs} ${XKB_LIBS} ${XCOMPOSITE_LIBS} ${XDAMAGE_LIBS} ${XDPMS_LIBS} ${XFIXES_LIBS} ${XINERAMA_LIBS} ${XPRINT_LIBS} ${XRANDR_LIBS} ${XRENDER_LIBS} ${XTEST_LIBS} ${XSS_LIBS} ${XI2_LIBS}"
AC_DEFINE(HAVE_ECORE_X_XLIB, 1, [Defined to 1 if Xlib is enabled.])
have_x="yes"
echo " Xdpms......................: $use_xdpms"
echo " Xtest......................: $use_xtest"
echo " XIM........................: $want_xim"
+ echo " Xi2........................: $use_xi2"
fi
else
echo " Ecore_X......................: $have_ecore_x"
msgstr ""
"Project-Id-Version: ecore\n"
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2009-10-28 11:13+1100\n"
+"POT-Creation-Date: 2010-01-16 17:27+0800\n"
"PO-Revision-Date: 2009-10-27 19:35+0100\n"
"Last-Translator: quaker66 <quaker66@gmail.com>\n"
"Language-Team: cs <quaker66@gmail.com>\n"
msgid "ERROR: unknown option -%c.\n"
msgstr "CHYBA: neznámá volba -%c.\n"
-#: src/lib/ecore/ecore_getopt.c:762
+#: src/lib/ecore/ecore_getopt.c:761
msgid "ERROR: "
msgstr "CHYBA: "
-#: src/lib/ecore/ecore_getopt.c:839 src/lib/ecore/ecore_getopt.c:955
-#: src/lib/ecore/ecore_getopt.c:968 src/lib/ecore/ecore_getopt.c:980
-#: src/lib/ecore/ecore_getopt.c:994 src/lib/ecore/ecore_getopt.c:1038
-#: src/lib/ecore/ecore_getopt.c:1147 src/lib/ecore/ecore_getopt.c:1184
+#: src/lib/ecore/ecore_getopt.c:838 src/lib/ecore/ecore_getopt.c:954
+#: src/lib/ecore/ecore_getopt.c:967 src/lib/ecore/ecore_getopt.c:979
+#: src/lib/ecore/ecore_getopt.c:993 src/lib/ecore/ecore_getopt.c:1037
+#: src/lib/ecore/ecore_getopt.c:1146 src/lib/ecore/ecore_getopt.c:1183
msgid "value has no pointer set.\n"
msgstr "hodnota nemá nastaven pointer.\n"
-#: src/lib/ecore/ecore_getopt.c:868 src/lib/ecore/ecore_getopt.c:1058
+#: src/lib/ecore/ecore_getopt.c:867 src/lib/ecore/ecore_getopt.c:1057
#, c-format
msgid "unknown boolean value %s.\n"
msgstr "neznámá boolean hodnota %s.\n"
-#: src/lib/ecore/ecore_getopt.c:912 src/lib/ecore/ecore_getopt.c:1138
+#: src/lib/ecore/ecore_getopt.c:911 src/lib/ecore/ecore_getopt.c:1137
#, c-format
msgid "invalid number format %s\n"
msgstr "neznámý číselný formát %s\n"
-#: src/lib/ecore/ecore_getopt.c:1007
+#: src/lib/ecore/ecore_getopt.c:1006
#, c-format
msgid "invalid choice \"%s\". Valid values are: "
msgstr "neznámá volba \"%s\". Možné hodnoty jsou: "
-#: src/lib/ecore/ecore_getopt.c:1032
+#: src/lib/ecore/ecore_getopt.c:1031
msgid "missing parameter to append.\n"
msgstr "chybějící parametr k připojení.\n"
-#: src/lib/ecore/ecore_getopt.c:1128
+#: src/lib/ecore/ecore_getopt.c:1127
msgid "could not parse value.\n"
msgstr "nemůžu parsovat hodnotu.\n"
-#: src/lib/ecore/ecore_getopt.c:1177
+#: src/lib/ecore/ecore_getopt.c:1176
msgid "missing parameter.\n"
msgstr "chybějící parametr.\n"
-#: src/lib/ecore/ecore_getopt.c:1191
+#: src/lib/ecore/ecore_getopt.c:1190
msgid "missing callback function!\n"
msgstr "chybějící callback funkce!\n"
-#: src/lib/ecore/ecore_getopt.c:1214
+#: src/lib/ecore/ecore_getopt.c:1213
msgid "no version was defined.\n"
msgstr "nebyla definována verze.\n"
-#: src/lib/ecore/ecore_getopt.c:1228
+#: src/lib/ecore/ecore_getopt.c:1227
msgid "no copyright was defined.\n"
msgstr "nebyl definován copyright.\n"
-#: src/lib/ecore/ecore_getopt.c:1242
+#: src/lib/ecore/ecore_getopt.c:1241
msgid "no license was defined.\n"
msgstr "nebyla definována licence.\n"
-#: src/lib/ecore/ecore_getopt.c:1296
+#: src/lib/ecore/ecore_getopt.c:1295
#, c-format
msgid "ERROR: unknown option --%s, ignored.\n"
msgstr "CHYBA: neznámá volba --%s, ignoruji.\n"
-#: src/lib/ecore/ecore_getopt.c:1329
+#: src/lib/ecore/ecore_getopt.c:1328
#, c-format
msgid "ERROR: option --%s requires an argument!\n"
msgstr "CHYBA: volba --%s vyžaduje argument!\n"
-#: src/lib/ecore/ecore_getopt.c:1365
+#: src/lib/ecore/ecore_getopt.c:1364
#, c-format
msgid "ERROR: unknown option -%c, ignored.\n"
msgstr "CHYBA: neznámá volba -%c, ignoruji.\n"
-#: src/lib/ecore/ecore_getopt.c:1403
+#: src/lib/ecore/ecore_getopt.c:1402
#, c-format
msgid "ERROR: option -%c requires an argument!\n"
msgstr "CHYBA: volba -%c vyžaduje argument!\n"
-#: src/lib/ecore/ecore_getopt.c:1606
+#: src/lib/ecore/ecore_getopt.c:1605
msgid "ERROR: no parser provided.\n"
msgstr "CHYBA: nebyl poskytnut parser.\n"
-#: src/lib/ecore/ecore_getopt.c:1611
+#: src/lib/ecore/ecore_getopt.c:1610
msgid "ERROR: no values provided.\n"
msgstr "CHYBA: nebyly poskytnuty hodnoty.\n"
-#: src/lib/ecore/ecore_getopt.c:1620
+#: src/lib/ecore/ecore_getopt.c:1619
msgid "ERROR: no arguments provided.\n"
msgstr "CHYBA: nebyly poskytnuty argumenty.\n"
-#: src/lib/ecore/ecore_getopt.c:1646
+#: src/lib/ecore/ecore_getopt.c:1645
msgid "ERROR: invalid options found."
msgstr "CHYBA: nalezeny neplatné volby."
-#: src/lib/ecore/ecore_getopt.c:1652
+#: src/lib/ecore/ecore_getopt.c:1651
#, c-format
msgid " See --%s.\n"
msgstr " viz. --%s.\n"
-#: src/lib/ecore/ecore_getopt.c:1654
+#: src/lib/ecore/ecore_getopt.c:1653
#, c-format
msgid " See -%c.\n"
msgstr " viz. -%c.\n"
-#: src/lib/ecore/ecore_getopt.c:1691
+#: src/lib/ecore/ecore_getopt.c:1690
#, c-format
msgid "ERROR: incorrect geometry value '%s'\n"
msgstr "CHYBA: neplatná hodnota geometrie '%s'\n"
-#: src/lib/ecore/ecore_getopt.c:1714
+#: src/lib/ecore/ecore_getopt.c:1713
#, c-format
msgid "ERROR: incorrect size value '%s'\n"
msgstr "CHYBA: neplatná hodnota velikosti '%s'\n"
msgstr ""
"Project-Id-Version: ecore 0.9.9.063-2\n"
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2009-10-28 11:13+1100\n"
+"POT-Creation-Date: 2010-01-16 17:27+0800\n"
"PO-Revision-Date: 2010-01-03 21:52+GMT\n"
"Last-Translator: Chris Leick <c.leick@vollbio.de>\n"
"Language-Team: German <debian-l10n-german@lists.debian.org>\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-
#: src/lib/ecore/ecore_getopt.c:73
msgid "Version:"
msgstr "Version:"
msgid "ERROR: unknown option -%c.\n"
msgstr "FEHLER: Unbekannte Option -%c\n"
-#: src/lib/ecore/ecore_getopt.c:762
+#: src/lib/ecore/ecore_getopt.c:761
msgid "ERROR: "
msgstr "FEHLER: "
-#: src/lib/ecore/ecore_getopt.c:839 src/lib/ecore/ecore_getopt.c:955
-#: src/lib/ecore/ecore_getopt.c:968 src/lib/ecore/ecore_getopt.c:980
-#: src/lib/ecore/ecore_getopt.c:994 src/lib/ecore/ecore_getopt.c:1038
-#: src/lib/ecore/ecore_getopt.c:1147 src/lib/ecore/ecore_getopt.c:1184
+#: src/lib/ecore/ecore_getopt.c:838 src/lib/ecore/ecore_getopt.c:954
+#: src/lib/ecore/ecore_getopt.c:967 src/lib/ecore/ecore_getopt.c:979
+#: src/lib/ecore/ecore_getopt.c:993 src/lib/ecore/ecore_getopt.c:1037
+#: src/lib/ecore/ecore_getopt.c:1146 src/lib/ecore/ecore_getopt.c:1183
msgid "value has no pointer set.\n"
msgstr "kein Zeiger auf Wert gesetzt\n"
-#: src/lib/ecore/ecore_getopt.c:868 src/lib/ecore/ecore_getopt.c:1058
+#: src/lib/ecore/ecore_getopt.c:867 src/lib/ecore/ecore_getopt.c:1057
#, c-format
msgid "unknown boolean value %s.\n"
msgstr "unbekannter boolescher Wert %s\n"
-#: src/lib/ecore/ecore_getopt.c:912 src/lib/ecore/ecore_getopt.c:1138
+#: src/lib/ecore/ecore_getopt.c:911 src/lib/ecore/ecore_getopt.c:1137
#, c-format
msgid "invalid number format %s\n"
msgstr "ungültiges Zahlenformat %s\n"
-#: src/lib/ecore/ecore_getopt.c:1007
+#: src/lib/ecore/ecore_getopt.c:1006
#, c-format
msgid "invalid choice \"%s\". Valid values are: "
msgstr "ungültige Auswahl »%s«. Gültige Werte sind: "
-#: src/lib/ecore/ecore_getopt.c:1032
+#: src/lib/ecore/ecore_getopt.c:1031
msgid "missing parameter to append.\n"
msgstr "fehlender Parameter zum Anhängen\n"
-#: src/lib/ecore/ecore_getopt.c:1128
+#: src/lib/ecore/ecore_getopt.c:1127
msgid "could not parse value.\n"
msgstr "Wert kann nicht ausgewertet werden\n"
-#: src/lib/ecore/ecore_getopt.c:1177
+#: src/lib/ecore/ecore_getopt.c:1176
msgid "missing parameter.\n"
msgstr "fehlender Parameter\n"
-#: src/lib/ecore/ecore_getopt.c:1191
+#: src/lib/ecore/ecore_getopt.c:1190
msgid "missing callback function!\n"
msgstr "fehlende Rückruffunktion!\n"
-#: src/lib/ecore/ecore_getopt.c:1214
+#: src/lib/ecore/ecore_getopt.c:1213
msgid "no version was defined.\n"
msgstr "es wurde keine Version definiert.\n"
-#: src/lib/ecore/ecore_getopt.c:1228
+#: src/lib/ecore/ecore_getopt.c:1227
msgid "no copyright was defined.\n"
msgstr "es wurde kein Copyright definiert.\n"
-#: src/lib/ecore/ecore_getopt.c:1242
+#: src/lib/ecore/ecore_getopt.c:1241
msgid "no license was defined.\n"
msgstr "es wurde keine Lizenz definiert.\n"
-#: src/lib/ecore/ecore_getopt.c:1296
+#: src/lib/ecore/ecore_getopt.c:1295
#, c-format
msgid "ERROR: unknown option --%s, ignored.\n"
msgstr "FEHLER: Unbekannte Option --%s, ignoriert\n"
-#: src/lib/ecore/ecore_getopt.c:1329
+#: src/lib/ecore/ecore_getopt.c:1328
#, c-format
msgid "ERROR: option --%s requires an argument!\n"
msgstr "FEHLER: Option --%s benötigt ein Argument!\n"
-#: src/lib/ecore/ecore_getopt.c:1365
+#: src/lib/ecore/ecore_getopt.c:1364
#, c-format
msgid "ERROR: unknown option -%c, ignored.\n"
msgstr "FEHLER: Unbekannte Option -%c, ignoriert\n"
-#: src/lib/ecore/ecore_getopt.c:1403
+#: src/lib/ecore/ecore_getopt.c:1402
#, c-format
msgid "ERROR: option -%c requires an argument!\n"
msgstr "FEHLER: Option -%c benötigt ein Argument!\n"
-#: src/lib/ecore/ecore_getopt.c:1606
+#: src/lib/ecore/ecore_getopt.c:1605
msgid "ERROR: no parser provided.\n"
msgstr "FEHLER: Kein Parser bereitgestellt\n"
-#: src/lib/ecore/ecore_getopt.c:1611
+#: src/lib/ecore/ecore_getopt.c:1610
msgid "ERROR: no values provided.\n"
msgstr "FEHLER: Keine Werte bereitgestellt\n"
-#: src/lib/ecore/ecore_getopt.c:1620
+#: src/lib/ecore/ecore_getopt.c:1619
msgid "ERROR: no arguments provided.\n"
msgstr "FEHLER: Keine Argumente bereitgestellt\n"
-#: src/lib/ecore/ecore_getopt.c:1646
+#: src/lib/ecore/ecore_getopt.c:1645
msgid "ERROR: invalid options found."
msgstr "FEHLER: Ungültige Optionen gefunden"
-#: src/lib/ecore/ecore_getopt.c:1652
+#: src/lib/ecore/ecore_getopt.c:1651
#, c-format
msgid " See --%s.\n"
msgstr " Siehe --%s\n"
-#: src/lib/ecore/ecore_getopt.c:1654
+#: src/lib/ecore/ecore_getopt.c:1653
#, c-format
msgid " See -%c.\n"
msgstr " Siehe -%c\n"
-#: src/lib/ecore/ecore_getopt.c:1691
+#: src/lib/ecore/ecore_getopt.c:1690
#, c-format
msgid "ERROR: incorrect geometry value '%s'\n"
msgstr "FEHLER: Falscher Geometriewert »%s«\n"
-#: src/lib/ecore/ecore_getopt.c:1714
+#: src/lib/ecore/ecore_getopt.c:1713
#, c-format
msgid "ERROR: incorrect size value '%s'\n"
msgstr "FEHLER: Falscher Größenwert »%s«\n"
msgstr ""
"Project-Id-Version: Ecore\n"
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2009-10-28 11:13+1100\n"
+"POT-Creation-Date: 2010-01-16 17:27+0800\n"
"PO-Revision-Date: 2009-12-15 00:56+0200\n"
+"Last-Translator: Giorgos Koutsikos <ragecryx@yahoo.gr>\n"
"Language-Team: Greek\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"Last-Translator: Giorgos Koutsikos <ragecryx@yahoo.gr>\n"
#: src/lib/ecore/ecore_getopt.c:73
msgid "Version:"
msgid "ERROR: unknown option -%c.\n"
msgstr "ΣΦΑΛΜΑ: άγνωστη παράμετρος -%c.\n"
-#: src/lib/ecore/ecore_getopt.c:762
+#: src/lib/ecore/ecore_getopt.c:761
msgid "ERROR: "
msgstr "ΣΦΑΛΜΑ:"
-#: src/lib/ecore/ecore_getopt.c:839
-#: src/lib/ecore/ecore_getopt.c:955
-#: src/lib/ecore/ecore_getopt.c:968
-#: src/lib/ecore/ecore_getopt.c:980
-#: src/lib/ecore/ecore_getopt.c:994
-#: src/lib/ecore/ecore_getopt.c:1038
-#: src/lib/ecore/ecore_getopt.c:1147
-#: src/lib/ecore/ecore_getopt.c:1184
+#: src/lib/ecore/ecore_getopt.c:838 src/lib/ecore/ecore_getopt.c:954
+#: src/lib/ecore/ecore_getopt.c:967 src/lib/ecore/ecore_getopt.c:979
+#: src/lib/ecore/ecore_getopt.c:993 src/lib/ecore/ecore_getopt.c:1037
+#: src/lib/ecore/ecore_getopt.c:1146 src/lib/ecore/ecore_getopt.c:1183
msgid "value has no pointer set.\n"
msgstr "η τιμή δεν έχει δείκτη ορισμένο.\n"
-#: src/lib/ecore/ecore_getopt.c:868
-#: src/lib/ecore/ecore_getopt.c:1058
+#: src/lib/ecore/ecore_getopt.c:867 src/lib/ecore/ecore_getopt.c:1057
#, c-format
msgid "unknown boolean value %s.\n"
msgstr "άγνωστη τιμή boolean %s.\n"
-#: src/lib/ecore/ecore_getopt.c:912
-#: src/lib/ecore/ecore_getopt.c:1138
+#: src/lib/ecore/ecore_getopt.c:911 src/lib/ecore/ecore_getopt.c:1137
#, c-format
msgid "invalid number format %s\n"
msgstr "άγνωστη μορφή αριθμού %s\n"
-#: src/lib/ecore/ecore_getopt.c:1007
+#: src/lib/ecore/ecore_getopt.c:1006
#, c-format
msgid "invalid choice \"%s\". Valid values are: "
msgstr "μη-έγκυρη επιλογή \"%s\". Οι τιμές είναι: "
-#: src/lib/ecore/ecore_getopt.c:1032
+#: src/lib/ecore/ecore_getopt.c:1031
msgid "missing parameter to append.\n"
msgstr "ελλιπής παράμετρος προς επισύναψη.\n"
-#: src/lib/ecore/ecore_getopt.c:1128
+#: src/lib/ecore/ecore_getopt.c:1127
msgid "could not parse value.\n"
msgstr ""
-#: src/lib/ecore/ecore_getopt.c:1177
+#: src/lib/ecore/ecore_getopt.c:1176
msgid "missing parameter.\n"
msgstr "ελλιπής παράμετρος.\n"
-#: src/lib/ecore/ecore_getopt.c:1191
+#: src/lib/ecore/ecore_getopt.c:1190
msgid "missing callback function!\n"
msgstr ""
-#: src/lib/ecore/ecore_getopt.c:1214
+#: src/lib/ecore/ecore_getopt.c:1213
msgid "no version was defined.\n"
msgstr "δεν έχει οριστεί έκδοση.\n"
-#: src/lib/ecore/ecore_getopt.c:1228
+#: src/lib/ecore/ecore_getopt.c:1227
msgid "no copyright was defined.\n"
msgstr "δεν έχουν οριστεί πνευματικά δικαιώματα.\n"
-#: src/lib/ecore/ecore_getopt.c:1242
+#: src/lib/ecore/ecore_getopt.c:1241
msgid "no license was defined.\n"
msgstr "δεν έχει οριστεί άδεια.\n"
-#: src/lib/ecore/ecore_getopt.c:1296
+#: src/lib/ecore/ecore_getopt.c:1295
#, c-format
msgid "ERROR: unknown option --%s, ignored.\n"
msgstr ""
-#: src/lib/ecore/ecore_getopt.c:1329
+#: src/lib/ecore/ecore_getopt.c:1328
#, c-format
msgid "ERROR: option --%s requires an argument!\n"
msgstr ""
-#: src/lib/ecore/ecore_getopt.c:1365
+#: src/lib/ecore/ecore_getopt.c:1364
#, c-format
msgid "ERROR: unknown option -%c, ignored.\n"
msgstr ""
-#: src/lib/ecore/ecore_getopt.c:1403
+#: src/lib/ecore/ecore_getopt.c:1402
#, c-format
msgid "ERROR: option -%c requires an argument!\n"
msgstr ""
-#: src/lib/ecore/ecore_getopt.c:1606
+#: src/lib/ecore/ecore_getopt.c:1605
msgid "ERROR: no parser provided.\n"
msgstr ""
-#: src/lib/ecore/ecore_getopt.c:1611
+#: src/lib/ecore/ecore_getopt.c:1610
msgid "ERROR: no values provided.\n"
msgstr ""
-#: src/lib/ecore/ecore_getopt.c:1620
+#: src/lib/ecore/ecore_getopt.c:1619
msgid "ERROR: no arguments provided.\n"
msgstr ""
-#: src/lib/ecore/ecore_getopt.c:1646
+#: src/lib/ecore/ecore_getopt.c:1645
msgid "ERROR: invalid options found."
msgstr ""
-#: src/lib/ecore/ecore_getopt.c:1652
+#: src/lib/ecore/ecore_getopt.c:1651
#, c-format
msgid " See --%s.\n"
msgstr " Δες --%s.\n"
-#: src/lib/ecore/ecore_getopt.c:1654
+#: src/lib/ecore/ecore_getopt.c:1653
#, c-format
msgid " See -%c.\n"
msgstr " Δες -%c.\n"
-#: src/lib/ecore/ecore_getopt.c:1691
+#: src/lib/ecore/ecore_getopt.c:1690
#, c-format
msgid "ERROR: incorrect geometry value '%s'\n"
msgstr ""
-#: src/lib/ecore/ecore_getopt.c:1714
+#: src/lib/ecore/ecore_getopt.c:1713
#, c-format
msgid "ERROR: incorrect size value '%s'\n"
msgstr ""
#~ msgstr ""
#~ "\n"
#~ " "
+
#~ msgid "true"
#~ msgstr "true"
+
#~ msgid "false"
#~ msgstr "false"
+
#~ msgid "f"
#~ msgstr "f"
+
#~ msgid "no"
#~ msgstr "no"
+
#~ msgid "off"
#~ msgstr "off"
+
#~ msgid "t"
#~ msgstr "t"
+
#~ msgid "yes"
#~ msgstr "yes"
+
#~ msgid "on"
#~ msgstr "on"
-
msgstr ""
"Project-Id-Version: Ecore\n"
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2009-10-28 11:13+1100\n"
+"POT-Creation-Date: 2010-01-16 17:27+0800\n"
"PO-Revision-Date: 2009-10-27 19:36+0100\n"
"Last-Translator: quaker66 <quaker66@gmail.com>\n"
"Language-Team: French <Enlightenment i18n French>\n"
msgid "ERROR: unknown option -%c.\n"
msgstr "ERREUR: option inconnue -%c.\n"
-#: src/lib/ecore/ecore_getopt.c:762
+#: src/lib/ecore/ecore_getopt.c:761
msgid "ERROR: "
msgstr "ERREUR:"
-#: src/lib/ecore/ecore_getopt.c:839 src/lib/ecore/ecore_getopt.c:955
-#: src/lib/ecore/ecore_getopt.c:968 src/lib/ecore/ecore_getopt.c:980
-#: src/lib/ecore/ecore_getopt.c:994 src/lib/ecore/ecore_getopt.c:1038
-#: src/lib/ecore/ecore_getopt.c:1147 src/lib/ecore/ecore_getopt.c:1184
+#: src/lib/ecore/ecore_getopt.c:838 src/lib/ecore/ecore_getopt.c:954
+#: src/lib/ecore/ecore_getopt.c:967 src/lib/ecore/ecore_getopt.c:979
+#: src/lib/ecore/ecore_getopt.c:993 src/lib/ecore/ecore_getopt.c:1037
+#: src/lib/ecore/ecore_getopt.c:1146 src/lib/ecore/ecore_getopt.c:1183
msgid "value has no pointer set.\n"
msgstr "la valeur n'a aucun pointeur défini.\n"
-#: src/lib/ecore/ecore_getopt.c:868 src/lib/ecore/ecore_getopt.c:1058
+#: src/lib/ecore/ecore_getopt.c:867 src/lib/ecore/ecore_getopt.c:1057
#, c-format
msgid "unknown boolean value %s.\n"
msgstr "valeur booléenne inconnue %s.\n"
-#: src/lib/ecore/ecore_getopt.c:912 src/lib/ecore/ecore_getopt.c:1138
+#: src/lib/ecore/ecore_getopt.c:911 src/lib/ecore/ecore_getopt.c:1137
#, c-format
msgid "invalid number format %s\n"
msgstr "format du nombre non valide %s\n"
-#: src/lib/ecore/ecore_getopt.c:1007
+#: src/lib/ecore/ecore_getopt.c:1006
#, c-format
msgid "invalid choice \"%s\". Valid values are: "
msgstr "choix non valide \"%s\". Les valeurs valides sont: "
-#: src/lib/ecore/ecore_getopt.c:1032
+#: src/lib/ecore/ecore_getopt.c:1031
msgid "missing parameter to append.\n"
msgstr "paramètre à ajouter manquant.\n"
-#: src/lib/ecore/ecore_getopt.c:1128
+#: src/lib/ecore/ecore_getopt.c:1127
msgid "could not parse value.\n"
msgstr "analyse de la valeur impossible.\n"
-#: src/lib/ecore/ecore_getopt.c:1177
+#: src/lib/ecore/ecore_getopt.c:1176
msgid "missing parameter.\n"
msgstr "paramètre manquant.\n"
-#: src/lib/ecore/ecore_getopt.c:1191
+#: src/lib/ecore/ecore_getopt.c:1190
msgid "missing callback function!\n"
msgstr "fonction de rappel manquante !\n"
-#: src/lib/ecore/ecore_getopt.c:1214
+#: src/lib/ecore/ecore_getopt.c:1213
msgid "no version was defined.\n"
msgstr "aucune version n'est définie.\n"
-#: src/lib/ecore/ecore_getopt.c:1228
+#: src/lib/ecore/ecore_getopt.c:1227
msgid "no copyright was defined.\n"
msgstr "aucun copyright n'est défini.\n"
-#: src/lib/ecore/ecore_getopt.c:1242
+#: src/lib/ecore/ecore_getopt.c:1241
msgid "no license was defined.\n"
msgstr "aucune licence n'est définie.\n"
-#: src/lib/ecore/ecore_getopt.c:1296
+#: src/lib/ecore/ecore_getopt.c:1295
#, c-format
msgid "ERROR: unknown option --%s, ignored.\n"
msgstr "ERREUR: option inconnue --%s, non prise en compte.\n"
-#: src/lib/ecore/ecore_getopt.c:1329
+#: src/lib/ecore/ecore_getopt.c:1328
#, c-format
msgid "ERROR: option --%s requires an argument!\n"
msgstr "ERREUR: l'option --%s requiert un argument !\n"
-#: src/lib/ecore/ecore_getopt.c:1365
+#: src/lib/ecore/ecore_getopt.c:1364
#, c-format
msgid "ERROR: unknown option -%c, ignored.\n"
msgstr "ERREUR: option inconnue -%c, non prise en compte.\n"
-#: src/lib/ecore/ecore_getopt.c:1403
+#: src/lib/ecore/ecore_getopt.c:1402
#, c-format
msgid "ERROR: option -%c requires an argument!\n"
msgstr "ERREUR: l'option -%c requiert un argument !\n"
-#: src/lib/ecore/ecore_getopt.c:1606
+#: src/lib/ecore/ecore_getopt.c:1605
msgid "ERROR: no parser provided.\n"
msgstr "ERREUR: aucun analyseur n'est fourni.\n"
-#: src/lib/ecore/ecore_getopt.c:1611
+#: src/lib/ecore/ecore_getopt.c:1610
msgid "ERROR: no values provided.\n"
msgstr "ERREUR: aucune valeur n'est fournie.\n"
-#: src/lib/ecore/ecore_getopt.c:1620
+#: src/lib/ecore/ecore_getopt.c:1619
msgid "ERROR: no arguments provided.\n"
msgstr "ERREUR: aucun argument n'est fourni.\n"
-#: src/lib/ecore/ecore_getopt.c:1646
+#: src/lib/ecore/ecore_getopt.c:1645
msgid "ERROR: invalid options found."
msgstr "ERREUR: options non valides détectées."
-#: src/lib/ecore/ecore_getopt.c:1652
+#: src/lib/ecore/ecore_getopt.c:1651
#, c-format
msgid " See --%s.\n"
msgstr " Voir --%s.\n"
-#: src/lib/ecore/ecore_getopt.c:1654
+#: src/lib/ecore/ecore_getopt.c:1653
#, c-format
msgid " See -%c.\n"
msgstr " Voir -%c.\n"
-#: src/lib/ecore/ecore_getopt.c:1691
+#: src/lib/ecore/ecore_getopt.c:1690
#, c-format
msgid "ERROR: incorrect geometry value '%s'\n"
msgstr "ERREUR: valeur géométrique incorrecte '%s'\n"
-#: src/lib/ecore/ecore_getopt.c:1714
+#: src/lib/ecore/ecore_getopt.c:1713
#, c-format
msgid "ERROR: incorrect size value '%s'\n"
msgstr "ERREUR: valeur de taille incorrecte '%s'\n"
msgstr ""
"Project-Id-Version: Ecore\n"
"Report-Msgid-Bugs-To: enlightenment-devel@lists.sourceforge.net\n"
-"POT-Creation-Date: 2009-10-28 11:13+1100\n"
+"POT-Creation-Date: 2010-01-16 17:27+0800\n"
"PO-Revision-Date: 2009-10-27 19:36+0100\n"
"Last-Translator: quaker66 <quaker66@gmail.com>\n"
"Language-Team: none\n"
msgid "ERROR: unknown option -%c.\n"
msgstr "ERRORE: opzione sconosciuta -%c.\n"
-#: src/lib/ecore/ecore_getopt.c:762
+#: src/lib/ecore/ecore_getopt.c:761
msgid "ERROR: "
msgstr "ERRORE:"
-#: src/lib/ecore/ecore_getopt.c:839 src/lib/ecore/ecore_getopt.c:955
-#: src/lib/ecore/ecore_getopt.c:968 src/lib/ecore/ecore_getopt.c:980
-#: src/lib/ecore/ecore_getopt.c:994 src/lib/ecore/ecore_getopt.c:1038
-#: src/lib/ecore/ecore_getopt.c:1147 src/lib/ecore/ecore_getopt.c:1184
+#: src/lib/ecore/ecore_getopt.c:838 src/lib/ecore/ecore_getopt.c:954
+#: src/lib/ecore/ecore_getopt.c:967 src/lib/ecore/ecore_getopt.c:979
+#: src/lib/ecore/ecore_getopt.c:993 src/lib/ecore/ecore_getopt.c:1037
+#: src/lib/ecore/ecore_getopt.c:1146 src/lib/ecore/ecore_getopt.c:1183
msgid "value has no pointer set.\n"
msgstr "il valore non ha puntatori impostati.\n"
-#: src/lib/ecore/ecore_getopt.c:868 src/lib/ecore/ecore_getopt.c:1058
+#: src/lib/ecore/ecore_getopt.c:867 src/lib/ecore/ecore_getopt.c:1057
#, c-format
msgid "unknown boolean value %s.\n"
msgstr "valore booleano sconosciuto %s.\n"
-#: src/lib/ecore/ecore_getopt.c:912 src/lib/ecore/ecore_getopt.c:1138
+#: src/lib/ecore/ecore_getopt.c:911 src/lib/ecore/ecore_getopt.c:1137
#, c-format
msgid "invalid number format %s\n"
msgstr "formato numero non valido %s\n"
-#: src/lib/ecore/ecore_getopt.c:1007
+#: src/lib/ecore/ecore_getopt.c:1006
#, c-format
msgid "invalid choice \"%s\". Valid values are: "
msgstr "scelta non valida \"%s\". I valori ammessi sono: "
-#: src/lib/ecore/ecore_getopt.c:1032
+#: src/lib/ecore/ecore_getopt.c:1031
msgid "missing parameter to append.\n"
msgstr "parametro da appendere mancante.\n"
-#: src/lib/ecore/ecore_getopt.c:1128
+#: src/lib/ecore/ecore_getopt.c:1127
msgid "could not parse value.\n"
msgstr "impossibile il parsing del valore.\n"
-#: src/lib/ecore/ecore_getopt.c:1177
+#: src/lib/ecore/ecore_getopt.c:1176
msgid "missing parameter.\n"
msgstr "parametro mancante.\n"
-#: src/lib/ecore/ecore_getopt.c:1191
+#: src/lib/ecore/ecore_getopt.c:1190
msgid "missing callback function!\n"
msgstr "funzione callback mancante!\n"
-#: src/lib/ecore/ecore_getopt.c:1214
+#: src/lib/ecore/ecore_getopt.c:1213
msgid "no version was defined.\n"
msgstr "nessuna versione definita.\n"
-#: src/lib/ecore/ecore_getopt.c:1228
+#: src/lib/ecore/ecore_getopt.c:1227
msgid "no copyright was defined.\n"
msgstr "nessun copyright definito.\n"
-#: src/lib/ecore/ecore_getopt.c:1242
+#: src/lib/ecore/ecore_getopt.c:1241
msgid "no license was defined.\n"
msgstr "nessuna licenza definita.\n"
-#: src/lib/ecore/ecore_getopt.c:1296
+#: src/lib/ecore/ecore_getopt.c:1295
#, c-format
msgid "ERROR: unknown option --%s, ignored.\n"
msgstr "ERRORE: opzione sconosciuta --%s, ignorata.\n"
-#: src/lib/ecore/ecore_getopt.c:1329
+#: src/lib/ecore/ecore_getopt.c:1328
#, c-format
msgid "ERROR: option --%s requires an argument!\n"
msgstr "ERRORE: l'opzione --%s richiede un argomento!\n"
-#: src/lib/ecore/ecore_getopt.c:1365
+#: src/lib/ecore/ecore_getopt.c:1364
#, c-format
msgid "ERROR: unknown option -%c, ignored.\n"
msgstr "ERRORE: opzione sconosciuta -%c, ignorata.\n"
-#: src/lib/ecore/ecore_getopt.c:1403
+#: src/lib/ecore/ecore_getopt.c:1402
#, c-format
msgid "ERROR: option -%c requires an argument!\n"
msgstr "ERRORE: l'opzione -%c richiede un argomento!\n"
-#: src/lib/ecore/ecore_getopt.c:1606
+#: src/lib/ecore/ecore_getopt.c:1605
msgid "ERROR: no parser provided.\n"
msgstr "ERRORE: nessun parser fornito.\n"
-#: src/lib/ecore/ecore_getopt.c:1611
+#: src/lib/ecore/ecore_getopt.c:1610
msgid "ERROR: no values provided.\n"
msgstr "ERRORE: nessun valore fornito.\n"
-#: src/lib/ecore/ecore_getopt.c:1620
+#: src/lib/ecore/ecore_getopt.c:1619
msgid "ERROR: no arguments provided.\n"
msgstr "ERRORE: nessun argomento fornito.\n"
-#: src/lib/ecore/ecore_getopt.c:1646
+#: src/lib/ecore/ecore_getopt.c:1645
msgid "ERROR: invalid options found."
msgstr "ERRORE: trovate opzioni non valide."
-#: src/lib/ecore/ecore_getopt.c:1652
+#: src/lib/ecore/ecore_getopt.c:1651
#, c-format
msgid " See --%s.\n"
msgstr " Vedere --%s.\n"
-#: src/lib/ecore/ecore_getopt.c:1654
+#: src/lib/ecore/ecore_getopt.c:1653
#, c-format
msgid " See -%c.\n"
msgstr " Vedere -%c.\n"
-#: src/lib/ecore/ecore_getopt.c:1691
+#: src/lib/ecore/ecore_getopt.c:1690
#, c-format
msgid "ERROR: incorrect geometry value '%s'\n"
msgstr "ERRORE: valore geometrico non corretto '%s'\n"
-#: src/lib/ecore/ecore_getopt.c:1714
+#: src/lib/ecore/ecore_getopt.c:1713
#, c-format
msgid "ERROR: incorrect size value '%s'\n"
msgstr "ERRORE: valore dimensione non corretto '%s'\n"
}
static void
+_ecore_evas_buffer_cb_multi_down(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info)
+{
+ Ecore_Evas *ee;
+ Evas_Event_Multi_Down *ev;
+ Evas_Coord x, y;
+
+ ee = data;
+ ev = event_info;
+ x = ev->canvas.x;
+ y = ev->canvas.y;
+ _ecore_evas_buffer_coord_translate(ee, &x, &y);
+ evas_event_feed_multi_down(ee->evas, ev->device, x, y, ev->radius, ev->radius_x, ev->radius_y, ev->flags, ev->timestamp, NULL);
+}
+
+static void
+_ecore_evas_buffer_cb_multi_up(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info)
+{
+ Ecore_Evas *ee;
+ Evas_Event_Multi_Up *ev;
+ Evas_Coord x, y;
+
+ ee = data;
+ ev = event_info;
+ x = ev->canvas.x;
+ y = ev->canvas.y;
+ _ecore_evas_buffer_coord_translate(ee, &x, &y);
+ evas_event_feed_multi_up(ee->evas, ev->device, x, y, ev->radius, ev->radius_x, ev->radius_y, ev->flags, ev->timestamp, NULL);
+}
+
+static void
+_ecore_evas_buffer_cb_multi_move(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info)
+{
+ Ecore_Evas *ee;
+ Evas_Event_Multi_Move *ev;
+ Evas_Coord x, y;
+
+ ee = data;
+ ev = event_info;
+ x = ev->cur.canvas.x;
+ y = ev->cur.canvas.y;
+ _ecore_evas_buffer_coord_translate(ee, &x, &y);
+ evas_event_feed_multi_move(ee->evas, ev->device, x, y, ev->radius, ev->radius_x, ev->radius_y, ev->timestamp, NULL);
+}
+
+static void
_ecore_evas_buffer_cb_free(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Ecore_Evas *ee;
EVAS_CALLBACK_MOUSE_WHEEL,
_ecore_evas_buffer_cb_mouse_wheel, ee);
evas_object_event_callback_add(ee->engine.buffer.image,
+ EVAS_CALLBACK_MULTI_DOWN,
+ _ecore_evas_buffer_cb_multi_down, ee);
+ evas_object_event_callback_add(ee->engine.buffer.image,
+ EVAS_CALLBACK_MULTI_UP,
+ _ecore_evas_buffer_cb_multi_up, ee);
+ evas_object_event_callback_add(ee->engine.buffer.image,
+ EVAS_CALLBACK_MULTI_MOVE,
+ _ecore_evas_buffer_cb_multi_move, ee);
+ evas_object_event_callback_add(ee->engine.buffer.image,
EVAS_CALLBACK_FREE,
_ecore_evas_buffer_cb_free, ee);
evas_object_event_callback_add(ee->engine.buffer.image,
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
ecore_x_window_shape_mask_set(ee->prop.window, 0);
+ ecore_x_input_multi_select(ee->prop.window);
ecore_event_window_register(ee->prop.window, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
if (ee->prop.borderless)
ecore_x_mwm_borderless_set(ee->prop.window, ee->prop.borderless);
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
ecore_x_window_shape_mask_set(ee->prop.window, 0);
+ ecore_x_input_multi_select(ee->prop.window);
ecore_event_window_register(ee->prop.window, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
if (ee->prop.borderless)
ecore_x_mwm_borderless_set(ee->prop.window, ee->prop.borderless);
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
evas_damage_rectangle_add(ee->evas, 0, 0, ee->w, ee->h);
ecore_x_window_shape_mask_set(ee->prop.window, 0);
+ ecore_x_input_multi_select(ee->prop.window);
ecore_event_window_register(ee->prop.window, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
if (ee->prop.borderless)
ecore_x_mwm_borderless_set(ee->prop.window, ee->prop.borderless);
ee->engine.func->fn_render = _ecore_evas_x_render;
_ecore_evas_register(ee);
+ ecore_x_input_multi_select(ee->prop.window);
ecore_event_window_register(ee->prop.window, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
return ee;
}
{
*winp = win;
ee->engine.x.win_extra = eina_list_append(ee->engine.x.win_extra, winp);
+ ecore_x_input_multi_select(win);
ecore_event_window_register(win, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
}
}
ee->engine.func->fn_render = _ecore_evas_x_render;
_ecore_evas_register(ee);
+ ecore_x_input_multi_select(ee->prop.window);
ecore_event_window_register(ee->prop.window, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
# endif /* HAVE_ECORE_X_XCB */
ee->engine.func->fn_render = _ecore_evas_x_render;
_ecore_evas_register(ee);
+ ecore_x_input_multi_select(ee->prop.window);
ecore_event_window_register(ee->prop.window, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
return ee;
}
ee->engine.func->fn_render = _ecore_evas_x_render;
_ecore_evas_register(ee);
+ ecore_x_input_multi_select(ee->prop.window);
ecore_event_window_register(ee->prop.window, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
return ee;
}
{
*winp = win;
ee->engine.x.win_extra = eina_list_append(ee->engine.x.win_extra, winp);
+ ecore_x_input_multi_select(win);
ecore_event_window_register(win, ee, ee->evas, (Ecore_Event_Mouse_Move_Cb) _ecore_evas_mouse_move_process);
}
}
int x;
int y;
} root;
+
+ int device;
+ int radius;
+ int radius_x;
+ int radius_y;
};
typedef struct _Ecore_Event_Mouse_Wheel Ecore_Event_Mouse_Wheel;
int x;
int y;
} root;
+
+ int device;
+ int radius;
+ int radius_x;
+ int radius_y;
};
typedef struct _Ecore_Event_Mouse_IO Ecore_Event_Mouse_IO;
lookup = _ecore_event_window_match(e->window);
if (!lookup) return 1;
- ecore_event_evas_modifier_lock_update(lookup->evas, e->modifiers);
if (e->double_click) flags |= EVAS_BUTTON_DOUBLE_CLICK;
if (e->triple_click) flags |= EVAS_BUTTON_TRIPLE_CLICK;
- if (press == ECORE_DOWN)
- evas_event_feed_mouse_down(lookup->evas, e->buttons, flags, e->timestamp, NULL);
+ if (e->device == 0)
+ {
+ ecore_event_evas_modifier_lock_update(lookup->evas, e->modifiers);
+ if (press == ECORE_DOWN)
+ evas_event_feed_mouse_down(lookup->evas, e->buttons, flags, e->timestamp, NULL);
+ else
+ evas_event_feed_mouse_up(lookup->evas, e->buttons, flags, e->timestamp, NULL);
+ }
else
- evas_event_feed_mouse_up(lookup->evas, e->buttons, flags, e->timestamp, NULL);
+ {
+ // FIXME: multi-touch feed
+ }
return 1;
}
e = event;
lookup = _ecore_event_window_match(e->window);
if (!lookup) return 1;
- ecore_event_evas_modifier_lock_update(lookup->evas, e->modifiers);
- lookup->move_mouse(lookup->window, e->x, e->y, e->timestamp);
+ if (e->device == 0)
+ {
+ ecore_event_evas_modifier_lock_update(lookup->evas, e->modifiers);
+ lookup->move_mouse(lookup->window, e->x, e->y, e->timestamp);
+ }
+ else
+ {
+ // FIXME: multi-touch feed
+ }
return 1;
}
typedef Ecore_X_ID Ecore_X_Randr_Mode;
typedef unsigned short Ecore_X_Randr_Size_ID;
+typedef Ecore_X_ID Ecore_X_Device;
+
#ifdef __cplusplus
extern "C" {
#endif
EAPI void ecore_x_image_get(Ecore_X_Image *im, Ecore_X_Drawable draw, int x, int y, int sx, int sy, int w, int h);
EAPI void ecore_x_image_put(Ecore_X_Image *im, Ecore_X_Drawable draw, int x, int y, int sx, int sy, int w, int h);
EAPI void *ecore_x_image_data_get(Ecore_X_Image *im, int *bpl, int *rows, int *bpp);
+
+EAPI Eina_Bool ecore_x_input_multi_select(Ecore_X_Window win);
#ifdef __cplusplus
}
ecore_x_test.c \
ecore_x_atoms.c \
ecore_x_region.c \
-ecore_x_image.c
+ecore_x_image.c \
+ecore_x_xi2.c
libecore_x_xlib_la_LIBADD = \
@Xcursor_libs@ \
unsigned int event_window,
unsigned int window,
unsigned int root_win,
- int same_screen)
+ int same_screen,
+ int dev, int radx, int rady)
{
Ecore_Event_Mouse_Move *e;
Ecore_Event *event;
e->root.x = x_root;
e->root.y = y_root;
+ e->device = dev;
+ e->radius = (radx + rady) / 2;
+ e->radius_x = radx;
+ e->radius_y = rady;
+
event = ecore_event_add(ECORE_EVENT_MOUSE_MOVE, e, _ecore_x_event_free_mouse_move, NULL);
_ecore_x_event_last_time = timestamp;
unsigned int event_window,
unsigned int window,
unsigned int root_win,
- int same_screen)
+ int same_screen,
+ int dev, int radx, int rady)
{
Ecore_Event_Mouse_Button *e;
&& !e->double_click
&& !e->triple_click)
_ecore_x_mouse_up_count = 0;
+
+ e->device = dev;
+ e->radius = (radx + rady) / 2;
+ e->radius_x = radx;
+ e->radius_y = rady;
_ecore_x_event_last_time = e->timestamp;
_ecore_x_event_last_win = e->window;
return e;
}
+#ifdef ECORE_XI2
+extern int _ecore_x_xi2_opcode;
+#endif
+
void
_ecore_x_event_handle_any_event(XEvent *xevent)
{
memcpy(ev, xevent, sizeof(XEvent));
ecore_event_add(ECORE_X_EVENT_ANY, ev, NULL, NULL);
+
+#ifdef ECORE_XI2
+ if (xevent->xcookie.type == GenericEvent &&
+ xevent->xcookie.extension == opcode)
+ {
+ if (XGetEventData(_ecore_x_disp &(xevent->xcookie)))
+ {
+ XIDeviceEvent* evd = (XIDeviceEvent *)(xevent->xcookie.data);
+ int devid = evd->deviceid;
+
+ //printf("deviceID = %d\n", devid);
+ switch (xevent->xcookie.evtype)
+ {
+ case XI_Motion:
+ _ecore_mouse_move
+ (xevent->xcookie.time, // ???
+ 0, // state
+ evd->event_x, evd->event_y,
+ evd->root_x, evd->root_y,
+ xevent->xcookie.window, // ???
+ (xevent->xbutton.subwindow ? xevent->xbutton.subwindow : xevent->xbutton.window), // ???
+ xevent->xcookie.root, // ???
+ xevent->xcookie.same_screen, // ???
+ devid, 1, 1);
+
+ //printf("motion\n");
+ printf("=");
+ break;
+ case XI_ButtonPress:
+ _ecore_mouse_button
+ (ECORE_EVENT_MOUSE_BUTTON_DOWN,
+ (xevent->xcookie.time, // ???
+ 0, // state
+ 0, // button
+ evd->event_x, evd->event_y,
+ evd->root_x, evd->root_y,
+ xevent->xcookie.window, // ???
+ (xevent->xbutton.subwindow ? xevent->xbutton.subwindow : xevent->xbutton.window), // ???
+ xevent->xcookie.root, // ???
+ xevent->xcookie.same_screen, // ???
+ devid, 1, 1);
+ //printf("abs X:%f Y:%f - ", evd->root_x, evd->root_y);
+ //printf("win X:%f Y:%f\n", evd->event_x, evd->event_y);
+ printf("[[");
+ break;
+ case XI_ButtonRelease:
+ _ecore_mouse_button
+ (ECORE_EVENT_MOUSE_BUTTON_UP,
+ (xevent->xcookie.time, // ???
+ 0, // state
+ 0, // button
+ evd->event_x, evd->event_y,
+ evd->root_x, evd->root_y,
+ xevent->xcookie.window, // ???
+ (xevent->xbutton.subwindow ? xevent->xbutton.subwindow : xevent->xbutton.window), // ???
+ xevent->xcookie.root, // ???
+ xevent->xcookie.same_screen, // ???
+ devid, 1, 1);
+ //printf("unclick\n");
+ printf("]]\n");
+ break;
+ }
+ }
+ }
+ XFreeEventData(_ecore_x_disp &(xevent->xcookie));
+#endif
}
void
xevent->xbutton.window,
(xevent->xbutton.subwindow ? xevent->xbutton.subwindow : xevent->xbutton.window),
xevent->xbutton.root,
- xevent->xbutton.same_screen);
+ xevent->xbutton.same_screen, 0, 1, 1);
}
{
Ecore_Event_Mouse_Button *e;
xevent->xbutton.x, xevent->xbutton.y,
xevent->xbutton.x_root, xevent->xbutton.y_root,
event_window, window,
- xevent->xbutton.root, xevent->xbutton.same_screen);
+ xevent->xbutton.root, xevent->xbutton.same_screen,
+ 0, 1, 1);
if (e)
for (i = 0; i < _ecore_window_grabs_num; i++)
{
xevent->xbutton.window,
(xevent->xbutton.subwindow ? xevent->xbutton.subwindow : xevent->xbutton.window),
xevent->xbutton.root,
- xevent->xbutton.same_screen);
+ xevent->xbutton.same_screen, 0, 1, 1);
_ecore_mouse_button(ECORE_EVENT_MOUSE_BUTTON_UP,
xevent->xbutton.time, xevent->xbutton.state,
xevent->xbutton.window,
(xevent->xbutton.subwindow ? xevent->xbutton.subwindow : xevent->xbutton.window),
xevent->xbutton.root,
- xevent->xbutton.same_screen);
+ xevent->xbutton.same_screen,
+ 0, 1, 1);
}
}
xevent->xmotion.window,
(xevent->xmotion.subwindow ? xevent->xmotion.subwindow : xevent->xmotion.window),
xevent->xmotion.root,
- xevent->xmotion.same_screen);
+ xevent->xmotion.same_screen, 0, 1, 1);
_ecore_x_last_event_mouse_move = 1;
xevent->xcrossing.window,
(xevent->xcrossing.subwindow ? xevent->xcrossing.subwindow : xevent->xcrossing.window),
xevent->xcrossing.root,
- xevent->xcrossing.same_screen);
+ xevent->xcrossing.same_screen, 0, 1, 1);
}
{
Ecore_X_Event_Mouse_In *e;
xevent->xcrossing.window,
(xevent->xcrossing.subwindow ? xevent->xcrossing.subwindow : xevent->xcrossing.window),
xevent->xcrossing.root,
- xevent->xcrossing.same_screen);
+ xevent->xcrossing.same_screen, 0, 1, 1);
}
{
Ecore_X_Event_Mouse_Out *e;
#ifdef ECORE_XKB
#include <X11/XKBlib.h>
#endif
+#ifdef ECORE_XI2
+#include <X11/extensions/XInput2.h>
+#endif
#include "Ecore.h"
#include "ecore_private.h"
--- /dev/null
+/*
+ * vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
+ */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <string.h>
+
+#include "Ecore.h"
+#include "ecore_x_private.h"
+#include "Ecore_X.h"
+
+#ifdef ECORE_XI2
+int _ecore_x_xi2_opcode = -1;
+#endif
+
+EAPI Eina_Bool
+ecore_x_input_multi_select(Ecore_X_Window win)
+{
+#ifdef ECORE_XI2
+ int find = 0;
+ static int num;
+ static XIDeviceInfo *devs = NULL;
+ static int checked = 0;
+ static int check_ret = 1;
+
+ if (!checked)
+ {
+ int event, error;
+ int major = 2, minor = 0;
+
+ checked = 1;
+ if (!XQueryExtension(_ecore_x_disp, "XInputExtension",
+ &_ecore_x_xi2_opcode, &event, &error))
+ {
+ _ecore_x_xi2_opcode = -1;
+ check_ret = 0;
+ return 0;
+ }
+
+ if (XIQueryVersion(_ecore_x_disp, &major, &minor) == BadRequest)
+ {
+ _ecore_x_xi2_opcode = -1;
+ check_ret = 0;
+ return 0;
+ }
+ devs = XIQueryDevice(_ecore_x_disp, XIAllDevices, &num);
+// XIFreeDeviceInfo(devs);
+ }
+ else
+ {
+ if (!check_ret) return 0;
+ }
+
+ if (devs)
+ {
+ int i;
+
+ for (i = 0; i < num; i++)
+ {
+ XIDeviceInfo *dev = &(devs[i]);
+
+ if (dev->use == XIFloatingSlave)
+ {
+ XIEventMask eventmask;
+ unsigned char mask[1] = { 0 };
+
+ eventmask.deviceid = dev->deviceid;
+ eventmask.mask_len = sizeof(mask);
+ eventmask.mask = mask;
+ XISetMask(mask, XI_ButtonPress);
+ XISetMask(mask, XI_ButtonRelease);
+ XISetMask(mask, XI_Motion);
+ XISelectEvents(_ecore_x_disp, win, &eventmask, 1);
+ find = 1;
+ }
+ }
+ }
+
+ return find;
+#else
+ return 0;
+#endif
+}