ログイン
編集不可のページディスカッション情報添付ファイル
"clear/note/2011-04"の差分

MMA
4と5のリビジョン間の差分
2011-04-01 22:24:09時点のリビジョン4
サイズ: 1227
編集者: clear
コメント:
2011-04-01 23:52:45時点のリビジョン5
サイズ: 3502
編集者: clear
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 12: 行 12:
とりあえずウィンドウを出す所までは行った。Win32APIを叩いていた頃の記憶がよみがえるような気がする。
手始めに練習として、xmma(MMAのロゴを表示する。元ネタは言うまでもなくxlogo)を作ろうと思う。
とりあえずウィンドウを出す所までは行った。Win32APIを叩いていた頃の記憶がよみがえるような気がする。手始めに練習として、xmma(MMAのロゴを表示する。元ネタは言うまでもなくxlogo)を作ろうと思う。
 * どうやら、Win32APIの勘が結構生かせそうなので対比で学んでいくことにする
 * 何よりも最初にXサーバとの接続を行う。`XOpenDisplay()` <-> `XCloseDisplay()`
 * とりあえず何でも送られてくるWin32とは違って、欲しいイベントを最初に通知しておく
  * 拾わなかったものはどうやら祖先に送られるらしい
  * `MappingNotify`イベントは問答無用で全てのクライアントに届くらしい。これがどういうものかはまだ分からない
 * `XEvent`共用体というのがWin32でいうところの`MSG`構造体に当たるようだ。何か凄まじい宣言がなされている。以下`Xlib.h`から引用
 {{{#!highlight c numbers=no
typedef union _XEvent {
        int type; /* must not be changed; first element */
        XAnyEvent xany;
        XKeyEvent xkey;
        XButtonEvent xbutton;
        XMotionEvent xmotion;
        XCrossingEvent xcrossing;
        XFocusChangeEvent xfocus;
        XExposeEvent xexpose;
        XGraphicsExposeEvent xgraphicsexpose;
        XNoExposeEvent xnoexpose;
        XVisibilityEvent xvisibility;
        XCreateWindowEvent xcreatewindow;
        XDestroyWindowEvent xdestroywindow;
        XUnmapEvent xunmap;
        XMapEvent xmap;
        XMapRequestEvent xmaprequest;
        XReparentEvent xreparent;
        XConfigureEvent xconfigure;
        XGravityEvent xgravity;
        XResizeRequestEvent xresizerequest;
        XConfigureRequestEvent xconfigurerequest;
        XCirculateEvent xcirculate;
        XCirculateRequestEvent xcirculaterequest;
        XPropertyEvent xproperty;
        XSelectionClearEvent xselectionclear;
        XSelectionRequestEvent xselectionrequest;
        XSelectionEvent xselection;
        XColormapEvent xcolormap;
        XClientMessageEvent xclient;
        XMappingEvent xmapping;
        XErrorEvent xerror;
        XKeymapEvent xkeymap;
        XGenericEvent xgeneric;
        XGenericEventCookie xcookie;
        long pad[24];
} XEvent;
}}}
  * `XなになにEvent`構造体はすべて先頭の要素に`type`を持っているために、`type`を見ることでどのイベントか判別できるようだ

2011/04/01

  • 4月になってしまった
  • kagisysは私がモタモタしているうちにハードウェアの方が進んできているので、そちらに歩調を合わせます
  • いい加減勉強する。コードを書く。
    • socket programming
    • X11 programming

Synaptics touchpad driver

タッチパッドのレスポンスが以前からよろしくない気がしていたので、synapticsのmanを読んだりここを読んだりしていた。MinSpeedMaxSpeedの値をいじれば良さそうな気がするが、試しに適当に変えてみてもあまり変わった気がしない。静的なパラメータの変更はxorg.conf.d/10-synaptics.confに書けばできる。またsynclientコマンドを使えば動的に設定可能。もう少しパラメータの意味を探る必要あり。

X11、はじめました

とりあえずウィンドウを出す所までは行った。Win32APIを叩いていた頃の記憶がよみがえるような気がする。手始めに練習として、xmma(MMAのロゴを表示する。元ネタは言うまでもなくxlogo)を作ろうと思う。

  • どうやら、Win32APIの勘が結構生かせそうなので対比で学んでいくことにする
  • 何よりも最初にXサーバとの接続を行う。XOpenDisplay() <-> XCloseDisplay()

  • とりあえず何でも送られてくるWin32とは違って、欲しいイベントを最初に通知しておく
    • 拾わなかったものはどうやら祖先に送られるらしい
    • MappingNotifyイベントは問答無用で全てのクライアントに届くらしい。これがどういうものかはまだ分からない

  • XEvent共用体というのがWin32でいうところのMSG構造体に当たるようだ。何か凄まじい宣言がなされている。以下Xlib.hから引用

    typedef union _XEvent {
            int type;               /* must not be changed; first element */
            XAnyEvent xany;
            XKeyEvent xkey;
            XButtonEvent xbutton;
            XMotionEvent xmotion;
            XCrossingEvent xcrossing;
            XFocusChangeEvent xfocus;
            XExposeEvent xexpose;
            XGraphicsExposeEvent xgraphicsexpose;
            XNoExposeEvent xnoexpose;
            XVisibilityEvent xvisibility;
            XCreateWindowEvent xcreatewindow;
            XDestroyWindowEvent xdestroywindow;
            XUnmapEvent xunmap;
            XMapEvent xmap;
            XMapRequestEvent xmaprequest;
            XReparentEvent xreparent;
            XConfigureEvent xconfigure;
            XGravityEvent xgravity;
            XResizeRequestEvent xresizerequest;
            XConfigureRequestEvent xconfigurerequest;
            XCirculateEvent xcirculate;
            XCirculateRequestEvent xcirculaterequest;
            XPropertyEvent xproperty;
            XSelectionClearEvent xselectionclear;
            XSelectionRequestEvent xselectionrequest;
            XSelectionEvent xselection;
            XColormapEvent xcolormap;
            XClientMessageEvent xclient;
            XMappingEvent xmapping;
            XErrorEvent xerror;
            XKeymapEvent xkeymap;
            XGenericEvent xgeneric;
            XGenericEventCookie xcookie;
            long pad[24];
    } XEvent;
    
    • XなになにEvent構造体はすべて先頭の要素にtypeを持っているために、typeを見ることでどのイベントか判別できるようだ

clear/note/2011-04 (最終更新日時 2011-04-30 19:17:27 更新者 clear)