'2022/02/25'에 해당되는 글 4건

  1. 2022.02.25 플로피
  2. 2022.02.25 opencv python
  3. 2022.02.25 python / opencv mouse event
  4. 2022.02.25 libvncserver 마우스 이벤트
개소리 왈왈/컴퓨터2022. 2. 25. 20:54

집에 굴러다니는 usb 플로피가 있는데

누군가가 필요하다고 해서 한번 꽂아보는데 윈10에서 인식되지 않아

검색해보니 수동으로 설치하면 가능하다고 한다.

 

 

참 오랫만에 보는 아이콘 이구만.

 

[링크 : https://whiteramen.tistory.com/94]

'개소리 왈왈 > 컴퓨터' 카테고리의 다른 글

백업 서버 구성  (0) 2022.03.06
supermicro 서버 첫 ipmi 접속  (0) 2022.02.26
슈퍼마이크로 2U 8bay 서버 구매  (0) 2022.02.15
컴퓨터 메인보드가 보니.  (0) 2022.02.12
gtx660 gtx750 gtx1030 hd7950  (0) 2022.02.07
Posted by 구차니

파이썬에서  openCV highgui를 전체 화면으로 돌려보기

 

[링크 : https://www.javatpoint.com/opencv-mouse-event]

 

full screen (fail)

[링크 : https://gist.github.com/ronekko/dc3747211543165108b11073f929b85e]

 

cv2.waitkey ord

[링크 : https://stackoverflow.com/questions/14494101/using-other-keys-for-the-waitkey-function-of-opencv]

'Programming > python(파이썬)' 카테고리의 다른 글

pdb  (0) 2022.03.14
python debug (pdb)  (0) 2022.03.04
python / opencv mouse event  (0) 2022.02.25
python op overload magic method  (0) 2021.06.14
pythonpath  (0) 2021.04.16
Posted by 구차니

해보니 리눅스에서도 좀 헷갈려 하는지

터치는 마우스 이벤트로 넘어가지 않네. 어떤 이벤트를 통해 터치스크린 손 터치와 펜 터치를 인식하려나?

 

[링크 : https://www.javatpoint.com/opencv-mouse-event]

'Programming > python(파이썬)' 카테고리의 다른 글

python debug (pdb)  (0) 2022.03.04
opencv python  (0) 2022.02.25
python op overload magic method  (0) 2021.06.14
pythonpath  (0) 2021.04.16
python yield  (0) 2021.04.07
Posted by 구차니
프로그램 사용/VNC2022. 2. 25. 12:18

client -> server 프로토콜

#define rfbKeyEvent 4
#define rfbPointerEvent 5

 

키보드 이벤트 관련 구조체

/*-----------------------------------------------------------------------------
 * KeyEvent - key press or release
 *
 * Keys are specified using the "keysym" values defined by the X Window System.
 * For most ordinary keys, the keysym is the same as the corresponding ASCII
 * value.  Other common keys are:
 *
 * BackSpace 0xff08
 * Tab 0xff09
 * Return or Enter 0xff0d
 * Escape 0xff1b
 * Insert 0xff63
 * Delete 0xffff
 * Home 0xff50
 * End 0xff57
 * Page Up 0xff55
 * Page Down 0xff56
 * Left 0xff51
 * Up 0xff52
 * Right 0xff53
 * Down 0xff54
 * F1 0xffbe
 * F2 0xffbf
 * ... ...
 * F12 0xffc9
 * Shift 0xffe1
 * Control 0xffe3
 * Meta 0xffe7
 * Alt 0xffe9
 */

typedef struct {
    uint8_t type; /* always rfbKeyEvent */
    uint8_t down; /* true if down (press), false if up */
    uint16_t pad;
    uint32_t key; /* key is specified as an X keysym */
} rfbKeyEventMsg;

#define sz_rfbKeyEventMsg 8


typedef struct {
    uint8_t type;     /* always rfbQemuEvent */
    uint8_t subtype;  /* always 0 */
    uint16_t down;
    uint32_t keysym;  /* keysym is specified as an X keysym, may be 0 */
    uint32_t keycode; /* keycode is specified as XT key code */
} rfbQemuExtendedKeyEventMsg;

#define sz_rfbQemuExtendedKeyEventMsg 12

 

내용이 부실한데 드래그를 구현하려면 down 이벤트를 보고 해당 버튼의 마스크가 사라질때 까지 보고 있어야 할 듯?

uinput에서 그럼 드래그 어떻게 구현해야 하냐... ㅠㅠ

/*-----------------------------------------------------------------------------
 * PointerEvent - mouse/pen move and/or button press.
 */

typedef struct {
    uint8_t type; /* always rfbPointerEvent */
    uint8_t buttonMask; /* bits 0-7 are buttons 1-8, 0=up, 1=down */
    uint16_t x;
    uint16_t y;
} rfbPointerEventMsg;

#define rfbButton1Mask 1
#define rfbButton2Mask 2
#define rfbButton3Mask 4
#define rfbButton4Mask 8
#define rfbButton5Mask 16
/* RealVNC 335 method */
#define rfbWheelUpMask rfbButton4Mask
#define rfbWheelDownMask rfbButton5Mask

#define sz_rfbPointerEventMsg 6

[링크 : https://github.com/LibVNC/libvncserver/blob/master/rfb/rfbproto.h]

 

키보드의 경우 키 다운, 업 이벤트가 오는 것 같고, 반복키 처리를 좀 찾아봐야 할 듯.

마우스는 buttonmask에 

static void doptr(int buttonMask, int x, int y, rfbClientPtr cl)
{

}

static void dokey(rfbBool down, rfbKeySym key, rfbClientPtr cl)
{

}

[링크 : http:// https://github.com/LibVNC/libvncserver/blob/master/examples/example.c]

 

키보드 입력관련 선언문

#define XK_VoidSymbol 0xFFFFFF /* void symbol */

#define XK_BackSpace 0xFF08 /* back space, back char */
#define XK_Tab 0xFF09
#define XK_Linefeed 0xFF0A /* Linefeed, LF */
#define XK_Clear 0xFF0B
#define XK_Return 0xFF0D /* Return, enter */
#define XK_Pause 0xFF13 /* Pause, hold */
#define XK_Scroll_Lock 0xFF14
#define XK_Sys_Req 0xFF15
#define XK_Escape 0xFF1B
#define XK_Delete 0xFFFF /* Delete, rubout */

#define XK_A                   0x041
#define XK_B                   0x042
#define XK_C                   0x043

#define XK_a                   0x061
#define XK_b                   0x062
#define XK_c                   0x063

[링크 : https://github.com/LibVNC/libvncserver/blob/master/rfb/keysym.h]

 

[링크 : https://github.com/LibVNC/libvncserver]

 

+

relative / absolute mode 관련 참고할 코드

doptr() 에서 현재 좌표 넘어온 것과 이전 마지막 좌표 계산해서 넣는것 외에는

libvncserver 자체에서 상대좌표 모드로 작동하진 않도록 구성되어 있는 것으로 보인다.

[링크 : https://github.com/hanzelpeter/dispmanx_vnc/blob/master/main.c]

Posted by 구차니