aboutsummaryrefslogtreecommitdiffstats
path: root/Projects/Webserver/Lib/uip/timer.h
blob: 04917e4c52b0c12cb75050103f5095d61c4dfeeb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/**
 * \defgroup timer Timer library
 *
 * The timer library provides functions for setting, resetting and
 * restarting timers, and for checking if a timer has expired. An
 * application must "manually" check if its timers have expired; this
 * is not done automatically.
 *
 * A timer is declared as a \c struct \c timer and all access to the
 * timer is made by a pointer to the declared timer.
 *
 * \note The timer library uses the \ref clock "Clock library" to
 * measure time. Intervals should be specified in the format used by
 * the clock library.
 *
 * @{
 */


/**
 * \file
 * Timer library header file.
 * \author
 * Adam Dunkels <adam@sics.se>
 */

/*
 * Copyright (c) 2004, Swedish Institute of Computer Science.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. Neither the name of the Institute nor the names of its contributors
 *    may be used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 *
 * This file is part of the uIP TCP/IP stack
 *
 * Author: Adam Dunkels <adam@sics.se>
 *
 * $Id: timer.h,v 1.3 2006/06/11 21:46:39 adam Exp $
 */
#ifndef __TIMER_H__
#define __TIMER_H__

#include "clock.h"

/**
 * A timer.
 *
 * This structure is used for declaring a timer. The timer must be set
 * with timer_set() before it can be used.
 *
 * \hideinitializer
 */
struct timer {
  clock_time_t start;
  clock_time_t interval;
};

void timer_set(struct timer *t, clock_time_t interval);
void timer_reset(struct timer *t);
void timer_restart(struct timer *t);
int timer_expired(struct timer *t);

#endif /* __TIMER_H__ */

/** @} */
436' href='#n436'>436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506
# Keycodes Overview

When defining a [keymap](keymap.md) each key needs a valid key definition. This page documents the symbols that correspond to keycodes that are available to you in QMK.

This is a reference only. Each group of keys links to the page documenting their functionality in more detail.

## [Basic Keycodes](keycodes_basic.md)

