Some hacks to stop screen blanking.
Some hacks to stop screen blanking.
This commit is contained in:
parent
06fd9e335d
commit
d72659968c
@ -35,6 +35,10 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
#include <linux/fb.h>
|
||||||
|
|
||||||
|
/* Two minutes */
|
||||||
|
#define BLANKING_TIMEOUT 120*1000
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
|
* Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
|
||||||
@ -64,6 +68,8 @@ typedef struct {
|
|||||||
gboolean caps_lock : 1;
|
gboolean caps_lock : 1;
|
||||||
} Keyboard;
|
} Keyboard;
|
||||||
|
|
||||||
|
static guint blanking_timer = 0;
|
||||||
|
|
||||||
static Keyboard * tty_keyboard_open(void);
|
static Keyboard * tty_keyboard_open(void);
|
||||||
static guint keyboard_get_state(Keyboard *k);
|
static guint keyboard_get_state(Keyboard *k);
|
||||||
|
|
||||||
@ -73,6 +79,37 @@ static Keyboard *keyboard = NULL;
|
|||||||
static guint multiclick_tag;
|
static guint multiclick_tag;
|
||||||
static GdkEvent *multiclick_event = NULL;
|
static GdkEvent *multiclick_event = NULL;
|
||||||
|
|
||||||
|
#ifndef VESA_NO_BLANKING
|
||||||
|
#define VESA_NO_BLANKING 0
|
||||||
|
#define VESA_VSYNC_SUSPEND 1
|
||||||
|
#define VESA_HSYNC_SUSPEND 2
|
||||||
|
#define VESA_POWERDOWN 3
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
static gboolean
|
||||||
|
input_activity_timeout(gpointer p)
|
||||||
|
{
|
||||||
|
blanking_timer = 0;
|
||||||
|
ioctl(gdk_display->fd, FBIOBLANK, VESA_POWERDOWN);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* This is all very broken :( */
|
||||||
|
static void
|
||||||
|
input_activity(void)
|
||||||
|
{
|
||||||
|
#if 0
|
||||||
|
if(blanking_timer)
|
||||||
|
g_source_remove(blanking_timer);
|
||||||
|
else
|
||||||
|
gdk_fb_redraw_all();
|
||||||
|
|
||||||
|
blanking_timer = g_timeout_add(BLANKING_TIMEOUT, input_activity_timeout, NULL);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
click_event_timeout(gpointer x)
|
click_event_timeout(gpointer x)
|
||||||
{
|
{
|
||||||
@ -569,6 +606,8 @@ handle_mouse_input(MouseDevice *mouse, gboolean got_motion)
|
|||||||
gdk_window_unref(mouse->prev_window);
|
gdk_window_unref(mouse->prev_window);
|
||||||
mouse->prev_window = gdk_window_ref(win);
|
mouse->prev_window = gdk_window_ref(win);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
input_activity();
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
@ -1381,6 +1420,8 @@ handle_keyboard_input(GIOChannel *gioc, GIOCondition cond, gpointer data)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
input_activity();
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -72,6 +72,7 @@ gdk_fb_display_new(const char *filename)
|
|||||||
|
|
||||||
retval = g_new0(GdkFBDisplay, 1);
|
retval = g_new0(GdkFBDisplay, 1);
|
||||||
retval->fd = fd;
|
retval->fd = fd;
|
||||||
|
ioctl(retval->fd, FBIOBLANK, 0);
|
||||||
n = ioctl(fd, FBIOGET_FSCREENINFO, &retval->sinfo);
|
n = ioctl(fd, FBIOGET_FSCREENINFO, &retval->sinfo);
|
||||||
n |= ioctl(fd, FBIOGET_VSCREENINFO, &retval->modeinfo);
|
n |= ioctl(fd, FBIOGET_VSCREENINFO, &retval->modeinfo);
|
||||||
g_assert(!n);
|
g_assert(!n);
|
||||||
|
Loading…
Reference in New Issue
Block a user