# Copyright (C) 2011 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Logitech Gamepad F310 (USB).
# Effectively identical (in codes) to Logitech Wireless Gamepad F710.
# Very similar to XBox 360 controller (with switch in X position).
# This is due to XInput support in the F310 and F710 controller.
#
# NVIDIA Normalized Gamepad
key 0x130 BUTTON_A
key 0x131 BUTTON_B
key 0x133 BUTTON_X
key 0x134 BUTTON_Y
# Button "LB" maps to BUTTON_L1.
key 0x136 BUTTON_L1
# Button "RB" maps to BUTTON_R1.
key 0x137 BUTTON_R1
key 0x13a BACK
key 0x13b BUTTON_START
# Button with Logitech logo maps to HOME.
key 0x13c HOME
# These two keycodes are for click (press from above) on analog control sticks.
key 0x13d BUTTON_THUMBL
key 0x13e BUTTON_THUMBR
# Note: Content from here to the end of this file are copied verbatim from
# correspondent section in the "XBox 360 USB Controller" .kl file.
# Left (0x00, 0x01) and right (0x03, 0x04) analog control stick.
# The reported value for flat is 128 out of a range from -32767 to 32768, which is absurd.
# This confuses applications that rely on the flat value because the joystick actually
# settles in a flat range of +/- 4096 or so.
axis 0x00 X flat 4096
axis 0x01 Y flat 4096
axis 0x03 Z flat 4096
axis 0x04 RZ flat 4096
# Triggers.
# (Shoulder trigger buttons marked with "LT" and "RT" are analog.
# Each axis has range from 0 to 255.)
axis 0x02 LTRIGGER
axis 0x05 RTRIGGER
# Hat.
# (D-pad is reported as analog. Each axis has range from -1 to 1.)
axis 0x10 HAT_X
axis 0x11 HAT_Y