Difference between revisions of "IS SCH"

From LFS Manual
Jump to navigationJump to search
m
Line 1: Line 1:
== Introduction ==
+
{{Infobox InSim packet
 +
| description  = Send a single character or key press
 +
| size          = 8
 +
| type_key      = ISP_SCH
 +
| type_value    = 9
 +
| direction    = out
 +
| category      = Text messages and key presses
 +
| prev          = [[IS_ISM]]
 +
| next          = [[IS_MSO]]
 +
}}
  
The '''S'''ingle '''CH'''aracter packet is used to send individual key presses to LFS. Standard keys (e.g. V and H) should be sent as capital letters, using the corresponding ASCII values. This does not work with keys such as F keys, arrows, CTRL, etc. For those, you should send an [[IS_MST]] packet with the <code>/press</code>, <code>/shift</code>, <code>/ctrl</code>, or <code>/alt</code> commands.
+
The '''S'''ingle '''CH'''aracter packet is used to send individual key presses to LFS. Standard keys (e.g. {{key press|V}} and {{key press|H}}) should be sent as capital letters, using the corresponding ASCII values. This does not work with keys such as {{key press|F}}-keys, arrows, {{key press|Ctrl}}, etc. For those, you should send an [[IS_MST]] packet with the {{kbd|/press}}, {{kbd|/shift}}, {{kbd|/ctrl}}, or {{kbd|/alt}} commands.
  
Note that some keys seem not to work properly with this packet, for instance H does not toggle chat history, and I does not toggle ignition. On the other hand, V does change the view, and 9 does turn the hazard lights on.
+
Note that some keys seem not to work properly with this packet, for instance {{key press|H}} does not toggle chat history, and I does not toggle ignition. On the other hand, {{key press|V}} does change the view, and 9 does turn the hazard lights on.
 +
 
 +
== Packet details ==
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 42: Line 53:
 
|  
 
|  
 
|}
 
|}
 
== Packet Details ==
 
  
 
=== Size ===
 
=== Size ===
Line 59: Line 68:
 
=== CharB ===
 
=== CharB ===
  
The byte representing the key to press. You can use non-printable characters, such as 13 to send an Enter key press.
+
The byte representing the key to press. You can use non-printable characters, such as 13 to send an {{key press|Enter}} key press.
  
 
== Flags ==
 
== Flags ==
  
2 bits are used to represent the Shift (bit 0) and Ctrl (bit 1) keys being pressed. For instance, sending "M" with Flags 2 corresponds to pressing Ctrl+M.
+
2 bits are used to represent the {{key press|Shift}} (bit 0) and {{key press|Ctrl}} (bit 1) keys being pressed. For instance, sending {{code|M}} with Flags 2 corresponds to pressing {{key press|Ctrl|M}}.
  
 
[[Category:InSim packets]]
 
[[Category:InSim packets]]

Revision as of 21:25, 13 February 2026

IS_SCH
Send a single character or key press
Overview
Size 8
Type ISP_SCH (9)
Usage instruction
Previous packet
IS_ISM
Next packet
IS_MSO

The Single CHaracter packet is used to send individual key presses to LFS. Standard keys (e.g. V and H) should be sent as capital letters, using the corresponding ASCII values. This does not work with keys such as F-keys, arrows, Ctrl, etc. For those, you should send an IS_MST packet with the /press, /shift, /ctrl, or /alt commands.

Note that some keys seem not to work properly with this packet, for instance H does not toggle chat history, and I does not toggle ignition. On the other hand, V does change the view, and 9 does turn the hazard lights on.

Packet details

IS_SCH packet properties
Type Name Description
byte Size 8
byte Type ISP_SCH
byte ReqI 0
byte Zero
byte CharB key to press
byte Flags bit 0: SHIFT / bit 1: CTRL
byte Spare2
byte Spare3

Size

The size of the packet, always 8 bytes.

Type

The packet type from the ISP_ enumeration, always ISP_SCH.

ReqI

ReqI is always zero.

CharB

The byte representing the key to press. You can use non-printable characters, such as 13 to send an ↵ Enter key press.

Flags

2 bits are used to represent the ⇧ Shift (bit 0) and Ctrl (bit 1) keys being pressed. For instance, sending M with Flags 2 corresponds to pressing Ctrl + M.