summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.clang-format2
-rw-r--r--config.def.h39
-rw-r--r--drw.c60
-rw-r--r--drw.h19
-rw-r--r--keyboard.c94
-rw-r--r--keyboard.h47
-rw-r--r--main.c70
-rw-r--r--shm_open.c12
-rw-r--r--shm_open.h1
9 files changed, 162 insertions, 182 deletions
diff --git a/.clang-format b/.clang-format
index 42385f6..d275da8 100644
--- a/.clang-format
+++ b/.clang-format
@@ -88,7 +88,7 @@ PenaltyExcessCharacter: 1000000
 PenaltyReturnTypeOnItsOwnLine: 60
 PointerAlignment: Right
 ReflowComments:  true
-SortIncludes:    true
+SortIncludes:    false
 SortUsingDeclarations: true
 SpaceAfterCStyleCast: false
 SpaceAfterTemplateKeyword: true
diff --git a/config.def.h b/config.def.h
index 6306121..6f3d648 100644
--- a/config.def.h
+++ b/config.def.h
@@ -4,39 +4,32 @@
 static const char *default_font = "Monospace 14";
 
 struct clr_scheme scheme = {
-	/* colors */
-	.bg = {.bgra = {15, 15, 15, 225}},
-	.fg = {.bgra = {45, 45, 45, 225}},
-	.high = {.bgra = {100, 100, 100, 225}},
-	.text = {.color = UINT32_MAX},
+  /* colors */
+  .bg = {.bgra = {15, 15, 15, 225}},
+  .fg = {.bgra = {45, 45, 45, 225}},
+  .high = {.bgra = {100, 100, 100, 225}},
+  .text = {.color = UINT32_MAX},
 };
 struct clr_scheme scheme1 = {
-	/* colors */
-	.bg = {.bgra = {15, 15, 15, 225}},
-	.fg = {.bgra = {32, 32, 32, 225}},
-	.high = {.bgra = {100, 100, 100, 225}},
-	.text = {.color = UINT32_MAX},
+  /* colors */
+  .bg = {.bgra = {15, 15, 15, 225}},
+  .fg = {.bgra = {32, 32, 32, 225}},
+  .high = {.bgra = {100, 100, 100, 225}},
+  .text = {.color = UINT32_MAX},
 };
 
 /* layers is an ordered list of layouts, used to cycle through */
 static enum layout_id layers[] = {
-	Full, //First layout is the default layout on startup
-	Special,
-	Emoji,
-	Simple,
-	SimpleGrid,
-	Cyrillic,
-	Arabic,
-	NumLayouts //signals the last item, may not be omitted
+  Full, // First layout is the default layout on startup
+  Special,   Emoji, Simple, SimpleGrid, Cyrillic, Arabic,
+  NumLayouts // signals the last item, may not be omitted
 };
 
 /* layers is an ordered list of layouts, used to cycle through */
 static enum layout_id landscape_layers[] = {
-	Landscape, //First layout is the default layout on startup
-	Special,
-	Emoji,
-	NumLayouts //signals the last item, may not be omitted
+  Landscape, // First layout is the default layout on startup
+  Special, Emoji,
+  NumLayouts // signals the last item, may not be omitted
 };
 
 #endif // config_def_h_INCLUDED
-
diff --git a/drw.c b/drw.c
index 7941a8e..fec4a50 100644
--- a/drw.c
+++ b/drw.c
@@ -1,6 +1,6 @@
-#include <wayland-client.h>
 #include <sys/mman.h>
 #include <unistd.h>
+#include <wayland-client.h>
 
 #include "drw.h"
 #include "shm_open.h"
