|
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 | 出力先の指定 |