This section will give you a short description for every button on the remote. Some of the buttons execute different commands depending of the screen which is shown on Kodi. It is possible to customize many of the buttons by editing a keymap files on Kodi (See Customize Buttons)

1 Displays onscreen keyboard
2 Displays a dialog box which allows you to send text to Kodi
3 Power options: Wake up, Quit, Hibernate etc... Remark: Not all power options may be supported by your platform
4 Library Management: Scan / Clean the Kodi music and video library in Kodi.
The option "Refresh Music Cache" will refresh your local music cache.
5 Navigate to the music section on Kodi
Long press opens the music queue
6 Navigate to the movie section on Kodi
Long press opens the video queue
7 Navigate to the tvshows section on Kodi
Long press opens pvr on Kodi
8 Rewind
9 This button starts playing the selected item on Kodi. For instance if you have highlighted a tvshow in the tvshow listing, clicking this button will start playing the next episode and queues the rest of the season in Kodi
10 Fast forward
11 Mute sound
12 Toggle between GUI / fullscreen
13 Show / Hide context menu, in video fullscreen show / Hide time info
14 Up arrow, in video fullscreen fast forward 10 minutes
15 Show context specific info. Jump to system Info from home screen, album info, artist info etc..
16 Left arrow, in video fullscreen rewind
17 Enter / play / execute
18 Right arrow, in video fullscreen fast forward
19 Show / hide main menu or on screen display
20 Down arrow, in video fullscreen rewind 10 minutes
21 Back / Go to previous screen. Tip: Long-press this button to force close dialogs (escape) that won't close using back
22 Play previous
23 Stop
24 Play/Pause
25 Play next

Customize Buttons

The remote is sending keypress events to the Kodi Eventserver instead of sending commands over json-rpc to Kodi. Basically what happens is that the Eventserver will use a keymap file stored on your Kodi Mediacenter to translate the keypress to an actual command. It is possible to override the actions for some buttons globally or on a specific screen only.

In Kodi there are several Keymap files. However Kodi Remote is using the remote.xml keymap file. https://github.com/xbmc/xbmc/blob/master/system/keymaps/remote.xml
You should find all required information on how to modify the keymap files in the Kodi Wiki http://kodi.wiki/view/Keymap
A list of available functions is documented in the Kodi Wiki at http://kodi.wiki/view/List_of_built-in_functions
A list of available Action IDs is documented in the Kodi Wiki at http://kodi.wiki/view/Action_IDs

Below you will find a table where you can see which button is mapped to which xml tag in the keymap file

Button Id Button Description keymap
8 Rewind <reverse>
9 Play <play>
10 Fast forward <forward>
11 Mute <mute>
12 OSD <display>
13 Title <title>
14 Up Arrow <up>
15 Info <info>
16 Left Arrow <left>
17 Enter / play / execute <select>
18 Right Arrow <right>
19 Menu <menu>
20 Down Arrow <down>
21 Back <back>
22 Skip previous <skipminus>
23 Stop <stop>
24 Play/Pause <pause>
25 Play next <skipplus>