Sponsored Content
Top Forums Programming Xlib mouse events and ButtonPressMask Post 302375193 by abhinav.zoso on Friday 27th of November 2009 01:12:48 AM
Old 11-27-2009
Xlib mouse events and ButtonPressMask

I have written a simple program which will report key press and release events for a particular window. In my case, it is mostly the terminal since I invoke the program from the terminal. I am able to get the key press and release events taking place in the terminal window (I have used XSelectInput() with KeyPressMask and KeyReleaseMask on the terminal) but the same is not working with ButtonPress and ButtonRelease. Not just these, but any events related to the mouse are not being reported. Any idea why this is happening?

Code:
#include
#include
#include
#include
#include
#include

int main() {
Display *display = XOpenDisplay(NULL);
KeySym k;
int revert_to;
Window window;
XEvent event;

XGetInputFocus(display, &window, &revert_to);
XSelectInput(display, window, KeyPressMask | KeyReleaseMask | ButtonPressMask | ButtonReleaseMask);

while(1)
{
XNextEvent(display,&event);
switch (event.type) {

case KeyPress : printf("Key Pressed\n"); break;
case KeyRelease : printf("Key Released\n"); break;
case ButtonPress : printf("Button Pressed\n"); break;
case ButtonRelease : printf("Button Released\n"); break;
case EnterNotify : printf("Enter\n"); break;
}
}
XCloseDisplay(display);
return 0;
}

 

7 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Building a better mouse trap, or How many lines of code does it take to trap a mouse?

Hello all, I'm hoping to get a little insight from some of the wily veterans amongst you. I've written a script to check for new outgoing files to our vendors located on our ssl server. It seems to be working ok, but the final question here, will be one of logic, and/or a better way to... (4 Replies)
Discussion started by: mph
4 Replies

2. UNIX for Dummies Questions & Answers

Changing middle mouse button for pasting to right mouse button in cygwin rxvt

Hi, I'm using rxvt in Cygwin and I'm wondering how to change my mouse bindings from the middle button for pasting to the right button. The main reason why I want to do this is because my laptop doesn't have a middle mouse button. Thanks for any help! (2 Replies)
Discussion started by: sayeo
2 Replies

3. Programming

How to get capture input events from keyboard and mouse

Hi, Is there any way to capture/record the input events from keyboard, as well as from mouse using C. Thanks in advance (4 Replies)
Discussion started by: yhacks
4 Replies

4. UNIX for Advanced & Expert Users

xlib error

Hello! Im running tight VNC on Red Hat Enterprise Linux 4.0. How can I increase the number of X clients that I can run in a VNC session?I need to run aproximately 500 programs in one VNC session, but at this time I can only 236 -> i've tryed to launch 250 xclock's in background and when it... (3 Replies)
Discussion started by: karpoand
3 Replies

5. UNIX for Dummies Questions & Answers

Xlib Errors

Hi, I am handling user issues in my team. Users have their Unix session running on Citrix MFU. Recently, I was suppose to address a user issue which is as below: Gets the below error when tries to open nedit: Xlib: connection to ":165.0" refused by server Xlib: Client is not... (1 Reply)
Discussion started by: mspatil0037
1 Replies

6. UNIX for Advanced & Expert Users

xlib and keyboard events

1. If there's some better place where xlib experts hang out, please tell me. Despite an assiduous search, I could not find an xlib reflector. 2. My actual question: In an xterm, I want to grab and process all keyboard events in a program running inside the xterm. For example, with my program... (5 Replies)
Discussion started by: N7DR
5 Replies

7. Programming

Xlib registering

hey, Im new to the linux world. Lately, I have tried to create a glx window with xlib, making it a popup window(fullscreen) so I set override_redirect to true. Im happy with the removed borders, but apparantly, the application doesnt show up in the left bar in ubuntu, neither when I press alt... (4 Replies)
Discussion started by: thedardanius
4 Replies
XSetInputFocus(3X11)						     MIT X11R4						      XSetInputFocus(3X11)

Name
       XSetInputFocus, XGetInputFocus - control input focus

Syntax
       XSetInputFocus(display, focus, revert_to, time)
	  Display *display;
	  Window focus;
	  int revert_to;
	  Time time;

       XGetInputFocus(display, focus_return, revert_to_return)
	  Display *display;
	  Window *focus_return;
	  int *revert_to_return;

Arguments
       display	 Specifies the connection to the X server.

       focus	 Specifies the window, or

       focus_return
		 Returns the focus window, or

       revert_to Specifies where the input focus reverts to if the window becomes not viewable.  You can pass or

       revert_to_return
		 Returns the current focus state or

       time	 Specifies the time.  You can pass either a timestamp or

Description
       The function changes the input focus and the last-focus-change time.  It has no effect if the specified time is earlier than the current
       last-focus-change time or is later than the current X server time.  Otherwise, the last-focus-change time is set to the specified time is
       replaced by the current X server time).	causes the X server to generate and events.

       Depending on the focus argument, the following occurs:

       o    If focus is all keyboard events are discarded until a new focus window is set, and the revert_to argument is ignored.

       o    If focus is a window, it becomes the keyboard's focus window.  If a generated keyboard event would normally be reported to this window
	    or one of its inferiors, the event is reported as usual.  Otherwise, the event is reported relative to the focus window.

       o    If focus is the focus window is dynamically taken to be the root window of whatever screen the pointer is on at each keyboard event.
	    In this case, the revert_to argument is ignored.

       The specified focus window must be viewable at the time is called, or a error results.  If the focus window later becomes not viewable, the
       X server evaluates the revert_to argument to determine the new focus window as follows:

       o    If revert_to is the focus reverts to the parent (or the closest viewable ancestor), and the new revert_to value is taken to be

       o    If revert_to is or the focus reverts to or respectively.  When the focus reverts, the X server generates and events, but the last-
	    focus-change time is not affected.

       can generate and errors.

       The function returns the focus window and the current focus state.

Diagnostics
       Some numeric value falls outside the range of values accepted by the request.
		 Unless a specific range is specified for an argument, the full range defined by the argument's type is accepted. Any argument
		 defined as a set of alternatives can generate this error.

       A value for a Window argument does not name a defined Window.

See Also
       XWarpPointer(3X11)
       X Window System: The Complete Reference, Second Edition, Robert W. Scheifler and James Gettys

															      XSetInputFocus(3X11)
All times are GMT -4. The time now is 05:12 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy