Kconfig 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653
  1. #
  2. # HID driver configuration
  3. #
  4. menuconfig HID_SUPPORT
  5. bool "HID Devices"
  6. depends on INPUT
  7. default y
  8. ---help---
  9. Say Y here to get to see options for various computer-human interface
  10. device drivers. This option alone does not add any kernel code.
  11. If you say N, all options in this submenu will be skipped and disabled.
  12. if HID_SUPPORT
  13. config HID
  14. tristate "Generic HID support"
  15. depends on INPUT
  16. default y
  17. ---help---
  18. A human interface device (HID) is a type of computer device that
  19. interacts directly with and takes input from humans. The term "HID"
  20. most commonly used to refer to the USB-HID specification, but other
  21. devices (such as, but not strictly limited to, Bluetooth) are
  22. designed using HID specification (this involves certain keyboards,
  23. mice, tablets, etc). This option compiles into kernel the generic
  24. HID layer code (parser, usages, etc.), which can then be used by
  25. transport-specific HID implementation (like USB or Bluetooth).
  26. For docs and specs, see http://www.usb.org/developers/hidpage/
  27. If unsure, say Y.
  28. config HID_BATTERY_STRENGTH
  29. bool
  30. depends on HID && POWER_SUPPLY && HID = POWER_SUPPLY
  31. default y
  32. config HIDRAW
  33. bool "/dev/hidraw raw HID device support"
  34. depends on HID
  35. ---help---
  36. Say Y here if you want to support HID devices (from the USB
  37. specification standpoint) that aren't strictly user interface
  38. devices, like monitor controls and Uninterruptable Power Supplies.
  39. This module supports these devices separately using a separate
  40. event interface on /dev/hidraw.
  41. There is also a /dev/hiddev configuration option in the USB HID
  42. configuration menu. In comparison to hiddev, this device does not process
  43. the hid events at all (no parsing, no lookups). This lets applications
  44. to work on raw hid events when they want to, and avoid using transport-specific
  45. userspace libhid/libusb libraries.
  46. If unsure, say Y.
  47. source "drivers/hid/usbhid/Kconfig"
  48. menu "Special HID drivers"
  49. depends on HID
  50. config HID_A4TECH
  51. tristate "A4 tech mice" if EXPERT
  52. depends on USB_HID
  53. default !EXPERT
  54. ---help---
  55. Support for A4 tech X5 and WOP-35 / Trust 450L mice.
  56. config HID_ACRUX
  57. tristate "ACRUX game controller support"
  58. depends on USB_HID
  59. ---help---
  60. Say Y here if you want to enable support for ACRUX game controllers.
  61. config HID_ACRUX_FF
  62. bool "ACRUX force feedback support"
  63. depends on HID_ACRUX
  64. select INPUT_FF_MEMLESS
  65. ---help---
  66. Say Y here if you want to enable force feedback support for ACRUX
  67. game controllers.
  68. config HID_APPLE
  69. tristate "Apple {i,Power,Mac}Books" if EXPERT
  70. depends on (USB_HID || BT_HIDP)
  71. default !EXPERT
  72. ---help---
  73. Support for some Apple devices which less or more break
  74. HID specification.
  75. Say Y here if you want support for keyboards of Apple iBooks, PowerBooks,
  76. MacBooks, MacBook Pros and Apple Aluminum.
  77. config HID_BELKIN
  78. tristate "Belkin Flip KVM and Wireless keyboard" if EXPERT
  79. depends on USB_HID
  80. default !EXPERT
  81. ---help---
  82. Support for Belkin Flip KVM and Wireless keyboard.
  83. config HID_CHERRY
  84. tristate "Cherry Cymotion keyboard" if EXPERT
  85. depends on USB_HID
  86. default !EXPERT
  87. ---help---
  88. Support for Cherry Cymotion keyboard.
  89. config HID_CHICONY
  90. tristate "Chicony Tactical pad" if EXPERT
  91. depends on USB_HID
  92. default !EXPERT
  93. ---help---
  94. Support for Chicony Tactical pad.
  95. config HID_PRODIKEYS
  96. tristate "Prodikeys PC-MIDI Keyboard support"
  97. depends on USB_HID && SND
  98. select SND_RAWMIDI
  99. ---help---
  100. Support for Prodikeys PC-MIDI Keyboard device support.
  101. Say Y here to enable support for this device.
  102. - Prodikeys PC-MIDI keyboard.
  103. The Prodikeys PC-MIDI acts as a USB Audio device, with one MIDI
  104. input and one MIDI output. These MIDI jacks appear as
  105. a sound "card" in the ALSA sound system.
  106. Note: if you say N here, this device will still function as a basic
  107. multimedia keyboard, but will lack support for the musical keyboard
  108. and some additional multimedia keys.
  109. config HID_CYPRESS
  110. tristate "Cypress mouse and barcode readers" if EXPERT
  111. depends on USB_HID
  112. default !EXPERT
  113. ---help---
  114. Support for cypress mouse and barcode readers.
  115. config HID_DRAGONRISE
  116. tristate "DragonRise Inc. game controller"
  117. depends on USB_HID
  118. ---help---
  119. Say Y here if you have DragonRise Inc. game controllers.
  120. These might be branded as:
  121. - Tesun USB-703
  122. - Media-tech MT1504 "Rogue"
  123. - DVTech JS19 "Gear"
  124. - Defender Game Master
  125. config DRAGONRISE_FF
  126. bool "DragonRise Inc. force feedback"
  127. depends on HID_DRAGONRISE
  128. select INPUT_FF_MEMLESS
  129. ---help---
  130. Say Y here if you want to enable force feedback support for DragonRise Inc.
  131. game controllers.
  132. config HID_EMS_FF
  133. tristate "EMS Production Inc. force feedback support"
  134. depends on USB_HID
  135. select INPUT_FF_MEMLESS
  136. ---help---
  137. Say Y here if you want to enable force feedback support for devices by
  138. EMS Production Ltd.
  139. Currently the following devices are known to be supported:
  140. - Trio Linker Plus II
  141. config HID_ELECOM
  142. tristate "ELECOM BM084 bluetooth mouse"
  143. depends on BT_HIDP
  144. ---help---
  145. Support for the ELECOM BM084 (bluetooth mouse).
  146. config HID_EZKEY
  147. tristate "Ezkey BTC 8193 keyboard" if EXPERT
  148. depends on USB_HID
  149. default !EXPERT
  150. ---help---
  151. Support for Ezkey BTC 8193 keyboard.
  152. config HID_HOLTEK
  153. tristate "Holtek On Line Grip based game controller support"
  154. depends on USB_HID
  155. ---help---
  156. Say Y here if you have a Holtek On Line Grip based game controller.
  157. config HOLTEK_FF
  158. bool "Holtek On Line Grip force feedback support"
  159. depends on HID_HOLTEK
  160. select INPUT_FF_MEMLESS
  161. ---help---
  162. Say Y here if you have a Holtek On Line Grip based game controller
  163. and want to have force feedback support for it.
  164. config HID_KEYTOUCH
  165. tristate "Keytouch HID devices"
  166. depends on USB_HID
  167. ---help---
  168. Support for Keytouch HID devices not fully compliant with
  169. the specification. Currently supported:
  170. - Keytouch IEC 60945
  171. config HID_KYE
  172. tristate "Kye/Genius Ergo Mouse" if EXPERT
  173. depends on USB_HID
  174. default !EXPERT
  175. ---help---
  176. Support for Kye/Genius Ergo Mouse.
  177. config HID_UCLOGIC
  178. tristate "UC-Logic"
  179. depends on USB_HID
  180. ---help---
  181. Support for UC-Logic tablets.
  182. config HID_WALTOP
  183. tristate "Waltop"
  184. depends on USB_HID
  185. ---help---
  186. Support for Waltop tablets.
  187. config HID_GYRATION
  188. tristate "Gyration remote control"
  189. depends on USB_HID
  190. ---help---
  191. Support for Gyration remote control.
  192. config HID_TWINHAN
  193. tristate "Twinhan IR remote control"
  194. depends on USB_HID
  195. ---help---
  196. Support for Twinhan IR remote control.
  197. config HID_KENSINGTON
  198. tristate "Kensington Slimblade Trackball" if EXPERT
  199. depends on USB_HID
  200. default !EXPERT
  201. ---help---
  202. Support for Kensington Slimblade Trackball.
  203. config HID_LCPOWER
  204. tristate "LC-Power"
  205. depends on USB_HID
  206. ---help---
  207. Support for LC-Power RC1000MCE RF remote control.
  208. config HID_LOGITECH
  209. tristate "Logitech devices" if EXPERT
  210. depends on USB_HID
  211. default !EXPERT
  212. ---help---
  213. Support for Logitech devices that are not fully compliant with HID standard.
  214. config HID_LOGITECH_DJ
  215. tristate "Logitech Unifying receivers full support"
  216. depends on HID_LOGITECH
  217. default m
  218. ---help---
  219. Say Y if you want support for Logitech Unifying receivers and devices.
  220. Unifying receivers are capable of pairing up to 6 Logitech compliant
  221. devices to the same receiver.
  222. config LOGITECH_FF
  223. bool "Logitech force feedback support"
  224. depends on HID_LOGITECH
  225. select INPUT_FF_MEMLESS
  226. help
  227. Say Y here if you have one of these devices:
  228. - Logitech WingMan Cordless RumblePad
  229. - Logitech WingMan Cordless RumblePad 2
  230. - Logitech WingMan Force 3D
  231. - Logitech Formula Force EX
  232. - Logitech WingMan Formula Force GP
  233. - Logitech MOMO Force wheel
  234. and if you want to enable force feedback for them.
  235. Note: if you say N here, this device will still be supported, but without
  236. force feedback.
  237. config LOGIRUMBLEPAD2_FF
  238. bool "Logitech RumblePad/Rumblepad 2 force feedback support"
  239. depends on HID_LOGITECH
  240. select INPUT_FF_MEMLESS
  241. help
  242. Say Y here if you want to enable force feedback support for Logitech
  243. RumblePad and Rumblepad 2 devices.
  244. config LOGIG940_FF
  245. bool "Logitech Flight System G940 force feedback support"
  246. depends on HID_LOGITECH
  247. select INPUT_FF_MEMLESS
  248. help
  249. Say Y here if you want to enable force feedback support for Logitech
  250. Flight System G940 devices.
  251. config LOGIWHEELS_FF
  252. bool "Logitech wheels configuration and force feedback support"
  253. depends on HID_LOGITECH
  254. select INPUT_FF_MEMLESS
  255. default LOGITECH_FF
  256. help
  257. Say Y here if you want to enable force feedback and range setting
  258. support for following Logitech wheels:
  259. - Logitech Driving Force
  260. - Logitech Driving Force Pro
  261. - Logitech Driving Force GT
  262. - Logitech G25
  263. - Logitech G27
  264. - Logitech MOMO/MOMO 2
  265. - Logitech Formula Force EX
  266. config HID_MAGICMOUSE
  267. tristate "Apple MagicMouse multi-touch support"
  268. depends on BT_HIDP
  269. ---help---
  270. Support for the Apple Magic Mouse multi-touch.
  271. Say Y here if you want support for the multi-touch features of the
  272. Apple Wireless "Magic" Mouse.
  273. config HID_MICROSOFT
  274. tristate "Microsoft non-fully HID-compliant devices" if EXPERT
  275. depends on USB_HID
  276. default !EXPERT
  277. ---help---
  278. Support for Microsoft devices that are not fully compliant with HID standard.
  279. config HID_MONTEREY
  280. tristate "Monterey Genius KB29E keyboard" if EXPERT
  281. depends on USB_HID
  282. default !EXPERT
  283. ---help---
  284. Support for Monterey Genius KB29E.
  285. config HID_MULTITOUCH
  286. tristate "HID Multitouch panels"
  287. depends on USB_HID
  288. ---help---
  289. Generic support for HID multitouch panels.
  290. Say Y here if you have one of the following devices:
  291. - 3M PCT touch screens
  292. - ActionStar dual touch panels
  293. - Cando dual touch panels
  294. - Chunghwa panels
  295. - CVTouch panels
  296. - Cypress TrueTouch panels
  297. - Elo TouchSystems IntelliTouch Plus panels
  298. - GeneralTouch 'Sensing Win7-TwoFinger' panels
  299. - GoodTouch panels
  300. - Hanvon dual touch panels
  301. - Ilitek dual touch panels
  302. - IrTouch Infrared USB panels
  303. - LG Display panels (Dell ST2220Tc)
  304. - Lumio CrystalTouch panels
  305. - MosArt dual-touch panels
  306. - PenMount dual touch panels
  307. - Pixcir dual touch panels
  308. - eGalax dual-touch panels, including the Joojoo and Wetab tablets
  309. - Stantum multitouch panels
  310. - Touch International Panels
  311. - Unitec Panels
  312. - XAT optical touch panels
  313. If unsure, say N.
  314. To compile this driver as a module, choose M here: the
  315. module will be called hid-multitouch.
  316. config HID_NTRIG
  317. tristate "N-Trig touch screen"
  318. depends on USB_HID
  319. ---help---
  320. Support for N-Trig touch screen.
  321. config HID_ORTEK
  322. tristate "Ortek PKB-1700/WKB-2000/Skycable wireless keyboard and mouse trackpad"
  323. depends on USB_HID
  324. ---help---
  325. There are certain devices which have LogicalMaximum wrong in the keyboard
  326. usage page of their report descriptor. The most prevailing ones so far
  327. are manufactured by Ortek, thus the name of the driver. Currently
  328. supported devices by this driver are
  329. - Ortek PKB-1700
  330. - Ortek WKB-2000
  331. - Skycable wireless presenter
  332. config HID_PANTHERLORD
  333. tristate "Pantherlord/GreenAsia game controller"
  334. depends on USB_HID
  335. ---help---
  336. Say Y here if you have a PantherLord/GreenAsia based game controller
  337. or adapter.
  338. config PANTHERLORD_FF
  339. bool "Pantherlord force feedback support"
  340. depends on HID_PANTHERLORD
  341. select INPUT_FF_MEMLESS
  342. ---help---
  343. Say Y here if you have a PantherLord/GreenAsia based game controller
  344. or adapter and want to enable force feedback support for it.
  345. config HID_PETALYNX
  346. tristate "Petalynx Maxter remote control"
  347. depends on USB_HID
  348. ---help---
  349. Support for Petalynx Maxter remote control.
  350. config HID_PICOLCD
  351. tristate "PicoLCD (graphic version)"
  352. depends on USB_HID
  353. ---help---
  354. This provides support for Minibox PicoLCD devices, currently
  355. only the graphical ones are supported.
  356. This includes support for the following device features:
  357. - Keypad
  358. - Switching between Firmware and Flash mode
  359. - EEProm / Flash access (via debugfs)
  360. Features selectively enabled:
  361. - Framebuffer for monochrome 256x64 display
  362. - Backlight control
  363. - Contrast control
  364. - General purpose outputs
  365. Features that are not (yet) supported:
  366. - IR
  367. config HID_PICOLCD_FB
  368. bool "Framebuffer support" if EXPERT
  369. default !EXPERT
  370. depends on HID_PICOLCD
  371. depends on HID_PICOLCD=FB || FB=y
  372. select FB_DEFERRED_IO
  373. select FB_SYS_FILLRECT
  374. select FB_SYS_COPYAREA
  375. select FB_SYS_IMAGEBLIT
  376. select FB_SYS_FOPS
  377. ---help---
  378. Provide access to PicoLCD's 256x64 monochrome display via a
  379. frambuffer device.
  380. config HID_PICOLCD_BACKLIGHT
  381. bool "Backlight control" if EXPERT
  382. default !EXPERT
  383. depends on HID_PICOLCD
  384. depends on HID_PICOLCD=BACKLIGHT_CLASS_DEVICE || BACKLIGHT_CLASS_DEVICE=y
  385. ---help---
  386. Provide access to PicoLCD's backlight control via backlight
  387. class.
  388. config HID_PICOLCD_LCD
  389. bool "Contrast control" if EXPERT
  390. default !EXPERT
  391. depends on HID_PICOLCD
  392. depends on HID_PICOLCD=LCD_CLASS_DEVICE || LCD_CLASS_DEVICE=y
  393. ---help---
  394. Provide access to PicoLCD's LCD contrast via lcd class.
  395. config HID_PICOLCD_LEDS
  396. bool "GPO via leds class" if EXPERT
  397. default !EXPERT
  398. depends on HID_PICOLCD
  399. depends on HID_PICOLCD=LEDS_CLASS || LEDS_CLASS=y
  400. ---help---
  401. Provide access to PicoLCD's GPO pins via leds class.
  402. config HID_PRIMAX
  403. tristate "Primax non-fully HID-compliant devices"
  404. depends on USB_HID
  405. ---help---
  406. Support for Primax devices that are not fully compliant with the
  407. HID standard.
  408. config HID_QUANTA
  409. tristate "Quanta Optical Touch panels"
  410. depends on USB_HID
  411. ---help---
  412. Support for Quanta Optical Touch dual-touch panels.
  413. config HID_ROCCAT
  414. tristate "Roccat special event support"
  415. depends on USB_HID
  416. select HID_ROCCAT_COMMON
  417. ---help---
  418. Support for Roccat special events.
  419. Say Y here if you have a Roccat mouse or keyboard and want OSD or
  420. macro execution support.
  421. config HID_ROCCAT_COMMON
  422. tristate
  423. depends on HID_ROCCAT
  424. config HID_ROCCAT_ARVO
  425. tristate "Roccat Arvo keyboard support"
  426. depends on USB_HID
  427. depends on HID_ROCCAT
  428. ---help---
  429. Support for Roccat Arvo keyboard.
  430. config HID_ROCCAT_KONE
  431. tristate "Roccat Kone Mouse support"
  432. depends on USB_HID
  433. depends on HID_ROCCAT
  434. ---help---
  435. Support for Roccat Kone mouse.
  436. config HID_ROCCAT_KONEPLUS
  437. tristate "Roccat Kone[+] mouse support"
  438. depends on USB_HID
  439. depends on HID_ROCCAT
  440. ---help---
  441. Support for Roccat Kone[+] mouse.
  442. config HID_ROCCAT_KOVAPLUS
  443. tristate "Roccat Kova[+] mouse support"
  444. depends on USB_HID
  445. depends on HID_ROCCAT
  446. ---help---
  447. Support for Roccat Kova[+] mouse.
  448. config HID_ROCCAT_PYRA
  449. tristate "Roccat Pyra mouse support"
  450. depends on USB_HID
  451. depends on HID_ROCCAT
  452. ---help---
  453. Support for Roccat Pyra mouse.
  454. config HID_SAMSUNG
  455. tristate "Samsung InfraRed remote control or keyboards"
  456. depends on USB_HID
  457. ---help---
  458. Support for Samsung InfraRed remote control or keyboards.
  459. config HID_SONY
  460. tristate "Sony PS3 controller"
  461. depends on USB_HID
  462. ---help---
  463. Support for Sony PS3 controller.
  464. config HID_SPEEDLINK
  465. tristate "Speedlink VAD Cezanne mouse support"
  466. depends on USB_HID
  467. ---help---
  468. Support for Speedlink Vicious and Divine Cezanne mouse.
  469. config HID_SUNPLUS
  470. tristate "Sunplus wireless desktop"
  471. depends on USB_HID
  472. ---help---
  473. Support for Sunplus wireless desktop.
  474. config HID_GREENASIA
  475. tristate "GreenAsia (Product ID 0x12) game controller support"
  476. depends on USB_HID
  477. ---help---
  478. Say Y here if you have a GreenAsia (Product ID 0x12) based game
  479. controller or adapter.
  480. config GREENASIA_FF
  481. bool "GreenAsia (Product ID 0x12) force feedback support"
  482. depends on HID_GREENASIA
  483. select INPUT_FF_MEMLESS
  484. ---help---
  485. Say Y here if you have a GreenAsia (Product ID 0x12) based game controller
  486. (like MANTA Warrior MM816 and SpeedLink Strike2 SL-6635) or adapter
  487. and want to enable force feedback support for it.
  488. config HID_SMARTJOYPLUS
  489. tristate "SmartJoy PLUS PS2/USB adapter support"
  490. depends on USB_HID
  491. ---help---
  492. Support for SmartJoy PLUS PS2/USB adapter, Super Dual Box,
  493. Super Joy Box 3 Pro, Super Dual Box Pro, and Super Joy Box 5 Pro.
  494. Note that DDR (Dance Dance Revolution) mode is not supported, nor
  495. is pressure sensitive buttons on the pro models.
  496. config SMARTJOYPLUS_FF
  497. bool "SmartJoy PLUS PS2/USB adapter force feedback support"
  498. depends on HID_SMARTJOYPLUS
  499. select INPUT_FF_MEMLESS
  500. ---help---
  501. Say Y here if you have a SmartJoy PLUS PS2/USB adapter and want to
  502. enable force feedback support for it.
  503. config HID_TOPSEED
  504. tristate "TopSeed Cyberlink, BTC Emprex, Conceptronic remote control support"
  505. depends on USB_HID
  506. ---help---
  507. Say Y if you have a TopSeed Cyberlink or BTC Emprex or Conceptronic
  508. CLLRCMCE remote control.
  509. config HID_THRUSTMASTER
  510. tristate "ThrustMaster devices support"
  511. depends on USB_HID
  512. ---help---
  513. Say Y here if you have a THRUSTMASTER FireStore Dual Power 2 or
  514. a THRUSTMASTER Ferrari GT Rumble Wheel.
  515. config THRUSTMASTER_FF
  516. bool "ThrustMaster devices force feedback support"
  517. depends on HID_THRUSTMASTER
  518. select INPUT_FF_MEMLESS
  519. ---help---
  520. Say Y here if you have a THRUSTMASTER FireStore Dual Power 2 or 3,
  521. a THRUSTMASTER Dual Trigger 3-in-1 or a THRUSTMASTER Ferrari GT
  522. Rumble Force or Force Feedback Wheel.
  523. config HID_WACOM
  524. tristate "Wacom Bluetooth devices support"
  525. depends on BT_HIDP
  526. ---help---
  527. Support for Wacom Graphire Bluetooth tablet.
  528. config HID_WACOM_POWER_SUPPLY
  529. bool "Wacom Bluetooth devices power supply status support"
  530. depends on HID_WACOM
  531. select POWER_SUPPLY
  532. ---help---
  533. Say Y here if you want to enable power supply status monitoring for
  534. Wacom Bluetooth devices.
  535. config HID_WIIMOTE
  536. tristate "Nintendo Wii Remote support"
  537. depends on BT_HIDP
  538. depends on LEDS_CLASS
  539. select POWER_SUPPLY
  540. ---help---
  541. Support for the Nintendo Wii Remote bluetooth device.
  542. config HID_ZEROPLUS
  543. tristate "Zeroplus based game controller support"
  544. depends on USB_HID
  545. ---help---
  546. Say Y here if you have a Zeroplus based game controller.
  547. config ZEROPLUS_FF
  548. bool "Zeroplus based game controller force feedback support"
  549. depends on HID_ZEROPLUS
  550. select INPUT_FF_MEMLESS
  551. ---help---
  552. Say Y here if you have a Zeroplus based game controller and want
  553. to have force feedback support for it.
  554. config HID_ZYDACRON
  555. tristate "Zydacron remote control support"
  556. depends on USB_HID
  557. ---help---
  558. Support for Zydacron remote control.
  559. endmenu
  560. endif # HID_SUPPORT