keyboard-events 相关问题

在键盘输入设备上按下键时触发的事件

Backspace 在 C# 控制台中的 StringBuilder 中无法正常工作

我正在尝试创建一个屏幕,用户可以在其中使用 StringBuilder 写下他们的名字。 我遇到的问题是退格键的功能。我可以删除除...之外的所有字母

回答 2 投票 0

如何在C#控制台中检测“Enter”? [重复]

我对 C# 相当陌生,如果您能帮助我,我会很高兴。 我正在尝试检测何时按下 Enter 键。 Console.Write("**按 Enter**" "执行此操作" 或 &q...

回答 1 投票 0

C# 中输入按键

我尝试了这段代码: 私有无效textBox1_KeyPress(对象发送者,KeyPressEventArgs e) { if (Convert.ToInt32(e.KeyChar) == 13) { MessageBox.Show("按下回车键"); } } 还有那个...

回答 14 投票 0

pynput:仅在窗口处于活动状态时监听

当我在pynput.keyboard.Listener上设置suppress=True并最小化程序窗口时,它会阻止系统监听键盘。 是否可以阻止系统监听ke...

回答 1 投票 0

为什么我应该使用 SendInput 而不是鼠标和键盘事件?

在 Microsoft Learn 上查找如何使用 keybd_event 时,它说: 注意 该函数已被取代。请改用 SendInput。 但是当查看如何使用 SendInput 时,它看起来更简单......

回答 1 投票 0

如何在本机反应中强制 TextInput 增长而 multiline={false} ?

