summaryrefslogtreecommitdiffstats
path: root/input_hal/hal_api
diff options
context:
space:
mode:
authortakeshi_hoshina <takeshi_hoshina@mail.toyota.co.jp>2020-10-27 11:16:21 +0900
committertakeshi_hoshina <takeshi_hoshina@mail.toyota.co.jp>2020-10-27 11:16:21 +0900
commit947c78887e791596d4a5ec2d1079f8b1a049628b (patch)
tree3981e88eb8764d7180722f8466f36b756dc005af /input_hal/hal_api
parent706ad73eb02caf8532deaf5d38995bd258725cb8 (diff)
Diffstat (limited to 'input_hal/hal_api')
-rw-r--r--input_hal/hal_api/input_hal.h696
-rw-r--r--input_hal/hal_api/peripheral_service/aglinput.h536
-rw-r--r--input_hal/hal_api/peripheral_service/extinput.h27
3 files changed, 1259 insertions, 0 deletions
diff --git a/input_hal/hal_api/input_hal.h b/input_hal/hal_api/input_hal.h
new file mode 100644
index 00000000..bfc9d592
--- /dev/null
+++ b/input_hal/hal_api/input_hal.h
@@ -0,0 +1,696 @@
+/*
+ * @copyright Copyright (c) 2017-2020 TOYOTA MOTOR CORPORATION.
+ *
+ * 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.
+ */
+
+#ifndef HAL_API_INPUT_HAL_H_
+#define HAL_API_INPUT_HAL_H_
+
+#include <native_service/frameworkunified_types.h>
+
+#include "peripheral_service/aglinput.h"
+
+/**
+ * @file input_hal.h
+ */
+
+/** @addtogroup switchhandler
+ * @{
+ */
+/** @addtogroup input_hal
+ * @ingroup switchhandler
+ * @{
+ */
+
+/************************************************************************
+* Macro definitions *
+************************************************************************/
+/**
+ * \~english Return value type
+ */
+enum HalInputRetType {
+ /**
+ * \~english Success
+ */
+ HAL_INPUT_RET_NORMAL = 0,
+ /**
+ * \~english Process abnormality
+ */
+ HAL_INPUT_RET_ERROR,
+ /**
+ * \~english Not support
+ */
+ HAL_INPUT_RET_NOT_SUPPORT,
+};
+/**
+ * \~english Touch panel IC type
+ */
+enum HalInputTouchDeviceType {
+ /**
+ * \~english Touch panel IC is invalid
+ */
+ HAL_INPUT_TOUCH_DEVICE_INVALID = 0,
+ /**
+ * \~english Touch panel IC is ILITEK
+ */
+ HAL_INPUT_TOUCH_DEVICE_ILITEK,
+};
+
+/**
+ * \~english Radio band type
+ */
+enum HalInputBandType {
+ /**
+ * \~english Radio band is AM
+ */
+ HAL_INPUT_BAND_TYPE_AM = 0,
+ /**
+ * \~english Radio band isn't AM
+ */
+ HAL_INPUT_BAND_TYPE_NOT_AM,
+};
+
+/**
+ * \~english Radio reception status
+ */
+enum HalInputTuneStatus {
+ /**
+ * \~english Radio is in normal state
+ */
+ HAL_INPUT_TUNE_STATUS_NORMAL = 0,
+ /**
+ * \~english Radio is in search state
+ */
+ HAL_INPUT_TUNE_STATUS_SERACH,
+};
+
+/**
+ * \~english Sensitivity Level
+ */
+enum HalInputTouchSensitivityLevel {
+ /**
+ * \~english Sensitivity level low
+ */
+ HAL_INPUT_TOUCH_SENSITIVITY_LEVEL_LOW = 1,
+ /**
+ * \~english Sensitivity level middle
+ */
+ HAL_INPUT_TOUCH_SENSITIVITY_LEVEL_MIDDLE,
+ /**
+ * \~english Sensitivity level high
+ */
+ HAL_INPUT_TOUCH_SENSITIVITY_LEVEL_HIGH,
+ /**
+ * \~english Sensitivity level none
+ */
+ HAL_INPUT_TOUCH_SENSITIVITY_LEVEL_NONE,
+};
+
+/**
+ * \~english input device type
+ */
+enum HalInputDeviceType {
+ /**
+ * \~english The device type invalid
+ */
+ HAL_INPUT_DEVICE_INVALID,
+ /**
+ * \~english The device is keyboard
+ */
+ HAL_INPUT_DEVICE_KEYBOARD,
+ /**
+ * \~english The device is touch
+ */
+ HAL_INPUT_DEVICE_TOUCH,
+ /**
+ * \~english The device is ESC-KEY
+ */
+ HAL_INPUT_DEVICE_TOUCH_ESCKEY,
+ /**
+ * \~english The device is steering SW
+ */
+ HAL_INPUT_DEVICE_STEERING,
+ /**
+ * \~english The device is tablet finger
+ */
+ HAL_INPUT_DEVICE_TABLET_FINGER,
+ /**
+ * \~english The device is rotary key
+ */
+ HAL_INPUT_DEVICE_ROTARY_KEY,
+};
+
+/**
+ * \~english Don't need to config touch panel
+ */
+#define HAL_INPUT_TOUCH_CONFIG_OFF (0)
+/**
+ * \~english Touch panel configed
+ */
+#define HAL_INPUT_TOUCH_CONFIG_ON (1)
+
+/**
+ * \~english Touch panel touch press
+ */
+#define HAL_INPUT_TOUCH_PRESS (0)
+/**
+ * \~english Touch panel touch release
+ */
+#define HAL_INPUT_TOUCH_RELEASE (1)
+
+/**
+ * \~english Don't report touch panel's touch event
+ */
+#define HAL_INPUT_TOUCH_UNREPORT (0)
+/**
+ * \~english Report touch panel's touch event
+ */
+#define HAL_INPUT_TOUCH_REPORT (1)
+
+/**
+ * \~english Test all case
+ */
+#define HAL_INPUT_TOUCH_SELFTEST_ID_ALL (0xFE)
+/**
+ * \~english Selftest data length
+ */
+#define HAL_INPUT_TOUCH_SELFTEST_DATA_LEN (5)
+/**
+ * \~english Selftest mode not support
+ */
+#define HAL_INPUT_TOUCH_SELFTEST_NOT_SUPPORT (0xEE)
+
+/**
+ * \~english max number of input_event per package.
+ */
+#define HAL_INPUT_EVENT_COUNT 64
+
+/**
+ * \~english Thread name defined
+ */
+#define HAL_INPUT_SOURCE_NAME "input_hal_mon"
+
+/**
+ * \~english Notify input event from touch panel,
+ * The data of the notification please refer the following two type.\n
+ * @ref HAL_INPUT_TOUCH_PRESS \n
+ * @ref HAL_INPUT_TOUCH_RELEASE \n
+ * Please use IF of NSFW as follows to receive this event.
+ * \~ @code
+ * l_eStatus = FrameworkunifiedAttachCallbackToDispatcher(happ, HAL_INPUT_SOURCE_NAME, HAL_INPUT_NOTIFY_TOUCH, fpOnCmd);
+ * @endcode
+ * \~english note:FrameworkunifiedAttachCallbacksToDispatcher is available, too.
+ */
+#define HAL_INPUT_NOTIFY_TOUCH 100
+/**
+ * \~english Notify input event from touch panel ESC-KEY,
+ * The data format of the notification please refer to @ref EventsPackageInput.\n
+ * Please use IF of NSFW as follows to receive this event.
+ * \~ @code
+ * l_eStatus = FrameworkunifiedAttachCallbackToDispatcher(happ, HAL_INPUT_SOURCE_NAME, HAL_INPUT_NOTIFY_ESC_KEY, fpOnCmd)
+ * @endcode
+ * \~english note:FrameworkunifiedAttachCallbacksToDispatcher is available, too.
+ */
+#define HAL_INPUT_NOTIFY_ESC_KEY 101
+/**
+ * \~english Notify input event from key board,
+ * The data format of the notification please refer to @ref EventsPackageInput.\n
+ * Please use IF of NSFW as follows to receive this event.
+ * \~ @code
+ * l_eStatus = FrameworkunifiedAttachCallbackToDispatcher(happ, HAL_INPUT_SOURCE_NAME, HAL_INPUT_NOTIFY_KEY_BOARD, fpOnCmd)
+ * @endcode
+ * \~english note:FrameworkunifiedAttachCallbacksToDispatcher is available, too.
+ */
+#define HAL_INPUT_NOTIFY_KEY_BOARD 102
+/**
+ * \~english Notify input event from steering,
+ * The data format of the notification please refer to @ref EventsPackageInput.\n
+ * Please use IF of NSFW as follows to receive this event.
+ * \~ @code
+ * l_eStatus = FrameworkunifiedAttachCallbackToDispatcher(happ, HAL_INPUT_SOURCE_NAME, HAL_INPUT_NOTIFY_STEERING, fpOnCmd)
+ * @endcode
+ * \~english note:FrameworkunifiedAttachCallbacksToDispatcher is available, too.
+ */
+#define HAL_INPUT_NOTIFY_STEERING 104
+/**
+ * \~english Notify input event from tablet finger,
+ * The data format of the notification please refer to @ref EventsPackageInput.\n
+ * Please use IF of NSFW as follows to receive this event.
+ * \~ @code
+ * l_eStatus = FrameworkunifiedAttachCallbackToDispatcher(happ, HAL_INPUT_SOURCE_NAME, HAL_INPUT_NOTIFY_TABLET_FINGER, fpOnCmd)
+ * @endcode
+ * \~english note:FrameworkunifiedAttachCallbacksToDispatcher is available, too.
+ */
+#define HAL_INPUT_NOTIFY_TABLET_FINGER 105
+/**
+ * \~english Notify input event from rotary-key,
+ * The data format of the notification please refer to @ref EventsPackageInput.\n
+ * Please use IF of NSFW as follows to receive this event.
+ * \~ @code
+ * l_eStatus = FrameworkunifiedAttachCallbackToDispatcher(happ, HAL_INPUT_SOURCE_NAME, HAL_INPUT_NOTIFY_ROTARY_KEY, fpOnCmd)
+ * @endcode
+ * \~english note:FrameworkunifiedAttachCallbacksToDispatcher is available, too.
+ */
+#define HAL_INPUT_NOTIFY_ROTARY_KEY 106
+
+/**
+ * \~english Initialzing touch result notify,
+ * The data format of the notification please refer to @ref TouchInitFinishInput.\n
+ * Please use IF of NSFW as follows to receive this event.
+ * \~ @code
+ * l_eStatus = FrameworkunifiedAttachCallbackToDispatcher(happ, HAL_INPUT_SOURCE_NAME, HAL_INPUT_NOTIFY_TOUCH_INIT_FINISH, fpOnCmd)
+ * @endcode
+ * \~english note:FrameworkunifiedAttachCallbacksToDispatcher is available, too.
+ */
+#define HAL_INPUT_NOTIFY_TOUCH_INIT_FINISH 120
+
+/**
+ * @struct RadioInfoTouch
+ * \~english @par Brief
+ * Radio information
+ */
+struct RadioInfoTouch {
+ /**
+ * \~english Radio band type
+ * \~english Please ref to @ref HalInputBandType
+ */
+ int16_t band;
+ /**
+ * \~english Frequency of the tuner[kHz]
+ * (Use only at the time of AM reception)
+ */
+ uint16_t freq;
+ /**
+ * \~english Reception status (Use only at the time of AM reception)
+ * \~english Please refer to @ref HalInputBandType
+ */
+ int32_t status;
+};
+
+/**
+ * @struct SelftestTouch
+ * \~english @par Brief
+ * Touch panel selftest mode result
+ */
+struct SelftestTouch {
+ /**
+ * \~english Touch panel selftest mode result
+ */
+ unsigned char r_code;
+ /**
+ * \~english Touch panel selftest mode data.
+ * The datail info is depend on hardware spec.
+ */
+ unsigned char r_data[HAL_INPUT_TOUCH_SELFTEST_DATA_LEN];
+};
+
+/**
+ * @struct EventsPackageInput
+ * \~english @par Brief
+ * Input event package defined
+ */
+struct EventsPackageInput {
+ /**
+ * \~english device type
+ */
+ int device_type;
+ /**
+ * \~english event count
+ */
+ int count;
+ /**
+ * \~english input event data.
+ */
+ struct input_event event[HAL_INPUT_EVENT_COUNT];
+};
+
+/**
+ * @struct TouchInitFinishInput
+ * \~english @par Brief
+ * The result of initializing touch
+ */
+struct TouchInitFinishInput {
+ /**
+ * \~english If initializing the touch successful, the result was set HAL_INPUT_RET_NORMAL.
+ * If an error occurred, the result was set HAL_INPUT_RET_ERROR.
+ */
+ int result;
+};
+/************************************************************************
+* Function prototype *
+************************************************************************/
+
+////////////////////////////////////////////////////////////////////////////////
+/// \ingroup input_hal
+/// \~english @par Brief
+/// initializing input_hal.
+/// \~english @param [in] app_name
+/// const char* - the app name for receive input event.
+/// \~english @retval HAL_INPUT_RET_NORMAL : Success
+/// \~english @retval HAL_INPUT_RET_ERROR : Process abnormality
+/// \~english @par Prerequisite
+/// - Have called @ref InitTouch()
+/// \~english @par Change of internal state
+/// - Change of internal state according to the API does not occur
+/// \~english @par Conditions of processing failure
+/// - None
+/// \~english @par Classification
+/// Public
+/// \~english @par Type
+/// Sync
+/// \~english @par Detail
+/// - Listen input devices and send input event.
+/// - After initializing touch panel, the event(@ref HAL_INPUT_NOTIFY_TOUCH_INIT_FINISH) will be sent.
+/// - The API can be used by 1 process.
+/// \~english @see None.
+////////////////////////////////////////////////////////////////////////////////
+int InitInput(const char* app_name);
+
+////////////////////////////////////////////////////////////////////////////////
+/// \ingroup input_hal
+/// \~english @par Brief
+/// finalize input_hal
+/// \~english @param none
+/// \~english @retval HAL_INPUT_RET_NORMAL : Success
+/// \~english @par Prerequisite
+/// - None
+/// \~english @par Change of internal state
+/// - Change of internal state according to the API does not occur
+/// \~english @par Conditions of processing failure
+/// - None
+/// \~english @par Classification
+/// Public
+/// \~english @par Type
+/// Sync
+/// \~english @par Detail
+/// - This API is to finalize input_hal.
+/// - The API can be used by 1 process.
+/// \~english @see None
+////////////////////////////////////////////////////////////////////////////////
+int DeInitInput();
+
+////////////////////////////////////////////////////////////////////////////////
+/// \ingroup input_hal
+/// \~english @par Brief
+/// Init those operating function of touch panel driver
+/// \~english @param none
+/// \~english @retval HAL_INPUT_RET_NORMAL : Success
+/// \~english @par Prerequisite
+/// - Touch panel function exist
+/// \~english @par Change of internal state
+/// - Change of internal state according to the API does not occur
+/// \~english @par Conditions of processing failure
+/// - None
+/// \~english @par Classification
+/// Public
+/// \~english @par Type
+/// Sync
+/// \~english @par Detail
+/// - The API is a block I/F which initializes those operating functions of touch panel driver.
+/// - The API can be used by 1 process.
+/// \~english @see None
+////////////////////////////////////////////////////////////////////////////////
+int InitTouch();
+
+////////////////////////////////////////////////////////////////////////////////
+/// \ingroup input_hal
+/// \~english @par Brief
+/// Make touch panel start work
+/// \~english @param none
+/// \~english @retval HAL_INPUT_RET_NORMAL : Success
+/// \~english @retval HAL_INPUT_RET_ERROR : Process abnormality
+/// \~english @par Prerequisite
+/// - Have called @ref InitTouch()
+/// \~english @par Change of internal state
+/// - Change of internal state according to the API does not occur
+/// \~english @par Conditions of processing failure
+/// - Haven't called @ref InitTouch()
+/// - @ref HAL_INPUT_RET_ERROR
+/// - Inner io error
+/// - @ref HAL_INPUT_RET_ERROR
+/// \~english @par Classification
+/// Public
+/// \~english @par Type
+/// Sync
+/// \~english @par Detail
+/// - This API is to prepare touch panel and make it start work.
+/// - The API can be used by 1 process.
+/// \~english @see None
+////////////////////////////////////////////////////////////////////////////////
+int StartTouch();
+
+////////////////////////////////////////////////////////////////////////////////
+/// \ingroup input_hal
+/// \~english @par Brief
+/// Execute touch panel self test
+/// \~english @param [in] id
+/// int - selftest id(Pass HAL_INPUT_TOUCH_SELFTEST_ID_ALL :
+/// Execute all test(disconnection check))
+/// \~english @param [out] result
+/// void* - Touch panel selftest mode check result
+/// \~english @note Result struct SelftestTouch depend on hardware spec
+/// \~english @retval HAL_INPUT_RET_NORMAL : Success
+/// \~english @retval HAL_INPUT_RET_ERROR : Process abnormality
+/// \~english @retval HAL_INPUT_RET_NOT_SUPPORT : Not support
+/// \~english @par Prerequisite
+/// - Have called @ref InitTouch()
+/// \~english @par Change of internal state
+/// - Change of internal state according to the API does not occur
+/// \~english @par Conditions of processing failure
+/// - Haven't called @ref InitTouch()
+/// - @ref HAL_INPUT_RET_ERROR
+/// - Not support this function
+/// - @ref HAL_INPUT_RET_NOT_SUPPORT
+/// - Param result is NULL
+/// - @ref HAL_INPUT_RET_ERROR
+/// - Inner io error
+/// - @ref HAL_INPUT_RET_ERROR
+/// \~english @par Classification
+/// Public
+/// \~english @par Type
+/// Sync
+/// \~english @par Detail
+/// - This API is to execute touch panel self test and get test result.
+/// - The API can be used by 1 process.
+/// \~english @see None
+////////////////////////////////////////////////////////////////////////////////
+int SelfTestTouch(int id, void *result);
+
+////////////////////////////////////////////////////////////////////////////////
+/// \ingroup input_hal
+/// \~english @par Brief
+/// Set whether the driver sends touch panel data or not.
+/// \~english @param [in] status
+/// int - Touch panel whether report/unreport event\n
+/// HAL_INPUT_TOUCH_REPORT : Report touch panel's touch event\n
+/// HAL_INPUT_TOUCH_UNREPORT : Don't report touch panel's touch event\n
+/// \~english @retval HAL_INPUT_RET_NORMAL : Success
+/// \~english @retval HAL_INPUT_RET_ERROR : Process abnormality
+/// \~english @retval HAL_INPUT_RET_NOT_SUPPORT : Not support
+/// \~english @note It means this API isn't support when return
+/// @ref HAL_INPUT_RET_NOT_SUPPORT.
+/// The user need to implement it
+/// if don't need to report touch event.
+/// \~english @par Prerequisite
+/// - Have called @ref InitTouch()
+/// \~english @par Change of internal state
+/// - Change of internal state according to the API does not occur
+/// \~english @par Conditions of processing failure
+/// - Haven't called @ref InitTouch()
+/// - @ref HAL_INPUT_RET_ERROR
+/// - Not support this function
+/// - @ref HAL_INPUT_RET_NOT_SUPPORT
+/// - Status is none of @ref HAL_INPUT_TOUCH_REPORT /
+/// @ref HAL_INPUT_TOUCH_UNREPORT
+/// - @ref HAL_INPUT_RET_ERROR
+/// - Inner io error
+/// - @ref HAL_INPUT_RET_ERROR
+/// \~english @par Classification
+/// Public
+/// \~english @par Type
+/// Sync
+/// \~english @par Detail
+/// - This API is to set whether the driver sends touch panel data or not.
+/// - The API can be used by 1 process.
+/// \~english @see None
+////////////////////////////////////////////////////////////////////////////////
+int LockTouch(int status);
+
+////////////////////////////////////////////////////////////////////////////////
+/// \ingroup input_hal
+/// \~english @par Brief
+/// Suspend touch panel
+/// \~english @param none
+/// \~english @retval HAL_INPUT_RET_NORMAL : Success
+/// \~english @retval HAL_INPUT_RET_ERROR : Process abnormality
+/// \~english @retval HAL_INPUT_RET_NOT_SUPPORT : Not support
+/// \~english @note It means this API isn't support when return
+/// @ref HAL_INPUT_RET_NOT_SUPPORT.
+/// The user need to implement it
+/// if don't need to report touch event.
+/// \~english @par Prerequisite
+/// - Have called @ref InitTouch()
+/// \~english @par Change of internal state
+/// - Change of internal state according to the API does not occur
+/// \~english @par Conditions of processing failure
+/// - Haven't called @ref InitTouch()
+/// - @ref HAL_INPUT_RET_ERROR
+/// - Not support this function
+/// - @ref HAL_INPUT_RET_NOT_SUPPORT
+/// - Inner io error
+/// - @ref HAL_INPUT_RET_ERROR
+/// \~english @par Classification
+/// Public
+/// \~english @par Type
+/// Sync
+/// \~english @par Detail
+/// - This API is to suspend touch panel.
+/// - The API can be used by 1 process.
+/// \~english @see None
+////////////////////////////////////////////////////////////////////////////////
+int SuspendTouch();
+
+////////////////////////////////////////////////////////////////////////////////
+/// \ingroup input_hal
+/// \~english @par Brief
+/// Set touch panel sensitivity level
+/// \~english @param [in] level
+/// int - Sensitivity level.
+/// \~english @retval HAL_INPUT_RET_NORMAL : Success
+/// \~english @retval HAL_INPUT_RET_ERROR : Process abnormality
+/// \~english @retval HAL_INPUT_RET_NOT_SUPPORT : Not support
+/// \~english @par Prerequisite
+/// - Have called @ref InitTouch()
+/// \~english @par Change of internal state
+/// - Change of internal state according to the API does not occur
+/// \~english @par Conditions of processing failure
+/// - Haven't called @ref InitTouch()
+/// - @ref HAL_INPUT_RET_ERROR
+/// - Not support this function
+/// - @ref HAL_INPUT_RET_NOT_SUPPORT
+/// - Sensitivity level is none of @ref HalInputTouchSensitivityLevel
+/// - @ref HAL_INPUT_RET_ERROR
+/// - Inner io error
+/// - @ref HAL_INPUT_RET_ERROR
+/// \~english @par Classification
+/// Public
+/// \~english @par Type
+/// Sync
+/// \~english @par Detail
+/// - This API is to set touch panel sensitivity level.
+/// - The API can be used by 1 process.
+/// \~english @see None
+////////////////////////////////////////////////////////////////////////////////
+int SetSensitivityLevelTouch(int level);
+
+////////////////////////////////////////////////////////////////////////////////
+/// \ingroup input_hal
+/// \~english @par Brief
+/// Get touch panel sensitivity level
+/// \~english @param [out] level
+/// int* - Sensitivity level.
+/// \~english @retval HAL_INPUT_RET_NORMAL : Success
+/// \~english @retval HAL_INPUT_RET_ERROR : Process abnormality
+/// \~english @retval HAL_INPUT_RET_NOT_SUPPORT : Not support
+/// \~english @par Prerequisite
+/// - Have called @ref InitTouch()
+/// \~english @par Change of internal state
+/// - Change of internal state according to the API does not occur
+/// \~english @par Conditions of processing failure
+/// - Haven't called @ref InitTouch()
+/// - @ref HAL_INPUT_RET_ERROR
+/// - Not support this function
+/// - @ref HAL_INPUT_RET_NOT_SUPPORT
+/// - Param level is NULL
+/// - @ref HAL_INPUT_RET_ERROR
+/// - Inner io error
+/// - @ref HAL_INPUT_RET_ERROR
+/// \~english @par Classification
+/// Public
+/// \~english @par Type
+/// Sync
+/// \~english @par Detail
+/// - This API is to get touch panel sensitivity level.
+/// - The API can be used by 1 process.
+/// \~english @see None
+////////////////////////////////////////////////////////////////////////////////
+int GetSensitivityLevelTouch(int *level);
+
+////////////////////////////////////////////////////////////////////////////////
+/// \ingroup input_hal
+/// \~english @par Brief
+/// Notify radio scan frequency
+/// \~english @param [in] info
+/// RadioInfoTouch* - SCAN frequence info
+/// \~english @retval HAL_INPUT_RET_NORMAL : Success
+/// \~english @retval HAL_INPUT_RET_ERROR : Process abnormality
+/// \~english @retval HAL_INPUT_RET_NOT_SUPPORT : Not support
+/// \~english @par Prerequisite
+/// - Have called @ref InitTouch()
+/// \~english @par Change of internal state
+/// - Change of internal state according to the API does not occur
+/// \~english @par Conditions of processing failure
+/// - Haven't called @ref InitTouch()
+/// - @ref HAL_INPUT_RET_ERROR
+/// - Not support this function
+/// - @ref HAL_INPUT_RET_NOT_SUPPORT
+/// - Param info is NULL
+/// - @ref HAL_INPUT_RET_ERROR
+/// - Inner io error
+/// - @ref HAL_INPUT_RET_ERROR
+/// \~english @par Classification
+/// Public
+/// \~english @par Type
+/// Sync
+/// \~english @par Detail
+/// - This API is to notify radio scan frequency.
+/// - The API can be used by 1 process.
+/// \~english @see None
+////////////////////////////////////////////////////////////////////////////////
+int NotifyRadioScanFreqTouch(struct RadioInfoTouch *info);
+
+////////////////////////////////////////////////////////////////////////////////
+/// \ingroup input_hal
+/// \~english @par Brief
+/// Get panel resolution
+/// \~english @param [in] reso_h
+/// int* - horizontal resolution
+/// \~english @param [in] reso_v
+/// int* - vertical resolution
+/// \~english @retval HAL_INPUT_RET_NORMAL : Success
+/// \~english @retval HAL_INPUT_RET_ERROR : Process abnormality
+/// \~english @par Prerequisite
+/// - Have called @ref InitTouch()
+/// \~english @par Change of internal state
+/// - Change of internal state according to the API does not occur
+/// \~english @par Conditions of processing failure
+/// - Param reso_h or reso_v is NULL
+/// - @ref HAL_INPUT_RET_ERROR
+/// - Inner io error
+/// - @ref HAL_INPUT_RET_ERROR
+/// \~english @par Classification
+/// Public
+/// \~english @par Type
+/// Sync
+/// \~english @par Detail
+/// - This API is to get horizontal and vertical resolution.
+/// - The API can be used by 1 process.
+/// \~english @see None
+////////////////////////////////////////////////////////////////////////////////
+int GetPanelSpecResolutionInput(int *reso_h, int *reso_v);
+
+/** @}*/ // end of input_hal
+/** @}*/ // end of switchhandler
+
+#endif // HAL_API_INPUT_HAL_H_
diff --git a/input_hal/hal_api/peripheral_service/aglinput.h b/input_hal/hal_api/peripheral_service/aglinput.h
new file mode 100644
index 00000000..aa5f6ed8
--- /dev/null
+++ b/input_hal/hal_api/peripheral_service/aglinput.h
@@ -0,0 +1,536 @@
+/*
+ * @copyright Copyright (c) 2019-2020 TOYOTA MOTOR CORPORATION.
+ *
+ * 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.
+ */
+#ifndef HAL_API_PERIPHERAL_SERVICE_AGLINPUT_H_
+#define HAL_API_PERIPHERAL_SERVICE_AGLINPUT_H_
+
+#include <peripheral_service/extinput.h>
+
+/*
+ * Extended Area for AGL
+ * In this file the Key definition based on the specification
+ * Redefine with '#undef/#define
+ */
+enum{
+ /**
+ * FP Switch : 0x0001 - 0x0064
+ * */
+ KEY_FP_TOP = 0x001,
+ KEY_FP_SW1 = KEY_FP_TOP,
+ KEY_FP_SW2 ,
+ KEY_FP_SW3 ,
+ KEY_FP_SW4 ,
+ KEY_FP_SW5 ,
+ KEY_FP_SW6 ,
+ KEY_FP_SW7 ,
+ KEY_FP_SW8 ,
+ KEY_FP_SW9 ,
+ KEY_FP_SW10 ,
+ KEY_FP_SW11 ,
+ KEY_FP_SW12 ,
+ KEY_FP_SW13 ,
+ KEY_FP_SW14 ,
+ KEY_FP_SW15 ,
+ KEY_FP_SW16 ,
+ KEY_FP_SW17 ,
+ KEY_FP_SW18 ,
+ KEY_FP_SW19 ,
+ KEY_FP_SW20 ,
+ KEY_FP_SW21 ,
+ KEY_FP_SW22 ,
+ KEY_FP_SW23 ,
+ KEY_FP_SW24 ,
+ KEY_FP_SW25 ,
+ KEY_FP_SW26 ,
+ KEY_FP_SW27 ,
+ KEY_FP_SW28 ,
+ KEY_FP_SW29 ,
+ KEY_FP_SW30 ,
+ KEY_FP_SW31 ,
+ KEY_FP_SW32 ,
+ KEY_FP_SW33 ,
+ KEY_FP_SW34 ,
+ KEY_FP_SW35 ,
+ KEY_FP_SW36 ,
+ KEY_FP_SW37 ,
+ KEY_FP_SW38 ,
+ KEY_FP_SW39 ,
+ KEY_FP_SW40 ,
+ KEY_FP_SW41 ,
+ KEY_FP_SW42 ,
+ KEY_FP_SW43 ,
+ KEY_FP_SW44 ,
+ KEY_FP_SW45 ,
+ KEY_FP_SW46 ,
+ KEY_FP_SW47 ,
+ KEY_FP_SW48 ,
+ KEY_FP_SW49 ,
+ KEY_FP_SW50 ,
+ KEY_FP_SW51 ,
+ KEY_FP_SW52 ,
+ KEY_FP_SW53 ,
+ KEY_FP_SW54 ,
+ KEY_FP_SW55 ,
+ KEY_FP_SW56 ,
+ KEY_FP_SW57 ,
+ KEY_FP_SW58 ,
+ KEY_FP_SW59 ,
+ KEY_FP_SW60 ,
+ KEY_FP_SW61 ,
+ KEY_FP_SW62 ,
+ KEY_FP_SW63 ,
+ KEY_FP_SW64 ,
+ KEY_FP_SW65 ,
+ KEY_FP_SW66 ,
+ KEY_FP_SW67 ,
+ KEY_FP_SW68 ,
+ KEY_FP_SW69 ,
+ KEY_FP_SW70 ,
+ KEY_FP_SW71 ,
+ KEY_FP_SW72 ,
+ KEY_FP_SW73 ,
+ KEY_FP_SW74 ,
+ KEY_FP_SW75 ,
+ KEY_FP_SW76 ,
+ KEY_FP_SW77 ,
+ KEY_FP_SW78 ,
+ KEY_FP_SW79 ,
+ KEY_FP_SW80 ,
+ KEY_FP_SW81 ,
+ KEY_FP_SW82 ,
+ KEY_FP_SW83 ,
+ KEY_FP_SW84 ,
+ KEY_FP_SW85 ,
+ KEY_FP_SW86 ,
+ KEY_FP_SW87 ,
+ KEY_FP_SW88 ,
+ KEY_FP_SW89 ,
+ KEY_FP_SW90 ,
+ KEY_FP_SW91 ,
+ KEY_FP_SW92 ,
+ KEY_FP_SW93 ,
+ KEY_FP_SW94 ,
+ KEY_FP_SW95 ,
+ KEY_FP_SW96 ,
+ KEY_FP_SW97 ,
+ KEY_FP_SW98 ,
+ KEY_FP_SW99 ,
+ KEY_FP_SW100 ,
+ KEY_FP_BOTTOM = KEY_FP_SW100,
+
+ /**
+ * RC Switch : 0x065 - 0x094
+ * */
+ KEY_RC_TOP = 0x0065,
+ KEY_RC_SW1 = KEY_RC_TOP,
+ KEY_RC_SW2 ,
+ KEY_RC_SW3 ,
+ KEY_RC_SW4 ,
+ KEY_RC_SW5 ,
+ KEY_RC_SW6 ,
+ KEY_RC_SW7 ,
+ KEY_RC_SW8 ,
+ KEY_RC_SW9 ,
+ KEY_RC_SW10 ,
+ KEY_RC_SW11 ,
+ KEY_RC_SW12 ,
+ KEY_RC_SW13 ,
+ KEY_RC_SW14 ,
+ KEY_RC_SW15 ,
+ KEY_RC_SW16 ,
+ KEY_RC_SW17 ,
+ KEY_RC_SW18 ,
+ KEY_RC_SW19 ,
+ KEY_RC_SW20 ,
+ KEY_RC_SW21 ,
+ KEY_RC_SW22 ,
+ KEY_RC_SW23 ,
+ KEY_RC_SW24 ,
+ KEY_RC_SW25 ,
+ KEY_RC_SW26 ,
+ KEY_RC_SW27 ,
+ KEY_RC_SW28 ,
+ KEY_RC_SW29 ,
+ KEY_RC_SW30 ,
+ KEY_RC_SW31 ,
+ KEY_RC_SW32 ,
+ KEY_RC_SW33 ,
+ KEY_RC_SW34 ,
+ KEY_RC_SW35 ,
+ KEY_RC_SW36 ,
+ KEY_RC_SW37 ,
+ KEY_RC_SW38 ,
+ KEY_RC_SW39 ,
+ KEY_RC_SW40 ,
+ KEY_RC_SW41 ,
+ KEY_RC_SW42 ,
+ KEY_RC_SW43 ,
+ KEY_RC_SW44 ,
+ KEY_RC_SW45 ,
+ KEY_RC_SW46 ,
+ KEY_RC_SW47 ,
+ KEY_RC_SW48 ,
+ KEY_RC_BOTTOM = KEY_RC_SW48,
+
+ /**
+ * R Switch : 0x0095 - 0x0096
+ * */
+ KEY_ROT_TOP = 0x0095,
+ KEY_ROT_SW1 = KEY_ROT_TOP,
+ KEY_ROT_SW2 ,
+ KEY_ROT_BOTTOM = KEY_ROT_SW2,
+
+ /**
+ * FSAC Switch : 0x0097 - 0x00D2
+ * */
+ KEY_FSAC_TOP = 0x0097,
+ KEY_FSAC_SW1 = KEY_FSAC_TOP,
+ KEY_FSAC_SW2 ,
+ KEY_FSAC_SW3 ,
+ KEY_FSAC_SW4 ,
+ KEY_FSAC_SW5 ,
+ KEY_FSAC_SW6 ,
+ KEY_FSAC_SW7 ,
+ KEY_FSAC_SW8 ,
+ KEY_FSAC_SW9 ,
+ KEY_FSAC_SW10 ,
+ KEY_FSAC_SW11 ,
+ KEY_FSAC_SW12 ,
+ KEY_FSAC_SW13 ,
+ KEY_FSAC_SW14 ,
+ KEY_FSAC_SW15 ,
+ KEY_FSAC_SW16 ,
+ KEY_FSAC_SW17 ,
+ KEY_FSAC_SW18 ,
+ KEY_FSAC_SW19 ,
+ KEY_FSAC_SW20 ,
+ KEY_FSAC_SW21 ,
+ KEY_FSAC_SW22 ,
+ KEY_FSAC_SW23 ,
+ KEY_FSAC_SW24 ,
+ KEY_FSAC_SW25 ,
+ KEY_FSAC_SW26 ,
+ KEY_FSAC_SW27 ,
+ KEY_FSAC_SW28 ,
+ KEY_FSAC_SW29 ,
+ KEY_FSAC_SW30 ,
+ KEY_FSAC_SW31 ,
+ KEY_FSAC_SW32 ,
+ KEY_FSAC_SW33 ,
+ KEY_FSAC_SW34 ,
+ KEY_FSAC_SW35 ,
+ KEY_FSAC_SW36 ,
+ KEY_FSAC_SW37 ,
+ KEY_FSAC_SW38 ,
+ KEY_FSAC_SW39 ,
+ KEY_FSAC_SW40 ,
+ KEY_FSAC_SW41 ,
+ KEY_FSAC_SW42 ,
+ KEY_FSAC_SW43 ,
+ KEY_FSAC_SW44 ,
+ KEY_FSAC_SW45 ,
+ KEY_FSAC_SW46 ,
+ KEY_FSAC_SW47 ,
+ KEY_FSAC_SW48 ,
+ KEY_FSAC_SW49 ,
+ KEY_FSAC_SW50 ,
+ KEY_FSAC_SW51 ,
+ KEY_FSAC_SW52 ,
+ KEY_FSAC_SW53 ,
+ KEY_FSAC_SW54 ,
+ KEY_FSAC_SW55 ,
+ KEY_FSAC_SW56 ,
+ KEY_FSAC_SW57 ,
+ KEY_FSAC_SW58 ,
+ KEY_FSAC_SW59 ,
+ KEY_FSAC_BOTTOM = KEY_FSAC_SW59,
+
+ /**
+ * Ste Switch : 0x00D3 - 0x00E6
+ * */
+ KEY_STE_TOP = 0x00D3,
+ KEY_STE_SW1 = KEY_STE_TOP,
+ KEY_STE_SW2 ,
+ KEY_STE_SW3 ,
+ KEY_STE_SW4 ,
+ KEY_STE_SW5 ,
+ KEY_STE_SW6 ,
+ KEY_STE_SW7 ,
+ KEY_STE_SW8 ,
+ KEY_STE_SW9 ,
+ KEY_STE_SW10 ,
+ KEY_STE_SW11 ,
+ KEY_STE_SW12 ,
+ KEY_STE_SW13 ,
+ KEY_STE_SW14 ,
+ KEY_STE_SW15 ,
+ KEY_STE_SW16 ,
+ KEY_STE_SW18 ,
+ KEY_STE_SW19 ,
+ KEY_STE_BOTTOM = KEY_STE_SW19,
+
+ /**
+ * RCP Switch : 0x00F0 - 0x00F8
+ * */
+ KEY_RCP_TOP = 0x00F0,
+ KEY_RCP_SW1 = KEY_RCP_TOP,
+ KEY_RCP_SW2 ,
+ KEY_RCP_SW3 ,
+ KEY_RCP_SW4 ,
+ KEY_RCP_SW5 ,
+ KEY_RCP_SW6 ,
+ KEY_RCP_SW7 ,
+ KEY_RCP_SW8 ,
+ KEY_RCP_BOTTOM = KEY_RCP_SW8,
+
+ /**
+ * RSE_RC Switch : 0x0160 - 0x01CF
+ * */
+ KEY_RSE_RC_TOP = 0x0160,
+ KEY_RSE_RC_SW1 = KEY_RSE_RC_TOP,
+ KEY_RSE_RC_SW2 ,
+ KEY_RSE_RC_SW3 ,
+ KEY_RSE_RC_SW4 ,
+ KEY_RSE_RC_SW5 ,
+ KEY_RSE_RC_SW6 ,
+ KEY_RSE_RC_SW7 ,
+ KEY_RSE_RC_SW8 ,
+ KEY_RSE_RC_SW9 ,
+ KEY_RSE_RC_SW10 ,
+ KEY_RSE_RC_SW11 ,
+ KEY_RSE_RC_SW12 ,
+ KEY_RSE_RC_SW13 ,
+ KEY_RSE_RC_SW14 ,
+ KEY_RSE_RC_SW15 ,
+ KEY_RSE_RC_SW16 ,
+ KEY_RSE_RC_SW17 ,
+ KEY_RSE_RC_SW18 ,
+ KEY_RSE_RC_SW19 ,
+ KEY_RSE_RC_SW20 ,
+ KEY_RSE_RC_SW21 ,
+ KEY_RSE_RC_SW22 ,
+ KEY_RSE_RC_SW23 ,
+ KEY_RSE_RC_SW24 ,
+ KEY_RSE_RC_SW25 ,
+ KEY_RSE_RC_SW26 ,
+ KEY_RSE_RC_SW27 ,
+ KEY_RSE_RC_SW28 ,
+ KEY_RSE_RC_SW29 ,
+ KEY_RSE_RC_SW30 ,
+ KEY_RSE_RC_SW31 ,
+ KEY_RSE_RC_SW32 ,
+ KEY_RSE_RC_SW33 ,
+ KEY_RSE_RC_SW34 ,
+ KEY_RSE_RC_SW35 ,
+ KEY_RSE_RC_SW36 ,
+ KEY_RSE_RC_SW37 ,
+ KEY_RSE_RC_SW38 ,
+ KEY_RSE_RC_SW39 ,
+ KEY_RSE_RC_SW40 ,
+ KEY_RSE_RC_SW41 ,
+ KEY_RSE_RC_SW42 ,
+ KEY_RSE_RC_SW43 ,
+ KEY_RSE_RC_SW44 ,
+ KEY_RSE_RC_SW45 ,
+ KEY_RSE_RC_SW46 ,
+ KEY_RSE_RC_SW47 ,
+ KEY_RSE_RC_SW48 ,
+ KEY_RSE_RC_SW49 ,
+ KEY_RSE_RC_SW50 ,
+ KEY_RSE_RC_SW51 ,
+ KEY_RSE_RC_SW52 ,
+ KEY_RSE_RC_SW53 ,
+ KEY_RSE_RC_SW54 ,
+ KEY_RSE_RC_SW55 ,
+ KEY_RSE_RC_SW56 ,
+ KEY_RSE_RC_SW57 ,
+ KEY_RSE_RC_SW58 ,
+ KEY_RSE_RC_SW59 ,
+ KEY_RSE_RC_SW60 ,
+ KEY_RSE_RC_SW61 ,
+ KEY_RSE_RC_SW65 ,
+ KEY_RSE_RC_SW66 ,
+ KEY_RSE_RC_SW67 ,
+ KEY_RSE_RC_SW68 ,
+ KEY_RSE_RC_SW69 ,
+ KEY_RSE_RC_SW70 ,
+ KEY_RSE_RC_SW71 ,
+ KEY_RSE_RC_SW72 ,
+ KEY_RSE_RC_SW73 ,
+ KEY_RSE_RC_SW74 ,
+ KEY_RSE_RC_SW75 ,
+ KEY_RSE_RC_SW76 ,
+ KEY_RSE_RC_SW77 ,
+ KEY_RSE_RC_SW78 ,
+ KEY_RSE_RC_SW79 ,
+ KEY_RSE_RC_SW80 ,
+ KEY_RSE_RC_SW81 ,
+ KEY_RSE_RC_SW82 ,
+ KEY_RSE_RC_SW83 ,
+ KEY_RSE_RC_SW84 ,
+ KEY_RSE_RC_SW85 ,
+ KEY_RSE_RC_SW86 ,
+ KEY_RSE_RC_SW87 ,
+ KEY_RSE_RC_SW88 ,
+ KEY_RSE_RC_SW89 ,
+ KEY_RSE_RC_SW90 ,
+ KEY_RSE_RC_SW91 ,
+ KEY_RSE_RC_SW92 ,
+ KEY_RSE_RC_SW93 ,
+ KEY_RSE_RC_SW94 ,
+ KEY_RSE_RC_SW95 ,
+ KEY_RSE_RC_SW96 ,
+ KEY_RSE_RC_SW97 ,
+ KEY_RSE_RC_SW98 ,
+ KEY_RSE_RC_SW99 ,
+ KEY_RSE_RC_SW100 ,
+ KEY_RSE_RC_SW101 ,
+ KEY_RSE_RC_SW102 ,
+ KEY_RSE_RC_SW62 ,
+ KEY_RSE_RC_SW63 ,
+ KEY_RSE_RC_SW64 ,
+ KEY_RSE_RC_SW103 ,
+ KEY_RSE_RC_SW104 ,
+ KEY_RSE_RC_SW105 ,
+ KEY_RSE_RC_SW106 ,
+ KEY_RSE_RC_SW107 ,
+ KEY_RSE_RC_SW108 ,
+ KEY_RSE_RC_SW109 ,
+ KEY_RSE_RC_SW110 ,
+ KEY_RSE_RC_SW111 ,
+ KEY_RSE_RC_SW112 ,
+ KEY_RSE_RC_BOTTOM = KEY_RSE_RC_SW112,
+
+ /**
+ * RTP Switch : 0x01D6 - 0x01DE
+ * */
+ KEY_RTP_TOP = 0x01D6,
+ KEY_RTP_SW1 = KEY_RTP_TOP,
+ KEY_RTP_SW2 ,
+ KEY_RTP_SW3 ,
+ KEY_RTP_SW4 ,
+ KEY_RTP_SW5 ,
+ KEY_RTP_SW6 ,
+ KEY_RTP_SW7 ,
+ KEY_RTP_SW8 ,
+ KEY_RTP_SW9 ,
+ KEY_RTP_BOTTOM = KEY_RTP_SW9,
+
+ /**
+ * RSP Switch : 0x01E0 - 0x0208
+ * */
+ KEY_RSP_TOP = 0x01E0,
+ KEY_RSP_SW1 = KEY_RSP_TOP,
+ KEY_RSP_SW2 ,
+ KEY_RSP_SW3 ,
+ KEY_RSP_SW4 ,
+ KEY_RSP_SW5 ,
+ KEY_RSP_SW6 ,
+ KEY_RSP_SW7 ,
+ KEY_RSP_SW8 ,
+ KEY_RSP_SW9 ,
+ KEY_RSP_SW10 ,
+ KEY_RSP_SW11 ,
+ KEY_RSP_SW12 ,
+ KEY_RSP_SW13 ,
+ KEY_RSP_SW14 ,
+ KEY_RSP_SW15 ,
+ KEY_RSP_SW16 ,
+ KEY_RSP_SW17 ,
+ KEY_RSP_SW18 ,
+ KEY_RSP_SW19 ,
+ KEY_RSP_SW20 ,
+ KEY_RSP_SW21 ,
+ KEY_RSP_SW22 ,
+ KEY_RSP_SW23 ,
+ KEY_RSP_SW24 ,
+ KEY_RSP_SW25 ,
+ KEY_RSP_SW26 ,
+ KEY_RSP_SW27 ,
+ KEY_RSP_SW28 ,
+ KEY_RSP_SW29 ,
+ KEY_RSP_SW30 ,
+ KEY_RSP_SW31 ,
+ KEY_RSP_SW32 ,
+ KEY_RSP_SW33 ,
+ KEY_RSP_SW34 ,
+ KEY_RSP_SW35 ,
+ KEY_RSP_SW36 ,
+ KEY_RSP_SW37 ,
+ KEY_RSP_SW38 ,
+ KEY_RSP_SW39 ,
+ KEY_RSP_SW40 ,
+ KEY_RSP_SW41 ,
+ KEY_RSP_BOTTOM = KEY_RSP_SW41,
+
+ /**
+ * Original Define : 0x02A0 - 0x02CF
+ * */
+ KEY_INPUTHAL_TOP = 0x02A0,
+ KEY_INPUTHAL_SW1 = KEY_INPUTHAL_TOP,
+ KEY_INPUTHAL_BTN_RIGHT,
+ KEY_INPUTHAL_BTN_MIDDLE,
+ KEY_INPUTHAL_BTN_SIDE,
+ KEY_INPUTHAL_BTN_EXTRA,
+ KEY_INPUTHAL_BTN_FORWARD,
+ KEY_INPUTHAL_BTN_BACK,
+ KEY_INPUTHAL_BTN_TASK,
+ KEY_INPUTHAL_SW9,
+ KEY_INPUTHAL_SW10,
+ KEY_INPUTHAL_BTN_JOYSTICK,
+ KEY_INPUTHAL_TOUCH,
+ KEY_INPUTHAL_SINGLE_TAP_UP,
+ KEY_INPUTHAL_DOUBLE_TOUCH_DOWN,
+ KEY_INPUTHAL_TOUCHPAD_DUMMY1,
+ KEY_INPUTHAL_TOUCHPAD_DUMMY2,
+ KEY_INPUTHAL_TOUCHPAD_DUMMY3,
+ KEY_INPUTHAL_TOUCHPAD_DUMMY4,
+ KEY_INPUTHAL_TOUCHPAD_DUMMY5,
+ KEY_INPUTHAL_TOUCHPAD_DUMMY6,
+ KEY_INPUTHAL_TOUCHPAD_DUMMY7,
+ KEY_INPUTHAL_TOUCHPAD_DUMMY8,
+ KEY_INPUTHAL_TOUCHPAD_DUMMY9,
+ KEY_INPUTHAL_TOUCHPAD_DUMMY10,
+ KEY_INPUTHAL_TOUCHPAD_DUMMY11,
+ KEY_INPUTHAL_TOUCHPAD_DUMMY12,
+ KEY_INPUTHAL_TOUCH_POINT_3,
+ KEY_INPUTHAL_TOUCH_POINT_2,
+ KEY_INPUTHAL_PUSH,
+ KEY_INPUTHAL_TAP_SINGLE,
+ KEY_INPUTHAL_TAP_DOUBLE,
+ KEY_INPUTHAL_SW16,
+ KEY_INPUTHAL_NAVI,
+ KEY_INPUTHAL_HOME,
+ KEY_INPUTHAL_MEM1,
+ KEY_INPUTHAL_MEM2,
+ KEY_INPUTHAL_RECENT_JP,
+ KEY_INPUTHAL_WEB,
+ KEY_INPUTHAL_DEST_ERACE,
+ KEY_INPUTHAL_MENU_SEARCH,
+ KEY_INPUTHAL_MENU_GO_HOME,
+ KEY_INPUTHAL_MENU_RECENT_NA,
+ KEY_INPUTHAL_MENU_FAVORITE,
+ KEY_INPUTHAL_MENU_CONTACT,
+ KEY_INPUTHAL_MENU_OTHERS,
+ KEY_INPUTHAL_MENU_SUBSCREEN_NAVI,
+ KEY_INPUTHAL_INVALID_SW ,
+ KEY_INPUTHAL_BOTTOM = KEY_INPUTHAL_INVALID_SW,
+};
+
+#define BTN_TAP_DOUBLE KEY_INPUTHAL_SW10
+
+#define REL_PINCH 0x0a
+
+#endif // HAL_API_PERIPHERAL_SERVICE_AGLINPUT_H_
diff --git a/input_hal/hal_api/peripheral_service/extinput.h b/input_hal/hal_api/peripheral_service/extinput.h
new file mode 100644
index 00000000..0265a2dc
--- /dev/null
+++ b/input_hal/hal_api/peripheral_service/extinput.h
@@ -0,0 +1,27 @@
+/*
+ * @copyright Copyright (c) 2019-2020 TOYOTA MOTOR CORPORATION.
+ *
+ * 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.
+ */
+#ifndef HAL_API_PERIPHERAL_SERVICE_EXTINPUT_H_
+#define HAL_API_PERIPHERAL_SERVICE_EXTINPUT_H_
+
+#include <linux/input.h>
+
+/*
+ * Extended fields for each supplier
+ * If you want to modify the key definition at the supplier,
+ * redefine with '#undef/#define in this file.
+ */
+
+#endif // HAL_API_PERIPHERAL_SERVICE_EXTINPUT_H_