@@ -23,9 +23,8 @@ drwsurf_resize(struct drwsurf *ds, uint32_t w, uint32_t h, uint32_t s) {
 static void surface_frame_callback(void *data, struct wl_callback *cb,
                                    uint32_t time);
 
-static struct wl_callback_listener frame_listener = {
-    .done = surface_frame_callback
-};
+static struct wl_callback_listener frame_listener = {.done =
+                                                       surface_frame_callback};
 
 void
 drwsurf_flip(struct drwsurf *ds) {
@@ -46,20 +45,14 @@ surface_frame_callback(void *data, struct wl_callback *cb, uint32_t time) {
 }
 
 void
-drw_draw_text(struct drwsurf *d, Color color,
-	uint32_t x, uint32_t y,
-	uint32_t w, uint32_t h,
-	const char *label) {
+drw_draw_text(struct drwsurf *d, Color color, uint32_t x, uint32_t y,
+              uint32_t w, uint32_t h, const char *label) {
 
 	cairo_save(d->cairo);
 
-    cairo_set_source_rgba (
-		d->cairo,
-		color.bgra[2] / (double)255,
-		color.bgra[1] / (double)255,
-		color.bgra[0] / (double)255,
-		color.bgra[3] / (double)255
-    );
+	cairo_set_source_rgba(
+	  d->cairo, color.bgra[2] / (double)255, color.bgra[1] / (double)255,
+	  color.bgra[0] / (double)255, color.bgra[3] / (double)255);
 	cairo_move_to(d->cairo, x + (double)w / 2.0, y + (double)h / 2.0);
 
 	pango_layout_set_text(d->layout, label, -1);
@@ -67,7 +60,8 @@ drw_draw_text(struct drwsurf *d, Color color,
 	int width, height;
 	pango_layout_get_size(d->layout, &width, &height);
 
-	cairo_rel_move_to(d->cairo, - ((double)width / PANGO_SCALE) / 2, - ((double)height / PANGO_SCALE) / 2);
+	cairo_rel_move_to(d->cairo, -((double)width / PANGO_SCALE) / 2,
+	                  -((double)height / PANGO_SCALE) / 2);
 	pango_cairo_show_layout(d->cairo, d->layout);
 	cairo_restore(d->cairo);
 
@@ -76,19 +70,15 @@ drw_draw_text(struct drwsurf *d, Color color,
 
 void
 drw_fill_rectangle(struct drwsurf *d, Color color, uint32_t x, uint32_t y,
-	uint32_t w, uint32_t h) {
+                   uint32_t w, uint32_t h) {
 	cairo_save(d->cairo);
 
 	cairo_set_operator(d->cairo, CAIRO_OPERATOR_SOURCE);
 
 	cairo_rectangle(d->cairo, x, y, w, h);
 	cairo_set_source_rgba(
-		d->cairo,
-		color.bgra[2] / (double)255,
-		color.bgra[1] / (double)255,
-		color.bgra[0] / (double)255,
-		color.bgra[3] / (double)255
-	);
+	  d->cairo, color.bgra[2] / (double)255, color.bgra[1] / (double)255,
+	  color.bgra[0] / (double)255, color.bgra[3] / (double)255);
 	cairo_fill(d->cairo);
 
 	cairo_restore(d->cairo);
@@ -97,8 +87,7 @@ drw_fill_rectangle(struct drwsurf *d, Color color, uint32_t x, uint32_t y,
 }
 
 uint32_t
-setup_buffer(struct drwsurf *drwsurf)
-{
+setup_buffer(struct drwsurf *drwsurf) {
 	int stride = drwsurf->width * 4;
 	drwsurf->size = stride * drwsurf->height;
 
@@ -107,31 +96,32 @@ setup_buffer(struct drwsurf *drwsurf)
 		return 1;
 	}
 
-	drwsurf->pool_data = mmap(NULL, drwsurf->size,
-	PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
+	drwsurf->pool_data =
+	  mmap(NULL, drwsurf->size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
 	if (drwsurf->pool_data == MAP_FAILED) {
 		close(fd);
 		return 1;
 	}
 
-	struct wl_shm_pool *pool = wl_shm_create_pool(drwsurf->ctx->shm, fd, drwsurf->size);
-	drwsurf->buf = wl_shm_pool_create_buffer(pool, 0,
-		drwsurf->width, drwsurf->height, stride, WL_SHM_FORMAT_ARGB8888);
+	struct wl_shm_pool *pool =
+	  wl_shm_create_pool(drwsurf->ctx->shm, fd, drwsurf->size);
+	drwsurf->buf = wl_shm_pool_create_buffer(
+	  pool, 0, drwsurf->width, drwsurf->height, stride, WL_SHM_FORMAT_ARGB8888);
 	wl_shm_pool_destroy(pool);
 	close(fd);
 
-	cairo_surface_t *s = cairo_image_surface_create_for_data(drwsurf->pool_data,
-		CAIRO_FORMAT_ARGB32,
-	drwsurf->width, drwsurf->height, stride);
+	cairo_surface_t *s = cairo_image_surface_create_for_data(
+	  drwsurf->pool_data, CAIRO_FORMAT_ARGB32, drwsurf->width, drwsurf->height,
+	  stride);
 
 	drwsurf->cairo = cairo_create(s);
 	cairo_scale(drwsurf->cairo, drwsurf->scale, drwsurf->scale);
 	drwsurf->layout = pango_cairo_create_layout(drwsurf->cairo);
-	pango_layout_set_font_description(drwsurf->layout, drwsurf->ctx->font_description);
+	pango_layout_set_font_description(drwsurf->layout,
+	                                  drwsurf->ctx->font_description);
 	cairo_save(drwsurf->cairo);
 
 	wl_surface_set_buffer_scale(drwsurf->surf, drwsurf->scale);
 
 	return 0;
 }
-
diff --git a/drw.h b/drw.h
index 80f2979..69c0aa9 100644
--- a/drw.h
+++ b/drw.h
@@ -31,17 +31,12 @@ typedef union {
 	uint32_t color;
 } Color;
 
-void
-drw_fill_rectangle(struct drwsurf *d, Color color, uint32_t x, uint32_t y,
-	uint32_t w, uint32_t h);
-
-void
-drw_draw_text(struct drwsurf *d, Color color,
-	uint32_t x, uint32_t y,
-	uint32_t w, uint32_t h,
-	const char *label);
-
-uint32_t
-setup_buffer(struct drwsurf *drwsurf);
+void drw_fill_rectangle(struct drwsurf *d, Color color, uint32_t x, uint32_t y,
+                        uint32_t w, uint32_t h);
+
+void drw_draw_text(struct drwsurf *d, Color color, uint32_t x, uint32_t y,
+                   uint32_t w, uint32_t h, const char *label);
+
+uint32_t setup_buffer(struct drwsurf *drwsurf);
 
 #endif
diff --git a/keyboard.c b/keyboard.c
index 373abcb..ae022fb 100644
--- a/keyboard.c
+++ b/keyboard.c
@@ -22,9 +22,10 @@ void
 kbd_switch_layout(struct kbd *kb, struct layout *l) {
 	kb->prevlayout = kb->layout;
 	kb->layout = l;
-	if (kb->debug) fprintf(stderr, "Switching to layout %s)\n", kb->layout->name);
+	if (kb->debug)
+		fprintf(stderr, "Switching to layout %s)\n", kb->layout->name);
 	if ((!kb->prevlayout) ||
-		(strcmp(kb->prevlayout->keymap_name, kb->layout->keymap_name) != 0)) {
+	    (strcmp(kb->prevlayout->keymap_name, kb->layout->keymap_name) != 0)) {
 		fprintf(stderr, "Switching to keymap %s\n", kb->layout->keymap_name);
 		create_and_upload_keymap(kb, kb->layout->keymap_name, 0, 0);
 	}
@@ -44,8 +45,8 @@ kbd_get_rows(struct layout *l) {
 	return rows + 1;
 }
 
-
-void kbd_init(struct kbd *kb, struct layout * layouts, char * layer_names_list) {
+void
+kbd_init(struct kbd *kb, struct layout *layouts, char *layer_names_list) {
 	char *s;
 	int i;
 	bool found;
@@ -54,8 +55,9 @@ void kbd_init(struct kbd *kb, struct layout * layouts, char * layer_names_list)
 
 	kb->layouts = layouts;
 
-	for (i = 0; i < NumLayouts - 1; i++);
-	fprintf(stderr, "Found %d layouts\n",i);
+	for (i = 0; i < NumLayouts - 1; i++)
+		;
+	fprintf(stderr, "Found %d layouts\n", i);
 
 	kb->layer_index = 0;
 
@@ -81,9 +83,9 @@ void kbd_init(struct kbd *kb, struct layout * layouts, char * layer_names_list)
 				fprintf(stderr, "No such layer: %s\n", s);
 				exit(3);
 			}
-			s = strtok(NULL,",");
+			s = strtok(NULL, ",");
 		}
-		kb->layers[numlayers] = NumLayouts; //mark the end of the sequence
+		kb->layers[numlayers] = NumLayouts; // mark the end of the sequence
 		if (numlayers == 0) {
 			fprintf(stderr, "No layers defined\n");
 			exit(3);
@@ -95,7 +97,7 @@ void kbd_init(struct kbd *kb, struct layout * layouts, char * layer_names_list)
 	while (lid != NumLayouts) {
 		lid = kb->layers[++i];
 	}
-	fprintf(stderr, "Found %d layers\n",i);
+	fprintf(stderr, "Found %d layers\n", i);
 
 	enum layout_id layer;
 	if (kb->landscape) {
@@ -150,7 +152,8 @@ struct key *
 kbd_get_key(struct kbd *kb, uint32_t x, uint32_t y) {
 	struct layout *l = kb->layout;
 	struct key *k = l->keys;
-	if (kb->debug) fprintf(stderr, "get key: +%d+%d\n", x, y);
+	if (kb->debug)
+		fprintf(stderr, "get key: +%d+%d\n", x, y);
 	while (k->type != Last) {
 		if ((k->type != EndRow) && (k->type != Pad) && (k->type != Pad) &&
 		    (x >= k->x) && (y >= k->y) && (x < k->x + k->w) && (y < k->y + k->h)) {
@@ -191,7 +194,8 @@ kbd_press_key(struct kbd *kb, struct key *k, uint32_t time) {
 	if ((kb->compose == 1) && (k->type != Compose) && (k->type != Mod) &&
 	    (k->layout)) {
 		kb->compose++;
-		if (kb->debug) fprintf(stderr, "showing compose %d\n", kb->compose);
+		if (kb->debug)
+			fprintf(stderr, "showing compose %d\n", kb->compose);
 		kbd_switch_layout(kb, k->layout);
 		return;
 	}
@@ -215,7 +219,8 @@ kbd_press_key(struct kbd *kb, struct key *k, uint32_t time) {
 		if (kb->print)
 			kbd_print_key_stdout(kb, k);
 		if (kb->compose) {
-			if (kb->debug) fprintf(stderr, "pressing composed key\n");
+			if (kb->debug)
+				fprintf(stderr, "pressing composed key\n");
 			kb->compose++;
 		}
 		break;
@@ -228,11 +233,11 @@ kbd_press_key(struct kbd *kb, struct key *k, uint32_t time) {
 		zwp_virtual_keyboard_v1_modifiers(kb->vkbd, kb->mods, 0, 0, 0);
 		break;
 	case Layout:
-		//switch to the layout determined by the key
+		// switch to the layout determined by the key
 		kbd_switch_layout(kb, k->layout);
 		break;
 	case Compose:
-		//switch to the associated layout determined by the *next* keypress
+		// switch to the associated layout determined by the *next* keypress
 		if (kb->compose == 0) {
 			kb->compose = 1;
 		} else {
@@ -241,7 +246,7 @@ kbd_press_key(struct kbd *kb, struct key *k, uint32_t time) {
 		kbd_draw_key(kb, k, (bool)kb->compose);
 		break;
 	case NextLayer:
-		//switch to the next layout in the layer sequence
+		// switch to the next layout in the layer sequence
 		kb->layer_index++;
 		enum layout_id layer;
 		if (kb->landscape) {
@@ -260,15 +265,16 @@ kbd_press_key(struct kbd *kb, struct key *k, uint32_t time) {
 		kbd_switch_layout(kb, &kb->layouts[layer]);
 		break;
 	case BackLayer:
-		//switch to the previously active layout
+		// switch to the previously active layout
 		if (kb->prevlayout)
 			kbd_switch_layout(kb, kb->prevlayout);
 		break;
 	case Copy:
-		//copy code as unicode chr by setting a temporary keymap
+		// copy code as unicode chr by setting a temporary keymap
 		kb->last_press = k;
 		kbd_draw_key(kb, k, true);
-		if (kb->debug) fprintf(stderr, "pressing copy key\n");
+		if (kb->debug)
+			fprintf(stderr, "pressing copy key\n");
 		create_and_upload_keymap(kb, kb->layout->keymap_name, k->code, k->code_mod);
 		zwp_virtual_keyboard_v1_modifiers(kb->vkbd, kb->mods, 0, 0, 0);
 		zwp_virtual_keyboard_v1_key(kb->vkbd, time, 127, // COMP key
@@ -281,7 +287,6 @@ kbd_press_key(struct kbd *kb, struct key *k, uint32_t time) {
 	}
 }
 
-
 void
 kbd_print_key_stdout(struct kbd *kb, struct key *k) {
 	/* printed keys may slightly differ from the actual output
@@ -292,21 +297,21 @@ kbd_print_key_stdout(struct kbd *kb, struct key *k) {
 	bool handled = true;
 	if (k->type == Code) {
 		switch (k->code) {
-			case KEY_SPACE:
-				printf(" ");
-				break;
-			case KEY_ENTER:
-				printf("\n");
-				break;
-			case KEY_BACKSPACE:
-				printf("\b");
-				break;
-			case KEY_TAB:
-				printf("\t");
-				break;
-			default:
-				handled = false;
-				break;
+		case KEY_SPACE:
+			printf(" ");
+			break;
+		case KEY_ENTER:
+			printf("\n");
+			break;
+		case KEY_BACKSPACE:
+			printf("\b");
+			break;
+		case KEY_TAB:
+			printf("\t");
+			break;
+		default:
+			handled = false;
+			break;
 		}
 	} else if (k->type != Copy) {
 		return;
@@ -325,8 +330,9 @@ void
 kbd_draw_key(struct kbd *kb, struct key *k, bool pressed) {
 	struct drwsurf *d = kb->surf;
 	const char *label = (kb->mods & Shift) ? k->shift_label : k->label;
-	if (kb->debug) fprintf(stderr, "Draw key +%d+%d %dx%d -> %s\n", k->x, k->y, k->w, k->h,
-	        label);
+	if (kb->debug)
+		fprintf(stderr, "Draw key +%d+%d %dx%d -> %s\n", k->x, k->y, k->w, k->h,
+		        label);
 	struct clr_scheme *scheme = (k->scheme == 0) ? &(kb->scheme) : &(kb->scheme1);
 	Color *fill = pressed ? &scheme->high : &scheme->fg;
 	draw_inset(d, k->x, k->y, k->w, k->h, KBD_KEY_BORDER, *fill);
@@ -338,7 +344,8 @@ kbd_draw_layout(struct kbd *kb) {
 	struct drwsurf *d = kb->surf;
 	struct key *next_key = kb->layout->keys;
 	bool pressed = false;
-	if (kb->debug) fprintf(stderr, "Draw layout");
+	if (kb->debug)
+		fprintf(stderr, "Draw layout");
 
 	drw_fill_rectangle(d, kb->scheme.bg, 0, 0, kb->w, kb->h);
 
@@ -357,7 +364,8 @@ void
 kbd_resize(struct kbd *kb, struct layout *layouts, uint8_t layoutcount) {
 	struct drwsurf *d = kb->surf;
 
-	fprintf(stderr, "Resize %dx%d %d, %d layouts\n", kb->w, kb->h, kb->s, layoutcount);
+	fprintf(stderr, "Resize %dx%d %d, %d layouts\n", kb->w, kb->h, kb->s,
+	        layoutcount);
 
 	drwsurf_resize(d, kb->w, kb->h, kb->s);
 	for (int i = 0; i < layoutcount; i++) {
@@ -374,7 +382,7 @@ draw_inset(struct drwsurf *ds, uint32_t x, uint32_t y, uint32_t width,
 }
 
 void
-create_and_upload_keymap(struct kbd * kb, const char *name, uint32_t comp_unichr,
+create_and_upload_keymap(struct kbd *kb, const char *name, uint32_t comp_unichr,
                          uint32_t comp_shift_unichr) {
 	int keymap_index = -1;
 	for (int i = 0; i < NUMKEYMAPS; i++) {
@@ -383,10 +391,10 @@ create_and_upload_keymap(struct kbd * kb, const char *name, uint32_t comp_unichr
 		}
 	}
 	if (keymap_index == -1) {
-		fprintf(stderr,"No such keymap defined: %s\n", name);
+		fprintf(stderr, "No such keymap defined: %s\n", name);
 		exit(9);
 	}
-	const char * keymap_template = keymaps[keymap_index];
+	const char *keymap_template = keymaps[keymap_index];
 	const size_t keymap_size = strlen(keymap_template) + 64;
 	char *keymap_str = malloc(keymap_size);
 	sprintf(keymap_str, keymap_template, comp_unichr, comp_shift_unichr);
@@ -403,7 +411,7 @@ create_and_upload_keymap(struct kbd * kb, const char *name, uint32_t comp_unichr
 		die("kb.vkbd = NULL\n");
 	}
 	strcpy(ptr, keymap_str);
-	zwp_virtual_keyboard_v1_keymap(
-	  kb->vkbd, WL_KEYBOARD_KEYMAP_FORMAT_XKB_V1, keymap_fd, keymap_size);
+	zwp_virtual_keyboard_v1_keymap(kb->vkbd, WL_KEYBOARD_KEYMAP_FORMAT_XKB_V1,
+	                               keymap_fd, keymap_size);
 	free((void *)keymap_str);
 }
diff --git a/keyboard.h b/keyboard.h
index f8dc900..0242a44 100644
--- a/keyboard.h
+++ b/keyboard.h
@@ -13,17 +13,19 @@ struct layout;
 struct kbd;
 
 enum key_type {
-	Pad = 0,    //Padding, not a pressable key
-	Code,       //A normal key emitting a keycode
-	Mod,        //A modifier key
-	Copy,       //Copy key, copies the unicode value specified in code (creates and activates temporary keymap)
-	            // used for keys that are not part of the keymap
-	Layout,     //Layout switch to a specific layout
-	BackLayer,  //Layout switch to the layout that was previously active
-	NextLayer,  //Layout switch to the next layout in the layers sequence
-	Compose,    //Compose modifier key, switches to a specific associated layout upon next keypress
-	EndRow,     //Incidates the end of a key row
-	Last,       //Indicated the end of a layout
+	Pad = 0, // Padding, not a pressable key
+	Code,    // A normal key emitting a keycode
+	Mod,     // A modifier key
+	Copy,    // Copy key, copies the unicode value specified in code (creates and
+	         // activates temporary keymap)
+	         // used for keys that are not part of the keymap
+	Layout,  // Layout switch to a specific layout
+	BackLayer, // Layout switch to the layout that was previously active
+	NextLayer, // Layout switch to the next layout in the layers sequence
+	Compose,   // Compose modifier key, switches to a specific associated layout
+	           // upon next keypress
+	EndRow,    // Incidates the end of a key row
+	Last,      // Indicated the end of a layout
 };
 
 /* Modifiers passed to the virtual_keyboard protocol. They are based on
@@ -53,12 +55,12 @@ struct key {
 	const enum key_type type;
 
 	const uint32_t
-	  code;                /* code: key scancode or modifier name (see
-	                        *   `/usr/include/linux/input-event-codes.h` for scancode names, and
-	                        *   `keyboard.h` for modifiers)
-	                        *   XKB keycodes are +8 */
-	struct layout *layout; // pointer back to the parent layout that holds this
-	                       // key
+	  code;                  /* code: key scancode or modifier name (see
+	                          *   `/usr/include/linux/input-event-codes.h` for scancode names, and
+	                          *   `keyboard.h` for modifiers)
+	                          *   XKB keycodes are +8 */
+	struct layout *layout;   // pointer back to the parent layout that holds this
+	                         // key
 	const uint32_t code_mod; /* modifier to force when this key is pressed */
 	uint8_t scheme;          // index of the scheme to use
 	bool reset_mod;          /* reset modifiers when clicked */
@@ -99,11 +101,10 @@ struct kbd {
 	struct zwp_virtual_keyboard_v1 *vkbd;
 };
 
-void draw_inset(struct drwsurf *ds, uint32_t x, uint32_t y,
-                              uint32_t width, uint32_t height, uint32_t border,
-                              Color color);
+void draw_inset(struct drwsurf *ds, uint32_t x, uint32_t y, uint32_t width,
+                uint32_t height, uint32_t border, Color color);
 
-void kbd_init(struct kbd *kb, struct layout * layouts, char * layer_names_list);
+void kbd_init(struct kbd *kb, struct layout *layouts, char *layer_names_list);
 void kbd_init_layout(struct layout *l, uint32_t width, uint32_t height);
 struct key *kbd_get_key(struct kbd *kb, uint32_t x, uint32_t y);
 void kbd_unpress_key(struct kbd *kb, uint32_t time);
@@ -116,8 +117,8 @@ uint8_t kbd_get_rows(struct layout *l);
 double kbd_get_row_length(struct key *k);
 void kbd_switch_layout(struct kbd *kb, struct layout *l);
 
-void create_and_upload_keymap(struct kbd *kb, const char *name, uint32_t comp_unichr,
-                                     uint32_t comp_shift_unichr);
+void create_and_upload_keymap(struct kbd *kb, const char *name,
+                              uint32_t comp_unichr, uint32_t comp_shift_unichr);
 
 #ifndef LAYOUT
 #error "make sure to define LAYOUT"
diff --git a/main.c b/main.c
index b55174c..def51d6 100644
--- a/main.c
+++ b/main.c
@@ -5,9 +5,9 @@
 #include <stdlib.h>
 #include <string.h>
 #include <sys/mman.h>
+#include <unistd.h>
 #include <wayland-client.h>
 #include <wchar.h>
-#include <unistd.h>
 
 #include "keyboard.h"
 #include "config.h"
@@ -127,8 +127,7 @@ static const struct zwlr_layer_surface_v1_listener layer_surface_listener = {
 /* configuration, allows nested code to access above variables */
 
 char *
-estrdup(const char *s)
-{
+estrdup(const char *s) {
 	char *p;
 
 	if (!(p = strdup(s))) {
@@ -236,8 +235,9 @@ void
 seat_handle_name(void *data, struct wl_seat *wl_seat, const char *name) {}
 
 static void
-display_handle_geometry(void *data, struct wl_output *wl_output, int x, int y, int physical_width, int physical_height, int subpixel, const char *make, const char *model, int transform)
-{
+display_handle_geometry(void *data, struct wl_output *wl_output, int x, int y,
+                        int physical_width, int physical_height, int subpixel,
+                        const char *make, const char *model, int transform) {
 	if (transform % 2 == 0 && keyboard.landscape) {
 		keyboard.landscape = false;
 		height = normal_height;
@@ -264,28 +264,22 @@ display_handle_geometry(void *data, struct wl_output *wl_output, int x, int y, i
 }
 
 static void
-display_handle_done(void *data, struct wl_output *wl_output)
-{
-}
+display_handle_done(void *data, struct wl_output *wl_output) {}
 
 static void
-display_handle_scale(void *data, struct wl_output *wl_output, int32_t scale)
-{
+display_handle_scale(void *data, struct wl_output *wl_output, int32_t scale) {
 	keyboard.s = scale;
-
 }
 
 static void
-display_handle_mode(void *data, struct wl_output *wl_output, uint32_t flags, int width, int height, int refresh)
-{
-}
+display_handle_mode(void *data, struct wl_output *wl_output, uint32_t flags,
+                    int width, int height, int refresh) {}
 
 static const struct wl_output_listener output_listener = {
-	.geometry = display_handle_geometry,
-	.mode = display_handle_mode,
-	.done = display_handle_done,
-	.scale = display_handle_scale
-};
+  .geometry = display_handle_geometry,
+  .mode = display_handle_mode,
+  .done = display_handle_done,
+  .scale = display_handle_scale};
 
 void
 handle_global(void *data, struct wl_registry *registry, uint32_t name,
@@ -334,9 +328,11 @@ layer_surface_closed(void *data, struct zwlr_layer_surface_v1 *surface) {
 }
 
 void
-usage(char *argv0)
-{
-	fprintf(stderr, "usage: %s [-hov] [-H height] [-L landscape height] [-fn font] [-l layers]\n", argv0);
+usage(char *argv0) {
+	fprintf(stderr,
+	        "usage: %s [-hov] [-H height] [-L landscape height] [-fn font] [-l "
+	        "layers]\n",
+	        argv0);
 	fprintf(stderr, "Options:\n");
 	fprintf(stderr, "  -D         - Enable debug\n");
 	fprintf(stderr, "  -o         - Print press keys to standard output\n");
@@ -347,8 +343,7 @@ usage(char *argv0)
 }
 
 void
-freeze(int sigint)
-{
+freeze(int sigint) {
 	signal(SIGUSR1, freeze);
 	if (!layer_surface) {
 		return;
@@ -364,8 +359,7 @@ freeze(int sigint)
 }
 
 void
-unfreeze(int sigint)
-{
+unfreeze(int sigint) {
 	signal(SIGUSR2, unfreeze);
 	if (layer_surface) {
 		return;
@@ -373,7 +367,8 @@ unfreeze(int sigint)
 
 	wl_display_sync(display);
 
-	draw_surf.surf = wl_compositor_create_surface(compositor);;
+	draw_surf.surf = wl_compositor_create_surface(compositor);
+	;
 	layer_surface = zwlr_layer_shell_v1_get_layer_surface(
 	  layer_shell, draw_surf.surf, wl_output, layer, namespace);
 
@@ -381,7 +376,8 @@ unfreeze(int sigint)
 	zwlr_layer_surface_v1_set_anchor(layer_surface, anchor);
 	zwlr_layer_surface_v1_set_exclusive_zone(layer_surface, height);
 	zwlr_layer_surface_v1_set_keyboard_interactivity(layer_surface, false);
-	zwlr_layer_surface_v1_add_listener(layer_surface, &layer_surface_listener, NULL);
+	zwlr_layer_surface_v1_add_listener(layer_surface, &layer_surface_listener,
+	                                   NULL);
 	wl_surface_commit(draw_surf.surf);
 
 	wl_display_roundtrip(display);
@@ -405,14 +401,13 @@ main(int argc, char **argv) {
 		landscape_height = atoi(tmp);
 
 	/* keyboard settings */
-	keyboard.layers = (enum layout_id *) &layers;
-	keyboard.landscape_layers = (enum layout_id *) &landscape_layers;
+	keyboard.layers = (enum layout_id *)&layers;
+	keyboard.landscape_layers = (enum layout_id *)&landscape_layers;
 	keyboard.scheme = scheme;
 	keyboard.layer_index = 0;
 	keyboard.scheme1 = scheme1;
 	keyboard.scheme1 = scheme1;
 
-
 	int i;
 	for (i = 1; argv[i]; i++) {
 		if ((!strcmp(argv[i], "-v")) || (!strcmp(argv[i], "--version"))) {
@@ -489,11 +484,13 @@ main(int argc, char **argv) {
 		die("failed to init virtual keyboard_manager\n");
 	}
 
-	kbd_init(&keyboard, (struct layout *) &layouts, layer_names_list);
+	kbd_init(&keyboard, (struct layout *)&layouts, layer_names_list);
 
-	draw_surf.surf = wl_compositor_create_surface(compositor);;
+	draw_surf.surf = wl_compositor_create_surface(compositor);
+	;
 
-	draw_ctx.font_description = pango_font_description_from_string(fc_font_pattern);
+	draw_ctx.font_description =
+	  pango_font_description_from_string(fc_font_pattern);
 
 	layer_surface = zwlr_layer_shell_v1_get_layer_surface(
 	  layer_shell, draw_surf.surf, wl_output, layer, namespace);
@@ -502,7 +499,8 @@ main(int argc, char **argv) {
 	zwlr_layer_surface_v1_set_anchor(layer_surface, anchor);
 	zwlr_layer_surface_v1_set_exclusive_zone(layer_surface, height);
 	zwlr_layer_surface_v1_set_keyboard_interactivity(layer_surface, false);
-	zwlr_layer_surface_v1_add_listener(layer_surface, &layer_surface_listener, NULL);
+	zwlr_layer_surface_v1_add_listener(layer_surface, &layer_surface_listener,
+	                                   NULL);
 	wl_surface_commit(draw_surf.surf);
 
 	wl_display_roundtrip(display);
@@ -521,7 +519,7 @@ main(int argc, char **argv) {
 	}
 
 	if (fc_font_pattern != default_font) {
-		free((void*) fc_font_pattern);
+		free((void *)fc_font_pattern);
 	}
 
 	return 0;
diff --git a/shm_open.c b/shm_open.c
index 05cb571..1dfa81a 100644
--- a/shm_open.c
+++ b/shm_open.c
@@ -6,21 +6,19 @@
 #include <unistd.h>
 
 static void
-randname(char *buf)
-{
+randname(char *buf) {
 	struct timespec ts;
 	long r;
 	clock_gettime(CLOCK_REALTIME, &ts);
 	r = ts.tv_nsec;
 	for (int i = 0; i < 6; ++i) {
-		buf[i] = 'A'+(r&15)+(r&16)*2;
+		buf[i] = 'A' + (r & 15) + (r & 16) * 2;
 		r >>= 5;
 	}
 }
 
 static int
-create_shm_file(void)
-{
+create_shm_file(void) {
 	int retries = 100;
 	int fd;
 	do {
@@ -37,8 +35,7 @@ create_shm_file(void)
 }
 
 int
-allocate_shm_file(size_t size)
-{
+allocate_shm_file(size_t size) {
 	int fd = create_shm_file();
 	int ret;
 	if (fd < 0)
@@ -52,4 +49,3 @@ allocate_shm_file(size_t size)
 	}
 	return fd;
 }
-
diff --git a/shm_open.h b/shm_open.h
index bfec6eb..d403c41 100644
--- a/shm_open.h
+++ b/shm_open.h
@@ -6,4 +6,3 @@ int create_shm_file(void);
 int allocate_shm_file(size_t size);
 
 #endif // shm_open_h_INCLUDED
-