ÿþ0 4 0 u s b i n p u t ÿø. q x d 2 1 . 1 1 . 2 0 0 0 1 6 : 1 0 U h r S e i t e 4 0
O N T E S T U S B
L i n u x U S B i n p r a c t i c e
S I N G L E -
F I L E I N P U T
C H R I S T I A N R E I S E R
n e e d s a q u a r t e r a s m u c h m e m o r y . T h e 1 6 k o f h i d . o i s
n o t e x a c t l y e n o r m o u s . T h e h i d d r i v e r o n t h e o t h e r
h a n d a l s o s u p p o r t s m i c e , j o y s t i c k s a n d a f e w g r a p h i c s
t a b l e t s . O u r t e s t r e v e a l e d t h a t t h e s p e c i a l k e y s o f t h e
M i c r o s o f t k e y b o a r d c a n o n l y b e u s e d w i t h t h e h i d
d r i v e r . T h e m o d u l e k e y b d e v i s a l s o n e c e s s a r y i n o r d e r
t o p a s s o n k e y b o a r d e v e n t s t o t h e c o n s o l e d r i v e r .
K e y s o n i c A C K - 2 9 8
T h e 1 0 5 k e y s a n d t h e a d d i t i o n a l P S / 2 - U S B - m o u s e
c o n n e c t i o n o f t h e K e y s o n i c A C K - 2 9 8 w o r k e d a s
e x p e c t e d . T h e i n t e g r a t e d c o n v e r t e r c o n v e r t s t h e P S / 2
c o n t r o l s i g n a l s t o t h e U S B m o u s e p r o t o c o l . B u t a t t h e
s a m e t i m e " o n l y " t h r e e m o u s e k e y s a n d o n e w h e e l
a r e s u p p o r t e d . T h e m o u s e o n t h e K e y s o n i c k e y b o a r d
i s a d d r e s s e d i n t h i s c a s e l i k e a n y o t h e r U S B m o u s e
a n d a l s o c o r r e s p o n d i n g l y i n s t a l l e d ( s e e s e c t i o n o n
m i c e ) . T h i s k e y b o a r d i s c o m f o r t a b l e t o u s e d e s p i t e i t s
l o w p r i c e . T h e k e y s h a v e a f i r m p r e s s u r e p o i n t , m a k i n g
O n e t h i n g i s c l e a r r i g h t f r o m t h e s t a r t , t h e s u c c e s s i t o b v i o u s w h e t h e r o r n o t a k e y h a s b e e n p r e s s e d
T h i s i s s u e s e e s t h e
r a t e i s e n c o u r a g i n g l y h i g h . A l l t e n d e v i c e s w o r k e d .
b e g i n n i n g o f a s e r i e s o f
T h i s i s m a i n l y d u e t o t h e f a c t t h a t b o t h m i c e a n d
M i c r o s o f t I n t e r n e t K e y b o a r d P r o
k e y b o a r d s u s e a s p e c i f i c a l l y d e f i n e d p r o t o c o l .
a r t i c l e s o n U S B
H o w e v e r , t h e r e a r e s o m e d i f f e r e n c e s i n t h e c a s e o f T h e k e y b o a r d i t s e l f a c t u a l l y c o n s i s t s o f t h r e e
p e r i p h e r a l d e v i c e s . T h i s
j o y s t i c k s . M a n y o f t h e m o p e r a t e w i t h t h e s t a n d a r d d e v i c e s : T h e 1 0 5 n o r m a l k e y s , t h e 1 9 s p e c i a l k e y s
d r i v e r . O t h e r j o y s t i c k s , s u c h a s t h e L o g i t e c h a n d a 4 - p o r t h u b ( i n w h i c h , h o w e v e r , 2 p o r t s a r e
m o n t h , w e ' r e l o o k i n g
W i n g m a n F o r c e , r e q u i r e e x t r a m o d u l e s t o b e l o a d e d . a l r e a d y i n t e r n a l l y o c c u p i e d ) . T h e h u b f u n c t i o n s
a t i n p u t d e v i c e s :
w i t h o u t a n y p r o b l e m s a n d s u p p o r t s b o t h h i g h a n d
l o w - s p e e d d e v i c e s . T h e n o r m a l k e y b o a r d , t o o ,
k e y b o a r d s , m i c e ,
K e y b o a r d s
p o s e d n o p r o b l e m s s a d l y , t h e s p e c i a l k e y s d i d . B u t
j o y s t i c k s a n d g r a p h i c s
I t ' s q u i t e e a s y t o c o n n e c t a U S B k e y b o a r d t o y o u r t h i s i s n o t e x c l u s i v e l y a U S B p r o b l e m t h e P S / 2
c o m p u t e r . S i m p l y a c t i v a t e " S u p p o r t U S B - K e y b o a r d " c o n n e c t o r ( a l s o p r o v i d e d ) r e q u i r e s a t l e a s t a s m u c h
t a b l e t s .
i n t h e B I O S o f y o u r c o m p u t e r a n d s k i p t h e r e s t o f t h i s a d d i t i o n a l c o n f i g u r a t i o n t o m a k e t h e k e y s w o r k .
a r t i c l e . T h e k e y b o a r d i s r e c o g n i s e d b y B I O S a n d t h e n T h e c o n f i g u r a t i o n n e c e s s a r y i s a l s o r e q u i r e d f o r
a c c e s s e d u n d e r L i n u x l i k e a n o r m a l k e y b o a r d . o t h e r k e y b o a r d s , s o w e h a v e d e v o t e d a s e p a r a t e
L o a d i n g t h e m o d u l e s f o r t h e U S B c o n t r o l l e r u n d e r b o x t o t h i s t o p i c ( " s p e c i a l k e y s u n d e r L i n u x " ) .
L i n u x r e n d e r s c o m m u n i c a t i o n v i a B I O S i m p o s s i b l e ,
s i n c e t h i s i s r e - i n t e r n a l i s e d . A k e r n e l s u p p o r t t h e n h a s
M i c e
t o b e i n s t a l l e d . T h e r e a r e t w o d i f f e r e n t m o d u l e s t o
c h o o s e f r o m , w h i c h c a n c o p e w i t h U S B k e y b o a r d s : A s i n t h e c a s e o f t h e k e y b o a r d s , t h e r e a r e t w o
u s b k b d a n d h i d . T h e s o l e a d v a n t a g e o f t h e u s b k b d m o d u l e s t o c h o o s e f r o m : u s b m o u s e a n d h i d . H e r e
d r i v e r i s i t s s i z e . A s a s p e c i f i c k e y b o a r d d r i v e r , i t o n l y a g a i n , w h e n u s i n g t h e h i d m o d u l e y o u j u s t c a n ' t g o
4 0 L I N U X M A G A Z I N E 4 · 2 0 0 1
0 4 0 u s b i n p u t ÿø. q x d 2 1 . 1 1 . 2 0 0 0 1 6 : 1 0 U h r S e i t e 4 1
U S B O N T E S T
w r o n g . A f t e r t h a t , m o u s e d e v h a s t o b e l o a d e d ,
w h i c h p a s s e s t h e e v e n t s t o t h e d e v i c e f i l e ( s ) . T h e s e
a r e c r e a t e d a s f o l l o w s ( i n / d e v ) :
b a s h > m k n o d m o u s e 0 c 1 3 3 2 # 1 . m o u s e
b a s h > m k n o d m o u s e 1 c 1 3 3 3 # 2 . m o u s e
b a s h > m k n o d m o u s e 2 c 1 3 3 4 # 3 . m o u s e
[ . . . ]
b a s h > m k n o d m i c e c 1 3 6 3 # M i x e d s i g n a l f r o m U
a l l m i c e
W i t h t h e s e f i l e s t h e U S B m i c e c a n b e a d d r e s s e d l i k e
t h e i r P S / 2 c o u n t e r p a r t s , a n d i n t h e c a s e o f t h e t e x t
c o n s o l e w i t h , s a y , / u s r / s b i n / g p m - t p s 2 - m / d e v / m i c e .
t e s t t h i s w o r k e d s u p e r b l y t h e r e w e r e n o p r o b l e m s
L o g i t e c h M o u s e M a n W h e e l
w i t h a n y m a t s . T w o o f t h e f o u r k e y s a r e o p e r a t e d
I n a d d i t i o n t o t h e t w o k e y s a n d t h e w h e e l o n t h e w i t h t h e t h u m b s t h i s w o r k e d f i r s t t i m e . S i d e g r i p
f r o n t , t h i s p r o d u c t f r o m L o g i t e c h h a s a n e x t r a k e y s u f f e r s s l i g h t l y b e c a u s e o f t h e v e r y r o u n d e d
o n t h e s i d e . T h i s k e y b o a r d i s a l s o s u i t a b l e f o r l a r g e r h o u s i n g . I n t e g r a t e d h u b s m a k e l i f e e a s i e r .
T h e s p e c i a l k e y s o f t h e M i c r o s o f t
h a n d s . I t i s r u b b e r i s e d o n t h e s i d e a n d t h e B a c k g r o u n d : T h e w h e e l a c t u a l l y c o n s i s t s o f t w o
I n t e r n e t K e y b o a r d P r o ,
s o m e w h a t a n g u l a r s h a p e t h e m o u s e s i t s w e l l i n t h e k e y s : a n u p k e y ( 4 ) a n d a d o w n k e y ( 5 ) . A f t e r
l i k e o t h e r k e y b o a r d s , r e q u i r e s p e c i a l
t r e a t m e n t .
h a n d . T h e r e w e r e n o p r o b l e m s w o r t h m e n t i o n i n g r e s t a r t i n g t h e X - S e r v e r , w i t h x e v t h e K e y p r e s s e s "
w h e n i t w a s u s e d u n d e r L i n u x .
S p e c i a l k e y s u n d e r L i n u x
L o g i t e c h W i n g M a n
I f a k e y i s p r e s s e d , t h e k e y b o a r d g e n e r a t e s a s o - c a l l e d s c a n c o d e , a n d w h e n
G a m i n g M o u s e
r e l e a s e d , a s e c o n d o n e . I n U S B t h i s i s f i r s t q u e r i e d b y h i d ( H u m a n I n t e r f a c e
T h i s m o u s e w a s t h e o n l y o n e o f t h o s e t e s t e d h e r e D e v i c e ) a n d t h e n r e a c h e s t h e k e r n e l v i a k e y b d e v . B u t t h i s d o e s n ' t m a t t e r a t
w h i c h d i d n o t c o m e w i t h a w h e e l . T h e o n l y t h i s p o i n t . T h e s c a n c o d e s c o n s i s t o f o n e ( i n t h e c a s e o f c o n t r o l k e y s , o f t w o
a d v a n t a g e w a s o n e l e s s c o m p o n e n t t o g o w r o n g . o r m o r e ) b y t e ( s ) . O n r e l e a s e , a v a l u e i n c r e a s e d b y 0 x 8 0 i s a l w a y s g e n e r a t e d
T h a t ' s i m p o r t a n t i n t h e c a s e o f t h i s m o u s e m o d e l , a s ( f o r e x a m p l e 0 x 1 e f o r " a " p r e s s e d , 0 x 9 e " a " r e l e a s e d ) . T h e s e s c a n c o d e s c a n
i t w a s b u i l t t o w i t h s t a n d m a x i m u m l o a d i n g s f o r b e q u e r i e d d i r e c t l y , p e r h a p s w i t h s h o w k e y - s . A f t e r t h a t , a k e y c a n b e
g a m i n g . S u r p r i s i n g l y , t h e c o n n e c t i n g c a b l e i s n o t a s a s s i g n e d a " K e y c o d e " u s i n g s e t k e y c o d e s . T h e r e a r e 1 2 8 o f t h e s e : T h e f i r s t
s t u r d i l y d e s i g n e d a s i t s M o u s e M a n c o l l e a g u e s 8 8 a r e e q u i v a l e n t t o t h e i r s c a n c o d e s t h e r e s t a r e d y n a m i c . T h e s e c a n b e
i n t r o d u c e d a b o v e . O t h e r w i s e t h e d e v i c e c a n b e q u e r i e d w i t h g e t k e y c o d e s . T h e s e k e y c o d e s m u s t t h e n b e a s s i g n e d a n
p o s i t i o n e d v e r y s m o o t h l y a n d e a s i l y . T h e b u t t o n s a r e a c t i o n o n c e a n d f o r a l l ( f o r e x a m p l e t h e i s s u e o f a l e t t e r t o t h e a p p l i c a t i o n ) .
v e r y s m o o t h a n d c o n f i r m e v e r y p r e s s w i t h a c l e a r l y T h i s i s d o n e w i t h t h e a i d o f l o a d k e y s . I n t h e f o l l o w i n g e x a m p l e , w e w i l l
a u d i b l e " c l i c k " . c o n f i g u r e t h e " M a i l k e y " o n t h e k e y b o a r d s o t h a t w h e n i t i s a c t u a t e d t h e
c o n s o l e p r o g r a m p i n e s t a r t s :
M i c r o s o f t I n t e l l i M o u s e E x p l o r e r b a s h > s h o w k e y - s
T h i s m o u s e w i l l c a t c h t h e e y e o n a n y d e s k o r
k b m o d e w a s X L A T E
w o r k s t a t i o n . A s s o o n a s i t i s a c t i v a t e d , t h e I n t e l l i - p r e s s a n y k e y ( p r o g r a m t e r m i n a t e s 1 0 s a f t e r U
l a s t k e y p r e s s ) . . .
L o g o l i g h t s u p i n a s u b t l e r e d t o r e m i n d y o u o f i t s
0 x 9 c
n e w d e s i g n . T h i s m o u s e n o l o n g e r w o r k s w i t h t h e
0 x e 0 0 x 6 c
t r a d i t i o n a l r o l l e r b a l l . I n s t e a d , m o v e m e n t s a r e
0 x e 0 0 x e c
d e t e c t e d d i r e c t l y b y s c a n n i n g t h e b a c k i n g . I n o u r
b a s h > s e t k e y c o d e e 0 6 c 1 2 0 # w e a s s i g n t h e U
k e y c o d e 1 2 0 t o t h e s c a n c o d e e 0 6 c
b a s h > l o a d k e y s E O F
> k e y c o d e 1 2 0 = F 7 0
> s t r i n g F 7 0 = " p i n e \ n \ n \ n \ n "
> E O F
W i t h X F r e e 8 6 t h i n g s l o o k a b i t m o r e c o m p l i c a t e d . X - S e r v e r i s o n e o f t h e
a p p l i c a t i o n s t h a t q u e r y t h e s c a n c o d e s d i r e c t l y f r o m t h e k e r n e l a n d t h e n
r e p r o c e s s t h e m . U n f o r t u n a t e l y t h e c o n c e p t i s n o t a s g o o d a s t h a t o f t h e
k e r n e l . W i t h X F r e e 8 6 t h e s c a n c o d e s a r e p e r m a n e n t l y a s s i g n e d k e y c o d e s . I f
t h e s e a r e a l t e r e d t h e e n t i r e X - S e r v e r w i l l h a v e t o b e r e c o m p i l e d . I f y o u a r e
c o n f i d e n t e n o u g h t o d o t h i s , y o u c a n f i n d s o m e t i p s b e l o w .
I t w o r k e d o u t o f t h e b o x : L o g i t e c h M o u s e M a n W h e e l
4 · 2 0 0 1 L I N U X M A G A Z I N E 4 1
0 4 0 u s b i n p u t ÿø. q x d 2 1 . 1 1 . 2 0 0 0 1 6 : 1 1 U h r S e i t e 4 2
O N T E S T U S B
f i l e s w i l l b e n e e d e d f o r t h i s t h o u g h . T h e s e c a n b e
W h e e l s u n d e r X
a d d e d w i t h t h e c o m m a n d m k n o d ( p r o v i d e d t h e y ' r e
T o b e a b l e t o u s e t h e m o u s e w h e e l u n d e r n o t s u p p l i e d b y t h e d i s t r i b u t o r ) :
X F r e e 8 6 ( f r o m 3 . 3 . 2 ) i t h a s t o b e e n t e r e d
b a s h > m k n o d j s 0 c 1 3 0 # 1 . J o y s t i c k
i n t o t h e c o n f i g u r a t i o n f i l e X F 8 6 C o n f i g
b a s h > m k n o d j s 1 c 1 3 1 # 2 . J o y s t i c k
( e i t h e r i n / e t c o r / e t c / X 1 1 ) . T o d o t h i s , y o u
e n l a r g e t h e " P o i n t e r s e c t i o n " b y t h e O n k e r n e l m o d u l e s , i n t h i s i n s t a n c e , y o u w i l l a l s o
f o l l o w i n g l i n e s : n e e d , i n a d d i t i o n t o i n p u t a n d h i d , j o y d e v .
Z A x i s M a p p i n g 4 5
C o n w h e e l R e d S h o o t e r U S B
# o r i n t h e c a s e o f X F r e e 8 6 - 4 . 0 . x :
O p t i o n " Z A x i s M a p p i n g " " 4 5 " T h i s j o y s t i c k h a s f o u r k e y s a n d s i x a x e s : t w o f o r t h e
X / Y a x e s , t w o r o t a t i n g w h e e l s o n t h e g r o u n d p l a t e
a n d t w o " a x e s " f o r c o n t r o l l i n g t h e v i e w i n g d i r e c t i o n
s h o u l d n o w b e i n t e r p r e t e d a s w h e e l m o v e m e n t s . ( h a t s t i c k ) . A p a r t f r o m t h e t h r u s t c o n t r o l l e r , f i v e
T h e " R e d S h o o t e r " f r o m t h e A f t e r s u c c e s s f u l m o d i f i c a t i o n o f t h e X F 8 6 C o n f i g L E D s h a v e b e e n a d d e d , w h i c h r e f l e c t t h e c u r r e n t
e l e c t r o n i c s m a i l o r d e r f i r m
t h e r e a r e n o w t w o o p t i o n s f o r " a t t u n i n g r e s p e c t i v e s e t t i n g . T h e j o y s t i c k i s c o n s t r u c t e d
C o n r a d h a s a g o o d
a p p l i c a t i o n s t o t h e w h e e l " : I M W h e e l o r X d e f a u l t s . e x c l u s i v e l y f o r r i g h t h a n d e r s . T h e o n l y p r o b l e m i s
p r i c e / p e r f o r m a n c e r a t i o .
T h e s e t w o m e t h o d s a r e f u n d a m e n t a l l y d i f f e r e n t i n t h a t t h e m a x i m u m i n p u t v a l u e s o f t h e X / Y a x e s a r e
c o n c e p t . I M W h e e l i s a p r o g r a m t h a t h a s t o b e r e a c h e d c o n s i d e r a b l y b e f o r e t h e m a x i m u m
e x p l i c i t l y s t a r t e d , w h i l e t h e X d e f a u l t s c o n t a i n e x c u r s i o n , a n d t h e r e s u l t o f t h i s i s t h a t t h e j o y s t i c k i s
s t a n d a r d s e t t i n g s f o r t h e X - S e r v e r . T h i s m e a n s t h a t " d u m b " i n t h e m a r g i n a l a r e a .
n o a d d i t i o n a l r e s o u r c e s a r e n e e d e d . H o w e v e r ,
c o n f i g u r a t i o n i s p o s s i b l e o n l y t o a l i m i t e d e x t e n t . I n
L o g i t e c h W i n g M a n E x t r e m e
t h e X d e f a u l t s , e a c h w h e e l m o v e m e n t i s a s s i g n e d a n
X - e v e n t b u t i n I M W h e e l t h e w h e e l m o v e m e n t c a n T h e e x t e r i o r g i v e s n o s i g n a t f i r s t o f w h a t i s h i d d e n
h a v e t w o k e y s a s s i g n e d ( e . g . u p a n d d o w n a r r o w i n s i d e t h i s g a m e p a d . A p a r t f r o m t h e e l e v e n b u t t o n s
L e a v e s v e r y l i t t l e t o b e d e s i r e d . k e y s ) . T h e c o n f i g u r a t i o n f i l e h a s t h e f o l l o w i n g t h e r e i s a l s o a d i g i t a l d i r e c t i o n a l c o n t r o l l e r o r a s a n
s t r u c t u r e : a l t e r n a t i v e t o t h a t , d i r e c t i o n a l c o n t r o l v i a a p o s i t i o n
s e n s o r . I f t h i s i s a c t i v e , a t u r n t o t h e r i g h t i s
" P r o g r a m n a m e "
i n t e r p r e t e d a s a c o n t r o l s i g n a l t o t h e r i g h t . O n l y t e n
N o n e , U p , K e y
o f t h e e l e v e n b u t t o n s c a n b e o c c u p i e d t h e
N o n e , D o w n , K e y 2
# A n d n o w w i t h k e y c o m b i n a t i o n : e l e v e n t h i s p r o v i d e d f o r t o g g l i n g b e t w e e n m o t i o n
A l t _ L , U p , K e y 3
s e n s o r a n d c u r s o r . C o n t r o l b y m e a n s o f t h e s e n s o r
A l t _ L , D o w n , K e y 4
f u n c t i o n s v e r y w e l l . T h e z e r o s e t t i n g i s e a s y t o f i n d .
T h e o n l y s n a g i s t h a t f o r l o n g - t i m e p l a y e r s t h e
A n y a p p l i c a t i o n c a n s i m p l y b e a t t u n e d t o t h e f o r c e d p o s i t i o n c a u s e d b y t h e j o y s t i c k c o u l d b e c o m e
T h e u n u s u a l c o n t r o l c o n c e p t o f t h e m o u s e w h e e l . T h e d r a w b a c k i s t h a t r e g a r d l e s s o f t i r i n g . I n a n y c a s e a l o t o f p h y s i c a l i n p u t i s
M i c r o s o f t S i d e W i n d e r
w h e r e y o u a r e i n t h e w i n d o w , t h e s a m e a c t i o n i s g u a r a n t e e d . T h e r e i s n o s h o r t a g e o f f u n a n d g a m e s .
D u a l S t r i k e c a n l e a d t o d a m a g e t o
a l w a y s p e r f o r m e d . T h i s c o u l d b e v e r y t r o u b l e s o m e ,
t h e d e v i c e i n t r i c k y g a m e s
m a n o e u v r e s .
e s p e c i a l l y w i t h s o m e t h i n g l i k e a m u l t i f r a m e d
M i c r o s o f t S i d e W i n d e r D u a l S t r i k e
N e t s c a p e .
T h e r e a r e a l s o a f e w a p p l i c a t i o n s t h a t c a n u s e T h i s g a m e p a d t a k e s a b i t o f g e t t i n g u s e d t o . A p a r t
t h e m o u s e w h e e l w i t h o u t a n y s p e c i a l i n s t a l l a t i o n , a s f r o m t h e " n o r m a l " c u r s o r a n d t h e n i n e b u t t o n s ,
t h e y d i r e c t l y p r o c e s s m o u s e b u t t o n s 4 a n d 5 . T h e s e t h e r e a r e a l s o t w o a x e s . T h e s e c a n b e a c t u a t e d b y
i n c l u d e S t a r o f f i c e , W i n e , X M M S , G i m p a n d a l l X a w t u r n i n g t h e t w o h a l v e s o f t h e S i d e W i n d e r t o w a r d s
p r o g r a m s . e a c h o t h e r . H o w e v e r , y o u s h o u l d b e a r i n m i n d t h a t
n o t e v e r y d i r e c t i o n i s a l l o w e d ! T h i s t y p e o f c o n t r o l
r e q u i r e s d i s c i p l i n e f r o m t h e p l a y e r , s o t h a t n o t h i n g
J o y s t i c k s
g o e s w r o n g . A p p a r e n t l y t h e m a n u f a c t u r e r s ,
I t i s o n l y s i n c e k e r n e l v e r s i o n 2 . 2 . x t h a t s u p p o r t f o r M i c r o s o f t , w e r e a l s o a w a r e o f t h i s . T h e y h a v e
O n l y a f e w U S B g r a p h i c s t a b l e t s j o y s t i c k s h a s b e e n f i r m l y i n t e g r a t e d . T h e r e s u l t o f i n s t a l l e d a n a d d i t i o n a l s e n s o r / b u t t o n i n t h e a x e s s o
w i l l c u r r e n t l y r u n w i t h L i n u x .
t h i s h a s b e e n t h a t d e v e l o p e r s o f a p p l i c a t i o n s f o r t h a t t h e o p e r a t i n g s y s t e m c a n g i v e a w a r n i n g a s
T h e W a c o m G r a p h i r e U S B i s o n e
w h i c h j o y s t i c k s u p p o r t w o u l d b e u s e f u l ( s a y g a m e s ) , s o o n a s a c r i t i c a l c o n d i t i o n o c c u r s . U n f o r t u n a t e l y t h i s
o f t h e m .
d i d n ' t u s u a l l y o f f e r a n y s u p p o r t f o r t h i s i m p o r t a n t e m e r g e n c y b a c k u p d o e s n o t f u n c t i o n w i t h L i n u x .
i n p u t d e v i c e c l a s s u n t i l r e c e n t l y . T h a n k s t o g a m e s
p o r t e r s s u c h a s L o k i g a m e s , t h e u s e o f j o y s t i c k s
W a c o m G r a p h i r e U S B
u n d e r L i n u x h a s n o w b e c o m e t h e n o r m . T h e u s e o f
U S B i s a l o g i c a l p r o g r e s s i o n f o r t h e a p p l i c a t i o n . I n G r a p h i c s t a b l e t s w i t h U S B c o n n e c t i o n s a r e s t i l l
s u c h c a s e s U S B j o y s t i c k s b e h a v e a s i f t h e y w e r e r e l a t i v e l y r a r e . O n e o f t h e b e s t s e l l e r s i s t h e W a c o m
a t t a c h e d t o t h e g a m e p o r t . T h e f o l l o w i n g d e v i c e G r a p h i r e U S B . I t i s a l s o t h e o n l y o n e w h i c h i s a l r e a d y
4 2 L I N U X M A G A Z I N E 4 · 2 0 0 1
0 4 0 u s b i n p u t ÿø. q x d 2 1 . 1 1 . 2 0 0 0 1 6 : 1 1 U h r S e i t e 4 3
U S B O N T E S T
S u S E 6 . 4 a n d U S B
S u S E 6 . 4 d o e s n o t u s e a d y n a m i c p r o c e d u r e t o l o a d t h e r e q u i s i t e U S B m o d u l e . T h i s m e a n s t h a t
i t m a y n o l o n g e r b e p o s s i b l e t o p e r f o r m a n y i n p u t w h e n u s i n g a U S B k e y b o a r d . A t i n y e r r o r
h a s s l i p p e d i n t o t h e f i l e / e t c / c o n f i g . d / u s b . r c . c o n f i g . I n s t e a d o f t h e t w o m o d u l e s h i d a n d
k e y b d e v , t h e m o d u l e u s b - k e y b o a r d h a s b e e n l o a d e d . D e s p i t e i t s i n t u i t i v e n a m e , t h i s m o d u l e
d o e s n o t e v e n e x i s t . N o r d o e s t h e m o u s e m o d u l e , m o u s e d e v w o u l d b e m o r e c o r r e c t i n t h i s
c a s e . C o n s e q u e n t l y u n d e r S u S E 6 . 4 t h e l i n e i n t h e c o n f i g u r a t i o n f i l e o u g h t t o l o o k l i k e t h i s :
U S B _ D R I V E R S = " h i d k e y b d e v m o u s e d e v "
S u S E d i d n o t s e t a g o o d e x a m p l e i n V e r s i o n 6 . 4 ( w h i c h i s s t i l l w i d e l y d i s t r i b u t e d ) w h e n i t
c a m e t o t h e d e v i c e f i l e s . I f y o u d o n ' t n o t i c e t h a t t h e p r e - i n s t a l l e d f i l e s a r e w r o n g a s s o o n a s
a m o u s e h a s b e e n c o n n e c t e d , y o u ' l l b e i n t r o u b l e . S o l u t i o n : s i m p l y d e l e t e t h e e x i s t i n g f i l e s
a n d r e i n s t a l l t h e m .
d i r e c t l y s u p p o r t e d i n t h e k e r n e l . W i t h t h e m o d u l e p r i n c i p l e , b u y a n y U S B m o u s e , a n y U S B k e y b o a r d
w a c o m t h e t a b l e t i s r e c o g n i s e d a s a m o u s e . I n o r d e r a n d a n y U S B j o y s t i c k w i t h o u t a n y w o r r i e s . W i t h a
t o s t i l l b e a b l e t o u s e t h e p r e s s u r e s e n s i t i v i t y , y o u f e w m i n o r m o d i f i c a t i o n s , t h e s e t o o s h o u l d b e
h a v e t o u s e t h e X I n p u t e x p a n s i o n f r o m X F r e e 8 6 . c a p a b l e o f i n s t a l l a t i o n u n d e r L i n u x . I t i s o n l y i n t h e
T h e m o d u l e f o r t h i s c a n b e f o u n d a t t h e f i f t h W e b c a s e o f t h e g r a p h i c s t a b l e t s t h a t t h e r e i s a t p r e s e n t
s i t e l i s t e d b e l o w . T o c o n n e c t i t u p , t h e f o l l o w i n g s t i l l i n s u f f i c i e n t s u p p o r t . I n t h e n e x t i s s u e w e w i l l
s p e c i f i c a t i o n s i n t h e " I n p u t - S e c t i o n " o f t h e t a k e a l o o k a t d a t a s t o r a g e d e v i c e s w i t h U S B
c o n f i g u r a t i o n f i l e X F 8 6 C o n f i g a r e n e c e s s a r y . c o n n e c t i o n s . %
S e c t i o n " M o d u l e "
L o a d " x f 8 6 G r a p h i r e U S B . s o "
I n p u t c o n c e p t
E n d S e c t i o n
S i m u l t a n e o u s l y w i t h U S B i n t h e u p c o m i n g k e r n e l 2 . 4 , a n a t t e m p t i s a l s o
S e c t i o n " X I n p u t "
m a d e t o i n t r o d u c e a n e w i n p u t s t r u c t u r e . T h i s i s b a s e d o n t h e f a c t t h a t a l l
S u b s e c t i o n " g m o u s e "
h a r d w a r e d r i v e r s f i r s t s e n d t h e i r s i g n a l s t o t h e c e n t r a l i n p u t m o d u l e . T h e
P o r t " / d e v / i n p u t / i n p u t 0 "
m o d u l e s w h i c h p r o c e s s t h e s i g n a l s a n d p a s s t h e m o n t o t h e d e v i c e f i l e s
D e v i c e N a m e " G r a p h i r e M o u s e "
t h e s o - c a l l e d " e v e n t h a n d l e r s " a r e a l s o r e g i s t e r e d t h e r e . S o e v d e v i s a v e r y
M o d e R e l a t i v e
A l w a y s C o r e s p e c i a l " e v e n t h a n d l e r " . W i t h i t s a s s o c i a t e d p r o g r a m e v t e s t a l l e v e n t s s e n t
E n d S u b s e c t i o n
o u t b y a s p e c i f i e d d e v i c e ( t h e m o v e m e n t o f a n a x i s , o r k e y p r e s s f o r
S u b s e c t i o n " g s t y l u s "
e x a m p l e ) c a n b e c a p t u r e d . T h i s m i g h t b e a k e y b o a r d . B u t i t a l s o f u n c t i o n s
P o r t " / d e v / i n p u t / i n p u t 0 "
w i t h a l l o t h e r d r i v e r s t h a t u s e t h e i n p u t m o d u l e . U n f o r t u n a t e l y t h i s g e n e r a l
D e v i c e N a m e " G r a p h i r e P e n "
i n p u t a r c h i t e c t u r e i s c u r r e n t l y o n l y u s e d b y U S B :
M o d e A b s o l u t e
A l w a y s C o r e
b a s h > m k n o d i n p u t 0 c 1 3 6 4
E n d S u b s e c t i o n
b a s h > m k n o d i n p u t 1 c 1 3 6 5
S u b s e c t i o n " g e r a s e r "
b a s h > m k n o d i n p u t 2 c 1 3 6 6
P o r t " / d e v / i n p u t / i n p u t 0 "
D e v i c e N a m e " G r a p h i r e E r a s e r "
b a s h > e v t e s t i n p u t 0
M o d e A b s o l u t e
E v e n t : t i m e 9 7 0 2 0 5 1 2 7 . 3 3 3 5 9 6 , t y p e 1 ( K e y ) , c o d e 2 9 ( L e f t C o n t r o l ) , v a l u e 1
A l w a y s C o r e
E v e n t : t i m e 9 7 0 2 0 5 1 2 7 . 5 4 9 6 0 0 , t y p e 1 ( K e y ) , c o d e 2 9 ( L e f t C o n t r o l ) , v a l u e 0
E n d S u b s e c t i o n
E v e n t : t i m e 9 7 0 2 0 5 1 2 7 . 9 9 7 6 2 1 , t y p e 1 ( K e y ) , c o d e 2 8 ( E n t e r ) , v a l u e 1
E n d S e c t i o n
E v e n t : t i m e 9 7 0 2 0 5 1 2 8 . 1 3 3 6 2 1 , t y p e 1 ( K e y ) , c o d e 2 8 ( E n t e r ) , v a l u e 0
E v e n t : t i m e 9 7 0 2 0 5 1 2 8 . 8 0 5 6 4 3 , t y p e 1 ( K e y ) , c o d e 1 ( E s c ) , v a l u e 1
A t t h i s p o i n t c a r e m u s t b e t a k e n t o e n s u r e t h a t t h e
E v e n t : t i m e 9 7 0 2 0 5 1 2 8 . 9 0 1 6 4 4 , t y p e 1 ( K e y ) , c o d e 1 ( E s c ) , v a l u e 0
" d e v i c e " i s d e f i n i t e l y s p e c i f i e d . I t i s a d v i s a b l e t o
e n s u r e t h a t t h e W a c o m d r i v e r i s l o a d e d f i r s t a n d t h u s
a l w a y s s i t s a t " i n p u t 0 " . A f t e r r e s t a r t i n g t h e X - S e r v e r
a l l y o u n e e d i s a n a p p l i c a t i o n w h i c h a c c e s s e s X I n p u t .
I n f o
O b v i o u s l y i n t h i s c a s e a M a l p r o g r a m s u c h a s G i m p
w o u l d b e a p p r o p r i a t e . U n f o r t u n a t e l y b o t h G T K a n d [ 1 ] h t t p : / / w w w . i c s . m q . e d u . a u / ~ r o b b i e / l i n u x / i t o u c h . h t m l
G i m p h a v e t o b e c o n v e r t e d a g a i n f i r s t . R e f e r t o [ 2 ] h t t p : / / w w w . i n f o s u n . f m i . u n i - p a s s a u . d e / ~ n i l s / t y p e 6 /
h t t p : / / w w w . g t k . o r g / ~ o t a y l o r / x i n p u t / f o r t h i s . [ 3 ] h t t p : / / w w w . l o k i g a m e s . c o m /
[ 4 ] h t t p : / / w w w . s u s e . c z / d e v e l o p m e n t / i n p u t
[ 5 ] h t t p : / / w w w . p x h . d e / f s / g r a p h i r e /
I n t e r i m r e s u l t s
[ 6 ] h t t p : / / w w w . g t k . o r g / ~ o t a y l o r / x i n p u t /
T h e s u c c e s s r a t e f o r t h e U S B d e v i c e s s o f a r t e s t e d
u n d e r L i n u x i s e n c o u r a g i n g l y h i g h . Y o u c a n , i n %
4 · 2 0 0 1 L I N U X M A G A Z I N E 4 3
Wyszukiwarka
Podobne podstrony:
2001 02 Mass Storage Usb Storage Devices Under LinuxBiuletyn IPN 2001 012001 01 Know How Commandline Control of Babelfish Translation Service2001 01 Network Security Snort and Nmap2001 01 Hardware Test Netwinder Officeserver2001 01 Scratch My Itch2001 01 Know How Berlin, Alternative to X Window System2001 01 Zasilacz 10A 10 20V2001 01 Ośla łączka2001 01 Szkoła konstruktorów klasa II2001 01 Build Your Own Linux with Linux from Scratch2001 03 Multimedia Usb DevicesHow to build a USB device with PIC 18F4550 or 18F2550 (and the microchip CDC firmware)Stromlaufplan Passat 80 Zusatzheizung ab 01 2001Mathcad 01 Test serii i b dów grubych 2001Stromlaufplan Passat 71 Einparkhilfe ab 01 2001t informatyk12[01] 02 101r11 01więcej podobnych podstron