|Key                    |Aliases                       |Description                                    |
|-----------------------|------------------------------|-----------------------------------------------|
|`KC_NO`                |`XXXXXXX`                     |Ignore this key (NOOP)                         |
|`KC_TRANSPARENT`       |`KC_TRNS`, `_______`          |Use the next lowest non-transparent key        |
|`KC_A`                 |                              |`a` and `A`                                    |
|`KC_B`                 |                              |`b` and `B`                                    |
|`KC_C`                 |                              |`c` and `C`                                    |
|`KC_D`                 |                              |`d` and `D`                                    |
|`KC_E`                 |                              |`e` and `E`                                    |
|`KC_F`                 |                              |`f` and `F`                                    |
|`KC_G`                 |                              |`g` and `G`                                    |
|`KC_H`                 |                              |`h` and `H`                                    |
|`KC_I`                 |                              |`i` and `I`                                    |
|`KC_J`                 |                              |`j` and `J`                                    |
|`KC_K`                 |                              |`k` and `K`                                    |
|`KC_L`                 |                              |`l` and `L`                                    |
|`KC_M`                 |                              |`m` and `M`                                    |
|`KC_N`                 |                              |`n` and `N`                                    |
|`KC_O`                 |                              |`o` and `O`                                    |
|`KC_P`                 |                              |`p` and `P`                                    |
|`KC_Q`                 |                              |`q` and `Q`                                    |
|`KC_R`                 |                              |`r` and `R`                                    |
|`KC_S`                 |                              |`s` and `S`                                    |
|`KC_T`                 |                              |`t` and `T`                                    |
|`KC_U`                 |                              |`u` and `U`                                    |
|`KC_V`                 |                              |`v` and `V`                                    |
|`KC_W`                 |                              |`w` and `W`                                    |
|`KC_X`                 |                              |`x` and `X`                                    |
|`KC_Y`                 |                              |`y` and `Y`                                    |
|`KC_Z`                 |                              |`z` and `Z`                                    |
|`KC_1`                 |                              |`1` and `!`                                    |
|`KC_2`                 |                              |`2` and `@`                                    |
|`KC_3`                 |                              |`3` and `#`                                    |
|`KC_4`                 |                              |`4` and `$`                                    |
|`KC_5`                 |                              |`5` and `%`                                    |
|`KC_6`                 |                              |`6` and `^`                                    |
|`KC_7`                 |                              |`7` and `&`                                    |
|`KC_8`                 |                              |`8` and `*`                                    |
|`KC_9`                 |                              |`9` and `(`                                    |
|`KC_0`                 |                              |`0` and `)`                                    |
|`KC_ENTER`             |`KC_ENT`                      |Return (Enter)                                 |
|`KC_ESCAPE`            |`KC_ESC`                      |Escape                                         |
|`KC_BSPACE`            |`KC_BSPC`                     |Delete (Backspace)                             |
|`KC_TAB`               |                              |Tab                                            |
|`KC_SPACE`             |`KC_SPC`                      |Spacebar                                       |
|`KC_MINUS`             |`KC_MINS`                     |`-` and `_`                                    |
|`KC_EQUAL`             |`KC_EQL`                      |`=` and `+`                                    |
|`KC_LBRACKET`          |`KC_LBRC`                     |`[` and `{`                                    |
|`KC_RBRACKET`          |`KC_RBRC`                     |`]` and `}`                                    |
|`KC_BSLASH`            |`KC_BSLS`                     |`\` and `\|`                                   |
|`KC_NONUS_HASH`        |`KC_NUHS`                     |Non-US `#` and `~`                             |
|`KC_SCOLON`            |`KC_SCLN`                     |`;` and `:`                                    |
|`KC_QUOTE`             |`KC_QUOT`                     |`'` and `"`                                    |
|`KC_GRAVE`             |`KC_GRV`, `KC_ZKHK`           |<code>&#96;</code> and `~`, JIS Zenkaku/Hankaku|
|`KC_COMMA`             |`KC_COMM`                     |`,` and `<`                                    |
|`KC_DOT`               |                              |`.` and `>`                                    |
|`KC_SLASH`             |`KC_SLSH`                     |`/` and `?`                                    |
|`KC_CAPSLOCK`          |`KC_CLCK`, `KC_CAPS`          |Caps Lock                                      |
|`KC_F1`                |                              |F1                                             |
|`KC_F2`                |                              |F2                                             |
|`KC_F3`                |                              |F3                                             |
|`KC_F4`                |                              |F4                                             |
|`KC_F5`                |                              |F5                                             |
|`KC_F6`                |                              |F6                                             |
|`KC_F7`                |                              |F7                                             |
|`KC_F8`                |                              |F8                                             |
|`KC_F9`                |                              |F9                                             |
|`KC_F10`               |                              |F10                                            |
|`KC_F11`               |                              |F11                                            |
|`KC_F12`               |                              |F12                                            |
|`KC_PSCREEN`           |`KC_PSCR`                     |Print Screen                                   |
|`KC_SCROLLLOCK`        |`KC_SLCK`, `KC_BRMD`          |Scroll Lock, Brightness Down (macOS)           |
|`KC_PAUSE`             |`KC_PAUS`, `KC_BRK`, `KC_BRMU`|Pause, Brightness Up (macOS)                   |
|`KC_INSERT`            |`KC_INS`                      |Insert                                         |
|`KC_HOME`              |                              |Home                                           |
|`KC_PGUP`              |                              |Page Up                                        |
|`KC_DELETE`            |`KC_DEL`                      |Forward Delete                                 |
|`KC_END`               |                              |End                                            |
|`KC_PGDOWN`            |`KC_PGDN`                     |Page Down                                      |
|`KC_RIGHT`             |`KC_RGHT`                     |Right Arrow                                    |
|`KC_LEFT`              |                              |Left Arrow                                     |
|`KC_DOWN`              |                              |Down Arrow                                     |
|`KC_UP`                |                              |Up Arrow                                       |
|`KC_NUMLOCK`           |`KC_NLCK`                     |Keypad Num Lock and Clear                      |
|`KC_KP_SLASH`          |`KC_PSLS`                     |Keypad `/`                                     |
|`KC_KP_ASTERISK`       |`KC_PAST`                     |Keypad `*`                                     |
|`KC_KP_MINUS`          |`KC_PMNS`                     |Keypad `-`                                     |
|`KC_KP_PLUS`           |`KC_PPLS`                     |Keypad `+`                                     |
|`KC_KP_ENTER`          |`KC_PENT`                     |Keypad Enter                                   |
|`KC_KP_1`              |`KC_P1`                       |Keypad `1` and End                             |
|`KC_KP_2`              |`KC_P2`                       |Keypad `2` and Down Arrow                      |
|`KC_KP_3`              |`KC_P3`                       |Keypad `3` and Page Down                       |
|`KC_KP_4`              |`KC_P4`                       |Keypad `4` and Left Arrow                      |
|`KC_KP_5`              |`KC_P5`                       |Keypad `5`                                     |
|`KC_KP_6`              |`KC_P6`                       |Keypad `6` and Right Arrow                     |
|`KC_KP_7`              |`KC_P7`                       |Keypad `7` and Home                            |
|`KC_KP_8`              |`KC_P8`                       |Keypad `8` and Up Arrow                        |
|`KC_KP_9`              |`KC_P9`                       |Keypad `9` and Page Up                         |
|`KC_KP_0`              |`KC_P0`                       |Keypad `0` and Insert                          |
|`KC_KP_DOT`            |`KC_PDOT`                     |Keypad `.` and Delete                          |
|`KC_NONUS_BSLASH`      |`KC_NUBS`                     |Non-US `\` and `\|`                            |
|`KC_APPLICATION`       |`KC_APP`                      |Application (Windows Menu Key)                 |
|`KC_POWER`             |                              |System Power (macOS)                           |
|`KC_KP_EQUAL`          |`KC_PEQL`                     |Keypad `=`                                     |
|`KC_F13`               |                              |F13                                            |
|`KC_F14`               |                              |F14                                            |
|`KC_F15`               |                              |F15                                            |
|`KC_F16`               |                              |F16                                            |
|`KC_F17`               |                              |F17                                            |
|`KC_F18`               |                              |F18                                            |
|`KC_F19`               |                              |F19                                            |
|`KC_F20`               |                              |F20                                            |
|`KC_F21`               |                              |F21                                            |
|`KC_F22`               |                              |F22                                            |
|`KC_F23`               |                              |F23                                            |
|`KC_F24`               |                              |F24                                            |
|`KC_EXECUTE`           |`KC_EXEC`                     |Execute                                        |
|`KC_HELP`              |                              |Help                                           |
|`KC_MENU`              |                              |Menu                                           |
|`KC_SELECT`            |`KC_SLCT`                     |Select                                         |
|`KC_STOP`              |                              |Stop                                           |
|`KC_AGAIN`             |`KC_AGIN`                     |Again                                          |
|`KC_UNDO`              |                              |Undo                                           |
|`KC_CUT`               |                              |Cut                                            |
|`KC_COPY`              |                              |Copy                                           |
|`KC_PASTE`             |`KC_PSTE`                     |Paste                                          |
|`KC_FIND`              |                              |Find                                           |
|`KC__MUTE`             |                              |Mute (macOS)                                   |
|`KC__VOLUP`            |                              |Volume Up (macOS)                              |
|`KC__VOLDOWN`          |                              |Volume Down (macOS)                            |
|`KC_LOCKING_CAPS`      |`KC_LCAP`                     |Locking Caps Lock                              |
|`KC_LOCKING_NUM`       |`KC_LNUM`                     |Locking Num Lock                               |
|`KC_LOCKING_SCROLL`    |`KC_LSCR`                     |Locking Scroll Lock                            |
|`KC_KP_COMMA`          |`KC_PCMM`                     |Keypad `,`                                     |
|`KC_KP_EQUAL_AS400`    |                              |Keypad `=` on AS/400 keyboards                 |
|`KC_INT1`              |`KC_RO`                       |JIS `\` and `_`                                |
|`KC_INT2`              |`KC_KANA`                     |JIS Katakana/Hiragana                          |
|`KC_INT3`              |`KC_JYEN`                     |JIS `¥` and `\|`                               |
|`KC_INT4`              |`KC_HENK`                     |JIS Henkan                                     |
|`KC_INT5`              |`KC_MHEN`                     |JIS Muhenkan                                   |
|`KC_INT6`              |                              |JIS Numpad `,`                                 |
|`KC_INT7`              |                              |International 7                                |
|`KC_INT8`              |                              |International 8                                |
|`KC_INT9`              |                              |International 9                                |
|`KC_LANG1`             |`KC_HAEN`                     |Hangul/English                                 |
|`KC_LANG2`             |`KC_HANJ`                     |Hanja                                          |
|`KC_LANG3`             |                              |JIS Katakana                                   |
|`KC_LANG4`             |                              |JIS Hiragana                                   |
|`KC_LANG5`             |                              |JIS Zenkaku/Hankaku                            |
|`KC_LANG6`             |                              |Language 6                                     |
|`KC_LANG7`             |                              |Language 7                                     |
|`KC_LANG8`             |                              |Language 8                                     |
|`KC_LANG9`             |                              |Language 9                                     |
|`KC_ALT_ERASE`         |`KC_ERAS`                     |Alternate Erase                                |
|`KC_SYSREQ`            |                              |SysReq/Attention                               |
|`KC_CANCEL`            |                              |Cancel                                         |
|`KC_CLEAR`             |`KC_CLR`                      |Clear                                          |
|`KC_PRIOR`             |                              |Prior                                          |
|`KC_RETURN`            |                              |Return                                         |
|`KC_SEPARATOR`         |                              |Separator                                      |
|`KC_OUT`               |                              |Out                                            |
|`KC_OPER`              |                              |Oper                                           |
|`KC_CLEAR_AGAIN`       |                              |Clear/Again                                    |
|`KC_CRSEL`             |                              |CrSel/Props                                    |
|`KC_EXSEL`             |                              |ExSel                                          |
|`KC_LCTRL`             |`KC_LCTL`                     |Left Control                                   |
|`KC_LSHIFT`            |`KC_LSFT`                     |Left Shift                                     |
|`KC_LALT`              |                              |Left Alt                                       |
|`KC_LGUI`              |`KC_LCMD`, `KC_LWIN`          |Left GUI (Windows/Command/Meta key)            |
|`KC_RCTRL`             |`KC_RCTL`                     |Right Control                                  |
|`KC_RSHIFT`            |`KC_RSFT`                     |Right Shift                                    |
|`KC_RALT`              |`KC_ALGR`                     |Right Alt (AltGr)                              |
|`KC_RGUI`              |`KC_RCMD`, `KC_RWIN`          |Right GUI (Windows/Command/Meta key)           |
|`KC_SYSTEM_POWER`      |`KC_PWR`                      |System Power Down                              |
|`KC_SYSTEM_SLEEP`      |`KC_SLEP`                     |System Sleep                                   |
|`KC_SYSTEM_WAKE`       |`KC_WAKE`                     |System Wake                                    |