diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2012-08-17 14:07:12 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2013-03-27 10:56:38 +1000 |
commit | ad2a1dd1aa19999eb777f330242d46254b29b9cb (patch) | |
tree | 9967784eeb2ea9d29ede55325423c813d3046f74 | |
parent | 4a954bc6a8fbc4aa50dfcabec011274252713204 (diff) |
Use sigsafe logging for keyboard debug messages
This changes the log format to simple hex display, the server's signal-safe
printf implementation doesn't handle %2.2x.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r-- | src/at_scancode.c | 4 | ||||
-rw-r--r-- | src/kbd.c | 4 | ||||
-rw-r--r-- | src/sun_kbd.c | 20 | ||||
-rw-r--r-- | src/xf86OSKbd.h | 4 |
4 files changed, 19 insertions, 13 deletions
diff --git a/src/at_scancode.c b/src/at_scancode.c index 7209c20..a519a6c 100644 --- a/src/at_scancode.c +++ b/src/at_scancode.c @@ -112,8 +112,8 @@ ATScancode(InputInfoPtr pInfo, int *scanCode) case 0x36: return TRUE; default: - xf86MsgVerb(X_INFO, 4, "Unreported Prefix0 scancode: 0x%02x\n", - *scanCode); + LogMessageVerbSigSafe(X_INFO, 4, "Unreported Prefix0 scancode: 0x%x\n", + *scanCode); *scanCode += 0x78; } break; @@ -410,9 +410,9 @@ PostKbdEvent(InputInfoPtr pInfo, unsigned int scanCode, Bool down) int state; #ifdef DEBUG - ErrorF("kbd driver rec scancode: 0x02%x %s\n", scanCode, down?"down":"up"); + LogMessageVerbSigSafe(X_INFO, -1, "kbd driver rec scancode: 0x%x %s\n", scanCode, down ? "down" : "up"); #endif - + /* * First do some special scancode remapping ... */ diff --git a/src/sun_kbd.c b/src/sun_kbd.c index f1e530e..2e7add6 100644 --- a/src/sun_kbd.c +++ b/src/sun_kbd.c @@ -459,20 +459,22 @@ ReadInput(InputInfoPtr pInfo) case EINTR: /* Interrupted, try again */ break; case ENODEV: /* May happen when USB kbd is unplugged */ - /* We use X_NONE here because it doesn't alloc since we - may be called from SIGIO handler */ - xf86MsgVerb(X_NONE, 0, - "%s: Device no longer present - removing.\n", - pInfo->name); + /* We use X_NONE here because it didn't alloc since we + may be called from SIGIO handler. No longer true for + sigsafe logging, but matters for older servers */ + LogMessageVerbSigSafe(X_NONE, 0, + "%s: Device no longer present - removing.\n", + pInfo->name); xf86RemoveEnabledDevice(pInfo); priv->remove_timer = TimerSet(priv->remove_timer, 0, 1, RemoveKeyboard, pInfo); return; default: /* All other errors */ - /* We use X_NONE here because it doesn't alloc since we - may be called from SIGIO handler */ - xf86MsgVerb(X_NONE, 0, "%s: Read error: %s\n", pInfo->name, - strerror(errno)); + /* We use X_NONE here because it didn't alloc since we + may be called from SIGIO handler. No longer true for + sigsafe logging, but matters for older servers */ + LogMessageVerbSigSafe(X_NONE, 0, "%s: Read error: %s\n", pInfo->name, + strerror(errno)); return; } } else { /* nBytes == 0, so nothing more to read */ diff --git a/src/xf86OSKbd.h b/src/xf86OSKbd.h index cba049f..0d8792d 100644 --- a/src/xf86OSKbd.h +++ b/src/xf86OSKbd.h @@ -29,6 +29,10 @@ #include "xf86Xinput.h" +#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 18 +#define LogMessageVerbSigSafe xf86MsgVerb +#endif + Bool ATScancode(InputInfoPtr pInfo, int *scanCode); /* Public interface to OS-specific keyboard support. */ |