<TextInput ref={inputRef} value={text} style={styles.textInput} returnKeyType="next" placeholder={"placeholder"} scrollEnabled={false} blurOnSubmit={false} onFocus={onFocusInput} textAlignVertical="center" onContentSizeChange={onChangeContentSizeChange} onChangeText={onInputChangeValue} onBlur={onInputBlur} onKeyPress={onInputKeyPress} onSubmitEditing={() => NextScript(id)} multiline={false} numberOfLines={5} /> 逻辑是我想要 onSubmitEditing 带我到下一个 TextInput 字段,并且我需要文本来包装输入的多个文本。如果我启用 multiline,一旦按下回车键,它会在进入下一个输入之前进入下一行,这就是我试图避免的。 是否可以用onSubmitEditing完全取代回车键?每当我按下回车键时,它都会尝试在移动到下一个TextInput之前输入换行符,因此它会创建一个糟糕的用户界面,其中文本在重新定位然后进入下一行之前会稍微向上移动。 如果我将 blurOnSubmit 设置为 true,它会停止,但键盘会在提交时关闭。 如果我将 multiline 设置为 false,它会停止但不会换行。 我创建了一个示例,onKeyPress将允许您在按下回车键时聚焦下一个文本字段。 import { Text, SafeAreaView, StyleSheet, TextInput } from 'react-native'; export default function App() { return ( <SafeAreaView style={styles.container}> <TextInput multiline={true} placeholder={'PLACEHOLDER'} onKeyPress={(e) => { if (e.nativeEvent.key == 'Enter') { console.log('ENTER'); //focusNextTextField(); } }} style={{ borderColor: '#000000', borderWidth: 1 }} /> </SafeAreaView> ); } const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', alignContent: 'center', padding: 8, }, }); 我也面临同样的问题。后来我找到了解决办法。 自定义文本输入处理:您需要一个自定义逻辑来处理文本输入及其在按“Enter”键时的行为。您将以编程方式控制文本换行和导航到下一个输入字段,而不是依赖多行的默认行为。 用 onSubmitEditing 替换 Enter 键:要覆盖“Enter”键的默认行为,您可以使用 onKeyPress 事件。检测何时按下“Enter”键并以编程方式触发 onSubmitEditing 函数。 维护文本换行:由于 multiline={false} 禁用自动文本换行,因此您需要实现一种方法来根据输入的内容大小或字符数手动处理文本换行。 以下是如何实现这一点的概念示例: import React, { useState, useRef } from 'react'; import { TextInput, StyleSheet } from 'react-native'; const CustomTextInput = () => { const [text, setText] = useState(''); const nextInputRef = useRef(null); const onInputKeyPress = (e) => { if (e.nativeEvent.key === 'Enter') { // Replace the Enter key functionality // Call the function you would have in onSubmitEditing handleEnterKeyPress(); } }; const handleEnterKeyPress = () => { // Logic to navigate to next TextInput // Focus the next input field if (nextInputRef.current) { nextInputRef.current.focus(); } // Additional logic if needed to handle text wrapping }; return ( <TextInput value={text} style={styles.textInput} onChangeText={setText} onKeyPress={onInputKeyPress} blurOnSubmit={false} // prevent keyboard from closing // other props /> ); }; const styles = StyleSheet.create({ textInput: { // styling for your text input }, }); export default CustomTextInput;

回答 2 投票 0

如何控制列表元素抛出键盘事件

https://stackblitz.com/edit/react-o1ra7c 用户搜索结果后,用户尝试使用键盘事件箭头需要向下移动。 https://stackblitz.com/edit/react-o1ra7c 用户搜索结果后,用户尝试使用键盘事件箭头需要向下移动。 <div> <input onChange={handleSearchChange}/> <div css={countryDataCss}> {countryList?.map((country) => ( <div key={country.countryCode}> <span css={countryCss}>{country.countryName}</span> <span css={countryDialCodeCss}> {country.countryDialNo} </span> </div> ))} </div> </div> 您可以使用 javascirpt 事件 onkeydown,对于 React 来说是 onKeyDown,它提供了所需的行为,请检查下面的 stackblitz! import React from 'react'; import './style.css'; import { useState } from 'react'; export default function App() { const [searchText, setSearchText] = useState(''); const [selectedCountry, setSelectedCountry] = useState('SG'); const [activeIndex, setActiveIndex] = useState(0); const [selectedDialCode, setSelectedDialCode] = useState('+65'); const countryCodeListResponse = [ { countryCode: 'IND', countryDialNo: '+91', countryName: 'India' }, { countryCode: 'SG', countryDialNo: '+65', countryName: 'Singpare' }, ]; const [countryList, setCountryList] = useState(countryCodeListResponse); function handleSearchChange(e) { const searchText = e.target.value.toLowerCase(); if (countryCodeListResponse) { const updatedList = countryCodeListResponse .filter((el) => el.countryName.toLowerCase().includes(searchText)) .sort( (a, b) => a.countryName.toLowerCase().indexOf(searchText) - b.countryName.toLowerCase().indexOf(searchText) ); setSearchText(searchText); setCountryList(updatedList); } } const onSelectCountry = (code, dialCode) => { setSelectedCountry(code); setSelectedDialCode(dialCode); setSearchText(''); setCountryList(countryCodeListResponse); }; const onKeyDown = (event) => { console.log(event); switch (event.keyCode) { case 38: // arrow up if (activeIndex > 0 && activeIndex <= countryList.length - 1) { setActiveIndex((prev) => prev - 1); } break; case 40: // arrow down if (activeIndex >= 0 && activeIndex < countryList.length - 1) { setActiveIndex((prev) => prev + 1); } break; case 13: const country = countryList[activeIndex]; onSelectCountry(country.countryCode, country.countryDialNo); break; default: break; } }; return ( <div class="dropdown"> <div class="search"> <div> <span>{selectedCountry}</span> <span>{selectedDialCode}</span> </div> <input class="search-input" onKeyDown={(e) => onKeyDown(e)} placeholder="Search" value={searchText} onChange={handleSearchChange} /> </div> <div class="list"> {countryList?.map((country, index) => ( <div onKeyDown={(e) => onKeyDown(e)} className={index === activeIndex ? 'active' : ''} tabIndex="0" key={country.countryCode} onClick={() => onSelectCountry(country.countryCode, country.countryDialNo) } > <span>{country.countryName}</span> <span>{country.countryDialNo}</span> </div> ))} </div> </div> ); } 堆栈闪电战

回答 1 投票 0

如何从另一个 Sub 使用 KeyEventArgs 调用 Sub

我有两个替补 Private Sub kbHook_KeyDown(ByVal Key As System.Windows.Forms.Keys) 处理 KeyHook.KeyDown 和 Private Sub Form1_KeyPressCaps(ByVal key As Object, e As KeyEventArgs) 处理我。

回答 1 投票 0

Google 键盘剪贴板不会触发粘贴事件

我正在使用多输入组件来捕获 MFA 代码。想象六个相同的框,当您键入时,它会移动到下一个框,并在完成后自动提交。 我们通过

回答 2 投票 0

有没有办法绑定键盘按键以有效地按下 PySimpleGUI 中的按钮?

在 PySimpleGUI 中,似乎只有鼠标单击才会触发事件。我已阅读文档并搜索网络。提到的唯一会启动事件的键盘键是 retu...

回答 1 投票 0

Cocoa (Swift) 模拟键盘按下

我正在制作一个 macOS 应用程序,它应该从服务器获取一些字符串,然后将该字符串粘贴到当前聚焦的应用程序中。为了实现这一点,我使用粘贴板,然后模拟 C...

回答 1 投票 0

Xvfb-运行键盘检测

我正在测试 xvfb-run 的可能性,并使用此命令行在特定显示器上的 chromium 选项卡中显示著名的 Trex 游戏:$ xvfb-run -n 1 -f ~/.Xauthority --server-args='-screen 0

回答 1 投票 0

HTMLAudioElement 专门拦截所有键盘事件 - 如何覆盖?

我有一个非常简单的带有音频标签的媒体播放器网页。有必要为用户提供键盘快捷键,无论是什么元素,这些快捷键都可以在整个页面中一致地工作

回答 1 投票 0

RXJS 对键盘/鼠标点击组合做出反应

我对 RXJS 还很陌生。我想要实现的是当用户按下空格(或任何其他)键并用鼠标拖动元素时拖动 HtmlElement。 所以拖动的开始是trig...

回答 1 投票 0

当我关注其他内容但又回到原始项目时,Keys.onPressed 停止工作

我面临着一些我无法解释的事情...... 我有这个代码: 导入QtQuick 2.12 导入 QtQuick.Controls 2.0 导入 QtQuick.Controls.Styles 1.4 导入 QtGraphicalEffects 1.12 导入 QtQuick.LocalS...

回答 1 投票 0

如何区分左右修饰键

在Qt的QKeyEvent中,我可以通过检查ev->key()是否为Qt::Key_Control来检查Ctrl是否被按下,但是如何区分左右Ctrl键呢? 我也需要同样的东西...

回答 4 投票 0

如何在没有 RawKeyboardListener 的情况下检测颤振中的按键情况

我正在尝试检测颤动中的“Enter”、“Delete”和“Backspace”等按键。我使用 RawKeyboardListener 的问题是它会将焦点从任何子小部件上移开。 例如

回答 3 投票 0

Win32 键盘在未聚焦时释放按键时进行管理

我有一个输入管理器,可以通过消息很好地跟踪键盘状态 WM_KEYDOWN、WM_KEYUP、WM_SYSKEYDOWN、WM_SYSKEYUP 所以我知道何时按下左侧控件。 豪...

回答 2 投票 0

通过按键暂停和恢复脚本执行(python)

我有一个脚本可以控制 I/O 操作相当慢的外部机器。我希望能够通过随时按键来暂停和恢复执行,这样执行...

回答 1 投票 0

Java Robot 关键活动在某些软件运行时似乎停止工作

我正在编写一个 Java 应用程序,用于在一夜之间自动执行在线游戏中的角色动作(具体来说,它在《最终幻想 XI》中抓鱼)。该应用程序大量使用了 java 的 Robot 类,用于

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.