From: nicolas@boichat.ch (Nicolas Boichat)
To: Jean Delvare <khali@linux-fr.org>
Cc: Bob Copeland <me@bobcopeland.com>,
linux-kernel@hansmi.ch, rlove@rlove.org,
linux-kernel@vger.kernel.org, lm-sensors@lm-sensors.org
Subject: [lm-sensors] [RFC][PATCH] Apple SMC driver (hardware monitoring
Date: Thu, 22 Mar 2007 10:36:43 +0000 [thread overview]
Message-ID: <46025C3B.6010702@boichat.ch> (raw)
In-Reply-To: <20070320110818.1b11c406.khali@linux-fr.org>
Jean Delvare wrote:
> On Mon, 19 Mar 2007 17:43:38 -0400, Bob Copeland wrote:
>
>> I tried out an earlier version of this patch several months ago just to play
>> around with the joystick part of the accelerometer driver on my MacBook, and
>> found that it was backwards in the y-direction compared to what Neverball
>> seemed to want (of course, NB has no way to invert the joystick). I think
>> I just did something like this in my own copy:
>>
>> + y = -y;
>> input_report_abs(applesmc_idev, ABS_X, x - rest_x);
>> input_report_abs(applesmc_idev, ABS_Y, y - rest_y);
>>
>> I don't claim you necessarily want to change it, but thought I'd pass it
>> along.
>>
>
> This appears to be a common problem with these devices, the hdaps driver
> (IBM) needs to invert the axis on some models too, and I seem to
> remember something similar for the (not yet merged) HP laptops
> accelerometer driver.
>
Ok, so let's invert the axis on the input device.
I think the raw x value in sysfs behaves the same way as hdaps (because
tools like hdaps-gl don't need any inversion), so I don't invert it.
Anyone with an IBM laptop could confirm this please?
- x value gets more positive when you lift the right side on the laptop
(= tilted to the left)
- y value gets more negative when you tilt the laptop backwards
(simply cat /sys/devices/platform/hdaps/position)
Thanks,
Best regards,
Nicolas
Invert x axis on applesmc input device to make it usable as a joystick.
Signed-off-by: Nicolas Boichat <nicolas at boichat.ch>
---
drivers/hwmon/applesmc.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c
index 4060667..581ed3e 100644
--- a/drivers/hwmon/applesmc.c
+++ b/drivers/hwmon/applesmc.c
@@ -349,6 +349,7 @@ static void applesmc_calibrate(void)
{
applesmc_read_motion_sensor(SENSOR_X, &rest_x);
applesmc_read_motion_sensor(SENSOR_Y, &rest_y);
+ rest_x = -rest_x;
}
static void applesmc_mousedev_poll(unsigned long unused)
@@ -366,6 +367,7 @@ static void applesmc_mousedev_poll(unsigned long unused)
if (applesmc_read_motion_sensor(SENSOR_Y, &y))
goto out;
+ x = -x;
input_report_abs(applesmc_idev, ABS_X, x - rest_x);
input_report_abs(applesmc_idev, ABS_Y, y - rest_y);
input_sync(applesmc_idev);
WARNING: multiple messages have this Message-ID (diff)
From: Nicolas Boichat <nicolas@boichat.ch>
To: Jean Delvare <khali@linux-fr.org>
Cc: Bob Copeland <me@bobcopeland.com>,
linux-kernel@hansmi.ch, rlove@rlove.org,
linux-kernel@vger.kernel.org, lm-sensors@lm-sensors.org
Subject: Re: [lm-sensors] [RFC][PATCH] Apple SMC driver (hardware monitoring and control)
Date: Thu, 22 Mar 2007 18:36:43 +0800 [thread overview]
Message-ID: <46025C3B.6010702@boichat.ch> (raw)
In-Reply-To: <20070320110818.1b11c406.khali@linux-fr.org>
Jean Delvare wrote:
> On Mon, 19 Mar 2007 17:43:38 -0400, Bob Copeland wrote:
>
>> I tried out an earlier version of this patch several months ago just to play
>> around with the joystick part of the accelerometer driver on my MacBook, and
>> found that it was backwards in the y-direction compared to what Neverball
>> seemed to want (of course, NB has no way to invert the joystick). I think
>> I just did something like this in my own copy:
>>
>> + y = -y;
>> input_report_abs(applesmc_idev, ABS_X, x - rest_x);
>> input_report_abs(applesmc_idev, ABS_Y, y - rest_y);
>>
>> I don't claim you necessarily want to change it, but thought I'd pass it
>> along.
>>
>
> This appears to be a common problem with these devices, the hdaps driver
> (IBM) needs to invert the axis on some models too, and I seem to
> remember something similar for the (not yet merged) HP laptops
> accelerometer driver.
>
Ok, so let's invert the axis on the input device.
I think the raw x value in sysfs behaves the same way as hdaps (because
tools like hdaps-gl don't need any inversion), so I don't invert it.
Anyone with an IBM laptop could confirm this please?
- x value gets more positive when you lift the right side on the laptop
(= tilted to the left)
- y value gets more negative when you tilt the laptop backwards
(simply cat /sys/devices/platform/hdaps/position)
Thanks,
Best regards,
Nicolas
Invert x axis on applesmc input device to make it usable as a joystick.
Signed-off-by: Nicolas Boichat <nicolas@boichat.ch>
---
drivers/hwmon/applesmc.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/drivers/hwmon/applesmc.c b/drivers/hwmon/applesmc.c
index 4060667..581ed3e 100644
--- a/drivers/hwmon/applesmc.c
+++ b/drivers/hwmon/applesmc.c
@@ -349,6 +349,7 @@ static void applesmc_calibrate(void)
{
applesmc_read_motion_sensor(SENSOR_X, &rest_x);
applesmc_read_motion_sensor(SENSOR_Y, &rest_y);
+ rest_x = -rest_x;
}
static void applesmc_mousedev_poll(unsigned long unused)
@@ -366,6 +367,7 @@ static void applesmc_mousedev_poll(unsigned long unused)
if (applesmc_read_motion_sensor(SENSOR_Y, &y))
goto out;
+ x = -x;
input_report_abs(applesmc_idev, ABS_X, x - rest_x);
input_report_abs(applesmc_idev, ABS_Y, y - rest_y);
input_sync(applesmc_idev);
next prev parent reply other threads:[~2007-03-22 10:36 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-03-14 9:29 [lm-sensors] [RFC][PATCH] Apple SMC driver (hardware monitoring and Nicolas Boichat
2007-03-14 9:29 ` [RFC][PATCH] Apple SMC driver (hardware monitoring and control) Nicolas Boichat
2007-03-14 11:11 ` Cong WANG
2007-03-14 14:00 ` Cong WANG
2007-03-15 11:31 ` Nicolas Boichat
2007-03-19 5:19 ` [lm-sensors] [PATCH] Apple SMC driver (hardware monitoring and Nicolas Boichat
2007-03-19 5:19 ` [PATCH] Apple SMC driver (hardware monitoring and control) Nicolas Boichat
2007-03-19 6:54 ` [lm-sensors] [PATCH] Apple SMC driver (hardware monitoring and Andrew Morton
2007-03-19 6:54 ` [PATCH] Apple SMC driver (hardware monitoring and control) Andrew Morton
2007-03-19 7:35 ` [lm-sensors] [PATCH] Apple SMC driver (hardware monitoring and Nicolas Boichat
2007-03-19 7:35 ` [PATCH] Apple SMC driver (hardware monitoring and control) Nicolas Boichat
2007-03-20 7:12 ` [lm-sensors] [PATCH] Apple SMC driver (hardware monitoring and Nicolas Boichat
2007-03-20 7:12 ` [PATCH] Apple SMC driver (hardware monitoring and control) Nicolas Boichat
2007-03-22 15:37 ` [lm-sensors] [PATCH] Apple SMC driver (hardware monitoring and Dmitry Torokhov
2007-03-22 15:37 ` [PATCH] Apple SMC driver (hardware monitoring and control) Dmitry Torokhov
2007-04-09 13:53 ` [lm-sensors] [PATCH] Apple SMC driver - fix input device Nicolas Boichat
2007-04-09 13:53 ` Nicolas Boichat
2007-04-09 15:17 ` [lm-sensors] " Dmitry Torokhov
2007-04-09 15:17 ` Dmitry Torokhov
2007-04-09 20:04 ` [lm-sensors] " Andrew Morton
2007-04-09 20:04 ` Andrew Morton
2007-04-09 20:11 ` [lm-sensors] " Dmitry Torokhov
2007-04-09 20:11 ` Dmitry Torokhov
2007-04-09 21:51 ` [lm-sensors] " Paul Mackerras
2007-04-09 21:51 ` Paul Mackerras
2007-03-19 21:43 ` [lm-sensors] [RFC][PATCH] Apple SMC driver (hardware monitoring Bob Copeland
2007-03-19 21:43 ` [RFC][PATCH] Apple SMC driver (hardware monitoring and control) Bob Copeland
2007-03-20 7:02 ` Nicolas Boichat
2007-03-20 15:14 ` Bob Copeland
2007-03-21 4:03 ` Bob Copeland
[not found] ` <eb4a44160703200016i74786682n41f87f3d88f90409@mail.gmail.com>
2007-04-14 8:05 ` [PATCH] applesmc - fix crash when activating a led trigger on the keyboard backlight Nicolas Boichat
2007-04-14 8:45 ` Richard Purdie
2007-04-14 13:31 ` [PATCH] applesmc - fix crash when activating a led trigger on the keyboard backlight - use a workqueue Nicolas Boichat
2007-03-20 10:08 ` [lm-sensors] [RFC][PATCH] Apple SMC driver (hardware monitoring Jean Delvare
2007-03-20 10:08 ` [lm-sensors] [RFC][PATCH] Apple SMC driver (hardware monitoring and control) Jean Delvare
2007-03-22 10:36 ` Nicolas Boichat [this message]
2007-03-22 10:36 ` Nicolas Boichat
2007-03-20 16:12 ` [lm-sensors] [RFC][PATCH] Apple SMC driver (hardware monitoring Gerb Stralko
2007-03-20 16:12 ` [RFC][PATCH] Apple SMC driver (hardware monitoring and control) Gerb Stralko
2007-04-11 12:25 ` [lm-sensors] [RFC][PATCH] Apple SMC driver (hardware monitoring Jean Delvare
2007-04-11 12:25 ` [lm-sensors] [RFC][PATCH] Apple SMC driver (hardware monitoring and control) Jean Delvare
2007-04-11 12:47 ` [lm-sensors] [RFC][PATCH] Apple SMC driver (hardware monitoring Nicolas Boichat
2007-04-11 12:47 ` [lm-sensors] [RFC][PATCH] Apple SMC driver (hardware monitoring and control) Nicolas Boichat
2007-04-13 5:33 ` [lm-sensors] [PATCH 1/2] Apple SMC driver - standardize and Nicolas Boichat
2007-04-13 5:33 ` [PATCH 1/2] Apple SMC driver - standardize and sanitize sysfs tree + minor features addition Nicolas Boichat
2007-04-13 6:38 ` [lm-sensors] [PATCH 2/2] Apple SMC driver - implement key Nicolas Boichat
2007-04-13 6:38 ` [PATCH 2/2] Apple SMC driver - implement key enumeration Nicolas Boichat
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=46025C3B.6010702@boichat.ch \
--to=nicolas@boichat.ch \
--cc=khali@linux-fr.org \
--cc=linux-kernel@hansmi.ch \
--cc=linux-kernel@vger.kernel.org \
--cc=lm-sensors@lm-sensors.org \
--cc=me@bobcopeland.com \
--cc=rlove@rlove.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.