Mouse position in Linux kernel

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP

up vote
1
down vote

favorite

How I can get current mouse position (in coordinates {x,y}) in kernel space?

I use the following code, but it returns me x and y positions as 255.

Here is code:

#include <linux/module.h> 
#include <linux/jiffies.h> 
#include <linux/types.h> 
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/signal.h>
#include <linux/errno.h>
#include <linux/miscdevice.h>
#include <linux/random.h>
#include <linux/poll.h>
#include <linux/init.h>
#include <asm/spinlock.h>
#define OURMOUSE_MINOR 0 
#define OURMOUSE_BASE 0x300

MODULE_LICENSE("GPL");

struct file_operations our_mouse_fops = {
};

static struct miscdevice our_mouse = {
OURMOUSE_MINOR,
"ourmouse"
, &our_mouse_fops
};


int init_module(void)
{
misc_register(&our_mouse);

int delta_x = inb(OURMOUSE_BASE);
int delta_y = inb(OURMOUSE_BASE+1);

printk(KERN_INFO "module: position x %dn", delta_x);
printk(KERN_INFO "module: position y %dn", delta_y);
return 0;

}
void cleanup_module(void)
{
misc_deregister(&our_mouse);
}

share|improve this question

migrated from unix.stackexchange.com Nov 29 at 13:23

This question came from our site for users of Linux, FreeBSD and other Un*x-like operating systems.

  • I doubt that it will be possible.  Why do you believe that it is possible?  Do you believe that the mouse knows its position?  I suspect that only the window manager will have this information. … … … Also, wouldn’t you expect mouse coordinates to be two-byte quantities?
    – G-Man
    Nov 29 at 1:50

  • This very much looks like an XY question. What do you want to achieve (your X) by using a kernel module to read the mouse position (your Y)? In general, mouse movements will be available on the kernel input layer, and other modules can access this layer (as can userspace, via /dev/eventX). Also note that they may be many mice or similar devices (touchpads) attached to a single machine, there’s no “the mouse”. Also note that X (the graphical windows system) adds another translation layer to mouse events.
    – dirkt
    Nov 29 at 8:28

up vote
1
down vote

favorite

How I can get current mouse position (in coordinates {x,y}) in kernel space?

I use the following code, but it returns me x and y positions as 255.

Here is code:

#include <linux/module.h> 
#include <linux/jiffies.h> 
#include <linux/types.h> 
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/signal.h>
#include <linux/errno.h>
#include <linux/miscdevice.h>
#include <linux/random.h>
#include <linux/poll.h>
#include <linux/init.h>
#include <asm/spinlock.h>
#define OURMOUSE_MINOR 0 
#define OURMOUSE_BASE 0x300

MODULE_LICENSE("GPL");

struct file_operations our_mouse_fops = {
};

static struct miscdevice our_mouse = {
OURMOUSE_MINOR,
"ourmouse"
, &our_mouse_fops
};


int init_module(void)
{
misc_register(&our_mouse);

int delta_x = inb(OURMOUSE_BASE);
int delta_y = inb(OURMOUSE_BASE+1);

printk(KERN_INFO "module: position x %dn", delta_x);
printk(KERN_INFO "module: position y %dn", delta_y);
return 0;

}
void cleanup_module(void)
{
misc_deregister(&our_mouse);
}

share|improve this question

migrated from unix.stackexchange.com Nov 29 at 13:23

This question came from our site for users of Linux, FreeBSD and other Un*x-like operating systems.

  • I doubt that it will be possible.  Why do you believe that it is possible?  Do you believe that the mouse knows its position?  I suspect that only the window manager will have this information. … … … Also, wouldn’t you expect mouse coordinates to be two-byte quantities?
    – G-Man
    Nov 29 at 1:50

  • This very much looks like an XY question. What do you want to achieve (your X) by using a kernel module to read the mouse position (your Y)? In general, mouse movements will be available on the kernel input layer, and other modules can access this layer (as can userspace, via /dev/eventX). Also note that they may be many mice or similar devices (touchpads) attached to a single machine, there’s no “the mouse”. Also note that X (the graphical windows system) adds another translation layer to mouse events.
    – dirkt
    Nov 29 at 8:28

