xcmd/inc/xcmd_define.h

121 lines
4.8 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* @Author: your name
* @Date: 2021-09-20 19:59:05
* @LastEditTime: 2022-02-17 22:41:13
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: /xcmd/inc/xcmd_define.h
*/
#ifndef XCMD_DEFINE_H
#define XCMD_DEFINE_H
#ifdef __cplusplus
extern "C" {
#endif
#define KEY_CTR_A "\x01"
#define KEY_CTR_B "\x02"
#define KEY_CTR_C "\x03"
#define KEY_CTR_D "\x04"
#define KEY_CTR_E "\x05"
#define KEY_CTR_F "\x06"
#define KEY_CTR_G "\x07"
#define KEY_CTR_H "\x08"
#define KEY_CTR_I "\x09"
#define KEY_TAB "\x09"
#define KEY_CTR_J "\x0A"
#define KEY_CTR_K "\x0B"
#define KEY_CTR_L "\x0C"
#define KEY_CTR_M "\x0D"
#define KEY_CTR_N "\x0E"
#define KEY_CTR_O "\x0F"
#define KEY_CTR_P "\x10"
#define KEY_CTR_Q "\x11"
#define KEY_CTR_R "\x12"
#define KEY_CTR_S "\x13"
#define KEY_CTR_T "\x14"
#define KEY_CTR_U "\x15"
#define KEY_CTR_V "\x16"
#define KEY_CTR_W "\x17"
#define KEY_CTR_X "\x18"
#define KEY_CTR_Y "\x19"
#define KEY_CTR_Z "\x1A"
#define KEY_PAUSE "\x1A"
#define KEY_ESC "\x1B"
#define KEY_BACKSPACE "\x7F"
#define KEY_UP "\x1B[A"
#define KEY_DW "\x1B[B"
#define KEY_RIGHT "\x1B[C"
#define KEY_LEFT "\x1B[D"
#define KEY_HOME "\x1B[H"
#define KEY_EMD "\x1B[F"
#define KEY_CTR_UP "\x1B[1;5A"
#define KEY_CTR_DW "\x1B[1;5B"
#define KEY_CTR_RIGHT "\x1B[1;5C"
#define KEY_CTR_LEFT "\x1B[1;5D"
#define KEY_INSERT "\x1B[2~"
#define KEY_DELETE "\x1B[3~"
#define KEY_PAGE_UP "\x1B[5~"
#define KEY_PAGE_DOWN "\x1B[6~"
#define KEY_F1 "\x1BOP"
#define KEY_F2 "\x1BOQ"
#define KEY_F3 "\x1BOR"
#define KEY_F4 "\x1BOS"
#define KEY_F5 "\x1B[15~"
#define KEY_F6 "\x1B[17~"
#define KEY_F7 "\x1B[18~"
#define KEY_F8 "\x1B[19~"
#define KEY_F9 "\x1B[20~"
#define KEY_F10 "\x1B[21~"
#define KEY_F11 "\x1B[23~"
#define KEY_F12 "\x1B[24~"
/*光标操作符其中0x1B是ESC只适用于xcmd_print函数*/
#define CUU(n) "\x1B[%dA",n /* 光标向上 光标向上 <n> 行 */
#define CUD(n) "\x1B[%dB",n /* 光标向下 光标向下 <n> 行 */
#define CUF(n) "\x1B[%dC",n /* 光标向前 光标向前(右)<n> 行 */
#define CUB(n) "\x1B[%dD",n /* 光标向后 光标向后(左)<n> 行 */
#define CNL(n) "\x1B[%dE",n /* 光标下一行 光标从当前位置向下 <n> 行 */
#define CPL(n) "\x1B[%dF",n /* 光标当前行 光标从当前位置向上 <n> 行 */
#define CHA(n) "\x1B[%dG",n /* 绝对光标水平 光标在当前行中水平移动到第 <n> 个位置 */
#define VPA(n) "\x1B[%dd",n /* 绝对垂直行位置 光标在当前列中垂直移动到第 <n> 个位置 */
#define CUP(y,x) "\x1B[%d;%dH",y,x /* 光标位置 *光标移动到视区中的 <x>; <y> 坐标,其中 <x> 是 <y> 行的列 */
#define HVP(y,x) "\x1B[%d;%df",y,x /* 水平垂直位置 *光标移动到视区中的 <x>; <y> 坐标,其中 <x> 是 <y> 行的列 */
/*光标可见性*/
#define CU_START_BL "\x1B[?12h" /* ATT160 文本光标启用闪烁 开始光标闪烁 */
#define CU_STOP_BL "\x1B[?12l" /* ATT160 文本光标禁用闪烁 停止闪烁光标 */
#define CU_SHOW "\x1B[?25h" /* DECTCEM 文本光标启用模式显示 显示光标 */
#define CU_HIDE "\x1B[?25l" /* DECTCEM 文本光标启用模式隐藏 隐藏光标 */
/* 字符操作 */
#define ICH(n) "\x1B[%d@",n /* 插入字符 在当前光标位置插入 <n> 个空格,这会将所有现有文本移到右侧。 向右溢出屏幕的文本会被删除。*/
#define DCH(n) "\x1B[%dP",n /* 删除字符 删除当前光标位置的 <n> 个字符,这会从屏幕右边缘以空格字符移动。*/
#define ECH(n) "\x1B[%dX",n /* 擦除字符 擦除当前光标位置的 <n> 个字符,方法是使用空格字符覆盖它们。*/
#define IL(n) "\x1B[%dL",n /* 插入行 将 <n> 行插入光标位置的缓冲区。 光标所在的行及其下方的行将向下移动。*/
#define DL(n) "\x1B[%dM\r",n /* 删除行 从缓冲区中删除 <n> 行,从光标所在的行开始。*/
/* 打印字体颜色设置 */
#define TX_DEF "\x1b[0m"
#define TX_BLACK "\x1b[30m"
#define TX_RED "\x1b[31m"
#define TX_GREEN "\x1b[32m"
#define TX_YELLOW "\x1b[33m"
#define TX_BLUE "\x1b[34m"
#define TX_WHITE "\x1b[37m"
/* 打印背景颜色设置 */
#define BK_DEF "\x1b[0m"
#define BK_BLACK "\x1b[40m"
#define BK_RED "\x1b[41m"
#define BK_GREEN "\x1b[42m"
#define BK_YELLOW "\x1b[43m"
#define BK_BLUE "\x1b[44m"
#define BK_WHITE "\x1b[47m"
#ifdef __cplusplus
}
#endif
#endif /*XCMD_DEFINE_H*/