2
Vala의 조이스틱에서 상태를 읽으려고합니다. 그러나 조이스틱에서 읽을 수는 있지만, 읽기 콜백은 GUI 그리기를 방해하는 것 같습니다.PollableSource 블록에서 읽기 GUI
valac --pkg gtk+-3.0 --pkg gio-2.0 --pkg gio-unix-2.0 --pkg posix example.vala -o example
내 터미널에서 프로그램을 실행, 내가 할 모든 "의 톤이다
using Gtk;
int main(string[] args) {
Gtk.init(ref args);
var window = new Window();
var button = new Button.with_label("Click Me!");
button.clicked.connect(() => {
stdout.printf("Click!\n");
});
window.add(button);
window.show_all();
var fd = Posix.open("/dev/input/js0", Posix.O_RDONLY);
var stream = new UnixInputStream(fd, true);
var source = stream.create_source();
source.set_callback((stream) => {
stdout.printf("Joystick button press!\n");
return true;
});
source.attach(null);
Gtk.main();
return 0;
}
내가 그것을 컴파일 : 여기
이 문제를 보여 일부 샘플 코드 조이스틱 단추 누르기! " GUI 렌더링이 없습니다. 그것은 단지 빈 창입니다. 나는 소스 콜백을 attachs 라인 주석 때 :source.attach(null);
를 재 컴파일, 나는 그것을 클릭 할 때마다 반응하는 버튼으로 GUI를 얻을.
내 GUI와 동일한 루프에서 읽기 콜백을 수행하려면 어떻게해야합니까?
지금은 의미가 있습니다. 개념 증명으로 stdout으로 인쇄하기 전에 –