Compare commits

..

2 Commits

Author SHA1 Message Date
10d037819e Added basic usb capabilities 2023-09-12 13:58:29 +02:00
b5d79ed77a Modified UI by hand
Cambalache-upstream needed
2023-09-12 13:58:08 +02:00
5 changed files with 44 additions and 4 deletions

View File

@ -1,8 +1,8 @@
NAME=ginput NAME=ginput
CC=gcc CC=gcc
CAMBALACHE=cambalache CAMBALACHE=cambalache
CFLAGS=$(shell pkg-config --cflags gtk4 libadwaita-1) -O3 -I src CFLAGS=$(shell pkg-config --cflags gtk4 libadwaita-1 libusb-1.0) -O3 -I src
LDFLAGS=$(shell pkg-config --libs gtk4 libadwaita-1) LDFLAGS=$(shell pkg-config --libs gtk4 libadwaita-1 libusb-1.0)
BUILD_DIR=build BUILD_DIR=build
CMB := $(wildcard ui/*.cmb) CMB := $(wildcard ui/*.cmb)

28
src/device/usb/usb.c Normal file
View File

@ -0,0 +1,28 @@
#include <libusb.h>
#include <stdio.h>
#include <stdlib.h>
void usb_init()
{
// List all usb devices obtaining 'vendor:product'
// Call corresponding driver if it exists, so
// that we get a peripheral handle
if(libusb_init(NULL))
{
fprintf(stderr, "Error: Could not initialize libusb\n");
return;
}
libusb_device** list;
ssize_t device_count = libusb_get_device_list(NULL, &list);
if(device_count <= 0) return;
for(ssize_t i = 0; i < device_count; i++)
{
libusb_device* current = list[i];
struct libusb_device_descriptor desc;
libusb_get_device_descriptor(current, &desc);
printf("Found usb device %04x:%04x\n", desc.idVendor, desc.idProduct);
}
}

6
src/device/usb/usb.h Normal file
View File

@ -0,0 +1,6 @@
#ifndef USB_H
#define USB_H
void usb_init();
#endif

View File

@ -1,7 +1,10 @@
#include "ui/ginput-application.h" #include "ui/ginput-application.h"
#include "device/usb/usb.h"
int main(gint argc, gchar** argv) int main(gint argc, gchar** argv)
{ {
usb_init();
AdwApplication* application = ginput_application_new(); AdwApplication* application = ginput_application_new();
return g_application_run(G_APPLICATION(application), argc, argv); return g_application_run(G_APPLICATION(application), argc, argv);
} }

View File

@ -26,7 +26,8 @@
(2,13,"AdwBin","titlebar_bin",11,None,None,None,None,None), (2,13,"AdwBin","titlebar_bin",11,None,None,None,None,None),
(2,15,"AdwHeaderBar","titlebar",13,None,None,None,None,None), (2,15,"AdwHeaderBar","titlebar",13,None,None,None,None,None),
(2,16,"AdwWindowTitle","title",15,None,None,None,None,None), (2,16,"AdwWindowTitle","title",15,None,None,None,None,None),
(3,1,"Panel","EmptyPanel",None,None,None,None,None,"&lt;child type=\"content\"&gt;\n &lt;object class=\"GtkLabel\"&gt;\n &lt;property name=\"label\"&gt;Nothing to see here&lt;/property&gt;\n &lt;/object&gt;\n&lt;/child&gt;\n"), (3,1,"Panel","EmptyPanel",None,None,None,None,None,"\n"),
(3,2,"GtkLabel",None,1,None,None,None,None,None),
(4,1,"Panel","MousePanel",None,None,None,None,None,"") (4,1,"Panel","MousePanel",None,None,None,None,None,"")
</object> </object>
<object_property> <object_property>
@ -59,7 +60,9 @@
(2,12,"GtkWidget","vexpand","True",None,None,None,None,None,None,None,None,None), (2,12,"GtkWidget","vexpand","True",None,None,None,None,None,None,None,None,None),
(2,13,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None), (2,13,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
(2,15,"AdwHeaderBar","show-start-title-buttons","False",None,None,None,None,None,None,None,None,None), (2,15,"AdwHeaderBar","show-start-title-buttons","False",None,None,None,None,None,None,None,None,None),
(2,15,"AdwHeaderBar","title-widget",None,None,None,None,None,16,None,None,None,None) (2,15,"AdwHeaderBar","title-widget",None,None,None,None,None,16,None,None,None,None),
(3,2,"GtkLabel","justify","center",None,None,None,None,None,None,None,None,None),
(3,2,"GtkLabel","label","There is nothing here...\nPerhaps you don't have the needed drivers installed and active ?",None,None,None,None,None,None,None,None,None)
</object_property> </object_property>
<object_data> <object_data>
(1,6,"GtkWidget",1,1,None,None,None,None,None,None), (1,6,"GtkWidget",1,1,None,None,None,None,None,None),