mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
1000 B
39 lines
1000 B
// SPDX-License-Identifier: GPL-2.0 |
|
/* |
|
* Helpers for ChromeOS Vivaldi keyboard function row mapping |
|
* |
|
* Copyright (C) 2022 Google, Inc |
|
*/ |
|
|
|
#include <linux/export.h> |
|
#include <linux/input/vivaldi-fmap.h> |
|
#include <linux/kernel.h> |
|
#include <linux/module.h> |
|
#include <linux/types.h> |
|
|
|
/** |
|
* vivaldi_function_row_physmap_show - Print vivaldi function row physmap attribute |
|
* @data: The vivaldi function row map |
|
* @buf: Buffer to print the function row phsymap to |
|
*/ |
|
ssize_t vivaldi_function_row_physmap_show(const struct vivaldi_data *data, |
|
char *buf) |
|
{ |
|
ssize_t size = 0; |
|
int i; |
|
const u32 *physmap = data->function_row_physmap; |
|
|
|
if (!data->num_function_row_keys) |
|
return 0; |
|
|
|
for (i = 0; i < data->num_function_row_keys; i++) |
|
size += scnprintf(buf + size, PAGE_SIZE - size, |
|
"%s%02X", size ? " " : "", physmap[i]); |
|
if (size) |
|
size += scnprintf(buf + size, PAGE_SIZE - size, "\n"); |
|
|
|
return size; |
|
} |
|
EXPORT_SYMBOL_GPL(vivaldi_function_row_physmap_show); |
|
|
|
MODULE_LICENSE("GPL");
|
|
|