История изменений
Исправление Zubok, (текущая версия) :
Удобно было бы сразу на все подписаться и не отписываться.
Я вот сейчас лезть не хочу, но можно в core protocol подписаться на все варианты. Просто все биты в маске установить. Вот XCB эти биты перечисляет:
<enum name="EventMask">
<item name="NoEvent"> <value>0</value></item>
<item name="KeyPress"> <bit>0</bit></item>
<item name="KeyRelease"> <bit>1</bit></item>
<item name="ButtonPress"> <bit>2</bit></item>
<item name="ButtonRelease"> <bit>3</bit></item>
<item name="EnterWindow"> <bit>4</bit></item>
<item name="LeaveWindow"> <bit>5</bit></item>
<item name="PointerMotion"> <bit>6</bit></item>
<item name="PointerMotionHint"> <bit>7</bit></item>
<item name="Button1Motion"> <bit>8</bit></item>
<item name="Button2Motion"> <bit>9</bit></item>
<item name="Button3Motion"> <bit>10</bit></item>
<item name="Button4Motion"> <bit>11</bit></item>
<item name="Button5Motion"> <bit>12</bit></item>
<item name="ButtonMotion"> <bit>13</bit></item>
<item name="KeymapState"> <bit>14</bit></item>
<item name="Exposure"> <bit>15</bit></item>
<item name="VisibilityChange"> <bit>16</bit></item>
<item name="StructureNotify"> <bit>17</bit></item>
<item name="ResizeRedirect"> <bit>18</bit></item>
<item name="SubstructureNotify"> <bit>19</bit></item>
<item name="SubstructureRedirect"><bit>20</bit></item>
<item name="FocusChange"> <bit>21</bit></item>
<item name="PropertyChange"> <bit>22</bit></item>
<item name="ColorMapChange"> <bit>23</bit></item>
<item name="OwnerGrabButton"> <bit>24</bit></item>
</enum>
То есть маска 0x1fff получается вроде. Но мне кажется, что это плохой стиль - лезть на низкий уровень. Лучще OR всем маскам из библиотеки xlib/xcb сделать и сделать составную маску.
Исходная версия Zubok, :
Удобно было бы сразу на все подписаться и не отписываться.
Я вот сейчас лезть не хочу, но можно в core protocol подписаться на все варианты. Просто все биты в маске установить. Вот XCB эти биты перечисляет:
<enum name="EventMask">
<item name="NoEvent"> <value>0</value></item>
<item name="KeyPress"> <bit>0</bit></item>
<item name="KeyRelease"> <bit>1</bit></item>
<item name="ButtonPress"> <bit>2</bit></item>
<item name="ButtonRelease"> <bit>3</bit></item>
<item name="EnterWindow"> <bit>4</bit></item>
<item name="LeaveWindow"> <bit>5</bit></item>
<item name="PointerMotion"> <bit>6</bit></item>
<item name="PointerMotionHint"> <bit>7</bit></item>
<item name="Button1Motion"> <bit>8</bit></item>
<item name="Button2Motion"> <bit>9</bit></item>
<item name="Button3Motion"> <bit>10</bit></item>
<item name="Button4Motion"> <bit>11</bit></item>
<item name="Button5Motion"> <bit>12</bit></item>
<item name="ButtonMotion"> <bit>13</bit></item>
<item name="KeymapState"> <bit>14</bit></item>
<item name="Exposure"> <bit>15</bit></item>
<item name="VisibilityChange"> <bit>16</bit></item>
<item name="StructureNotify"> <bit>17</bit></item>
<item name="ResizeRedirect"> <bit>18</bit></item>
<item name="SubstructureNotify"> <bit>19</bit></item>
<item name="SubstructureRedirect"><bit>20</bit></item>
<item name="FocusChange"> <bit>21</bit></item>
<item name="PropertyChange"> <bit>22</bit></item>
<item name="ColorMapChange"> <bit>23</bit></item>
<item name="OwnerGrabButton"> <bit>24</bit></item>
</enum>
То есть маска 0x1fff получается вроде. Но мне кажется, что это плохой стиль - лезть на низкий уровень. Лучще OR всем маскам из протокола сделать и сделать составную маску.