About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / sound / alsa / Joystick.txt




Custom Search

Based on kernel version 3.16. Page generated on 2014-08-06 21:41 EST.

1	Analog Joystick Support on ALSA Drivers
2	=======================================
3	                          Oct. 14, 2003
4	           Takashi Iwai <tiwai@suse.de>
5	
6	General
7	-------
8	
9	First of all, you need to enable GAMEPORT support on Linux kernel for
10	using a joystick with the ALSA driver.  For the details of gameport
11	support, refer to Documentation/input/joystick.txt.
12	
13	The joystick support of ALSA drivers is different between ISA and PCI
14	cards.  In the case of ISA (PnP) cards, it's usually handled by the
15	independent module (ns558).  Meanwhile, the ALSA PCI drivers have the
16	built-in gameport support.  Hence, when the ALSA PCI driver is built
17	in the kernel, CONFIG_GAMEPORT must be 'y', too.  Otherwise, the
18	gameport support on that card will be (silently) disabled.
19	
20	Some adapter modules probe the physical connection of the device at
21	the load time.  It'd be safer to plug in the joystick device before
22	loading the module.
23	
24	
25	PCI Cards
26	---------
27	
28	For PCI cards, the joystick is enabled when the appropriate module
29	option is specified.  Some drivers don't need options, and the
30	joystick support is always enabled.  In the former ALSA version, there
31	was a dynamic control API for the joystick activation.  It was
32	changed, however, to the static module options because of the system
33	stability and the resource management.
34	
35	The following PCI drivers support the joystick natively.
36	
37	    Driver	Module Option	Available Values
38	    ---------------------------------------------------------------------------
39	    als4000	joystick_port	0 = disable (default), 1 = auto-detect,
40	                                manual: any address (e.g. 0x200)
41	    au88x0	N/A		N/A
42	    azf3328	joystick	0 = disable, 1 = enable, -1 = auto (default)
43	    ens1370	joystick	0 = disable (default), 1 = enable
44	    ens1371	joystick_port	0 = disable (default), 1 = auto-detect,
45	                                manual: 0x200, 0x208, 0x210, 0x218
46	    cmipci	joystick_port	0 = disable (default), 1 = auto-detect,
47	                                manual: any address (e.g. 0x200)
48	    cs4281	N/A		N/A
49	    cs46xx	N/A		N/A
50	    es1938	N/A		N/A
51	    es1968	joystick	0 = disable (default), 1 = enable
52	    sonicvibes	N/A		N/A
53	    trident	N/A		N/A
54	    via82xx(*1)	joystick	0 = disable (default), 1 = enable
55	    ymfpci	joystick_port	0 = disable (default), 1 = auto-detect,
56	                                manual: 0x201, 0x202, 0x204, 0x205(*2)
57	    ---------------------------------------------------------------------------
58	
59	    *1)  VIA686A/B only
60	    *2)  With YMF744/754 chips, the port address can be chosen arbitrarily
61	
62	The following drivers don't support gameport natively, but there are
63	additional modules.  Load the corresponding module to add the gameport
64	support.
65	
66	    Driver	Additional Module
67	    -----------------------------
68	    emu10k1	emu10k1-gp
69	    fm801	fm801-gp
70	    -----------------------------
71	
72	Note: the "pcigame" and "cs461x" modules are for the OSS drivers only.
73	      These ALSA drivers (cs46xx, trident and au88x0) have the
74	      built-in gameport support.
75	
76	As mentioned above, ALSA PCI drivers have the built-in gameport
77	support, so you don't have to load ns558 module.  Just load "joydev"
78	and the appropriate adapter module (e.g. "analog").
79	
80	
81	ISA Cards
82	---------
83	
84	ALSA ISA drivers don't have the built-in gameport support.
85	Instead, you need to load "ns558" module in addition to "joydev" and
86	the adapter module (e.g. "analog").
Hide Line Numbers
About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Information is copyright its respective author. All material is available from the Linux Kernel Source distributed under a GPL License. This page is provided as a free service by mjmwired.net.