likana
rikana(http://suwa.6.ql.bz/rikana.html)forlinux
|
rikana(http://suwa.6.ql.bz/rikana.html) for Linux. [詳細]
#include <stdio.h>
#include <stdlib.h>
#include <getopt.h>
#include <fcntl.h>
#include <unistd.h>
#include <pthread.h>
#include <linux/input.h>
#include <sys/types.h>
#include <sys/stat.h>
データ構造 | |
struct | THREAD_ARG |
スレッドパラメータ定義 [詳細] | |
マクロ定義 | |
#define | VERSION "1.3" |
バージョン情報 | |
#define | PUSH 1 |
キーボード押下判定の定義 | |
#define | RELEASE 0 |
キーボード開放判定の定義 | |
#define | DETECT_KEY_CODE 0 |
キーボード操作判定のための定義 | |
#define | DETECT_KEY_VALUE 0 |
マウス操作判定のための定義 | |
#define | INPUT_NUM 60 |
キーロギングの上限数 | |
#define | HANKAKU_NUM 2 |
"半角/全角"キー押下回数のしきい値 | |
#define | INPUT_EVENTS 64 |
キーイベント操作の上限数 | |
#define | SLEEP_TIME 0 |
0 sec | |
#define | SLEEP_TIME_NANO 20000000 |
20 msec | |
関数 | |
void | mysleep () |
20 msec スリープする. | |
void | write_key_event (int code, int value, int fd) |
キーボード入力をエミュレートする. | |
void * | thread_mouse (void *arg) |
マウスイベントを待ち受ける. | |
void | usage () |
使い方の説明. | |
void | version () |
バージョン情報の出力. | |
int | check_stat (struct stat *st) |
指定されたファイルがキャラクタデバイスか判定する. | |
int | main (int argc, char *argv[]) |
main関数. | |
変数 | |
int | input [INPUT_NUM] = {0} |
ロギングしたキーの値を格納する配列 | |
short | count = 0 |
ロギングカウント | |
short | count_h = 0 |
"半角/全角"キーカウント |
rikana(http://suwa.6.ql.bz/rikana.html) for Linux.
MIZUSHIKI 様が作成された IMEオン忘れ時打ち直しツール「りかなー」とほぼ同仕様の Linux 版りかなー. IME(インプットメソッドエンジン)オンを忘れてタイプしてしまったらすかさず「半角/全角」キーを2連打. 直前の文字を打ち直しします.
int check_stat | ( | struct stat * | st | ) |
指定されたファイルがキャラクタデバイスか判定する.
<sys/types.h> , <sys/stat.h> の include が必要.
[in] | *st | stat構造体のアドレス |
0 | チェックしたファイルがキャラクタデバイスだった |
1 | チェックしたファイルがキャラクタデバイスではなかった |
int main | ( | int | argc, |
char * | argv[] | ||
) |
void mysleep | ( | ) |
20 msec スリープする.
sleep関数では1秒からの指定なので、nanosleep関数を用いて 20 msec スリープさせる.
なし |
void* thread_mouse | ( | void * | arg | ) |
マウスイベントを待ち受ける.
スレッドを用いてキーボードイベントとは別に,マウスイベントを待ち受ける. pthread スレッドに値を渡すために,構造体を使っている.
[in] | *arg | pthread_createの第4引数のポインタ |
void usage | ( | ) |
使い方の説明.
詳細説明は割愛します.
なし |
void version | ( | ) |
バージョン情報の出力.
詳細説明は割愛します.
なし |
void write_key_event | ( | int | code, |
int | value, | ||
int | fd | ||
) |
キーボード入力をエミュレートする.
Linux Input Subsystem を用いている.
[in] | code | ロギングしたキーコード |
[in] | value | 押下・開放の指定 |
[out] | fd | 出力先の指定 |