Lines Matching +full:data +full:- +full:width
1 // SPDX-License-Identifier: GPL-2.0-or-later
8 * Copyright (C) Samuel Thibault <samuel.thibault@ens-lyon.org>
25 MODULE_AUTHOR("samuel.thibault@ens-lyon.org");
44 #define WIDTH 40 macro
46 static u16 console_buf[WIDTH];
56 static int lastVC = -1;
60 /* Very VisioBraille-specific */
63 static u16 lastwrite[WIDTH]; in braille_write()
64 unsigned char data[1 + 1 + 2*WIDTH + 2 + 1], csum = 0, *c; in braille_write() local
71 if (!memcmp(lastwrite, buf, WIDTH * sizeof(*buf))) in braille_write()
73 memcpy(lastwrite, buf, WIDTH * sizeof(*buf)); in braille_write()
80 data[0] = STX; in braille_write()
81 data[1] = '>'; in braille_write()
83 c = &data[2]; in braille_write()
84 for (i = 0; i < WIDTH; i++) { in braille_write()
105 braille_co->write(braille_co, data, c - data); in braille_write()
111 vc_x = vc->state.x - (vc->state.x % WIDTH); in vc_follow_cursor()
112 vc_y = vc->state.y; in vc_follow_cursor()
113 lastvc_x = vc->state.x; in vc_follow_cursor()
114 lastvc_y = vc->state.y; in vc_follow_cursor()
120 if (vc->state.x != lastvc_x || vc->state.y != lastvc_y) in vc_maybe_cursor_moved()
127 u16 buf[WIDTH]; in vc_refresh()
130 for (i = 0; i < WIDTH; i++) { in vc_refresh()
132 2 * (vc_x + i) + vc_y * vc->vc_size_row); in vc_refresh()
146 struct vc_data *vc = param->vc; in keyboard_notifier_call()
149 if (!param->down) in keyboard_notifier_call()
155 if (param->value == BRAILLE_KEY) { in keyboard_notifier_call()
164 switch (param->value) { in keyboard_notifier_call()
168 lastVC = -1; in keyboard_notifier_call()
173 vc_x -= WIDTH; in keyboard_notifier_call()
178 vc_y--; in keyboard_notifier_call()
179 vc_x = vc->vc_cols-WIDTH; in keyboard_notifier_call()
184 if (vc_x + WIDTH < vc->vc_cols) { in keyboard_notifier_call()
185 vc_x += WIDTH; in keyboard_notifier_call()
186 } else if (vc_y + 1 < vc->vc_rows) { in keyboard_notifier_call()
194 if (vc_y + 1 < vc->vc_rows) in keyboard_notifier_call()
201 vc_y--; in keyboard_notifier_call()
214 vc_y = vc->vc_rows-1; in keyboard_notifier_call()
226 unsigned char type = KTYP(param->value) - 0xf0; in keyboard_notifier_call()
229 unsigned char val = KVAL(param->value); in keyboard_notifier_call()
230 int on_off = -1; in keyboard_notifier_call()
267 struct vc_data *vc = param->vc; in vt_notifier_call()
276 unsigned char c = param->c; in vt_notifier_call()
278 if (vc->vc_num != fg_console) in vt_notifier_call()
284 console_cursor--; in vt_notifier_call()
306 if (console_cursor == WIDTH) in vt_notifier_call()
308 (WIDTH-1) * sizeof(*console_buf)); in vt_notifier_call()
311 console_buf[console_cursor-1] = c; in vt_notifier_call()
325 if (vc->vc_num != lastVC) { in vt_notifier_call()
326 lastVC = vc->vc_num; in vt_notifier_call()
357 return -ENODEV; in braille_register_console()
358 if (console->setup) { in braille_register_console()
359 ret = console->setup(console, console_options); in braille_register_console()
363 console->flags |= CON_ENABLED; in braille_register_console()
364 console->index = index; in braille_register_console()
374 return -EINVAL; in braille_unregister_console()