# 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.

#
# Sony Playstation(R)3 Controller
#

key 0x124    DPAD_UP
key 0x125    DPAD_RIGHT
key 0x126    DPAD_DOWN
key 0x127    DPAD_LEFT

key 0x120    BUTTON_SELECT
key 0x123    BUTTON_START
key 0x12e    BUTTON_A
key 0x12d    BUTTON_B
key 0x12f    BUTTON_X
key 0x12c    BUTTON_Y
key 0x12a    BUTTON_L1
key 0x12b    BUTTON_R1
key 0x128    BUTTON_L2
key 0x129    BUTTON_R2
key 0x121    BUTTON_THUMBL
key 0x122    BUTTON_THUMBR

# PS key
key 0x2d0    HOME

# Left Analog Stick
axis 0x00    X
axis 0x01    Y

# Right Analog Stick
axis 0x02    Z
axis 0x05    RZ

# DPAD
# axis 0x2c   -HAT_Y
# axis 0x2d   +HAT_X
# axis 0x2e   +HAT_Y
# axis 0x2f   -HAT_X

# L2 trigger
axis 0x30   LTRIGGER

# R2 trigger
axis 0x31   RTRIGGER

# L1 trigger
# axis 0x32

# R1 trigger
# axis 0x33

# Triangle
# axis 0x34

# Circle
# axis 0x35

# Cross
# axis 0x36

# Square
# axis 0x37
