io-console 0.7.2 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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: []
|