Показать сообщение отдельно
  #1 (permalink)  
Старый 12.12.2018, 00:41
Новичок на форуме
Отправить личное сообщение для GermanIvk05 Посмотреть профиль Найти все сообщения от GermanIvk05
 
Регистрация: 12.12.2018
Сообщений: 3

пожалуйста переведите код с c++ на JavaScript
/*

Keyboard.h



Copyright (c) 2015, Arduino LLC

Original code (pre-library): Copyright (c) 2011, Peter Barrett



This library is free software; you can redistribute it and/or

modify it under the terms of the GNU Lesser General Public

License as published by the Free Software Foundation; either

version 2.1 of the License, or (at your option) any later version.



This library is distributed in the hope that it will be useful,

but WITHOUT ANY WARRANTY; without even the implied warranty of

MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU

Lesser General Public License for more details.



You should have received a copy of the GNU Lesser General Public

License along with this library; if not, write to the Free Software

Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

*/



#ifndef KEYBOARD_h

#define KEYBOARD_h



#include "HID.h"



#if !defined(_USING_HID)



#warning "Using legacy HID core (non pluggable)"



#else



//================================================== ==============================

//================================================== ==============================

// Keyboard



#define KEY_LEFT_CTRL 0x80

#define KEY_LEFT_SHIFT 0x81

#define KEY_LEFT_ALT 0x82

#define KEY_LEFT_GUI 0x83

#define KEY_RIGHT_CTRL 0x84

#define KEY_RIGHT_SHIFT 0x85

#define KEY_RIGHT_ALT 0x86

#define KEY_RIGHT_GUI 0x87



#define KEY_UP_ARROW 0xDA

#define KEY_DOWN_ARROW 0xD9

#define KEY_LEFT_ARROW 0xD8

#define KEY_RIGHT_ARROW 0xD7

#define KEY_BACKSPACE 0xB2

#define KEY_TAB 0xB3

#define KEY_RETURN 0xB0

#define KEY_ESC 0xB1

#define KEY_INSERT 0xD1

#define KEY_DELETE 0xD4

#define KEY_PAGE_UP 0xD3

#define KEY_PAGE_DOWN 0xD6

#define KEY_HOME 0xD2

#define KEY_END 0xD5

#define KEY_CAPS_LOCK 0xC1

#define KEY_F1 0xC2

#define KEY_F2 0xC3

#define KEY_F3 0xC4

#define KEY_F4 0xC5

#define KEY_F5 0xC6

#define KEY_F6 0xC7

#define KEY_F7 0xC8

#define KEY_F8 0xC9

#define KEY_F9 0xCA

#define KEY_F10 0xCB

#define KEY_F11 0xCC

#define KEY_F12 0xCD

#define KEY_F13 0xF0

#define KEY_F14 0xF1

#define KEY_F15 0xF2

#define KEY_F16 0xF3

#define KEY_F17 0xF4

#define KEY_F18 0xF5

#define KEY_F19 0xF6

#define KEY_F20 0xF7

#define KEY_F21 0xF8

#define KEY_F22 0xF9

#define KEY_F23 0xFA

#define KEY_F24 0xFB





// Low level key report: up to 6 keys and shift, ctrl etc at once

typedef struct

{

uint8_t modifiers;

uint8_t reserved;

uint8_t keys[6];

} KeyReport;



class Keyboard_ : public Print

{

private:

KeyReport _keyReport;

void sendReport(KeyReport* keys);

public:

Keyboard_(void);

void begin(void);

void end(void);

size_t write(uint8_t k);

size_t write(const uint8_t *buffer, size_t size);

size_t press(uint8_t k);

size_t release(uint8_t k);

void releaseAll(void);

};

extern Keyboard_ Keyboard;



#endif

#endif
Ответить с цитированием