io-console 0.7.2 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/{LICENSE.txt → BSDL} +3 -3
- data/COPYING +56 -0
- data/ext/io/console/console.c +145 -14
- data/ext/io/console/extconf.rb +19 -1
- data/ext/io/console/win32_vk.inc +162 -163
- metadata +8 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a8485f98825214ba70388cfaf023a5380201fc1de70b87ffddb36a9a2603115c
|
4
|
+
data.tar.gz: db5deeb27f6bc90121cdb8ad6005aca2615f5a81976f97f09f25e63caed7070e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fcafaead8dd6a72e82e852ad8cf57bff49fb8fd8959520b8522c3fbf79bd97f1b218dd341f1e66656500c2a5ccd34045260655af948d86031e8f01ce19887df7
|
7
|
+
data.tar.gz: f8ebf55a9fef2383adda797b62824cc7b9cc9458c98fd9025bab2945111851651df9a44469ec10549d4ea063469870ba2cc32a4a25d3e68dc57206531bce6c54
|
data/{LICENSE.txt → BSDL}
RENAMED
@@ -4,10 +4,10 @@ Redistribution and use in source and binary forms, with or without
|
|
4
4
|
modification, are permitted provided that the following conditions
|
5
5
|
are met:
|
6
6
|
1. Redistributions of source code must retain the above copyright
|
7
|
-
notice, this list of conditions and the following disclaimer.
|
7
|
+
notice, this list of conditions and the following disclaimer.
|
8
8
|
2. Redistributions in binary form must reproduce the above copyright
|
9
|
-
notice, this list of conditions and the following disclaimer in the
|
10
|
-
documentation and/or other materials provided with the distribution.
|
9
|
+
notice, this list of conditions and the following disclaimer in the
|
10
|
+
documentation and/or other materials provided with the distribution.
|
11
11
|
|
12
12
|
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
13
13
|
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
data/COPYING
ADDED
@@ -0,0 +1,56 @@
|
|
1
|
+
Ruby is copyrighted free software by Yukihiro Matsumoto <matz@netlab.jp>.
|
2
|
+
You can redistribute it and/or modify it under either the terms of the
|
3
|
+
2-clause BSDL (see the file BSDL), or the conditions below:
|
4
|
+
|
5
|
+
1. You may make and give away verbatim copies of the source form of the
|
6
|
+
software without restriction, provided that you duplicate all of the
|
7
|
+
original copyright notices and associated disclaimers.
|
8
|
+
|
9
|
+
2. You may modify your copy of the software in any way, provided that
|
10
|
+
you do at least ONE of the following:
|
11
|
+
|
12
|
+
a. place your modifications in the Public Domain or otherwise
|
13
|
+
make them Freely Available, such as by posting said
|
14
|
+
modifications to Usenet or an equivalent medium, or by allowing
|
15
|
+
the author to include your modifications in the software.
|
16
|
+
|
17
|
+
b. use the modified software only within your corporation or
|
18
|
+
organization.
|
19
|
+
|
20
|
+
c. give non-standard binaries non-standard names, with
|
21
|
+
instructions on where to get the original software distribution.
|
22
|
+
|
23
|
+
d. make other distribution arrangements with the author.
|
24
|
+
|
25
|
+
3. You may distribute the software in object code or binary form,
|
26
|
+
provided that you do at least ONE of the following:
|
27
|
+
|
28
|
+
a. distribute the binaries and library files of the software,
|
29
|
+
together with instructions (in the manual page or equivalent)
|
30
|
+
on where to get the original distribution.
|
31
|
+
|
32
|
+
b. accompany the distribution with the machine-readable source of
|
33
|
+
the software.
|
34
|
+
|
35
|
+
c. give non-standard binaries non-standard names, with
|
36
|
+
instructions on where to get the original software distribution.
|
37
|
+
|
38
|
+
d. make other distribution arrangements with the author.
|
39
|
+
|
40
|
+
4. You may modify and include the part of the software into any other
|
41
|
+
software (possibly commercial). But some files in the distribution
|
42
|
+
are not written by the author, so that they are not under these terms.
|
43
|
+
|
44
|
+
For the list of those files and their copying conditions, see the
|
45
|
+
file LEGAL.
|
46
|
+
|
47
|
+
5. The scripts and library files supplied as input to or produced as
|
48
|
+
output from the software do not automatically fall under the
|
49
|
+
copyright of the software, but belong to whomever generated them,
|
50
|
+
and may be sold commercially, and may be aggregated with this
|
51
|
+
software.
|
52
|
+
|
53
|
+
6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
|
54
|
+
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
|
55
|
+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
56
|
+
PURPOSE.
|
data/ext/io/console/console.c
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
*/
|
5
5
|
|
6
6
|
static const char *const
|
7
|
-
IO_CONSOLE_VERSION = "0.
|
7
|
+
IO_CONSOLE_VERSION = "0.8.0";
|
8
8
|
|
9
9
|
#include "ruby.h"
|
10
10
|
#include "ruby/io.h"
|
@@ -81,9 +81,14 @@ getattr(int fd, conmode *t)
|
|
81
81
|
|
82
82
|
#define CSI "\x1b\x5b"
|
83
83
|
|
84
|
-
static ID id_getc,
|
84
|
+
static ID id_getc, id_close;
|
85
85
|
static ID id_gets, id_flush, id_chomp_bang;
|
86
86
|
|
87
|
+
#ifndef HAVE_RB_INTERNED_STR_CSTR
|
88
|
+
# define rb_str_to_interned_str(str) rb_str_freeze(str)
|
89
|
+
# define rb_interned_str_cstr(str) rb_str_freeze(rb_usascii_str_new_cstr(str))
|
90
|
+
#endif
|
91
|
+
|
87
92
|
#if defined HAVE_RUBY_FIBER_SCHEDULER_H
|
88
93
|
# include "ruby/fiber/scheduler.h"
|
89
94
|
#elif defined HAVE_RB_SCHEDULER_TIMEOUT
|
@@ -125,7 +130,14 @@ io_get_write_io_fallback(VALUE io)
|
|
125
130
|
#define rb_io_get_write_io io_get_write_io_fallback
|
126
131
|
#endif
|
127
132
|
|
128
|
-
#
|
133
|
+
#ifndef DHAVE_RB_SYSERR_FAIL_STR
|
134
|
+
# define rb_syserr_fail_str(e, mesg) rb_exc_raise(rb_syserr_new_str(e, mesg))
|
135
|
+
#endif
|
136
|
+
|
137
|
+
#define sys_fail(io) do { \
|
138
|
+
int err = errno; \
|
139
|
+
rb_syserr_fail_str(err, rb_io_path(io)); \
|
140
|
+
} while (0)
|
129
141
|
|
130
142
|
#ifndef HAVE_RB_F_SEND
|
131
143
|
#ifndef RB_PASS_CALLED_KEYWORDS
|
@@ -1071,6 +1083,9 @@ console_scroll(VALUE io, int line)
|
|
1071
1083
|
return io;
|
1072
1084
|
}
|
1073
1085
|
|
1086
|
+
#define GPERF_DOWNCASE 1
|
1087
|
+
#define GPERF_CASE_STRCMP 1
|
1088
|
+
#define gperf_case_strcmp STRCASECMP
|
1074
1089
|
#include "win32_vk.inc"
|
1075
1090
|
|
1076
1091
|
/*
|
@@ -1535,10 +1550,8 @@ console_clear_screen(VALUE io)
|
|
1535
1550
|
static VALUE
|
1536
1551
|
io_open_descriptor_fallback(VALUE klass, int descriptor, int mode, VALUE path, VALUE timeout, void *encoding)
|
1537
1552
|
{
|
1538
|
-
rb_update_max_fd(descriptor);
|
1539
|
-
|
1540
1553
|
VALUE arguments[2] = {
|
1541
|
-
INT2NUM(descriptor),
|
1554
|
+
(rb_update_max_fd(descriptor), INT2NUM(descriptor)),
|
1542
1555
|
INT2FIX(mode),
|
1543
1556
|
};
|
1544
1557
|
|
@@ -1563,6 +1576,62 @@ rb_io_closed_p(VALUE io)
|
|
1563
1576
|
}
|
1564
1577
|
#endif
|
1565
1578
|
|
1579
|
+
#if defined(RB_EXT_RACTOR_SAFE) && defined(HAVE_RB_RACTOR_LOCAL_STORAGE_VALUE_NEWKEY)
|
1580
|
+
# define USE_RACTOR_STORAGE 1
|
1581
|
+
#else
|
1582
|
+
# define USE_RACTOR_STORAGE 0
|
1583
|
+
#endif
|
1584
|
+
|
1585
|
+
#if USE_RACTOR_STORAGE
|
1586
|
+
#include "ruby/ractor.h"
|
1587
|
+
static rb_ractor_local_key_t key_console_dev;
|
1588
|
+
|
1589
|
+
static bool
|
1590
|
+
console_dev_get(VALUE klass, VALUE *dev)
|
1591
|
+
{
|
1592
|
+
return rb_ractor_local_storage_value_lookup(key_console_dev, dev);
|
1593
|
+
}
|
1594
|
+
|
1595
|
+
static void
|
1596
|
+
console_dev_set(VALUE klass, VALUE value)
|
1597
|
+
{
|
1598
|
+
rb_ractor_local_storage_value_set(key_console_dev, value);
|
1599
|
+
}
|
1600
|
+
|
1601
|
+
static void
|
1602
|
+
console_dev_remove(VALUE klass)
|
1603
|
+
{
|
1604
|
+
console_dev_set(klass, Qnil);
|
1605
|
+
}
|
1606
|
+
|
1607
|
+
#else
|
1608
|
+
|
1609
|
+
static ID id_console;
|
1610
|
+
|
1611
|
+
static int
|
1612
|
+
console_dev_get(VALUE klass, VALUE *dev)
|
1613
|
+
{
|
1614
|
+
if (rb_const_defined(klass, id_console)) {
|
1615
|
+
*dev = rb_const_get(klass, id_console);
|
1616
|
+
return 1;
|
1617
|
+
}
|
1618
|
+
return 0;
|
1619
|
+
}
|
1620
|
+
|
1621
|
+
static void
|
1622
|
+
console_dev_set(VALUE klass, VALUE value)
|
1623
|
+
{
|
1624
|
+
rb_const_set(klass, id_console, value);
|
1625
|
+
}
|
1626
|
+
|
1627
|
+
static void
|
1628
|
+
console_dev_remove(VALUE klass)
|
1629
|
+
{
|
1630
|
+
rb_const_remove(klass, id_console);
|
1631
|
+
}
|
1632
|
+
|
1633
|
+
#endif
|
1634
|
+
|
1566
1635
|
/*
|
1567
1636
|
* call-seq:
|
1568
1637
|
* IO.console -> #<File:/dev/tty>
|
@@ -1591,10 +1660,9 @@ console_dev(int argc, VALUE *argv, VALUE klass)
|
|
1591
1660
|
// Force the class to be File.
|
1592
1661
|
if (klass == rb_cIO) klass = rb_cFile;
|
1593
1662
|
|
1594
|
-
if (
|
1595
|
-
con = rb_const_get(klass, id_console);
|
1663
|
+
if (console_dev_get(klass, &con)) {
|
1596
1664
|
if (!RB_TYPE_P(con, T_FILE) || RTEST(rb_io_closed_p(con))) {
|
1597
|
-
|
1665
|
+
console_dev_remove(klass);
|
1598
1666
|
con = 0;
|
1599
1667
|
}
|
1600
1668
|
}
|
@@ -1603,7 +1671,7 @@ console_dev(int argc, VALUE *argv, VALUE klass)
|
|
1603
1671
|
if (sym == ID2SYM(id_close) && argc == 1) {
|
1604
1672
|
if (con) {
|
1605
1673
|
rb_io_close(con);
|
1606
|
-
|
1674
|
+
console_dev_remove(klass);
|
1607
1675
|
con = 0;
|
1608
1676
|
}
|
1609
1677
|
return Qnil;
|
@@ -1623,7 +1691,6 @@ console_dev(int argc, VALUE *argv, VALUE klass)
|
|
1623
1691
|
#endif
|
1624
1692
|
#ifdef CONSOLE_DEVICE_FOR_WRITING
|
1625
1693
|
VALUE out;
|
1626
|
-
rb_io_t *ofptr;
|
1627
1694
|
#endif
|
1628
1695
|
int fd;
|
1629
1696
|
VALUE path = rb_obj_freeze(rb_str_new2(CONSOLE_DEVICE));
|
@@ -1645,7 +1712,7 @@ console_dev(int argc, VALUE *argv, VALUE klass)
|
|
1645
1712
|
#ifdef CONSOLE_DEVICE_FOR_WRITING
|
1646
1713
|
rb_io_set_write_io(con, out);
|
1647
1714
|
#endif
|
1648
|
-
|
1715
|
+
console_dev_set(klass, con);
|
1649
1716
|
}
|
1650
1717
|
|
1651
1718
|
if (sym) {
|
@@ -1756,18 +1823,81 @@ io_getpass(int argc, VALUE *argv, VALUE io)
|
|
1756
1823
|
return str_chomp(str);
|
1757
1824
|
}
|
1758
1825
|
|
1826
|
+
#if defined(_WIN32) || defined(HAVE_TTYNAME_R) || defined(HAVE_TTYNAME)
|
1827
|
+
/*
|
1828
|
+
* call-seq:
|
1829
|
+
* io.ttyname -> string or nil
|
1830
|
+
*
|
1831
|
+
* Returns name of associated terminal (tty) if +io+ is not a tty.
|
1832
|
+
* Returns +nil+ otherwise.
|
1833
|
+
*/
|
1834
|
+
static VALUE
|
1835
|
+
console_ttyname(VALUE io)
|
1836
|
+
{
|
1837
|
+
int fd = rb_io_descriptor(io);
|
1838
|
+
if (!isatty(fd)) return Qnil;
|
1839
|
+
# if defined _WIN32
|
1840
|
+
return rb_usascii_str_new_lit("con");
|
1841
|
+
# elif defined HAVE_TTYNAME_R
|
1842
|
+
{
|
1843
|
+
char termname[1024], *tn = termname;
|
1844
|
+
size_t size = sizeof(termname);
|
1845
|
+
int e;
|
1846
|
+
if (ttyname_r(fd, tn, size) == 0)
|
1847
|
+
return rb_interned_str_cstr(tn);
|
1848
|
+
if ((e = errno) == ERANGE) {
|
1849
|
+
VALUE s = rb_str_new(0, size);
|
1850
|
+
while (1) {
|
1851
|
+
tn = RSTRING_PTR(s);
|
1852
|
+
size = rb_str_capacity(s);
|
1853
|
+
if (ttyname_r(fd, tn, size) == 0) {
|
1854
|
+
return rb_str_to_interned_str(rb_str_resize(s, strlen(tn)));
|
1855
|
+
}
|
1856
|
+
if ((e = errno) != ERANGE) break;
|
1857
|
+
if ((size *= 2) >= INT_MAX/2) break;
|
1858
|
+
rb_str_resize(s, size);
|
1859
|
+
}
|
1860
|
+
}
|
1861
|
+
rb_syserr_fail_str(e, rb_sprintf("ttyname_r(%d)", fd));
|
1862
|
+
UNREACHABLE_RETURN(Qnil);
|
1863
|
+
}
|
1864
|
+
# elif defined HAVE_TTYNAME
|
1865
|
+
{
|
1866
|
+
const char *tn = ttyname(fd);
|
1867
|
+
if (!tn) {
|
1868
|
+
int e = errno;
|
1869
|
+
rb_syserr_fail_str(e, rb_sprintf("ttyname(%d)", fd));
|
1870
|
+
}
|
1871
|
+
return rb_interned_str_cstr(tn);
|
1872
|
+
}
|
1873
|
+
# else
|
1874
|
+
# error No ttyname function
|
1875
|
+
# endif
|
1876
|
+
}
|
1877
|
+
#else
|
1878
|
+
# define console_ttyname rb_f_notimplement
|
1879
|
+
#endif
|
1880
|
+
|
1759
1881
|
/*
|
1760
1882
|
* IO console methods
|
1761
1883
|
*/
|
1762
1884
|
void
|
1763
1885
|
Init_console(void)
|
1764
1886
|
{
|
1887
|
+
#if USE_RACTOR_STORAGE
|
1888
|
+
RB_EXT_RACTOR_SAFE(true);
|
1889
|
+
#endif
|
1890
|
+
|
1765
1891
|
#undef rb_intern
|
1892
|
+
#if USE_RACTOR_STORAGE
|
1893
|
+
key_console_dev = rb_ractor_local_storage_value_newkey();
|
1894
|
+
#else
|
1895
|
+
id_console = rb_intern("console");
|
1896
|
+
#endif
|
1766
1897
|
id_getc = rb_intern("getc");
|
1767
1898
|
id_gets = rb_intern("gets");
|
1768
1899
|
id_flush = rb_intern("flush");
|
1769
1900
|
id_chomp_bang = rb_intern("chomp!");
|
1770
|
-
id_console = rb_intern("console");
|
1771
1901
|
id_close = rb_intern("close");
|
1772
1902
|
#define init_rawmode_opt_id(name) \
|
1773
1903
|
rawmode_opt_ids[kwd_##name] = rb_intern(#name)
|
@@ -1815,6 +1945,7 @@ InitVM_console(void)
|
|
1815
1945
|
rb_define_method(rb_cIO, "pressed?", console_key_pressed_p, 1);
|
1816
1946
|
rb_define_method(rb_cIO, "check_winsize_changed", console_check_winsize_changed, 0);
|
1817
1947
|
rb_define_method(rb_cIO, "getpass", console_getpass, -1);
|
1948
|
+
rb_define_method(rb_cIO, "ttyname", console_ttyname, 0);
|
1818
1949
|
rb_define_singleton_method(rb_cIO, "console", console_dev, -1);
|
1819
1950
|
{
|
1820
1951
|
/* :stopdoc: */
|
@@ -1826,7 +1957,7 @@ InitVM_console(void)
|
|
1826
1957
|
{
|
1827
1958
|
/* :stopdoc: */
|
1828
1959
|
cConmode = rb_define_class_under(rb_cIO, "ConsoleMode", rb_cObject);
|
1829
|
-
rb_define_const(cConmode, "VERSION", rb_str_new_cstr(IO_CONSOLE_VERSION));
|
1960
|
+
rb_define_const(cConmode, "VERSION", rb_obj_freeze(rb_str_new_cstr(IO_CONSOLE_VERSION)));
|
1830
1961
|
rb_define_alloc_func(cConmode, conmode_alloc);
|
1831
1962
|
rb_undef_method(cConmode, "initialize");
|
1832
1963
|
rb_define_method(cConmode, "initialize_copy", conmode_init_copy, 1);
|
data/ext/io/console/extconf.rb
CHANGED
@@ -1,13 +1,30 @@
|
|
1
1
|
# frozen_string_literal: false
|
2
2
|
require 'mkmf'
|
3
3
|
|
4
|
+
# `--target-rbconfig` compatibility for Ruby 3.3 or earlier
|
5
|
+
# See https://bugs.ruby-lang.org/issues/20345
|
6
|
+
MakeMakefile::RbConfig ||= ::RbConfig
|
7
|
+
|
8
|
+
have_func("rb_syserr_fail_str(0, Qnil)") or
|
9
|
+
have_func("rb_syserr_new_str(0, Qnil)") or
|
10
|
+
abort
|
11
|
+
|
12
|
+
have_func("rb_interned_str_cstr")
|
4
13
|
have_func("rb_io_path")
|
5
14
|
have_func("rb_io_descriptor")
|
6
15
|
have_func("rb_io_get_write_io")
|
7
16
|
have_func("rb_io_closed_p")
|
8
17
|
have_func("rb_io_open_descriptor")
|
18
|
+
have_func("rb_ractor_local_storage_value_newkey")
|
9
19
|
|
10
|
-
|
20
|
+
is_wasi = /wasi/ =~ MakeMakefile::RbConfig::CONFIG["platform"]
|
21
|
+
# `ok` can be `true`, `false`, or `nil`:
|
22
|
+
# * `true` : Required headers and functions available, proceed regular build.
|
23
|
+
# * `false`: Required headers or functions not available, abort build.
|
24
|
+
# * `nil` : Unsupported compilation target, generate dummy Makefile.
|
25
|
+
#
|
26
|
+
# Skip building io/console on WASI, as it does not support termios.h.
|
27
|
+
ok = true if (RUBY_ENGINE == "ruby" && !is_wasi) || RUBY_ENGINE == "truffleruby"
|
11
28
|
hdr = nil
|
12
29
|
case
|
13
30
|
when macro_defined?("_WIN32", "")
|
@@ -35,6 +52,7 @@ when true
|
|
35
52
|
elsif have_func("rb_scheduler_timeout") # 3.0
|
36
53
|
have_func("rb_io_wait")
|
37
54
|
end
|
55
|
+
have_func("ttyname_r") or have_func("ttyname")
|
38
56
|
create_makefile("io/console") {|conf|
|
39
57
|
conf << "\n""VK_HEADER = #{vk_header}\n"
|
40
58
|
}
|
data/ext/io/console/win32_vk.inc
CHANGED
@@ -480,7 +480,7 @@
|
|
480
480
|
# define VK_OEM_CLEAR UNDEFINED_VK
|
481
481
|
#endif
|
482
482
|
/* ANSI-C code produced by gperf version 3.1 */
|
483
|
-
/* Command-line: gperf --ignore-case -E -C -P -p -j1 -i 1 -g -o -t -K ofs -N console_win32_vk -k'*' win32_vk.list */
|
483
|
+
/* Command-line: gperf --ignore-case -L ANSI-C -E -C -P -p -j1 -i 1 -g -o -t -K ofs -N console_win32_vk -k'*' win32_vk.list */
|
484
484
|
|
485
485
|
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
|
486
486
|
&& ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
|
@@ -509,11 +509,10 @@
|
|
509
509
|
#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gperf@gnu.org>."
|
510
510
|
#endif
|
511
511
|
|
512
|
-
#define gperf_offsetof(s, n) (short)offsetof(struct s##_t, s##_str##n)
|
513
512
|
#line 1 "win32_vk.list"
|
514
513
|
|
515
514
|
struct vktable {short ofs; unsigned short vk;};
|
516
|
-
static const struct vktable *console_win32_vk(
|
515
|
+
static const struct vktable *console_win32_vk(const char *, size_t);
|
517
516
|
#line 5 "win32_vk.list"
|
518
517
|
struct vktable;
|
519
518
|
/* maximum key range = 245, duplicates = 0 */
|
@@ -1007,368 +1006,368 @@ console_win32_vk (register const char *str, register size_t len)
|
|
1007
1006
|
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
|
1008
1007
|
{-1}, {-1}, {-1},
|
1009
1008
|
#line 40 "win32_vk.list"
|
1010
|
-
{
|
1009
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str12, VK_UP},
|
1011
1010
|
#line 52 "win32_vk.list"
|
1012
|
-
{
|
1011
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str13, VK_APPS},
|
1013
1012
|
#line 159 "win32_vk.list"
|
1014
|
-
{
|
1013
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str14, VK_CRSEL},
|
1015
1014
|
#line 34 "win32_vk.list"
|
1016
|
-
{
|
1015
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str15, VK_SPACE},
|
1017
1016
|
#line 95 "win32_vk.list"
|
1018
|
-
{
|
1017
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str16, VK_SCROLL},
|
1019
1018
|
#line 29 "win32_vk.list"
|
1020
|
-
{
|
1019
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str17, VK_ESCAPE},
|
1021
1020
|
#line 9 "win32_vk.list"
|
1022
|
-
{
|
1021
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str18, VK_CANCEL},
|
1023
1022
|
#line 32 "win32_vk.list"
|
1024
|
-
{
|
1023
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str19, VK_ACCEPT},
|
1025
1024
|
#line 66 "win32_vk.list"
|
1026
|
-
{
|
1025
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str20, VK_SEPARATOR},
|
1027
1026
|
#line 43 "win32_vk.list"
|
1028
|
-
{
|
1027
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str21, VK_SELECT},
|
1029
1028
|
#line 18 "win32_vk.list"
|
1030
|
-
{
|
1029
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str22, VK_CONTROL},
|
1031
1030
|
#line 166 "win32_vk.list"
|
1032
|
-
{
|
1031
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str23, VK_OEM_CLEAR},
|
1033
1032
|
#line 145 "win32_vk.list"
|
1034
|
-
{
|
1033
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str24, VK_OEM_RESET},
|
1035
1034
|
#line 155 "win32_vk.list"
|
1036
|
-
{
|
1035
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str25, VK_OEM_AUTO},
|
1037
1036
|
#line 151 "win32_vk.list"
|
1038
|
-
{
|
1037
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str26, VK_OEM_CUSEL},
|
1039
1038
|
{-1},
|
1040
1039
|
#line 22 "win32_vk.list"
|
1041
|
-
{
|
1040
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str28, VK_KANA},
|
1042
1041
|
#line 127 "win32_vk.list"
|
1043
|
-
{
|
1042
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str29, VK_OEM_PLUS},
|
1044
1043
|
#line 35 "win32_vk.list"
|
1045
|
-
{
|
1044
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str30, VK_PRIOR},
|
1046
1045
|
#line 152 "win32_vk.list"
|
1047
|
-
{
|
1046
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str31, VK_OEM_ATTN},
|
1048
1047
|
#line 20 "win32_vk.list"
|
1049
|
-
{
|
1048
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str32, VK_PAUSE},
|
1050
1049
|
#line 13 "win32_vk.list"
|
1051
|
-
{
|
1050
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str33, VK_BACK},
|
1052
1051
|
#line 144 "win32_vk.list"
|
1053
|
-
{
|
1052
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str34, VK_PACKET},
|
1054
1053
|
#line 105 "win32_vk.list"
|
1055
|
-
{
|
1054
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str35, VK_RCONTROL},
|
1056
1055
|
#line 104 "win32_vk.list"
|
1057
|
-
{
|
1056
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str36, VK_LCONTROL},
|
1058
1057
|
#line 37 "win32_vk.list"
|
1059
|
-
{
|
1058
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str37, VK_END},
|
1060
1059
|
#line 38 "win32_vk.list"
|
1061
|
-
{
|
1060
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str38, VK_HOME},
|
1062
1061
|
#line 44 "win32_vk.list"
|
1063
|
-
{
|
1062
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str39, VK_PRINT},
|
1064
1063
|
#line 94 "win32_vk.list"
|
1065
|
-
{
|
1064
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str40, VK_NUMLOCK},
|
1066
1065
|
#line 39 "win32_vk.list"
|
1067
|
-
{
|
1066
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str41, VK_LEFT},
|
1068
1067
|
#line 25 "win32_vk.list"
|
1069
|
-
{
|
1068
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str42, VK_JUNJA},
|
1070
1069
|
#line 19 "win32_vk.list"
|
1071
|
-
{
|
1070
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str43, VK_MENU},
|
1072
1071
|
#line 150 "win32_vk.list"
|
1073
|
-
{
|
1072
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str44, VK_OEM_WSCTRL},
|
1074
1073
|
#line 156 "win32_vk.list"
|
1075
|
-
{
|
1074
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str45, VK_OEM_ENLW},
|
1076
1075
|
#line 36 "win32_vk.list"
|
1077
|
-
{
|
1076
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str46, VK_NEXT},
|
1078
1077
|
#line 51 "win32_vk.list"
|
1079
|
-
{
|
1078
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str47, VK_RWIN},
|
1080
1079
|
#line 50 "win32_vk.list"
|
1081
|
-
{
|
1080
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str48, VK_LWIN},
|
1082
1081
|
#line 21 "win32_vk.list"
|
1083
|
-
{
|
1082
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str49, VK_CAPITAL},
|
1084
1083
|
#line 49 "win32_vk.list"
|
1085
|
-
{
|
1084
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str50, VK_HELP},
|
1086
1085
|
#line 164 "win32_vk.list"
|
1087
|
-
{
|
1086
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str51, VK_NONAME},
|
1088
1087
|
#line 8 "win32_vk.list"
|
1089
|
-
{
|
1088
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str52, VK_RBUTTON},
|
1090
1089
|
#line 7 "win32_vk.list"
|
1091
|
-
{
|
1090
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str53, VK_LBUTTON},
|
1092
1091
|
#line 96 "win32_vk.list"
|
1093
|
-
{
|
1092
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str54, VK_OEM_NEC_EQUAL},
|
1094
1093
|
{-1},
|
1095
1094
|
#line 47 "win32_vk.list"
|
1096
|
-
{
|
1095
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str56, VK_INSERT},
|
1097
1096
|
#line 27 "win32_vk.list"
|
1098
|
-
{
|
1097
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str57, VK_HANJA},
|
1099
1098
|
{-1}, {-1},
|
1100
1099
|
#line 46 "win32_vk.list"
|
1101
|
-
{
|
1100
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str60, VK_SNAPSHOT},
|
1102
1101
|
#line 158 "win32_vk.list"
|
1103
|
-
{
|
1102
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str61, VK_ATTN},
|
1104
1103
|
#line 14 "win32_vk.list"
|
1105
|
-
{
|
1104
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str62, VK_TAB},
|
1106
1105
|
#line 157 "win32_vk.list"
|
1107
|
-
{
|
1106
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str63, VK_OEM_BACKTAB},
|
1108
1107
|
#line 143 "win32_vk.list"
|
1109
|
-
{
|
1108
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str64, VK_ICO_CLEAR},
|
1110
1109
|
#line 30 "win32_vk.list"
|
1111
|
-
{
|
1110
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str65, VK_CONVERT},
|
1112
1111
|
#line 16 "win32_vk.list"
|
1113
|
-
{
|
1112
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str66, VK_RETURN},
|
1114
1113
|
#line 146 "win32_vk.list"
|
1115
|
-
{
|
1114
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str67, VK_OEM_JUMP},
|
1116
1115
|
{-1}, {-1}, {-1},
|
1117
1116
|
#line 111 "win32_vk.list"
|
1118
|
-
{
|
1117
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str71, VK_BROWSER_STOP},
|
1119
1118
|
#line 26 "win32_vk.list"
|
1120
|
-
{
|
1119
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str72, VK_FINAL},
|
1121
1120
|
#line 163 "win32_vk.list"
|
1122
|
-
{
|
1121
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str73, VK_ZOOM},
|
1123
1122
|
#line 28 "win32_vk.list"
|
1124
|
-
{
|
1123
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str74, VK_KANJI},
|
1125
1124
|
#line 48 "win32_vk.list"
|
1126
|
-
{
|
1125
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str75, VK_DELETE},
|
1127
1126
|
#line 128 "win32_vk.list"
|
1128
|
-
{
|
1127
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str76, VK_OEM_COMMA},
|
1129
1128
|
#line 67 "win32_vk.list"
|
1130
|
-
{
|
1129
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str77, VK_SUBTRACT},
|
1131
1130
|
{-1},
|
1132
1131
|
#line 10 "win32_vk.list"
|
1133
|
-
{
|
1132
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str79, VK_MBUTTON},
|
1134
1133
|
#line 78 "win32_vk.list"
|
1135
|
-
{
|
1134
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str80, VK_F9},
|
1136
1135
|
#line 17 "win32_vk.list"
|
1137
|
-
{
|
1136
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str81, VK_SHIFT},
|
1138
1137
|
#line 103 "win32_vk.list"
|
1139
|
-
{
|
1138
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str82, VK_RSHIFT},
|
1140
1139
|
#line 102 "win32_vk.list"
|
1141
|
-
{
|
1140
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str83, VK_LSHIFT},
|
1142
1141
|
#line 65 "win32_vk.list"
|
1143
|
-
{
|
1142
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str84, VK_ADD},
|
1144
1143
|
#line 31 "win32_vk.list"
|
1145
|
-
{
|
1144
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str85, VK_NONCONVERT},
|
1146
1145
|
#line 160 "win32_vk.list"
|
1147
|
-
{
|
1146
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str86, VK_EXSEL},
|
1148
1147
|
#line 126 "win32_vk.list"
|
1149
|
-
{
|
1148
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str87, VK_OEM_1},
|
1150
1149
|
#line 138 "win32_vk.list"
|
1151
|
-
{
|
1150
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str88, VK_OEM_AX},
|
1152
1151
|
#line 108 "win32_vk.list"
|
1153
|
-
{
|
1152
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str89, VK_BROWSER_BACK},
|
1154
1153
|
#line 137 "win32_vk.list"
|
1155
|
-
{
|
1154
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str90, VK_OEM_8},
|
1156
1155
|
#line 129 "win32_vk.list"
|
1157
|
-
{
|
1156
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str91, VK_OEM_MINUS},
|
1158
1157
|
#line 162 "win32_vk.list"
|
1159
|
-
{
|
1158
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str92, VK_PLAY},
|
1160
1159
|
#line 131 "win32_vk.list"
|
1161
|
-
{
|
1160
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str93, VK_OEM_2},
|
1162
1161
|
#line 15 "win32_vk.list"
|
1163
|
-
{
|
1162
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str94, VK_CLEAR},
|
1164
1163
|
#line 99 "win32_vk.list"
|
1165
|
-
{
|
1164
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str95, VK_OEM_FJ_TOUROKU},
|
1166
1165
|
#line 147 "win32_vk.list"
|
1167
|
-
{
|
1166
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str96, VK_OEM_PA1},
|
1168
1167
|
#line 140 "win32_vk.list"
|
1169
|
-
{
|
1168
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str97, VK_ICO_HELP},
|
1170
1169
|
#line 112 "win32_vk.list"
|
1171
|
-
{
|
1170
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str98, VK_BROWSER_SEARCH},
|
1172
1171
|
#line 53 "win32_vk.list"
|
1173
|
-
{
|
1172
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str99, VK_SLEEP},
|
1174
1173
|
{-1},
|
1175
1174
|
#line 70 "win32_vk.list"
|
1176
|
-
{
|
1175
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str101, VK_F1},
|
1177
1176
|
#line 148 "win32_vk.list"
|
1178
|
-
{
|
1177
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str102, VK_OEM_PA2},
|
1179
1178
|
#line 154 "win32_vk.list"
|
1180
|
-
{
|
1179
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str103, VK_OEM_COPY},
|
1181
1180
|
#line 77 "win32_vk.list"
|
1182
|
-
{
|
1181
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str104, VK_F8},
|
1183
1182
|
#line 88 "win32_vk.list"
|
1184
|
-
{
|
1183
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str105, VK_F19},
|
1185
1184
|
#line 41 "win32_vk.list"
|
1186
|
-
{
|
1185
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str106, VK_RIGHT},
|
1187
1186
|
#line 71 "win32_vk.list"
|
1188
|
-
{
|
1187
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str107, VK_F2},
|
1189
1188
|
#line 135 "win32_vk.list"
|
1190
|
-
{
|
1189
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str108, VK_OEM_6},
|
1191
1190
|
#line 87 "win32_vk.list"
|
1192
|
-
{
|
1191
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str109, VK_F18},
|
1193
1192
|
{-1},
|
1194
1193
|
#line 117 "win32_vk.list"
|
1195
|
-
{
|
1194
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str111, VK_VOLUME_UP},
|
1196
1195
|
{-1}, {-1},
|
1197
1196
|
#line 120 "win32_vk.list"
|
1198
|
-
{
|
1197
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str114, VK_MEDIA_STOP},
|
1199
1198
|
#line 130 "win32_vk.list"
|
1200
|
-
{
|
1199
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str115, VK_OEM_PERIOD},
|
1201
1200
|
{-1},
|
1202
1201
|
#line 161 "win32_vk.list"
|
1203
|
-
{
|
1202
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str117, VK_EREOF},
|
1204
1203
|
{-1}, {-1}, {-1},
|
1205
1204
|
#line 114 "win32_vk.list"
|
1206
|
-
{
|
1205
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str121, VK_BROWSER_HOME},
|
1207
1206
|
#line 75 "win32_vk.list"
|
1208
|
-
{
|
1207
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str122, VK_F6},
|
1209
1208
|
{-1},
|
1210
1209
|
#line 110 "win32_vk.list"
|
1211
|
-
{
|
1210
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str124, VK_BROWSER_REFRESH},
|
1212
1211
|
{-1},
|
1213
1212
|
#line 165 "win32_vk.list"
|
1214
|
-
{
|
1213
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str126, VK_PA1},
|
1215
1214
|
#line 142 "win32_vk.list"
|
1216
|
-
{
|
1215
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str127, VK_PROCESSKEY},
|
1217
1216
|
#line 68 "win32_vk.list"
|
1218
|
-
{
|
1217
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str128, VK_DECIMAL},
|
1219
1218
|
#line 132 "win32_vk.list"
|
1220
|
-
{
|
1219
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str129, VK_OEM_3},
|
1221
1220
|
#line 107 "win32_vk.list"
|
1222
|
-
{
|
1221
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str130, VK_RMENU},
|
1223
1222
|
#line 106 "win32_vk.list"
|
1224
|
-
{
|
1223
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str131, VK_LMENU},
|
1225
1224
|
#line 98 "win32_vk.list"
|
1226
|
-
{
|
1225
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str132, VK_OEM_FJ_MASSHOU},
|
1227
1226
|
#line 54 "win32_vk.list"
|
1228
|
-
{
|
1227
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str133, VK_NUMPAD0},
|
1229
1228
|
#line 24 "win32_vk.list"
|
1230
|
-
{
|
1229
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str134, VK_HANGUL},
|
1231
1230
|
#line 63 "win32_vk.list"
|
1232
|
-
{
|
1231
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str135, VK_NUMPAD9},
|
1233
1232
|
#line 23 "win32_vk.list"
|
1234
|
-
{
|
1233
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str136, VK_HANGEUL},
|
1235
1234
|
#line 134 "win32_vk.list"
|
1236
|
-
{
|
1235
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str137, VK_OEM_5},
|
1237
1236
|
#line 149 "win32_vk.list"
|
1238
|
-
{
|
1237
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str138, VK_OEM_PA3},
|
1239
1238
|
#line 115 "win32_vk.list"
|
1240
|
-
{
|
1239
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str139, VK_VOLUME_MUTE},
|
1241
1240
|
#line 133 "win32_vk.list"
|
1242
|
-
{
|
1241
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str140, VK_OEM_4},
|
1243
1242
|
#line 122 "win32_vk.list"
|
1244
|
-
{
|
1243
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str141, VK_LAUNCH_MAIL},
|
1245
1244
|
#line 97 "win32_vk.list"
|
1246
|
-
{
|
1245
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str142, VK_OEM_FJ_JISHO},
|
1247
1246
|
#line 72 "win32_vk.list"
|
1248
|
-
{
|
1247
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str143, VK_F3},
|
1249
1248
|
#line 101 "win32_vk.list"
|
1250
|
-
{
|
1249
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str144, VK_OEM_FJ_ROYA},
|
1251
1250
|
#line 100 "win32_vk.list"
|
1252
|
-
{
|
1251
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str145, VK_OEM_FJ_LOYA},
|
1253
1252
|
{-1},
|
1254
1253
|
#line 42 "win32_vk.list"
|
1255
|
-
{
|
1254
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str147, VK_DOWN},
|
1256
1255
|
{-1},
|
1257
1256
|
#line 153 "win32_vk.list"
|
1258
|
-
{
|
1257
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str149, VK_OEM_FINISH},
|
1259
1258
|
{-1},
|
1260
1259
|
#line 74 "win32_vk.list"
|
1261
|
-
{
|
1260
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str151, VK_F5},
|
1262
1261
|
{-1},
|
1263
1262
|
#line 136 "win32_vk.list"
|
1264
|
-
{
|
1263
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str153, VK_OEM_7},
|
1265
1264
|
#line 73 "win32_vk.list"
|
1266
|
-
{
|
1265
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str154, VK_F4},
|
1267
1266
|
#line 86 "win32_vk.list"
|
1268
|
-
{
|
1267
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str155, VK_F17},
|
1269
1268
|
#line 55 "win32_vk.list"
|
1270
|
-
{
|
1269
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str156, VK_NUMPAD1},
|
1271
1270
|
#line 141 "win32_vk.list"
|
1272
|
-
{
|
1271
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str157, VK_ICO_00},
|
1273
1272
|
{-1},
|
1274
1273
|
#line 62 "win32_vk.list"
|
1275
|
-
{
|
1274
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str159, VK_NUMPAD8},
|
1276
1275
|
{-1}, {-1},
|
1277
1276
|
#line 56 "win32_vk.list"
|
1278
|
-
{
|
1277
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str162, VK_NUMPAD2},
|
1279
1278
|
{-1},
|
1280
1279
|
#line 124 "win32_vk.list"
|
1281
|
-
{
|
1280
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str164, VK_LAUNCH_APP1},
|
1282
1281
|
#line 109 "win32_vk.list"
|
1283
|
-
{
|
1282
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str165, VK_BROWSER_FORWARD},
|
1284
1283
|
{-1},
|
1285
1284
|
#line 76 "win32_vk.list"
|
1286
|
-
{
|
1285
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str167, VK_F7},
|
1287
1286
|
{-1}, {-1},
|
1288
1287
|
#line 125 "win32_vk.list"
|
1289
|
-
{
|
1288
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str170, VK_LAUNCH_APP2},
|
1290
1289
|
#line 64 "win32_vk.list"
|
1291
|
-
{
|
1290
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str171, VK_MULTIPLY},
|
1292
1291
|
{-1}, {-1},
|
1293
1292
|
#line 45 "win32_vk.list"
|
1294
|
-
{
|
1293
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str174, VK_EXECUTE},
|
1295
1294
|
{-1},
|
1296
1295
|
#line 113 "win32_vk.list"
|
1297
|
-
{
|
1296
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str176, VK_BROWSER_FAVORITES},
|
1298
1297
|
#line 60 "win32_vk.list"
|
1299
|
-
{
|
1298
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str177, VK_NUMPAD6},
|
1300
1299
|
{-1},
|
1301
1300
|
#line 85 "win32_vk.list"
|
1302
|
-
{
|
1301
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str179, VK_F16},
|
1303
1302
|
{-1}, {-1},
|
1304
1303
|
#line 79 "win32_vk.list"
|
1305
|
-
{
|
1304
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str182, VK_F10},
|
1306
1305
|
{-1}, {-1},
|
1307
1306
|
#line 116 "win32_vk.list"
|
1308
|
-
{
|
1307
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str185, VK_VOLUME_DOWN},
|
1309
1308
|
{-1}, {-1},
|
1310
1309
|
#line 89 "win32_vk.list"
|
1311
|
-
{
|
1310
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str188, VK_F20},
|
1312
1311
|
#line 119 "win32_vk.list"
|
1313
|
-
{
|
1312
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str189, VK_MEDIA_PREV_TRACK},
|
1314
1313
|
{-1},
|
1315
1314
|
#line 33 "win32_vk.list"
|
1316
|
-
{
|
1315
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str191, VK_MODECHANGE},
|
1317
1316
|
{-1}, {-1}, {-1}, {-1}, {-1},
|
1318
1317
|
#line 83 "win32_vk.list"
|
1319
|
-
{
|
1318
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str197, VK_F14},
|
1320
1319
|
#line 57 "win32_vk.list"
|
1321
|
-
{
|
1320
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str198, VK_NUMPAD3},
|
1322
1321
|
#line 11 "win32_vk.list"
|
1323
|
-
{
|
1322
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str199, VK_XBUTTON1},
|
1324
1323
|
{-1}, {-1}, {-1},
|
1325
1324
|
#line 93 "win32_vk.list"
|
1326
|
-
{
|
1325
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str203, VK_F24},
|
1327
1326
|
{-1},
|
1328
1327
|
#line 12 "win32_vk.list"
|
1329
|
-
{
|
1328
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str205, VK_XBUTTON2},
|
1330
1329
|
#line 59 "win32_vk.list"
|
1331
|
-
{
|
1330
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str206, VK_NUMPAD5},
|
1332
1331
|
{-1}, {-1},
|
1333
1332
|
#line 58 "win32_vk.list"
|
1334
|
-
{
|
1333
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str209, VK_NUMPAD4},
|
1335
1334
|
{-1}, {-1}, {-1}, {-1}, {-1},
|
1336
1335
|
#line 121 "win32_vk.list"
|
1337
|
-
{
|
1336
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str215, VK_MEDIA_PLAY_PAUSE},
|
1338
1337
|
{-1},
|
1339
1338
|
#line 123 "win32_vk.list"
|
1340
|
-
{
|
1339
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str217, VK_LAUNCH_MEDIA_SELECT},
|
1341
1340
|
#line 80 "win32_vk.list"
|
1342
|
-
{
|
1341
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str218, VK_F11},
|
1343
1342
|
{-1},
|
1344
1343
|
#line 139 "win32_vk.list"
|
1345
|
-
{
|
1344
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str220, VK_OEM_102},
|
1346
1345
|
#line 118 "win32_vk.list"
|
1347
|
-
{
|
1346
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str221, VK_MEDIA_NEXT_TRACK},
|
1348
1347
|
#line 61 "win32_vk.list"
|
1349
|
-
{
|
1348
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str222, VK_NUMPAD7},
|
1350
1349
|
{-1},
|
1351
1350
|
#line 90 "win32_vk.list"
|
1352
|
-
{
|
1351
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str224, VK_F21},
|
1353
1352
|
{-1},
|
1354
1353
|
#line 82 "win32_vk.list"
|
1355
|
-
{
|
1354
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str226, VK_F13},
|
1356
1355
|
{-1}, {-1},
|
1357
1356
|
#line 81 "win32_vk.list"
|
1358
|
-
{
|
1357
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str229, VK_F12},
|
1359
1358
|
{-1}, {-1},
|
1360
1359
|
#line 92 "win32_vk.list"
|
1361
|
-
{
|
1360
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str232, VK_F23},
|
1362
1361
|
{-1}, {-1},
|
1363
1362
|
#line 91 "win32_vk.list"
|
1364
|
-
{
|
1363
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str235, VK_F22},
|
1365
1364
|
{-1}, {-1}, {-1}, {-1}, {-1}, {-1},
|
1366
1365
|
#line 84 "win32_vk.list"
|
1367
|
-
{
|
1366
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str242, VK_F15},
|
1368
1367
|
{-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1},
|
1369
1368
|
{-1}, {-1}, {-1}, {-1},
|
1370
1369
|
#line 69 "win32_vk.list"
|
1371
|
-
{
|
1370
|
+
{(int)(size_t)&((struct stringpool_t *)0)->stringpool_str256, VK_DIVIDE}
|
1372
1371
|
};
|
1373
1372
|
|
1374
1373
|
if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: io-console
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nobu Nakada
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-12-03 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: add console capabilities to IO instances.
|
14
14
|
email: nobu@ruby-lang.org
|
@@ -18,7 +18,8 @@ extensions:
|
|
18
18
|
extra_rdoc_files: []
|
19
19
|
files:
|
20
20
|
- ".document"
|
21
|
-
-
|
21
|
+
- BSDL
|
22
|
+
- COPYING
|
22
23
|
- README.md
|
23
24
|
- ext/io/console/console.c
|
24
25
|
- ext/io/console/extconf.rb
|
@@ -31,7 +32,7 @@ licenses:
|
|
31
32
|
metadata:
|
32
33
|
source_code_url: https://github.com/ruby/io-console
|
33
34
|
changelog_uri: https://github.com/ruby/io-console/releases
|
34
|
-
post_install_message:
|
35
|
+
post_install_message:
|
35
36
|
rdoc_options: []
|
36
37
|
require_paths:
|
37
38
|
- lib
|
@@ -46,8 +47,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
46
47
|
- !ruby/object:Gem::Version
|
47
48
|
version: '0'
|
48
49
|
requirements: []
|
49
|
-
rubygems_version: 3.
|
50
|
-
signing_key:
|
50
|
+
rubygems_version: 3.5.11
|
51
|
+
signing_key:
|
51
52
|
specification_version: 4
|
52
53
|
summary: Console interface
|
53
54
|
test_files: []
|