up vote
1
down vote

favorite

up vote
1
down vote

favorite

How I can get current mouse position (in coordinates {x,y}) in kernel space?

I use the following code, but it returns me x and y positions as 255.

Here is code:

#include <linux/module.h> 
#include <linux/jiffies.h> 
#include <linux/types.h> 
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/signal.h>
#include <linux/errno.h>
#include <linux/miscdevice.h>
#include <linux/random.h>
#include <linux/poll.h>
#include <linux/init.h>
#include <asm/spinlock.h>
#define OURMOUSE_MINOR 0 
#define OURMOUSE_BASE 0x300

MODULE_LICENSE("GPL");

struct file_operations our_mouse_fops = {
};

static struct miscdevice our_mouse = {
OURMOUSE_MINOR,
"ourmouse"
, &our_mouse_fops
};


int init_module(void)
{
misc_register(&our_mouse);

int delta_x = inb(OURMOUSE_BASE);
int delta_y = inb(OURMOUSE_BASE+1);

printk(KERN_INFO "module: position x %dn", delta_x);
printk(KERN_INFO "module: position y %dn", delta_y);
return 0;

}
void cleanup_module(void)
{
misc_deregister(&our_mouse);
}

share|improve this question

How I can get current mouse position (in coordinates {x,y}) in kernel space?

I use the following code, but it returns me x and y positions as 255.

Here is code:

#include <linux/module.h> 
#include <linux/jiffies.h> 
#include <linux/types.h> 
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/signal.h>
#include <linux/errno.h>
#include <linux/miscdevice.h>
#include <linux/random.h>
#include <linux/poll.h>
#include <linux/init.h>
#include <asm/spinlock.h>
#define OURMOUSE_MINOR 0 
#define OURMOUSE_BASE 0x300

MODULE_LICENSE("GPL");

struct file_operations our_mouse_fops = {
};

static struct miscdevice our_mouse = {
OURMOUSE_MINOR,
"ourmouse"
, &our_mouse_fops
};


int init_module(void)
{
misc_register(&our_mouse);

int delta_x = inb(OURMOUSE_BASE);
int delta_y = inb(OURMOUSE_BASE+1);

printk(KERN_INFO "module: position x %dn", delta_x);
printk(KERN_INFO "module: position y %dn", delta_y);
return 0;

}
void cleanup_module(void)
{
misc_deregister(&our_mouse);
}

kernel mouse

share|improve this question

share|improve this question

share|improve this question

share|improve this question

asked Nov 28 at 18:48

Ilya Timokhin

242

242

migrated from unix.stackexchange.com Nov 29 at 13:23

This question came from our site for users of Linux, FreeBSD and other Un*x-like operating systems.

migrated from unix.stackexchange.com Nov 29 at 13:23

This question came from our site for users of Linux, FreeBSD and other Un*x-like operating systems.

  • I doubt that it will be possible.  Why do you believe that it is possible?  Do you believe that the mouse knows its position?  I suspect that only the window manager will have this information. … … … Also, wouldn’t you expect mouse coordinates to be two-byte quantities?
    – G-Man
    Nov 29 at 1:50

  • This very much looks like an XY question. What do you want to achieve (your X) by using a kernel module to read the mouse position (your Y)? In general, mouse movements will be available on the kernel input layer, and other modules can access this layer (as can userspace, via /dev/eventX). Also note that they may be many mice or similar devices (touchpads) attached to a single machine, there’s no “the mouse”. Also note that X (the graphical windows system) adds another translation layer to mouse events.
    – dirkt
    Nov 29 at 8:28

  • I doubt that it will be possible.  Why do you believe that it is possible?  Do you believe that the mouse knows its position?  I suspect that only the window manager will have this information. … … … Also, wouldn’t you expect mouse coordinates to be two-byte quantities?
    – G-Man
    Nov 29 at 1:50

  • This very much looks like an XY question. What do you want to achieve (your X) by using a kernel module to read the mouse position (your Y)? In general, mouse movements will be available on the kernel input layer, and other modules can access this layer (as can userspace, via /dev/eventX). Also note that they may be many mice or similar devices (touchpads) attached to a single machine, there’s no “the mouse”. Also note that X (the graphical windows system) adds another translation layer to mouse events.
    – dirkt
    Nov 29 at 8:28

I doubt that it will be possible.  Why do you believe that it is possible?  Do you believe that the mouse knows its position?  I suspect that only the window manager will have this information. … … … Also, wouldn’t you expect mouse coordinates to be two-byte quantities?
– G-Man
Nov 29 at 1:50

I doubt that it will be possible.  Why do you believe that it is possible?  Do you believe that the mouse knows its position?  I suspect that only the window manager will have this information. … … … Also, wouldn’t you expect mouse coordinates to be two-byte quantities?
– G-Man
Nov 29 at 1:50

This very much looks like an XY question. What do you want to achieve (your X) by using a kernel module to read the mouse position (your Y)? In general, mouse movements will be available on the kernel input layer, and other modules can access this layer (as can userspace, via /dev/eventX). Also note that they may be many mice or similar devices (touchpads) attached to a single machine, there’s no “the mouse”. Also note that X (the graphical windows system) adds another translation layer to mouse events.
– dirkt
Nov 29 at 8:28

This very much looks like an XY question. What do you want to achieve (your X) by using a kernel module to read the mouse position (your Y)? In general, mouse movements will be available on the kernel input layer, and other modules can access this layer (as can userspace, via /dev/eventX). Also note that they may be many mice or similar devices (touchpads) attached to a single machine, there’s no “the mouse”. Also note that X (the graphical windows system) adds another translation layer to mouse events.
– dirkt
Nov 29 at 8:28

active

oldest

votes

Your Answer

StackExchange.ifUsing(“editor”, function () {
StackExchange.using(“externalEditor”, function () {
StackExchange.using(“snippets”, function () {
StackExchange.snippets.init();
});
});
}, “code-snippets”);

StackExchange.ready(function() {
var channelOptions = {
tags: “”.split(” “),
id: “1”
};
initTagRenderer(“”.split(” “), “”.split(” “), channelOptions);

StackExchange.using(“externalEditor”, function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using(“snippets”, function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: ‘answer’,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: “”,
imageUploader: {
brandingHtml: “Powered by u003ca class=”icon-imgur-white” href=”https://imgur.com/”u003eu003c/au003e”,
contentPolicyHtml: “User contributions licensed under u003ca href=”https://creativecommons.org/licenses/by-sa/3.0/”u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href=”https://stackoverflow.com/legal/content-policy”u003e(content policy)u003c/au003e”,
allowUrls: true
},
onDemand: true,
discardSelector: “.discard-answer”
,immediatelyShowMarkdownHelp:true
});

}
});

draft saved
draft discarded

StackExchange.ready(
function () {
StackExchange.openid.initPostLogin(‘.new-post-login’, ‘https%3a%2f%2fstackoverflow.com%2fquestions%2f53540052%2fmouse-position-in-linux-kernel%23new-answer’, ‘question_page’);
}
);

Post as a guest

Required, but never shown

active

oldest

votes

active

oldest

votes

active

oldest

votes

active

oldest

votes

draft saved
draft discarded

Thanks for contributing an answer to Stack Overflow!

  • Please be sure to answer the question. Provide details and share your research!

But avoid

  • Asking for help, clarification, or responding to other answers.
  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.

Some of your past answers have not been well-received, and you’re in danger of being blocked from answering.

Please pay close attention to the following guidance:

  • Please be sure to answer the question. Provide details and share your research!

But avoid

  • Asking for help, clarification, or responding to other answers.
  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.

draft saved

draft discarded

StackExchange.ready(
function () {
StackExchange.openid.initPostLogin(‘.new-post-login’, ‘https%3a%2f%2fstackoverflow.com%2fquestions%2f53540052%2fmouse-position-in-linux-kernel%23new-answer’, ‘question_page’);
}
);

Post as a guest

Required, but never shown

Required, but never shown

Required, but never shown

Required, but never shown

Required, but never shown

Required, but never shown

Required, but never shown

Required, but never shown

Required, but never shown

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *